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;