From ff0b0e8c7a59f44a8abe0ec209130fa525cf5b1c Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 09 九月 2024 13:31:49 +0800
Subject: [PATCH] #

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderDetlController.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 58 insertions(+), 2 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderDetlController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderDetlController.java
index 4faa9f0..4d58cb6 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderDetlController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderDetlController.java
@@ -3,10 +3,11 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.zy.asrs.common.wms.entity.OrderDetl;
-import com.zy.asrs.common.wms.service.OrderDetlService;
+import com.zy.asrs.common.wms.entity.*;
+import com.zy.asrs.common.wms.service.*;
 import com.zy.asrs.framework.annotations.ManagerAuth;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.R;
@@ -23,6 +24,18 @@
 
     @Autowired
     private OrderDetlService orderDetlService;
+    @Autowired
+    private WaitPakinService waitPakinService;
+    @Autowired
+    private OrderService orderService;
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private DocTypeService docTypeService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+    @Autowired
+    private WorkService workService;
 
     @RequestMapping(value = "/orderDetl/forOrderNo/auth")
     @ManagerAuth
@@ -67,6 +80,49 @@
         orderDetlService.save(orderDetl);
         return R.ok();
     }
+    @RequestMapping(value = "/order/cancel/wrk/auth")
+    @ManagerAuth
+    public R cancelWrk(String orderId) {
+        Order order = orderService.getById(orderId);
+        DocType docType = docTypeService.getById(order.getDocType());
+        if (null != docType && docType.getPakin() == 1) {
+            List<WaitPakin> waitPakinList = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getOrderNo, order.getOrderNo()));
+            if (!Cools.isEmpty(waitPakinList)){
+                for (WaitPakin entity : waitPakinList){
+                    List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>().eq("barcode", entity.getZpallet()));
+                    if(!Cools.isEmpty(wrkMasts) || wrkMasts.size() > 0){
+                        continue;
+                    }
+                    waitPakinService.removeById(entity.getId());
+                    //璁㈠崟鍏宠仈锛屼慨鏀硅鍗曚綔涓氭暟閲�
+                    if (!Cools.isEmpty(entity.getOrderNo())) {
+                        if (!orderDetlService.decrease(entity.getOrderNo(),entity.getHostId(), entity.getMatnr(), entity.getBatch(), entity.getAnfme())) {
+                            return R.error("璁㈠崟鏁版嵁鍥炴粴澶辫触");
+                        }
+                    }
+                }
+            }
+        } else if (null != docType && docType.getPakout() == 1) {
+            List<WrkDetl> wrkDetlList = wrkDetlService.list(new LambdaQueryWrapper<WrkDetl>().eq(WrkDetl::getOrderNo, order.getOrderNo()));
+            if (!Cools.isEmpty(wrkDetlList)){
+                List<Integer> wrkNoList = new ArrayList<>();
+               for (WrkDetl wrkDetl:wrkDetlList){
+                   if (!wrkNoList.contains(wrkDetl.getWrkNo())){
+                       wrkNoList.add(wrkDetl.getWrkNo());
+                   }
+               }
+               for (Integer wrkNo:wrkNoList){
+                   List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>().eq("wrk_no", wrkNo));
+                   if (wrkMasts.size()==1){
+                       if (wrkMasts.get(0).getWrkSts()==101){
+                           workService.cancelWrkMast(wrkNo.toString(), getUserId(), getHostId());
+                       }
+                   }
+               }
+            }
+        }
+        return R.ok();
+    }
 
 	@RequestMapping(value = "/orderDetl/update/auth")
 	@ManagerAuth

--
Gitblit v1.9.1