From 820a6cb4eab59ad154080e132259c78d67e3f5c1 Mon Sep 17 00:00:00 2001 From: gaorl Date: Tue, 27 Jun 2023 16:05:24 +0800 Subject: [PATCH] =?UTF-8?q?feature=EF=BC=9A=E6=98=8E=E7=BB=86=E5=90=88?= =?UTF-8?q?=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrderInfoServiceImpl.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 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 12ad1411..04a0a3cf 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 @@ -2025,7 +2025,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { if(ObjectUtil.isNull(orderItemInfos)){ return R.error("根据订单号未查询到明细行信息"); } - List collect = null; + List collect ; if(itemList != null){ collect = orderItemInfos.stream().filter(t -> itemList.contains(t.getId()) && StringUtils.isNotBlank(t.getSpbm())).collect(Collectors.toList()); if(ObjectUtil.isNull(collect)){ @@ -2034,6 +2034,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { }else{ collect = orderItemInfos; } + List mergeOutItem = orderItemInfos.stream().filter(t -> !collect.contains(t)).collect(Collectors.toList()); TaxEquipmentInfo taxEquipmentInfo = simsBackService.queryTaxEquipment(orderInfo.getNsrsbh(), entId); if(taxEquipmentInfo == null ||StringUtils.isBlank(taxEquipmentInfo.getSksbCode())){ return R.error("税控设备查询为空"); @@ -2092,8 +2093,8 @@ public class OrderInfoServiceImpl implements OrderInfoService { orderItemInfo.setXmdj(xmdj.toString()); } // return R.error("明细行号{}合并错误,合并明细超过0.06暂时不合并",orderItemInfo.getSphxh()); - diffJe = diffJe.add(xmjeNew.subtract(xmje)); - diffSe = diffSe.add(taxAmountNew.subtract(se)); +// diffJe = diffJe.add(xmjeNew.subtract(xmje)); +// diffSe = diffSe.add(taxAmountNew.subtract(se)); } orderItemInfoList.add(orderItemInfo); deleteItem.addAll(value.stream().map(t->t.getId()).collect(Collectors.toList())); @@ -2105,7 +2106,9 @@ public class OrderInfoServiceImpl implements OrderInfoService { if(!orderItemInfoList.isEmpty()){ orderItemInfoMapper.deleteItemByItemId(deleteItem); orderItemInfoMapper.insertOrderItemByList(orderItemInfoList); + mergeOutItem.addAll(orderItemInfoList); } + BigDecimal se = mergeOutItem.stream().map(t -> new BigDecimal(t.getSe())).reduce(BigDecimal::add).get(); //更新清单标志 重新设置金额 OrderInfo orderInfoNew = new OrderInfo(); orderInfoNew.setId(orderInfoId); @@ -2118,15 +2121,14 @@ public class OrderInfoServiceImpl implements OrderInfoService { orderInfoNew.setQdBz("0"); } if(diffJe.compareTo(BigDecimal.ZERO) != 0){ - String bhsje = new BigDecimal(orderInfo.getHjbhsje()).add(diffJe).toString(); - String se = new BigDecimal(orderInfo.getHjse()).add(diffSe).toString(); + String bhsje = new BigDecimal(orderInfo.getKphjje()).subtract(se).toString(); orderInfoNew.setHjbhsje(bhsje); - orderInfoNew.setHjse(se); + orderInfoNew.setHjse(se.toString()); orderProcessInfoNew.setHjbhsje(bhsje); - orderProcessInfoNew.setKpse(se); + orderProcessInfoNew.setKpse(se.toString()); + orderMapper.updateOrderInfoByOrderId(orderInfoNew,Arrays.asList(orderInfo.getNsrsbh())); + orderProcessInfoMapper.updateOrderProcessInfoByProcessId(orderProcessInfoNew,Arrays.asList(orderInfo.getNsrsbh())); } - orderMapper.updateOrderInfoByOrderId(orderInfoNew,null); - orderProcessInfoMapper.updateOrderProcessInfoByProcessId(orderProcessInfoNew,null); return R.ok(); }