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

Loading…
Cancel
Save