diff --git a/order-management-base-service/src/main/resources/mybatis/mapper/TaxClassCodeMapper.xml b/order-management-base-service/src/main/resources/mybatis/mapper/TaxClassCodeMapper.xml index e8d1f58d..84627c78 100644 --- a/order-management-base-service/src/main/resources/mybatis/mapper/TaxClassCodeMapper.xml +++ b/order-management-base-service/src/main/resources/mybatis/mapper/TaxClassCodeMapper.xml @@ -102,7 +102,7 @@ - + AND concat_ws(',',tcc.spbm,tcc.spmc,tcc.spjc,tcc.zzstsgl) LIKE CONCAT(CONCAT('%',#{parameter}),'%') @@ -110,6 +110,11 @@ AND tcc.spbm || ',' || tcc.spmc || ',' || tcc.spjc || ',' || tcc.zzstsgl LIKE CONCAT(CONCAT('%',#{parameter}),'%') + + + AND concat_ws(',',tcc.spbm,tcc.spmc,tcc.spjc,tcc.zzstsgl,tcc.sm) + LIKE CONCAT(CONCAT('%',#{parameter}),'%') + diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java index 4b7d2dd8..007d45c4 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java @@ -7,7 +7,6 @@ import com.dxhy.order.baseservice.module.base.service.BaseService; import com.dxhy.order.baseservice.module.buyer.dao.BuyerMapper; import com.dxhy.order.baseservice.module.buyer.model.BuyerEntity; import com.dxhy.order.baseservice.module.buyer.model.BuyerEntityDetail; -import com.dxhy.order.baseservice.module.buyer.protocol.MdmBankListBO; import com.dxhy.order.baseservice.module.buyer.protocol.MdmGmfxxtbMulticodeValuelistBO; import com.dxhy.order.baseservice.module.commodity.dao.CommodityMapper; import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeEntity; @@ -24,6 +23,7 @@ import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.*; import com.dxhy.order.model.R; import com.dxhy.order.utils.DistributedKeyMaker; import com.dxhy.order.utils.JsonUtils; +import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -273,23 +273,35 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { @Override @Transactional public AjaxResult syncMdmGroupTax(List mdmGmfxxtbReqBOS, String requestBody) { - List list = new ArrayList<>(); + List list = matchRule(mdmGmfxxtbReqBOS); + String respStr = ""; + if(StringUtils.isNotBlank(requestBody)){ + SDEnergyMdmBaseBO baseBO = JSONObject.parseObject(requestBody, SDEnergyMdmBaseBO.class); + SDEnergyMdmBaseBO result = buildResult( + baseBO, + list, + i -> { + CommodityCodeEntity t = (CommodityCodeEntity) i; + SDEnergyMdmBaseRespBO resp = new SDEnergyMdmBaseRespBO(); + resp.setCODE(t.getZxbm()); + resp.setUUID(t.getUUID()); + resp.setSYNSTATUS(t.getSuccess() ? "0" : "1"); + resp.setSYNRESULT(t.getSuccess() ? "success" : "failed"); + return resp; + } + ); + respStr = JsonUtils.getInstance().toJsonStringNullToEmpty(result); + } + return AjaxResult.success("success", respStr); + } + + public List matchRule(List mdmGmfxxtbReqBOS){ + List list = Lists.newArrayList(); for (int i = 0; i < mdmGmfxxtbReqBOS.size(); i++) { MdmSyncGroupTaxCodeReqBO reqBO = mdmGmfxxtbReqBOS.get(i); CommodityCodeEntity commodityCodeEntity = new CommodityCodeEntity(); - // GroupTaxClassCodeEntity entity = new GroupTaxClassCodeEntity(); - // entity.setId(DistributedKeyMaker.generateShotKey()); - // entity.setSortId((long) i); - // entity.setMerchandiseName(reqBO.getDESC1()); // 商品名称 - // entity.setEncoding(reqBO.getCODE()); // 编码 - // entity.setMeteringUnit(reqBO.getDESC5()); - // entity.setCreateTime(new Date()); - // entity.setDescription(reqBO.getDESCSHORT()); - // entity.setUUID(reqBO.getUUID()); - // if (groupTaxClassCodeMapper.insertOnDuplicateKey(commodityCodeEntity) <= 0) { - // 先查找物料分类编码和税收分类编码对应的字段 + commodityCodeEntity.setWlflbm(reqBO.getCATEGORYCODE()); // 1.先去所有子公司库中匹配税编,以第一条为准;如果未匹配到,再去根据物料编码匹配 - CommodityCodeEntity codeEntityForMatch = new CommodityCodeEntity(); List commodityCodeEntities = commodityMapper.queryByCommoditySpbmCompany(reqBO.getCODE()); if(commodityCodeEntities != null && commodityCodeEntities.size() > 0){ commodityCodeEntity.setZxbm(reqBO.getCODE()); // 编码 @@ -305,39 +317,33 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { commodityMapper.batchUpdateCommodity(commodityCodeEntity,ids); }else{ // 2.如果未匹配到,再去根据物料编码匹配 - SdenergyTaxCodeMatch taxCodeMatch = sdenergyTaxCodeMatchDao.queryByWlflbm(reqBO.getCATEGORYCODE()); - if (taxCodeMatch != null) { - codeEntityForMatch = new CommodityCodeEntity(); - codeEntityForMatch.setSsflMc(taxCodeMatch.getSsflmc()); - codeEntityForMatch.setSpbm(taxCodeMatch.getSsflbm()); - } - + commodityCodeEntity.setXmmc(reqBO.getDESC1()); // 商品名称 + matchCommodityCode(commodityCodeEntity); + // 进行物料匹配 + matchCommodityCode(commodityCodeEntity); + commodityCodeEntity.setZxbm(reqBO.getCODE()); // 编码 + commodityCodeEntity.setXmdw(reqBO.getDESC5()); + commodityCodeEntity.setCreateTime(new Date()); + commodityCodeEntity.setBz(reqBO.getDESCSHORT()); + commodityCodeEntity.setUUID(reqBO.getUUID()); + commodityCodeEntity.setWlflbm(reqBO.getCATEGORYCODE()); + commodityCodeEntity.setWlflmc(reqBO.getCATEGORYNAME()); + commodityCodeEntity.setDataSource("4"); // sdenergyTaxCodeMatchDao.queryByWlflbm(requestBody.get) commodityCodeEntity.setId(DistributedKeyMaker.generateShotKey()); commodityCodeEntity.setSortId((long) i); - commodityCodeEntity.setXmmc(reqBO.getDESC1()); // 商品名称 // 维护税编和商品编码 - if (codeEntityForMatch != null && StringUtils.isNotBlank(codeEntityForMatch.getSsflMc())) { - commodityCodeEntity.setSsflMc(codeEntityForMatch.getSsflMc()); + if (commodityCodeEntity != null && StringUtils.isNotBlank(commodityCodeEntity.getSsflMc())) { + commodityCodeEntity.setSsflMc(commodityCodeEntity.getSsflMc()); } - if (codeEntityForMatch != null && StringUtils.isNotBlank(codeEntityForMatch.getSpbm())) { - commodityCodeEntity.setSpbm(codeEntityForMatch.getSpbm()); + if (commodityCodeEntity != null && StringUtils.isNotBlank(commodityCodeEntity.getSpbm())) { + commodityCodeEntity.setSpbm(commodityCodeEntity.getSpbm()); + commodityCodeEntity.setWlflbm(commodityCodeEntity.getSpbm()); commodityCodeEntity.setCommodityId(baseService.getGenerateShotKey()); commodityCodeEntity.setXhfNsrsbh("-1"); - // 进行物料匹配 - matchCommodityCode(commodityCodeEntity); - commodityCodeEntity.setZxbm(reqBO.getCODE()); // 编码 - commodityCodeEntity.setXmdw(reqBO.getDESC5()); - commodityCodeEntity.setCreateTime(new Date()); - commodityCodeEntity.setBz(reqBO.getDESCSHORT()); - commodityCodeEntity.setUUID(reqBO.getUUID()); - commodityCodeEntity.setWlflbm(reqBO.getCATEGORYCODE()); - commodityCodeEntity.setWlflmc(reqBO.getCATEGORYNAME()); - commodityCodeEntity.setDataSource("4"); - if (commodityMapper.insertCommodityOnDuplicateKey(commodityCodeEntity) > 0) { commodityCodeEntity.setSuccess(true); } else { @@ -347,26 +353,7 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { } } } - String respStr = ""; - if(StringUtils.isNotBlank(requestBody)){ - SDEnergyMdmBaseBO baseBO = JSONObject.parseObject(requestBody, SDEnergyMdmBaseBO.class); - SDEnergyMdmBaseBO result = buildResult( - baseBO, - list, - i -> { - CommodityCodeEntity t = (CommodityCodeEntity) i; - SDEnergyMdmBaseRespBO resp = new SDEnergyMdmBaseRespBO(); - resp.setCODE(t.getZxbm()); - resp.setUUID(t.getUUID()); - resp.setSYNSTATUS(t.getSuccess() ? "0" : "1"); - resp.setSYNRESULT(t.getSuccess() ? "success" : "failed"); - return resp; - } - ); - - respStr = JsonUtils.getInstance().toJsonStringNullToEmpty(result); - } - return AjaxResult.success("success", respStr); + return list; } /** @@ -386,10 +373,11 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { return; } // 2. 若根据物料名称未匹配到子公司库的税编时,根据物料编码匹配“物料分类编码”库中的税编; - SdenergyTaxCodeMatch taxCodeMatch = sdenergyTaxCodeMatchDao.queryByWlflbm(commodityCodeEntity.getWlflbm()); - if (taxCodeMatch != null && StringUtils.isNotBlank(taxCodeMatch.getSsflbm())) { // 如果匹配到了物料分类编码,去查一下税收分类编码找到对应的简称等信息 - + SdenergyTaxCodeMatch taxCodeMatch = sdenergyTaxCodeMatchDao.queryByWlflbm(commodityCodeEntity.getWlflbm()); + if (taxCodeMatch != null) { + commodityCodeEntity.setSsflMc(taxCodeMatch.getSsflmc()); + commodityCodeEntity.setSpbm(taxCodeMatch.getSsflbm()); TaxClassCodeEntity taxClassCodeEntity = taxClassCodeMapper.selectTaxClassCodeBySpbm(taxCodeMatch.getSsflbm()); commodityCodeEntity.setSpsm(taxClassCodeEntity.getSm()); commodityCodeEntity.setSpjm(taxClassCodeEntity.getSpjc()); @@ -403,20 +391,20 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { commodityCodeEntity.setZzstsgl(taxClassCodeEntity.getYhzcmc()); commodityCodeEntity.setSpbm(taxClassCodeEntity.getSpbm()); } - - commodityCodeEntity.setSsflMc(taxCodeMatch.getSsflmc()); - }else{ + commodityCodeEntity.setSsflMc(commodityCodeEntity.getSsflMc()); + } else { Map paramMap = new HashMap<>(); paramMap.put("parameter", xmmc); + paramMap.put("type", xmmc); List taxClassCodeEntitys = taxClassCodeMapper.selectTaxClassCode(paramMap); - if(!CollectionUtils.isEmpty(taxClassCodeEntitys)){ + if (!CollectionUtils.isEmpty(taxClassCodeEntitys)) { TaxClassCodeEntity taxClassCodeEntity = taxClassCodeEntitys.get(0); commodityCodeEntity.setSpsm(taxClassCodeEntity.getSm()); commodityCodeEntity.setSpjm(taxClassCodeEntity.getSpjc()); commodityCodeEntity.setSpjc(taxClassCodeEntity.getSpjc()); commodityCodeEntity.setYhzcbs(taxClassCodeEntity.getZzstsgl()); commodityCodeEntity.setHsbz("1"); -// commodityCodeEntity.setSl(taxClassCodeEntity.getZzssl()); + // commodityCodeEntity.setSl(taxClassCodeEntity.getZzssl()); commodityCodeEntity.setYhzcbs("0"); if (StringUtils.isNotBlank(taxClassCodeEntity.getYhzcmc())) { commodityCodeEntity.setYhzcbs("1"); @@ -456,7 +444,7 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { .email(mdmSyncUserReqBO.getDESC11()) // 电子邮箱 .companyCode(mdmSyncUserReqBO.getDESC37()) // 公司编码 .userStatus(mdmSyncUserReqBO.getDESC59()) // 员工状态 0离职、1离岗、2退休、3在岗、4死亡 - .password("itax1234!@#") + .password("Sdny@"+mdmSyncUserReqBO.getCODE()) .dataSource("1") .build(); diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/config/InvoiceConfig.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/config/InvoiceConfig.java index b95c82e5..9a4bfe57 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/config/InvoiceConfig.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/config/InvoiceConfig.java @@ -220,7 +220,7 @@ public class InvoiceConfig { // @Value("${order.sap.environment}") // private String environment; - @Value("${order.sap.salt}") + @Value("${order.sap.salt:}") private String sapSalt;