|
|
@ -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.dao.BuyerMapper; |
|
|
|
import com.dxhy.order.baseservice.module.buyer.model.BuyerEntity; |
|
|
|
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.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.buyer.protocol.MdmGmfxxtbMulticodeValuelistBO; |
|
|
|
import com.dxhy.order.baseservice.module.commodity.dao.CommodityMapper; |
|
|
|
import com.dxhy.order.baseservice.module.commodity.dao.CommodityMapper; |
|
|
|
import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeEntity; |
|
|
|
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.model.R; |
|
|
|
import com.dxhy.order.utils.DistributedKeyMaker; |
|
|
|
import com.dxhy.order.utils.DistributedKeyMaker; |
|
|
|
import com.dxhy.order.utils.JsonUtils; |
|
|
|
import com.dxhy.order.utils.JsonUtils; |
|
|
|
|
|
|
|
import com.google.common.collect.Lists; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
@ -273,23 +273,35 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
@Transactional |
|
|
|
public AjaxResult syncMdmGroupTax(List<MdmSyncGroupTaxCodeReqBO> mdmGmfxxtbReqBOS, String requestBody) { |
|
|
|
public AjaxResult syncMdmGroupTax(List<MdmSyncGroupTaxCodeReqBO> mdmGmfxxtbReqBOS, String requestBody) { |
|
|
|
List<CommodityCodeEntity> list = new ArrayList<>(); |
|
|
|
List<CommodityCodeEntity> 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<CommodityCodeEntity> matchRule(List<MdmSyncGroupTaxCodeReqBO> mdmGmfxxtbReqBOS){ |
|
|
|
|
|
|
|
List<CommodityCodeEntity> list = Lists.newArrayList(); |
|
|
|
for (int i = 0; i < mdmGmfxxtbReqBOS.size(); i++) { |
|
|
|
for (int i = 0; i < mdmGmfxxtbReqBOS.size(); i++) { |
|
|
|
MdmSyncGroupTaxCodeReqBO reqBO = mdmGmfxxtbReqBOS.get(i); |
|
|
|
MdmSyncGroupTaxCodeReqBO reqBO = mdmGmfxxtbReqBOS.get(i); |
|
|
|
CommodityCodeEntity commodityCodeEntity = new CommodityCodeEntity(); |
|
|
|
CommodityCodeEntity commodityCodeEntity = new CommodityCodeEntity(); |
|
|
|
// GroupTaxClassCodeEntity entity = new GroupTaxClassCodeEntity();
|
|
|
|
commodityCodeEntity.setWlflbm(reqBO.getCATEGORYCODE()); |
|
|
|
// 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) {
|
|
|
|
|
|
|
|
// 先查找物料分类编码和税收分类编码对应的字段
|
|
|
|
|
|
|
|
// 1.先去所有子公司库中匹配税编,以第一条为准;如果未匹配到,再去根据物料编码匹配
|
|
|
|
// 1.先去所有子公司库中匹配税编,以第一条为准;如果未匹配到,再去根据物料编码匹配
|
|
|
|
CommodityCodeEntity codeEntityForMatch = new CommodityCodeEntity(); |
|
|
|
|
|
|
|
List<CommodityCodeEntity> commodityCodeEntities = commodityMapper.queryByCommoditySpbmCompany(reqBO.getCODE()); |
|
|
|
List<CommodityCodeEntity> commodityCodeEntities = commodityMapper.queryByCommoditySpbmCompany(reqBO.getCODE()); |
|
|
|
if(commodityCodeEntities != null && commodityCodeEntities.size() > 0){ |
|
|
|
if(commodityCodeEntities != null && commodityCodeEntities.size() > 0){ |
|
|
|
commodityCodeEntity.setZxbm(reqBO.getCODE()); // 编码
|
|
|
|
commodityCodeEntity.setZxbm(reqBO.getCODE()); // 编码
|
|
|
@ -305,39 +317,33 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { |
|
|
|
commodityMapper.batchUpdateCommodity(commodityCodeEntity,ids); |
|
|
|
commodityMapper.batchUpdateCommodity(commodityCodeEntity,ids); |
|
|
|
}else{ |
|
|
|
}else{ |
|
|
|
// 2.如果未匹配到,再去根据物料编码匹配
|
|
|
|
// 2.如果未匹配到,再去根据物料编码匹配
|
|
|
|
SdenergyTaxCodeMatch taxCodeMatch = sdenergyTaxCodeMatchDao.queryByWlflbm(reqBO.getCATEGORYCODE()); |
|
|
|
commodityCodeEntity.setXmmc(reqBO.getDESC1()); // 商品名称
|
|
|
|
if (taxCodeMatch != null) { |
|
|
|
matchCommodityCode(commodityCodeEntity); |
|
|
|
codeEntityForMatch = new CommodityCodeEntity(); |
|
|
|
// 进行物料匹配
|
|
|
|
codeEntityForMatch.setSsflMc(taxCodeMatch.getSsflmc()); |
|
|
|
matchCommodityCode(commodityCodeEntity); |
|
|
|
codeEntityForMatch.setSpbm(taxCodeMatch.getSsflbm()); |
|
|
|
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)
|
|
|
|
// sdenergyTaxCodeMatchDao.queryByWlflbm(requestBody.get)
|
|
|
|
commodityCodeEntity.setId(DistributedKeyMaker.generateShotKey()); |
|
|
|
commodityCodeEntity.setId(DistributedKeyMaker.generateShotKey()); |
|
|
|
commodityCodeEntity.setSortId((long) i); |
|
|
|
commodityCodeEntity.setSortId((long) i); |
|
|
|
commodityCodeEntity.setXmmc(reqBO.getDESC1()); // 商品名称
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 维护税编和商品编码
|
|
|
|
// 维护税编和商品编码
|
|
|
|
if (codeEntityForMatch != null && StringUtils.isNotBlank(codeEntityForMatch.getSsflMc())) { |
|
|
|
if (commodityCodeEntity != null && StringUtils.isNotBlank(commodityCodeEntity.getSsflMc())) { |
|
|
|
commodityCodeEntity.setSsflMc(codeEntityForMatch.getSsflMc()); |
|
|
|
commodityCodeEntity.setSsflMc(commodityCodeEntity.getSsflMc()); |
|
|
|
} |
|
|
|
} |
|
|
|
if (codeEntityForMatch != null && StringUtils.isNotBlank(codeEntityForMatch.getSpbm())) { |
|
|
|
if (commodityCodeEntity != null && StringUtils.isNotBlank(commodityCodeEntity.getSpbm())) { |
|
|
|
commodityCodeEntity.setSpbm(codeEntityForMatch.getSpbm()); |
|
|
|
commodityCodeEntity.setSpbm(commodityCodeEntity.getSpbm()); |
|
|
|
|
|
|
|
commodityCodeEntity.setWlflbm(commodityCodeEntity.getSpbm()); |
|
|
|
commodityCodeEntity.setCommodityId(baseService.getGenerateShotKey()); |
|
|
|
commodityCodeEntity.setCommodityId(baseService.getGenerateShotKey()); |
|
|
|
commodityCodeEntity.setXhfNsrsbh("-1"); |
|
|
|
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) { |
|
|
|
if (commodityMapper.insertCommodityOnDuplicateKey(commodityCodeEntity) > 0) { |
|
|
|
commodityCodeEntity.setSuccess(true); |
|
|
|
commodityCodeEntity.setSuccess(true); |
|
|
|
} else { |
|
|
|
} else { |
|
|
@ -347,26 +353,7 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
String respStr = ""; |
|
|
|
return list; |
|
|
|
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); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
@ -386,10 +373,11 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
// 2. 若根据物料名称未匹配到子公司库的税编时,根据物料编码匹配“物料分类编码”库中的税编;
|
|
|
|
// 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()); |
|
|
|
TaxClassCodeEntity taxClassCodeEntity = taxClassCodeMapper.selectTaxClassCodeBySpbm(taxCodeMatch.getSsflbm()); |
|
|
|
commodityCodeEntity.setSpsm(taxClassCodeEntity.getSm()); |
|
|
|
commodityCodeEntity.setSpsm(taxClassCodeEntity.getSm()); |
|
|
|
commodityCodeEntity.setSpjm(taxClassCodeEntity.getSpjc()); |
|
|
|
commodityCodeEntity.setSpjm(taxClassCodeEntity.getSpjc()); |
|
|
@ -403,20 +391,20 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { |
|
|
|
commodityCodeEntity.setZzstsgl(taxClassCodeEntity.getYhzcmc()); |
|
|
|
commodityCodeEntity.setZzstsgl(taxClassCodeEntity.getYhzcmc()); |
|
|
|
commodityCodeEntity.setSpbm(taxClassCodeEntity.getSpbm()); |
|
|
|
commodityCodeEntity.setSpbm(taxClassCodeEntity.getSpbm()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
commodityCodeEntity.setSsflMc(commodityCodeEntity.getSsflMc()); |
|
|
|
commodityCodeEntity.setSsflMc(taxCodeMatch.getSsflmc()); |
|
|
|
} else { |
|
|
|
}else{ |
|
|
|
|
|
|
|
Map<String, Object> paramMap = new HashMap<>(); |
|
|
|
Map<String, Object> paramMap = new HashMap<>(); |
|
|
|
paramMap.put("parameter", xmmc); |
|
|
|
paramMap.put("parameter", xmmc); |
|
|
|
|
|
|
|
paramMap.put("type", xmmc); |
|
|
|
List<TaxClassCodeEntity> taxClassCodeEntitys = taxClassCodeMapper.selectTaxClassCode(paramMap); |
|
|
|
List<TaxClassCodeEntity> taxClassCodeEntitys = taxClassCodeMapper.selectTaxClassCode(paramMap); |
|
|
|
if(!CollectionUtils.isEmpty(taxClassCodeEntitys)){ |
|
|
|
if (!CollectionUtils.isEmpty(taxClassCodeEntitys)) { |
|
|
|
TaxClassCodeEntity taxClassCodeEntity = taxClassCodeEntitys.get(0); |
|
|
|
TaxClassCodeEntity taxClassCodeEntity = taxClassCodeEntitys.get(0); |
|
|
|
commodityCodeEntity.setSpsm(taxClassCodeEntity.getSm()); |
|
|
|
commodityCodeEntity.setSpsm(taxClassCodeEntity.getSm()); |
|
|
|
commodityCodeEntity.setSpjm(taxClassCodeEntity.getSpjc()); |
|
|
|
commodityCodeEntity.setSpjm(taxClassCodeEntity.getSpjc()); |
|
|
|
commodityCodeEntity.setSpjc(taxClassCodeEntity.getSpjc()); |
|
|
|
commodityCodeEntity.setSpjc(taxClassCodeEntity.getSpjc()); |
|
|
|
commodityCodeEntity.setYhzcbs(taxClassCodeEntity.getZzstsgl()); |
|
|
|
commodityCodeEntity.setYhzcbs(taxClassCodeEntity.getZzstsgl()); |
|
|
|
commodityCodeEntity.setHsbz("1"); |
|
|
|
commodityCodeEntity.setHsbz("1"); |
|
|
|
// commodityCodeEntity.setSl(taxClassCodeEntity.getZzssl());
|
|
|
|
// commodityCodeEntity.setSl(taxClassCodeEntity.getZzssl());
|
|
|
|
commodityCodeEntity.setYhzcbs("0"); |
|
|
|
commodityCodeEntity.setYhzcbs("0"); |
|
|
|
if (StringUtils.isNotBlank(taxClassCodeEntity.getYhzcmc())) { |
|
|
|
if (StringUtils.isNotBlank(taxClassCodeEntity.getYhzcmc())) { |
|
|
|
commodityCodeEntity.setYhzcbs("1"); |
|
|
|
commodityCodeEntity.setYhzcbs("1"); |
|
|
@ -456,7 +444,7 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { |
|
|
|
.email(mdmSyncUserReqBO.getDESC11()) // 电子邮箱
|
|
|
|
.email(mdmSyncUserReqBO.getDESC11()) // 电子邮箱
|
|
|
|
.companyCode(mdmSyncUserReqBO.getDESC37()) // 公司编码
|
|
|
|
.companyCode(mdmSyncUserReqBO.getDESC37()) // 公司编码
|
|
|
|
.userStatus(mdmSyncUserReqBO.getDESC59()) // 员工状态 0离职、1离岗、2退休、3在岗、4死亡
|
|
|
|
.userStatus(mdmSyncUserReqBO.getDESC59()) // 员工状态 0离职、1离岗、2退休、3在岗、4死亡
|
|
|
|
.password("itax1234!@#") |
|
|
|
.password("Sdny@"+mdmSyncUserReqBO.getCODE()) |
|
|
|
.dataSource("1") |
|
|
|
.dataSource("1") |
|
|
|
.build(); |
|
|
|
.build(); |
|
|
|
|
|
|
|
|
|
|
|