From 7a559db0da85a9315a846c9193c1b39a406854bd Mon Sep 17 00:00:00 2001 From: liufeilong Date: Sat, 22 Apr 2023 18:48:34 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BC=80=E8=B4=9F=E6=95=B0=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=E6=97=B6=E5=A6=82=E6=9E=9C=E5=A1=AB=E5=86=99=E7=9A=84?= =?UTF-8?q?=E6=8A=A5=E8=B4=A6=E5=8D=95=E5=8F=B7=EF=BC=8C=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E6=AD=A4=E6=8A=A5=E8=B4=A6=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrderInfoServiceImpl.java | 30 +++++++++++++++++++ .../consumer/utils/BeanTransitionUtils.java | 8 ++--- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java index 5f452627..66d93fea 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java @@ -1460,6 +1460,21 @@ public class OrderInfoServiceImpl implements OrderInfoService { @Override public R openRedInvoice(CommonOrderInfo commonOrderInfo, String uid) throws OrderSeparationException { R vo = new R(); + //校验填写的报账单号是不是负数订单 + log.debug("{}校验填写的报账单号是不是负数订单",LOGGER_MSG); + OrderProcessInfo op = null; + if(StrUtil.isNotBlank(commonOrderInfo.getOrderInfo().getBzdh())){ + Map map = new HashMap(); + map.put("bzdh",commonOrderInfo.getOrderInfo().getBzdh()); + List orderProcessInfos = orderProcessInfoMapper.queryOrderInfo(map, null, null); + if(orderProcessInfos.size()!=1){ + return R.error("根据报账单号未查到到结算单或查询到多条结算单,请检查!"); + }else if(orderProcessInfos.size() == 1 && new BigDecimal(orderProcessInfos.get(0).getKphjje()).compareTo(BigDecimal.ZERO) == -1 ){ + return R.error("报账单号对应的结算单不是负数结算单,请检查!"); + }else { + op = orderProcessInfos.get(0); + } + } String sld = commonOrderInfo.getOrderInfo().getSld(); String sldMc = commonOrderInfo.getOrderInfo().getSldMc(); String terminalCode = simsBackService.getTerminalCode(commonOrderInfo.getOrderInfo().getXhfNsrsbh(), commonOrderInfo.getOrderInfo().getEntId()); @@ -1484,6 +1499,21 @@ public class OrderInfoServiceImpl implements OrderInfoService { return R.error().put(OrderManagementConstant.CODE, OrderInfoContentEnum.RECEIVE_FAILD.getKey()) .put(OrderManagementConstant.MESSAGE, excuSingle.get(OrderManagementConstant.MESSAGE)); } + //负数订单保存后,删除SAP传过来的结算单 + log.debug("{}订单保存后,根据填写的报账单号删除SAP传过来的结算单"); + if(ConfigureConstant.STRING_1.equals(op.getOrderStatus())){ + log.debug("{}订单保存后,根据填写的报账单号删除SAP传过来的结算单,已经是删除状态"); + }else { + OrderProcessInfo updateOp = new OrderProcessInfo(); + updateOp.setId(op.getId()); + updateOp.setOrderStatus(ConfigureConstant.STRING_1); + int i = orderProcessInfoMapper.updateOrderProcessInfoByProcessId(updateOp, null); + if(i == 0){ + log.debug("{}订单保存后,根据填写的报账单号删除SAP传过来的结算单失败"); + }else { + log.debug("{}订单保存后,根据填写的报账单号删除SAP传过来的结算单成功"); + } + } Map sldMap = new HashMap<>(2); PageSld pageSld = new PageSld(); pageSld.setSldid(sld); 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 9d7369d6..188c0693 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 @@ -3500,8 +3500,8 @@ public class BeanTransitionUtils { ddtxxBO.setPZGZRQ(req.getZGZRQ()); ddtxxBO.setYZFP(ConfigureConstant.STRING_0); ddtxxBO.setORIGINDDH(req.getZJSDH()); - ddtxxBO.setKB(req.getITITEM().get(0).getKTYPE()+":"+req.getITITEM().get(0).getKNAME()); - //TODO lfl 清单标志怎么处理? + 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 清单标志怎么处理 这儿要区分农产品和成品油? ddtxxBO.setQDBZ("0"); if(ConfigureConstant.STRING_1.equals(req.getZSFHZ())){ ddtxxBO.setTSCHBZ(ConfigureConstant.STRING_0); @@ -3539,9 +3539,7 @@ public class BeanTransitionUtils { ddmxxxBO.setHSBZ(ConfigureConstant.STRING_1); ddmxxxBO.setSE(detail.getZZSE()); ddmxxxBO.setPH(detail.getCHARG()); - ddmxxxBO.setKB(detail.getKTYPE()+":"+detail.getKNAME()); - //TODO lfl 优惠政策标识 后面补全商品明细的时候会补全! - //ddmxxxBO.setYHZCBS("0"); + ddmxxxBO.setKB(ObjectUtil.isNull(detail.getKTYPE())?"":detail.getKTYPE()+(ObjectUtil.isNull(detail.getKNAME())?"":detail.getKNAME())); ddmxList.add(ddmxxxBO); } }