From 70b86bb70e6941127888979dbde37dda3b1db0b6 Mon Sep 17 00:00:00 2001
From: cp <513960435@qq.com>
Date: 星期二, 19 十一月 2024 09:14:43 +0800
Subject: [PATCH] 完善下架功能

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java |  115 +++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 103 insertions(+), 12 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
index 9d45c2a..0f9375b 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
@@ -22,10 +22,7 @@
 import com.zy.asrs.framework.exception.CoolException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
 import java.util.stream.Collectors;
@@ -66,16 +63,30 @@
     @Autowired
     private MatService matService;
 
+
+    /**
+     * 骞冲韩涓婃灦
+     *
+     * @param locNo
+     * @param barcode
+     * @return
+     */
     @RequestMapping("/pda/WarehouseIn")
     @ManagerAuth
     public R WarehouseIn(@RequestParam String locNo, @RequestParam String barcode) {
-        return mobileService.WarehouseIn(locNo, barcode, getHostId());
+        return mobileService.WarehouseIn(locNo, barcode, getHostId(), getUserId());
     }
 
+    /**
+     * 骞冲韩涓嬫灦
+     *
+     * @param combParam
+     * @return
+     */
     @RequestMapping("/pda/WarehouseOut")
     @ManagerAuth
     public R WarehouseOut(@RequestBody CombParam combParam) {
-        return mobileService.WarehouseOut(combParam, getHostId());
+        return mobileService.WarehouseOut(combParam, getHostId(), getUserId());
     }
 
     @RequestMapping("/outBound/mat/list")
@@ -116,8 +127,8 @@
                     .eq(OrderDetl::getMatnr, matnr)
                     .like(OrderDetl::getOrderNo, orderNo)
                     .orderByDesc(OrderDetl::getCreateTime));
-            for (OrderDetl orderDetl:list
-                 ) {
+            for (OrderDetl orderDetl : list
+            ) {
                 double count = orderDetl.getAnfme() - orderDetl.getWorkQty();
                 PickMatParam matParam = new PickMatParam();
                 matParam.setMatnr(orderDetl.getMatnr());
@@ -153,18 +164,19 @@
     @RequestMapping("/pda/WarehouseOutPickMerge/v1")
     @ManagerAuth
     public R WarehouseOutPickMergeV1(@RequestBody WarehouseOutPickMergeParam param) {
-        return mobileService.WarehouseOutPickMergeV1(param, getHostId(),getUserId());
+        return mobileService.WarehouseOutPickMergeV1(param, getHostId(), getUserId());
     }
 
     /**
      * 澶氭骞舵澘
+     *
      * @param param
      * @return
      */
     @RequestMapping("/pda/WarehouseOutMergeBoardMany/v1")
     @ManagerAuth
     public R WarehouseOutMergeBoardManyV1(@RequestBody WarehouseOutMergeBoardManyParam param) {
-        return mobileService.WarehouseOutMergeBoardMany(param, getHostId(),getUserId());
+        return mobileService.WarehouseOutMergeBoardMany(param, getHostId(), getUserId());
     }
 
     @RequestMapping("/menu/pda/auth")
@@ -520,9 +532,9 @@
         return R.ok().add(maps);
     }
 
-    @RequestMapping("/outBound/mat/list")
+    @RequestMapping("/outBound/order/list")
     @ManagerAuth(memo = "鑾峰彇鍑哄簱璁㈠崟")
-    public R outBound(@RequestParam(required = false) String matnr,@RequestParam(required = false) String orderNo){
+    public R outBound(@RequestParam(required = false) String matnr, @RequestParam(required = false) String orderNo) {
         List<DocType> docTypes = docTypeService.list(new LambdaQueryWrapper<DocType>().like(DocType::getPakout, 1));
         ArrayList<Long> typeList = new ArrayList<>();
         for (DocType docType : docTypes) {
@@ -671,8 +683,13 @@
                 throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
             }
 
+            Order order = orderService.selectByNo(matParam.getOrderNo(), getHostId());
+            if (order == null) {
+                throw new CoolException("Order is not exits");
+            }
             //鏇存柊璁㈠崟宸ヤ綔鏁伴噺
             orderDetlService.increaseWorkQtyByOrderNo(matParam.getOrderNo(), matParam.getMatnr(), matParam.getBatch(), matParam.getUseCount(), getHostId());
+            orderService.updateSettle(order.getId(), 2L, getUserId(), getHostId());
         }
         // 淇敼搴撲綅鐘舵��:   F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
         locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, param.getLocNo()).eq(LocMast::getHostId, getHostId()));
@@ -759,4 +776,78 @@
         return R.ok().add(wrkMastArrayList);
     }
 
+    @PostMapping("/pda/OutLocNo")
+    @ManagerAuth(memo = "鑾峰緱骞冲簱鍑哄簱鐨勫搴斿簱浣嶅彿")
+    @Transactional
+    public R OutLocNo(@RequestParam Long orderId) {
+        List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+                .eq(OrderDetl::getOrderId, orderId)
+                .eq(OrderDetl::getHostId, getHostId())
+        );
+        if (Cools.isEmpty(orderDetls)) {
+            return R.error("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+        }
+        List<String> list = new ArrayList<>();
+        for (OrderDetl o : orderDetls
+        ) {
+            if (o.getAnfme() <= o.getWorkQty()) {
+                continue;
+            } else {
+                //鏌ョ湅搴撲綅鏄庣粏涓湁鐨勭墿鏂�
+                List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
+                        .eq(LocDetl::getMatnr, o.getMatnr()).eq(LocDetl::getHostId, getHostId())
+                );
+                if (Cools.isEmpty(locDetls)) {
+                    continue;
+                } else {
+                    for (LocDetl l : locDetls
+                    ) {
+                        String s = l.getLocNo().substring(1, 2);
+                        if (Integer.valueOf(s) > 4) {
+                            list.add(l.getLocNo());
+                        }
+                    }
+
+                }
+            }
+        }
+        List<String> myList = list.stream().distinct().collect(Collectors.toList());
+        return R.ok(myList);
+    }
+
+    @PostMapping("/pda/OrderDetlContrastLocDetl")
+    @ManagerAuth(memo = "鑾峰緱璁㈠崟鏄庣粏瀵瑰簲鐨勫簱瀛樻槑缁�")
+    @Transactional
+    public R OrderDetlContrastLocDetl(@RequestParam Long orderId, @RequestParam String locNo) {
+        List<LocDetl> locDetlList = new ArrayList<LocDetl>();
+        List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+                .eq(OrderDetl::getOrderId, orderId)
+                .eq(OrderDetl::getHostId, getHostId())
+        );
+        if (Cools.isEmpty(orderDetls)) {
+            return R.error("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+        }
+        List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
+                .eq(LocDetl::getLocNo, locNo));
+        if (Cools.isEmpty(locDetls)) {
+            return R.error("搴撲綅涓虹┖");
+        }
+        for (OrderDetl o : orderDetls
+        ) {
+            for (LocDetl l : locDetls
+            ) {
+                if (o.getMatnr().equals(l.getMatnr())) {
+                    if (o.getAnfme() - o.getWorkQty() >= l.getAnfme()) {
+
+                    } else {
+                        l.setAnfme(o.getAnfme() - o.getWorkQty());
+                    }
+                    locDetlList.add(l);
+                    break;
+                }
+            }
+        }
+        return R.ok(locDetlList);
+    }
+
 }

--
Gitblit v1.9.1