|
@@ -1,8 +1,8 @@
|
|
|
package com.usoftchina.saas.document.service.impl;
|
|
package com.usoftchina.saas.document.service.impl;
|
|
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.github.pagehelper.PageInfo;
|
|
|
-import com.usoftchina.saas.base.Result;
|
|
|
|
|
import com.usoftchina.saas.base.service.CommonBaseServiceImpl;
|
|
import com.usoftchina.saas.base.service.CommonBaseServiceImpl;
|
|
|
import com.usoftchina.saas.commons.api.MaxnumberService;
|
|
import com.usoftchina.saas.commons.api.MaxnumberService;
|
|
|
import com.usoftchina.saas.commons.api.MessageLogService;
|
|
import com.usoftchina.saas.commons.api.MessageLogService;
|
|
@@ -11,21 +11,22 @@ import com.usoftchina.saas.commons.dto.DocBaseDTO;
|
|
|
import com.usoftchina.saas.commons.dto.ListReqDTO;
|
|
import com.usoftchina.saas.commons.dto.ListReqDTO;
|
|
|
import com.usoftchina.saas.commons.exception.BizExceptionCode;
|
|
import com.usoftchina.saas.commons.exception.BizExceptionCode;
|
|
|
import com.usoftchina.saas.commons.po.BillCodeSeq;
|
|
import com.usoftchina.saas.commons.po.BillCodeSeq;
|
|
|
|
|
+import com.usoftchina.saas.commons.po.DataImportDetail;
|
|
|
import com.usoftchina.saas.commons.po.Operation;
|
|
import com.usoftchina.saas.commons.po.Operation;
|
|
|
import com.usoftchina.saas.commons.po.Status;
|
|
import com.usoftchina.saas.commons.po.Status;
|
|
|
import com.usoftchina.saas.context.BaseContextHolder;
|
|
import com.usoftchina.saas.context.BaseContextHolder;
|
|
|
|
|
+import com.usoftchina.saas.document.dto.ProductListDTO;
|
|
|
import com.usoftchina.saas.document.dto.VendorDTO;
|
|
import com.usoftchina.saas.document.dto.VendorDTO;
|
|
|
import com.usoftchina.saas.document.dto.VendorListDTO;
|
|
import com.usoftchina.saas.document.dto.VendorListDTO;
|
|
|
-import com.usoftchina.saas.document.entities.Subledger;
|
|
|
|
|
-import com.usoftchina.saas.document.entities.Vendor;
|
|
|
|
|
-import com.usoftchina.saas.document.entities.VendorList;
|
|
|
|
|
-import com.usoftchina.saas.document.entities.Vendorcontact;
|
|
|
|
|
|
|
+import com.usoftchina.saas.document.entities.*;
|
|
|
|
|
+import com.usoftchina.saas.document.mapper.DataImportMapper;
|
|
|
import com.usoftchina.saas.document.mapper.SubledgerMapper;
|
|
import com.usoftchina.saas.document.mapper.SubledgerMapper;
|
|
|
import com.usoftchina.saas.document.mapper.VendorMapper;
|
|
import com.usoftchina.saas.document.mapper.VendorMapper;
|
|
|
import com.usoftchina.saas.document.mapper.VendorcontactMapper;
|
|
import com.usoftchina.saas.document.mapper.VendorcontactMapper;
|
|
|
import com.usoftchina.saas.document.service.VendorService;
|
|
import com.usoftchina.saas.document.service.VendorService;
|
|
|
import com.usoftchina.saas.exception.BizException;
|
|
import com.usoftchina.saas.exception.BizException;
|
|
|
import com.usoftchina.saas.page.PageRequest;
|
|
import com.usoftchina.saas.page.PageRequest;
|
|
|
|
|
+import com.usoftchina.saas.utils.CollectionUtils;
|
|
|
import com.usoftchina.saas.utils.DateUtils;
|
|
import com.usoftchina.saas.utils.DateUtils;
|
|
|
import com.usoftchina.saas.utils.RegexpUtils;
|
|
import com.usoftchina.saas.utils.RegexpUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -53,6 +54,8 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
private SubledgerMapper subledgerMapper;
|
|
private SubledgerMapper subledgerMapper;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private VendorMapper vendorMapper;
|
|
private VendorMapper vendorMapper;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private DataImportMapper dataImportMapper;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public PageInfo<VendorDTO> getVendorsByCondition(PageRequest page, ListReqDTO listReqDTO) {
|
|
public PageInfo<VendorDTO> getVendorsByCondition(PageRequest page, ListReqDTO listReqDTO) {
|
|
@@ -427,6 +430,67 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void saveToFormal(Integer id, boolean update) {
|
|
|
|
|
+ if (null == id || "0".equals(id)) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ Long companyId = BaseContextHolder.getCompanyId();
|
|
|
|
|
+ StringBuilder err = new StringBuilder();
|
|
|
|
|
+ List<VendorListDTO> list = new ArrayList<>();
|
|
|
|
|
+ VendorListDTO listDTO = null;
|
|
|
|
|
+ List<DataImportDetail> details = dataImportMapper.selectDataById(id);
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(details)) {
|
|
|
|
|
+ Map<String, List<DataImportDetail>> datas = CollectionUtils.groupBy(details, DataImportDetail::getDd_codevalue);
|
|
|
|
|
+ Integer detno = null;
|
|
|
|
|
+ for (String code : datas.keySet()) {
|
|
|
|
|
+ listDTO = new VendorListDTO();
|
|
|
|
|
+ List<Vendorcontact> details_ = new ArrayList<>();
|
|
|
|
|
+ int i = getMapper().validateCodeWhenInsert(code, companyId);
|
|
|
|
|
+ List<DataImportDetail> data = datas.get(code);
|
|
|
|
|
+ DataImportDetail main = dataImportMapper.selectMainBycode(code, id, companyId);
|
|
|
|
|
+ Vendor vendor = JSONObject.parseObject(main.getDd_maindata(), Vendor.class);
|
|
|
|
|
+ vendor.setVe_status(Status.OPEN.getDisplay());
|
|
|
|
|
+ vendor.setVe_statuscode(Status.OPEN.name());
|
|
|
|
|
+ //编号不存在
|
|
|
|
|
+ if (i == 0) {
|
|
|
|
|
+ vendor.setId(0l);
|
|
|
|
|
+ //编号存在、需要更新
|
|
|
|
|
+ } else if (update){
|
|
|
|
|
+ Long pr_id = getMapper().selectIdByCode(code, companyId);
|
|
|
|
|
+ vendor.setId(pr_id);
|
|
|
|
|
+ //编号存在、不需要处理
|
|
|
|
|
+ } else {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ //添加从表
|
|
|
|
|
+ if (data.size() > 0) {
|
|
|
|
|
+ detno = 1;
|
|
|
|
|
+ for (DataImportDetail productDetail : data) {
|
|
|
|
|
+ Vendorcontact detail = JSONObject.parseObject(productDetail.getDd_detaildata(), Vendorcontact.class);
|
|
|
|
|
+ if (null != detail) {
|
|
|
|
|
+ detail.setVc_veid(vendor.getId());
|
|
|
|
|
+ detail.setVc_detno(detno);
|
|
|
|
|
+ detno++;
|
|
|
|
|
+ details_.add(detail);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ listDTO.setMain(vendor);
|
|
|
|
|
+ listDTO.setItems(details_);
|
|
|
|
|
+ list.add(listDTO);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (err.length() > 0) {
|
|
|
|
|
+ dataImportMapper.updateDataImportError(err.toString(), id);
|
|
|
|
|
+ throw new BizException(12345, err.toString());
|
|
|
|
|
+ }
|
|
|
|
|
+ for (VendorListDTO dto : list) {
|
|
|
|
|
+ saveFormData(dto);
|
|
|
|
|
+ }
|
|
|
|
|
+ dataImportMapper.updateDataImport(id);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private List<VendorDTO> getList(ListReqDTO listReqDTO){
|
|
private List<VendorDTO> getList(ListReqDTO listReqDTO){
|
|
|
Long companyId = BaseContextHolder.getCompanyId();
|
|
Long companyId = BaseContextHolder.getCompanyId();
|
|
|
String condition = listReqDTO.getFinalCondition();
|
|
String condition = listReqDTO.getFinalCondition();
|