From 609a1b7daafdc351f6601c046ea3ffae64b6709a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 24 三月 2022 13:42:59 +0800
Subject: [PATCH] #杰克缝纫机立库 【手动修改订单 + 优化】

---
 src/main/java/com/zy/asrs/controller/OrderController.java |   39 +++++++++++++++++++++++++++------------
 1 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index cafda96..1d557aa 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -122,32 +122,47 @@
         if (order == null || order.getStatus() == 0) {
             return R.error("璁㈠崟涓嶅瓨鍦�");
         }
+        Date now = new Date();
+        Long userId = getUserId();
         // 淇敼涓绘。
         if (!param.getDocType().equals(order.getDocType())) {
             order.setDocType(param.getDocType());
-            order.setUpdateBy(getUserId());
-            order.setUpdateTime(new Date());
+            order.setUpdateBy(userId);
+            order.setUpdateTime(now);
             if (!orderService.updateById(order)) {
                 throw new CoolException("淇敼璁㈠崟绫诲瀷澶辫触");
             }
         }
         // 淇敼鏄庣粏妗�
-        Iterator<OrderDetl> iterator = param.getOrderDetlList().iterator();
-        while (iterator.hasNext()) {
-            OrderDetl orderDetl = iterator.next();
-            OrderDetl detl = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
+        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+        // 1.娓呯┖鏄庣粏妗�
+        if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
+            throw new CoolException("娓呯┖璁㈠崟鏄庣粏澶辫触");
+        }
+        // 2.閲嶇粍鏁版嵁
+        for (OrderDetl orderDetl : param.getOrderDetlList()) {
+            OrderDetl detl = orderDetlService.findByLook(orderDetls, order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
             // 鏂板
             if (detl == null) {
-
+                detl = orderDetl;
+                detl.setOrderId(order.getId());
+                detl.setCreateTime(now);
+                detl.setCreateBy(userId);
+                detl.setUpdateTime(now);
+                detl.setUpdateBy(userId);
+                detl.setStatus(1);
             // 淇敼
             } else {
-
+                detl.setAnfme(orderDetl.getAnfme());    // 淇敼鏁伴噺
+                detl.setUpdateTime(now);
+                detl.setUpdateBy(userId);
+            }
+            // 鎸佷箙鍖�
+            if (!orderDetlService.insert(detl)) {
+                throw new CoolException("鏂板璁㈠崟鏄庣粏澶辫触");
             }
         }
-
-        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
-
-        return R.ok();
+        return R.ok("璁㈠崟淇敼鎴愬姛");
     }
 
 

--
Gitblit v1.9.1