From 0693b9b46681a14bb039dba28e56f27257e85e90 Mon Sep 17 00:00:00 2001 From: liufeilong Date: Sun, 23 Apr 2023 17:46:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BC=80=E7=A5=A8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=A1=A5=E4=B8=8D=E5=88=B0=E5=AE=A2=E6=88=B7=E6=88=96=E5=95=86?= =?UTF-8?q?=E5=93=81=E7=A8=8E=E7=BC=96=E4=B8=8D=E6=8A=A5=E9=94=99=EF=BC=8C?= =?UTF-8?q?=E6=94=BE=E5=88=B0=E7=94=9F=E6=88=90=E9=A2=84=E5=88=B6=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=E6=97=B6=E6=A0=A1=E9=AA=8C=EF=BC=9B=E7=94=9F=E6=88=90?= =?UTF-8?q?=E9=A2=84=E5=88=B6=E5=8F=91=E7=A5=A8=E6=97=B6=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E6=88=90=E5=93=81=E6=B2=B9=E6=B7=B7=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/InvoiceServiceImpl.java | 28 +++++++++++++++++++ ...AllocateInvoiceInterfaceServiceImplV3.java | 2 +- .../impl/CommonInterfaceServiceImpl.java | 9 +++--- .../consumer/utils/BeanTransitionUtils.java | 2 +- 4 files changed, 35 insertions(+), 6 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index 49ed8e17..e645c0d4 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -16,6 +16,8 @@ import com.dxhy.order.baseservice.module.base.service.DrawerInfoService; import com.dxhy.order.baseservice.module.base.service.RuleSplitService; import com.dxhy.order.baseservice.module.buyer.model.BuyerEntity; import com.dxhy.order.baseservice.module.buyer.service.BuyerService; +import com.dxhy.order.baseservice.module.taxclass.dao.TaxClassCodeMapper; +import com.dxhy.order.baseservice.module.taxclass.model.TaxClassCodeEntity; import com.dxhy.order.baseservice.module.thirdservice.redis.service.RedisService; import com.dxhy.order.baseservice.module.thirdservice.simsback.service.SimsBackService; import com.dxhy.order.baseservice.module.thirdservice.user.service.UserInfoService; @@ -127,6 +129,9 @@ public class InvoiceServiceImpl implements InvoiceService { @Resource private RuleSplitService ruleSplitService; + @Resource + private TaxClassCodeMapper taxClassCodeMapper; + @Override @Transactional @@ -134,6 +139,29 @@ public class InvoiceServiceImpl implements InvoiceService { List pageInvoiceItemList = pageInvoiceReq.getPageInvoiceItemList(); //查询数据列表 List commonOrderInfos = orderInfoService.batchQueryOrderInfoByOrderIdsAndNsrsbh(pageInvoiceItemList); + //购方是否为空、税编是否为空校验、成品油混开校验 + for(CommonOrderInfo commonOrderInfo:commonOrderInfos){ + if(StrUtil.isBlank(commonOrderInfo.getOrderInfo().getGhfNsrsbh()) || StrUtil.isBlank(commonOrderInfo.getOrderInfo().getGhfMc()) ){ + return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"购方信息为空,请补全!"); + } + String cpy = ""; + for(OrderItemInfo orderItemInfo: commonOrderInfo.getOrderItemInfo()){ + if(StrUtil.isBlank(orderItemInfo.getSpbm())){ + return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"第"+orderItemInfo.getSphxh()+"行商品税编为空,请补全!"); + }else { + TaxClassCodeEntity taxClassCodeEntity = taxClassCodeMapper.selectTaxClassCodeBySpbm(orderItemInfo.getSpbm()); + if(StrUtil.isNotBlank(cpy)){ + if(!cpy.equals(taxClassCodeEntity.getCpy())){ + return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"成品油和非成品油税编不能混开,请做手动拆分处理!"); + } + }else { + cpy = taxClassCodeEntity.getCpy(); + } + } + } + } + + //客户冻结状态校验、确认智能赋码、单价误差校验 List> consumerList = new ArrayList<>(); List> confirmList = new ArrayList<>(); List> djOverflowList = new ArrayList<>(); 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 563958ec..29ae79e7 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 @@ -1153,7 +1153,7 @@ public class AllocateInvoiceInterfaceServiceImplV3 implements AllocateInvoiceInt BeanTransitionUtils.transitionOrderBuyerInfo(commonOrderInfo, buyerEntity); }else { log.error("{}补全购方信息异常,根据购方编号未查询到购方或者购方税号为空", LOGGER_MSG); - throw new OrderReceiveException(OrderInfoContentEnum.INVOICE_ERROR_CODE_010008K_V3); + //throw new OrderReceiveException(OrderInfoContentEnum.INVOICE_ERROR_CODE_010008K_V3); } } 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 c260d2bf..5e7b0ffc 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 @@ -608,10 +608,11 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService { } item.setXmmc(spmc); }else { - errorStr.append(indexStr) + log.error("{}{}",LOGGER_MSG,OrderInfoContentEnum.INVOICE_SPBM_MATCH_NULL.getMessage()); + /*errorStr.append(indexStr) .append(ConfigureConstant.STRING_UNDERLINE) .append(OrderInfoContentEnum.INVOICE_SPBM_MATCH_NULL.getMessage()) - .append("\r\n"); + .append("\r\n");*/ } } }else { @@ -621,10 +622,10 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService { // 如果没有找到,记录异常 if (commodityCodeEntity == null) { log.error("{}根据商品名称查询到的商品为空,商品名称:{}", LOGGER_MSG, item.getXmmc()); - errorStr.append(indexStr) + /*errorStr.append(indexStr) .append(ConfigureConstant.STRING_UNDERLINE) .append(OrderInfoContentEnum.INVOICE_SPBM_QUERY_NULL.getMessage()) - .append("\r\n"); + .append("\r\n");*/ } else { // 如果找到记录,进行赋值匹配 // 判断是否推送了物料的名称、单位、规格型号信息 diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java index 188c0693..1ffc3726 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java @@ -3501,7 +3501,7 @@ public class BeanTransitionUtils { ddtxxBO.setYZFP(ConfigureConstant.STRING_0); ddtxxBO.setORIGINDDH(req.getZJSDH()); ddtxxBO.setKB(ObjectUtil.isNull(req.getITITEM().get(0).getKTYPE())?"":req.getITITEM().get(0).getKTYPE()+(ObjectUtil.isNull(req.getITITEM().get(0).getKNAME())?"":req.getITITEM().get(0).getKNAME())); - //TODO lfl 清单标志怎么处理 这儿要区分农产品和成品油? + //清单标志先赋值成0,没有农产品业务,成品油的人工拆分出来做处理 ddtxxBO.setQDBZ("0"); if(ConfigureConstant.STRING_1.equals(req.getZSFHZ())){ ddtxxBO.setTSCHBZ(ConfigureConstant.STRING_0);