From 73be6b08f5a94e71550fe788c5d74705daa91be0 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期五, 22 三月 2024 16:48:07 +0800
Subject: [PATCH] 订单首页右键查询流程卡进度

---
 north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java |   49 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 40 insertions(+), 9 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 3d98cbb..16e1e34 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
@@ -98,7 +98,7 @@
         //鍒犻櫎璁㈠崟灏忕墖琛�
         orderGlassDetailMapper.delete(new LambdaQueryWrapper<OrderGlassDetail>().eq(OrderGlassDetail::getOrderId, order.getOrderId()));
         //鍒犻櫎璁㈠崟宸ヨ壓琛�
-        orderProcessDetailMapper.delete(new LambdaQueryWrapper<OrderProcessDetail>().eq(OrderProcessDetail::getOrderId, order.getOrderId()));
+       // orderProcessDetailMapper.delete(new LambdaQueryWrapper<OrderProcessDetail>().eq(OrderProcessDetail::getOrderId, order.getOrderId()));
         insertOtherDetail(order.getOrderId(),OrderDetails);
     }
 
@@ -119,13 +119,13 @@
         //寰�灏忕墖琛ㄤ紶鍏ヤ骇鍝佹暟鎹�
         orderGlassDetailMapper.insertOrderGlassDetail(orderId);
         //鏌ヨ璁㈠崟灏忕墖琛ㄨ幏鍙栧伐鑹轰紶鍏ュ皬鐗囧伐鑹鸿〃
-        List<OrderGlassDetail> orderGlassDetails = orderGlassDetailMapper.selectOrderGlassDetail(orderId);
-        List<OrderProcessDetail> orderProcessDetailList = getOrderProcessDetails(orderGlassDetails);
+        //List<OrderGlassDetail> orderGlassDetails = orderGlassDetailMapper.selectOrderGlassDetail(orderId);
+        /*List<OrderProcessDetail> orderProcessDetailList = getOrderProcessDetails(orderGlassDetails);
         //璧嬪�艰鍗曞伐鑹鸿〃
-        orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList);
+        orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList);*/
     }
 
-    private static List<OrderProcessDetail> getOrderProcessDetails(List<OrderGlassDetail> orderGlassDetails) {
+    public static List<OrderProcessDetail> getOrderProcessDetails(List<OrderGlassDetail> orderGlassDetails) {
         List<OrderProcessDetail> orderProcessDetailList = new ArrayList<>();
         for (OrderGlassDetail orderGlassDetail : orderGlassDetails) {
             String[] processList = orderGlassDetail.getProcess().split("->");
@@ -200,10 +200,10 @@
             orderGlassDetailMapper.updateSizeAndProcess(orderGlassDetails);
             orderProcessDetailMapper.delete(new QueryWrapper<OrderProcessDetail>().eq("order_id",id));
             //鏌ヨ璁㈠崟灏忕墖琛ㄨ幏鍙栧伐鑹轰紶鍏ュ皬鐗囧伐鑹鸿〃
-            List<OrderGlassDetail> orderGlassDetailList = orderGlassDetailMapper.selectOrderGlassDetail(id);
-            List<OrderProcessDetail> orderProcessDetailList = getOrderProcessDetails(orderGlassDetailList);
-            //璧嬪�艰鍗曞伐鑹鸿〃
-            orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList);
+            //List<OrderGlassDetail> orderGlassDetailList = orderGlassDetailMapper.selectOrderGlassDetail(id);
+//            List<OrderProcessDetail> orderProcessDetailList = getOrderProcessDetails(orderGlassDetailList);
+//            //璧嬪�艰鍗曞伐鑹鸿〃
+//            orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList);
         }
 
         return orderMapper.reviewProcessById(id,status);
@@ -217,4 +217,35 @@
         map.put("orderGlassDetails",orderGlassDetails);
         return map;
     }
+
+    public boolean updateOrderMoney(Map<String, Object> map) {
+        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);
+        double money = 0;
+        for (OrderDetail orderDetail : OrderDetails) {
+            orderDetail =  updateOrderMoneyComputed(orderDetail,order.getCalculateType());
+            money+= orderDetail.getGrossAmount();
+        }
+        order.setMoney(money);
+        orderMapper.updateMoney(order);
+        orderDetailMapper.updateOrderMoney(OrderDetails);
+        return false;
+    }
+
+    private OrderDetail updateOrderMoneyComputed(OrderDetail orderDetail, Integer calculateType) {
+        if (calculateType == 3) {
+            orderDetail.setGrossAmount(orderDetail.getPrice() * orderDetail.getQuantity());
+        } else {
+            orderDetail.setGrossAmount(orderDetail.getComputeGrossArea() * orderDetail.getPrice());
+        }
+        return orderDetail;
+    }
+
+
+    public Integer cancelOrder(String id) {
+        return orderMapper.cancelOrder(id);
+    }
+
+
 }

--
Gitblit v1.8.0