From 02a346b1b78c8d2b6b3c298ed2fb8feea8ef96ee Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 31 十二月 2025 15:49:08 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java |   24 +++++++++++++++++-------
 1 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
index 40bd59d..ef15938 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -83,9 +83,8 @@
         List<OrderDetail> OrderDetails = JSONArray.parseArray(JSONObject.toJSONString(orderJson.get("detail")), OrderDetail.class);
         List<OrderOtherMoney> orderOtherMoneyList = JSONArray.parseArray(JSONObject.toJSONString(orderJson.get("otherMoney")), OrderOtherMoney.class);
         if(orderOtherMoneyList != null ){
-            orderOtherMoneyList = orderOtherMoneyList.stream().filter(o -> o.getColumn().indexOf("M")==0).collect(Collectors.toList());
+            orderOtherMoneyList = orderOtherMoneyList.stream().filter(o -> o.getColumn()==null || o.getColumn().indexOf("M")==0).collect(Collectors.toList());
         }
-
         boolean saveState = true;
         //璁剧疆鍥炴粴鐐�
         Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
@@ -265,7 +264,11 @@
         //鍏堟妸鍏朵粬閲戦鍓〃鐨勯噾棰濅笌鏁伴噺缃�0
         if(orderOtherMoneyList!=null){
             orderOtherMoneyList.forEach(orderOtherMoney -> {
-                orderOtherMoney.setQuantity(0.0);
+                if(orderOtherMoney.getColumn()!=null){
+                    orderOtherMoney.setQuantity(0.0);
+                }else{
+                    orderOtherMoney.setMoney(orderOtherMoney.getPrice()*orderOtherMoney.getQuantity());
+                }
             });
         }
 
@@ -519,11 +522,15 @@
         List<OrderOtherMoney> orderOtherMoneyList = JSONArray.parseArray(JSONObject.toJSONString(jsonObject.get("otherMoney")), OrderOtherMoney.class);
 
         if(orderOtherMoneyList != null ){
-            orderOtherMoneyList = orderOtherMoneyList.stream().filter(o -> o.getColumn().indexOf("M")==0).collect(Collectors.toList());
+            orderOtherMoneyList = orderOtherMoneyList.stream().filter(o -> (o.getColumn()==null && o.getDeliveryState()==0 ) || o.getColumn().indexOf("M")==0).collect(Collectors.toList());
         }
         if(orderOtherMoneyList!=null){
             orderOtherMoneyList.forEach(orderOtherMoney -> {
-                orderOtherMoney.setQuantity(0.0);
+                if(orderOtherMoney.getColumn()!=null){
+                    orderOtherMoney.setQuantity(0.0);
+                }else{
+                    orderOtherMoney.setMoney(orderOtherMoney.getPrice()*orderOtherMoney.getQuantity());
+                }
             });
         }
 
@@ -535,7 +542,10 @@
 
 
         //鍒犻櫎鍏朵粬閲戦鏄庣粏琛�
-        orderOtherMoneyMapper.delete(new LambdaQueryWrapper<OrderOtherMoney>().eq(OrderOtherMoney::getOrderId, order.getOrderId()));
+        orderOtherMoneyMapper.delete(new LambdaQueryWrapper<OrderOtherMoney>()
+                .eq(OrderOtherMoney::getOrderId, order.getOrderId())
+                .eq(OrderOtherMoney::getDeliveryState, 0)
+        );
         List<OrderOtherMoney> orderOtherMoneyLists=orderOtherMoneyList;
 
         double money = 0;
@@ -557,7 +567,7 @@
 
                     if(value!=null && !value.equals("") && key.contains("M")) {
                         orderOtherMoneyLists.forEach(orderOtherMoney -> {
-                            if (orderOtherMoney.getColumn().equals(key)) {
+                            if (orderOtherMoney.getColumn()!=null&&orderOtherMoney.getColumn().equals(key)) {
                                 orderOtherMoney.setQuantity(
                                         orderOtherMoney.getQuantity()+(Double.parseDouble((String) value)  * finalOrderDetail.getQuantity()));
                             }

--
Gitblit v1.8.0