|
|
|
@ -539,7 +539,42 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService { |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
//根据商品编码判断如何进行补全数据
|
|
|
|
|
if (StringUtils.isBlank(item.getSpbm())) { |
|
|
|
|
if (StringUtils.isNotBlank(item.getZxbm())) { |
|
|
|
|
// 自行编码为mdm的物料编码,通过这个去匹配
|
|
|
|
|
// 4.2.1.11
|
|
|
|
|
// 先从公司物料库匹配
|
|
|
|
|
CommodityCodeEntity commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbh(item.getZxbm(), xhfNsrsbh); |
|
|
|
|
if (commodityCodeEntity == null) { |
|
|
|
|
// 如果匹配不到,则去集团物料库匹配
|
|
|
|
|
commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbh(item.getZxbm(), "-1"); |
|
|
|
|
if (commodityCodeEntity == null) { |
|
|
|
|
// ③ 若通过集团物料库仍未匹配到税编信息则,使用“物料名称”进行智能赋码开票(用SAAS接口赋码)
|
|
|
|
|
// 智能赋码接口
|
|
|
|
|
Map<String, Object> paramMap = new HashMap<>(); |
|
|
|
|
paramMap.put("parameter", item.getXmmc()); |
|
|
|
|
List<TaxClassCodeEntity> taxClassList = taxClassCodeMapper.selectTaxClassCode(paramMap); |
|
|
|
|
if (CollectionUtils.isNotEmpty(taxClassList)) { |
|
|
|
|
// TODO 配置税收分类编码字段
|
|
|
|
|
TaxClassCodeEntity taxClassCodeEntity = taxClassList.get(0); |
|
|
|
|
item.setSpbm(taxClassCodeEntity.getSpbm()); |
|
|
|
|
// item.setYhzcbs(taxClassCodeEntity.getYhzcmc()); // TODO 优惠政策
|
|
|
|
|
item.setZzstsgl(taxClassCodeEntity.getZzstsgl()); |
|
|
|
|
item.setZnfm("1"); // 配置为智能赋码
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 如果没有找到,记录异常
|
|
|
|
|
if (commodityCodeEntity == null) { |
|
|
|
|
log.error("{}根据商品名称查询到的商品为空,商品名称:{}", LOGGER_MSG, item.getXmmc()); |
|
|
|
|
errorStr.append(indexStr) |
|
|
|
|
.append(ConfigureConstant.STRING_UNDERLINE) |
|
|
|
|
.append(OrderInfoContentEnum.INVOICE_SPBM_QUERY_NULL.getMessage()) |
|
|
|
|
.append("\r\n"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} else if (StringUtils.isBlank(item.getSpbm())) { |
|
|
|
|
|
|
|
|
|
//商品编码为空,调用接口根据商品名称进行匹配数据
|
|
|
|
|
if (StringUtils.isBlank(item.getXmmc())) { |
|
|
|
|
log.error("{}商品名称为空", LOGGER_MSG); |
|
|
|
@ -575,41 +610,6 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService { |
|
|
|
|
|
|
|
|
|
CommodityCodeEntity commodityCodeEntity = queryProductList.get(0); |
|
|
|
|
completeCommodityMessageByXmmc(item, commodityCodeEntity); |
|
|
|
|
} else if (StringUtils.isNotBlank(item.getZxbm())) { |
|
|
|
|
// 自行编码为mdm的物料编码,通过这个去匹配
|
|
|
|
|
// 4.2.1.11
|
|
|
|
|
// 先从公司物料库匹配
|
|
|
|
|
CommodityCodeEntity commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbh(item.getZxbm(), xhfNsrsbh); |
|
|
|
|
if (commodityCodeEntity == null) { |
|
|
|
|
// 如果匹配不到,则去集团物料库匹配
|
|
|
|
|
commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbh(item.getZxbm(), "-1"); |
|
|
|
|
if (commodityCodeEntity == null) { |
|
|
|
|
// ③ 若通过集团物料库仍未匹配到税编信息则,使用“物料名称”进行智能赋码开票(用SAAS接口赋码)
|
|
|
|
|
// 智能赋码接口
|
|
|
|
|
Map<String, Object> paramMap = new HashMap<>(); |
|
|
|
|
paramMap.put("parameter", item.getXmmc()); |
|
|
|
|
List<TaxClassCodeEntity> taxClassList = taxClassCodeMapper.selectTaxClassCode(paramMap); |
|
|
|
|
if (CollectionUtils.isNotEmpty(taxClassList)) { |
|
|
|
|
// TODO 配置税收分类编码字段
|
|
|
|
|
TaxClassCodeEntity taxClassCodeEntity = taxClassList.get(0); |
|
|
|
|
item.setSpbm(taxClassCodeEntity.getSpbm()); |
|
|
|
|
// item.setYhzcbs(taxClassCodeEntity.getYhzcmc()); // TODO 优惠政策
|
|
|
|
|
item.setZzstsgl(taxClassCodeEntity.getZzstsgl()); |
|
|
|
|
item.setZnfm("1"); // 配置为智能赋码
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 如果没有找到,记录异常
|
|
|
|
|
if (commodityCodeEntity == null) { |
|
|
|
|
log.error("{}根据商品名称查询到的商品为空,商品名称:{}", LOGGER_MSG, item.getXmmc()); |
|
|
|
|
errorStr.append(indexStr) |
|
|
|
|
.append(ConfigureConstant.STRING_UNDERLINE) |
|
|
|
|
.append(OrderInfoContentEnum.INVOICE_SPBM_QUERY_NULL.getMessage()) |
|
|
|
|
.append("\r\n"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
//商品编码不为空,需要调用底层商品编码获取简码接口获取数据
|
|
|
|
|
String spbm = item.getSpbm(); |
|
|
|
|