fix: 智能匹配问题修复

release
liufeilong 2 years ago
parent 19bf496ec5
commit eb087ffd3b
  1. 76
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java

@ -575,45 +575,50 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService {
pply = "智能匹配";
// ③ 若通过集团物料库仍未匹配到税编信息则,使用“物料名称”进行智能赋码开票(用SAAS接口赋码)
// 智能赋码接口
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("parameter", item.getXmmc());
List<TaxClassCodeEntity> taxClassList = taxClassCodeMapper.selectTaxClassCode(paramMap);
if (CollectionUtils.isNotEmpty(taxClassList)) {
TaxClassCodeEntity taxClassCodeEntity = taxClassList.get(0);
//商品编码
if (StringUtils.isBlank(item.getSpbm()) && StringUtils.isNotBlank(taxClassCodeEntity.getSpbm())) {
item.setSpbm(taxClassCodeEntity.getSpbm());
}
//优惠政策标识
if (StringUtils.isBlank(item.getYhzcbs())) {
item.setYhzcbs(ConfigureConstant.STRING_0);
}
//零税率标识
if (StringUtils.isBlank(item.getLslbs())) {
item.setLslbs("");
}
//增值税特殊管理
if (StringUtils.isBlank(item.getZzstsgl())) {
item.setZzstsgl("");
}
//如果项目名称为空,使用底层返回数据进行补全,如果不为空,并且需要补全,则进行补全
String spmc = item.getXmmc();
StringBuilder stringBuilder = new StringBuilder();
if (StringUtils.isBlank(spmc)) {
spmc = stringBuilder.append("*").append(taxClassCodeEntity.getSpjc()).append("*").append(taxClassCodeEntity.getSpmc()).toString();
} else if (StringUtil.checkStr(spmc, taxClassCodeEntity.getSpjc())) {
spmc = stringBuilder.append("*").append(taxClassCodeEntity.getSpjc()).append("*").append(spmc).toString();
}
item.setXmmc(spmc);
}else {
log.error("{}{}",LOGGER_MSG,OrderInfoContentEnum.INVOICE_SPBM_MATCH_NULL.getMessage());
if(StrUtil.isNotBlank(item.getXmmc())){
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("parameter", item.getXmmc());
List<TaxClassCodeEntity> taxClassList = taxClassCodeMapper.selectTaxClassCode(paramMap);
if (CollectionUtils.isNotEmpty(taxClassList)) {
TaxClassCodeEntity taxClassCodeEntity = taxClassList.get(0);
//商品编码
if (StringUtils.isBlank(item.getSpbm()) && StringUtils.isNotBlank(taxClassCodeEntity.getSpbm())) {
item.setSpbm(taxClassCodeEntity.getSpbm());
}
//优惠政策标识
if (StringUtils.isBlank(item.getYhzcbs())) {
item.setYhzcbs(ConfigureConstant.STRING_0);
}
//零税率标识
if (StringUtils.isBlank(item.getLslbs())) {
item.setLslbs("");
}
//增值税特殊管理
if (StringUtils.isBlank(item.getZzstsgl())) {
item.setZzstsgl("");
}
log.debug("{}项目名称:{},智能赋码成功,匹配到税编:{}",LOGGER_MSG,item.getXmmc(),item.getSpbm());
//如果项目名称为空,使用底层返回数据进行补全,如果不为空,并且需要补全,则进行补全
String spmc = item.getXmmc();
StringBuilder stringBuilder = new StringBuilder();
if (StringUtils.isBlank(spmc)) {
spmc = stringBuilder.append("*").append(taxClassCodeEntity.getSpjc()).append("*").append(taxClassCodeEntity.getSpmc()).toString();
} else if (StringUtil.checkStr(spmc, taxClassCodeEntity.getSpjc())) {
spmc = stringBuilder.append("*").append(taxClassCodeEntity.getSpjc()).append("*").append(spmc).toString();
}
item.setXmmc(spmc);
}else {
log.debug("{}项目名称:{},智能赋码未匹配到税编",LOGGER_MSG,item.getXmmc());
/*errorStr.append(indexStr)
.append(ConfigureConstant.STRING_UNDERLINE)
.append(OrderInfoContentEnum.INVOICE_SPBM_MATCH_NULL.getMessage())
.append("\r\n");*/
}
}else{
log.debug("{}项目名称为空,智能赋码失败",LOGGER_MSG);
}
}
}else {
item.setZnfm(ConfigureConstant.STRING_0); // 公司库匹配到即非智能赋码;其他情况均为智能赋码
@ -621,12 +626,13 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService {
// 如果没有找到,记录异常
if (commodityCodeEntity == null) {
log.error("{}根据商品名称查询到的商品为空,商品名称:{}", LOGGER_MSG, item.getXmmc());
log.debug("{}根据物料编码在公司库和集团库未匹配到税编", LOGGER_MSG);
/*errorStr.append(indexStr)
.append(ConfigureConstant.STRING_UNDERLINE)
.append(OrderInfoContentEnum.INVOICE_SPBM_QUERY_NULL.getMessage())
.append("\r\n");*/
} else {
log.debug("{}根据物料编码在公司库或集团库匹配到了税编,开始补全明细", LOGGER_MSG);
// 如果找到记录,进行赋值匹配
// 判断是否推送了物料的名称、单位、规格型号信息
//如果项目名称为空,使用底层返回数据进行补全,如果不为空,并且需要补全,则进行补全

Loading…
Cancel
Save