From 4921b4de30dd00a5d26f0e1e602aa6a17aa70d25 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 31 五月 2024 08:12:43 +0800
Subject: [PATCH] #

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 56 insertions(+), 1 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java
index 3014164..d2dbdac 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java
@@ -326,7 +326,7 @@
         for (OrderDetl orderDetl : param.getOrderDetlList()) {
             DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
             if (DetlDto.has(list, dto)) {
-                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),getHostId());
+                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), getHostId());
                 item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                 if (!orderDetlService.updateById(item)) {
                     throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
@@ -379,4 +379,59 @@
         return R.ok().add(orders);
     }
 
+    @RequestMapping(value = "/order/form/modify/auth")
+    @ManagerAuth(memo = "鎵嬪姩淇敼璁㈠崟")
+    @Transactional
+    public R formModify(@RequestBody OrderDomainParam param){
+        Order order = orderService.getOne(new LambdaQueryWrapper<Order>()
+                .eq(Order::getId, param.getOrderId())
+                .eq(Order::getHostId, getHostId()));
+        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(userId);
+            order.setUpdateTime(now);
+            if (!orderService.updateById(order)) {
+                throw new CoolException("淇敼璁㈠崟绫诲瀷澶辫触");
+            }
+        }
+        // 淇敼鏄庣粏妗�
+//        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+        // 1.娓呯┖鏄庣粏妗�
+        if (!orderDetlService.remove(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId()))) {
+            throw new CoolException("娓呯┖璁㈠崟鏄庣粏澶辫触");
+        }
+        // 2.閲嶇粍鏁版嵁
+        List<DetlDto> list = new ArrayList<>();
+        for (OrderDetl orderDetl : param.getOrderDetlList()) {
+            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
+            if (DetlDto.has(list, dto)) {
+                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), getHostId());
+                item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
+                if (!orderDetlService.updateById(item)) {
+                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
+            } else {
+                list.add(dto);
+                orderDetl.setOrderId(order.getId());
+                orderDetl.setOrderNo(order.getOrderNo());
+                orderDetl.setCreateBy(getUserId());
+                orderDetl.setCreateTime(now);
+                orderDetl.setUpdateBy(getUserId());
+                orderDetl.setUpdateTime(now);
+                orderDetl.setStatus(1);
+                orderDetl.setQty(0.0D);
+                if (!orderDetlService.save(orderDetl)) {
+                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
+            }
+        }
+        return R.ok("璁㈠崟淇敼鎴愬姛");
+    }
+
 }

--
Gitblit v1.9.1