From 8e440746881d5af1b3c45531c2844fb804ac6d90 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 04 七月 2024 17:53:04 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 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 d0bb39e..9656fd4 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
@@ -22,6 +22,7 @@
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 @DS("sd")
@@ -48,7 +49,7 @@
         Order order = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("title")), Order.class);
         List<OrderDetail> OrderDetails = JSONArray.parseArray(JSONObject.toJSONString(orderJson.get("detail")), OrderDetail.class);
         List<OrderOtherMoney> orderOtherMoneyList = JSONArray.parseArray(JSONObject.toJSONString(orderJson.get("otherMoney")), OrderOtherMoney.class);
-
+        orderOtherMoneyList = orderOtherMoneyList.stream().filter(o -> o.getColumn().indexOf("M")==0).collect(Collectors.toList());
         boolean saveState = true;
         //璁剧疆鍥炴粴鐐�
         Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
@@ -165,7 +166,7 @@
         for (int i = 0; i < OrderDetails.size(); i++) {
             OrderDetails.get(i).setOrderNumber(i+1);
             OrderDetails.get(i).setOrderId(orderId);
-            OrderDetails.get(i).setPerimeter((OrderDetails.get(i).getWidth()+OrderDetails.get(i).getHeight())*2/1000);
+            OrderDetails.get(i).setPerimeter(Double.valueOf(String.format("%.3f",(OrderDetails.get(i).getWidth()+OrderDetails.get(i).getHeight())*2/1000)));
             OrderDetails.get(i).setWeight(1.0);
             if(OrderDetails.get(i).getBendRadius()!=null && OrderDetails.get(i).getBendRadius()!=0){
                 //鑾峰彇寮挗寮у害
@@ -202,7 +203,6 @@
         orderDetailMapper.insertBatch(OrderDetails);
         //寰�灏忕墖琛ㄤ紶鍏ヤ骇鍝佹暟鎹�
         orderGlassDetailMapper.insertOrderGlassDetail(orderId);
-        //寰�璁㈠崟鍏朵粬閲戦鍓〃浼犲叆鏁版嵁
         orderOtherMoneyList.forEach(orderOtherMoney ->{
             orderOtherMoney.setId(null);
             orderOtherMoney.setOrderId(orderId);
@@ -324,12 +324,20 @@
         JSONObject jsonObject = new JSONObject(map);
         Order order = JSONObject.parseObject(JSONObject.toJSONString(jsonObject.get("order")), Order.class);
         List<OrderDetail> OrderDetails = JSONArray.parseArray(JSONObject.toJSONString(jsonObject.get("detail")), OrderDetail.class);
+        List<OrderOtherMoney> orderOtherMoneyList = JSONArray.parseArray(JSONObject.toJSONString(jsonObject.get("otherMoney")), OrderOtherMoney.class);
         double money = 0;
         for (OrderDetail orderDetail : OrderDetails) {
             orderDetail =  updateOrderMoneyComputed(orderDetail,order.getCalculateType());
             money+= orderDetail.getGrossAmount();
         }
-
+        orderOtherMoneyList.forEach(orderOtherMoney -> {
+            if(orderOtherMoney.getQuantity()!=null && orderOtherMoney.getPrice()!=null){
+                orderOtherMoney.setMoney((orderOtherMoney.getQuantity()*orderOtherMoney.getPrice()));
+            }
+            orderOtherMoneyMapper.update(orderOtherMoney,new QueryWrapper<OrderOtherMoney>()
+                    .eq("order_id",orderOtherMoney.getOrderId())
+                    .eq("`column`",orderOtherMoney.getColumn()));
+        });
         order.setMoney(money+orderOtherMoneyMapper.selectGrossAmount(order.getOrderId()));
         orderMapper.updateMoney(order);
         orderDetailMapper.updateOrderMoney(OrderDetails);
@@ -449,12 +457,12 @@
         return returns;
     }
 
-    public Object printOrderProductDetails(String orderId,String productId) {
+    public Object printOrderProductDetails(String orderId,List<String> productId) {
         List<Map<String,Object>> orderProductDistinct;
-        if (productId!=""){
-             orderProductDistinct = orderDetailMapper.getOrderProductDistinctByIds(orderId,productId);
+        if (productId.size()>0){
+            orderProductDistinct = orderDetailMapper.getOrderProductDistinctByIds(orderId,productId);
         }else{
-             orderProductDistinct = orderDetailMapper.getOrderProductDistinctById(orderId);
+            orderProductDistinct = orderDetailMapper.getOrderProductDistinctById(orderId);
         }
 
         List<Map<String,Object>> orderProductDetail = new ArrayList<>();

--
Gitblit v1.8.0