From 877fd28460e652901a02c82a443256978bc94a11 Mon Sep 17 00:00:00 2001 From: gongquanlin <1025081659@qq.com> Date: Mon, 20 Mar 2023 09:35:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=BC=80=E7=A5=A8=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/CommonInterfaceServiceImpl.java | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java index 6049be79..5475eaa7 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java @@ -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 paramMap = new HashMap<>(); + paramMap.put("parameter", item.getXmmc()); + List 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 paramMap = new HashMap<>(); - paramMap.put("parameter", item.getXmmc()); - List 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();