diff --git a/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java b/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java index 84ef88d0..3b723347 100644 --- a/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java +++ b/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java @@ -1697,6 +1697,8 @@ public enum OrderInfoContentEnum { INVOICE_SPBM_QUERY_NULL("9563", "查询税收分类编码信息错误!请确认编码可用状态是否可用"), + INVOICE_SPBM_MATCH_NULL("9563", "未匹配到税收分类编码!请确认物料编码是否在发票平台维护"), + INVOICE_SPBM_SPMC_QUERY_NULL("9563", "查询税收分类编码商品名称不能为空!"), INVOICE_FG_SLD_NULL("9563", "税盘离线,请检查税盘连接状态"), diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/AllocateInvoiceInterfaceServiceImplV3.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/AllocateInvoiceInterfaceServiceImplV3.java index bbf9a7a1..68b88df0 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/AllocateInvoiceInterfaceServiceImplV3.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/AllocateInvoiceInterfaceServiceImplV3.java @@ -1147,6 +1147,7 @@ public class AllocateInvoiceInterfaceServiceImplV3 implements AllocateInvoiceInt String zxbm = commonOrderInfo.getOrderInfo().getGhfId(); zxbm = StringUtils.right(zxbm, 6); // 见下dealOrderItem中 line:550左右注释 commonOrderInfo.getOrderInfo().setGhfId(zxbm); + //TODO 这儿最好是使用entid查购方 BuyerEntity buyerEntity = buyerService.queryBuyerInfoByxhfNsrsbhAndBuyerCode(commonOrderInfo.getOrderInfo().getXhfNsrsbh(), zxbm); if (buyerEntity != null && StringUtils.isNotBlank(buyerEntity.getTaxpayerCode())) { BeanTransitionUtils.transitionOrderBuyerInfo(commonOrderInfo, buyerEntity); @@ -1161,7 +1162,7 @@ public class AllocateInvoiceInterfaceServiceImplV3 implements AllocateInvoiceInt //补全商品信息 commonInterfaceService.dealOrderItem(commonOrderInfo.getOrderItemInfo(), nsrsbh, commonOrderInfo.getOrderInfo().getQdBz(), - commonOrderInfo.getOrderInfo().getFpzlDm(), terminalCode, ConfigureConstant.STRING_1, commonOrderInfo.getEntId()); + commonOrderInfo.getOrderInfo().getFpzlDm(), terminalCode, ConfigureConstant.STRING_1, commonOrderInfo.getOrderInfo().getEntId()); } public PageKpzzglRsp queryKpzzgl(PageKpzzglReq pageKpzzglReq) { 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 9552bafb..b1b1473b 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 @@ -559,17 +559,16 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService { // 自行编码为mdm的物料编码,通过这个去匹配 // 4.2.1.11 // 先从公司物料库匹配 - CommodityCodeEntity commodityCodeEntity = null; - if (StringUtils.isNotEmpty(entId)) { - commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), xhfNsrsbh, entId); - } else { - commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), xhfNsrsbh,entId); - } +// if (StringUtils.isNotEmpty(entId)) { + CommodityCodeEntity commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), null, entId); +// } else { +// commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), null,entId); +// } // 如果公司物料库匹配失败,从集团物料库匹配 if (commodityCodeEntity == null) { // 如果匹配不到,则去集团物料库匹配 - commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), "-1",entId); + commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), "-1",null); if (commodityCodeEntity == null) { // ③ 若通过集团物料库仍未匹配到税编信息则,使用“物料名称”进行智能赋码开票(用SAAS接口赋码) // 智能赋码接口 @@ -577,11 +576,39 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService { 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()); + //商品编码 + if (StringUtils.isBlank(item.getSpbm()) && StringUtils.isNotBlank(taxClassCodeEntity.getSpbm())) { + item.setSpbm(taxClassCodeEntity.getSpbm()); + } + +// //优惠政策标识 +// if (StringUtils.isBlank(item.getYhzcbs()) && StringUtils.isNotBlank(taxClassCodeEntity.getZzstsgl())) { +// item.setYhzcbs(ConfigureConstant.STRING_1); +// } +// //零税率标识 +// if (StringUtils.isBlank(item.getLslbs()) && StringUtils.isNotBlank(commodity.getLslbs())) { +// item.setLslbs(commodity.getLslbs()); +// } +// //增值税特殊管理 +// if (StringUtils.isBlank(item.getZzstsgl()) && StringUtils.isNotBlank(commodity.getZzstsgl())) { +// item.setZzstsgl(commodity.getZzstsgl()); +// } + + //如果项目名称为空,使用底层返回数据进行补全,如果不为空,并且需要补全,则进行补全 + 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 { + errorStr.append(indexStr) + .append(ConfigureConstant.STRING_UNDERLINE) + .append(OrderInfoContentEnum.INVOICE_SPBM_MATCH_NULL.getMessage()) + .append("\r\n"); } } }else {