From 431f88fdade07a22b636714f1690cee3a55668d0 Mon Sep 17 00:00:00 2001
From: cp <513960435@qq.com>
Date: 星期三, 30 十月 2024 13:35:56 +0800
Subject: [PATCH] 完善

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java |  239 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 221 insertions(+), 18 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 e1af652..1d8dacd 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
@@ -10,6 +10,8 @@
 import com.zy.asrs.common.domain.param.PickConfirmParam;
 import com.zy.asrs.common.domain.param.PickMatParam;
 import com.zy.asrs.common.openapi.entity.param.CombParam;
+import com.zy.asrs.common.openapi.entity.param.WarehouseOutMergeBoardManyParam;
+import com.zy.asrs.common.openapi.entity.param.WarehouseOutPickMergeParam;
 import com.zy.asrs.common.sys.service.StaDescService;
 import com.zy.asrs.common.web.BaseController;
 import com.zy.asrs.common.wms.entity.*;
@@ -66,19 +68,108 @@
 
     @RequestMapping("/pda/WarehouseIn")
     @ManagerAuth
-    public R WarehouseIn(@RequestParam String locNo,@RequestParam String barcode){
-        return mobileService.WarehouseIn(locNo,barcode,getHostId());
+    public R WarehouseIn(@RequestParam String locNo, @RequestParam String barcode) {
+        return mobileService.WarehouseIn(locNo, barcode, getHostId());
     }
 
     @RequestMapping("/pda/WarehouseOut")
     @ManagerAuth
-    public R WarehouseOut(@RequestBody CombParam combParam){
-        return mobileService.WarehouseOut(combParam,getHostId());
+    public R WarehouseOut(@RequestBody CombParam combParam) {
+        return mobileService.WarehouseOut(combParam, getHostId());
+    }
+
+    @RequestMapping("/outBound/mat/list")
+    @ManagerAuth
+    public R WarehouseMat(@RequestParam String matnr, @RequestParam String orderNo) {
+        if (Cools.isEmpty(matnr)) {
+            R.error("鍝佸彿涓嶈兘涓虹┖");
+        }
+        ArrayList<PickMatParam> maps = new ArrayList<>();
+        if (Cools.isEmpty(orderNo)) {
+            List<OrderDetl> list = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+                    .eq(OrderDetl::getMatnr, matnr)
+                    .orderByDesc(OrderDetl::getCreateTime));
+            List<OrderDetl> orderDetls = new ArrayList<OrderDetl>();
+            for (OrderDetl orderDetl : list
+            ) {
+                Order order = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, orderDetl.getOrderNo()));
+                if (!Cools.isEmpty(order)) {
+                    DocType docType = docTypeService.getOne(new LambdaQueryWrapper<DocType>().eq(DocType::getDocId, order.getDocType()));
+                    if (!Cools.isEmpty(docType) && docType.getPakout() == 1) {
+                        double count = orderDetl.getAnfme() - orderDetl.getWorkQty();
+                        PickMatParam matParam = new PickMatParam();
+                        matParam.setMatnr(orderDetl.getMatnr());
+                        matParam.setBatch(orderDetl.getBatch());
+                        matParam.setOrderNo(orderDetl.getOrderNo());
+                        matParam.setOrderId(orderDetl.getOrderId());
+                        matParam.setCount(count);
+                        matParam.setUseCount(count);
+                        maps.add(matParam);
+                    }
+
+
+                }
+            }
+            return R.ok(maps);
+        } else {
+            List<OrderDetl> list = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+                    .eq(OrderDetl::getMatnr, matnr)
+                    .like(OrderDetl::getOrderNo, orderNo)
+                    .orderByDesc(OrderDetl::getCreateTime));
+            for (OrderDetl orderDetl:list
+                 ) {
+                double count = orderDetl.getAnfme() - orderDetl.getWorkQty();
+                PickMatParam matParam = new PickMatParam();
+                matParam.setMatnr(orderDetl.getMatnr());
+                matParam.setBatch(orderDetl.getBatch());
+                matParam.setOrderNo(orderDetl.getOrderNo());
+                matParam.setOrderId(orderDetl.getOrderId());
+                matParam.setCount(count);
+                matParam.setUseCount(count);
+                maps.add(matParam);
+            }
+            return R.ok(maps);
+        }
+    }
+
+    /**
+     * 骞舵澘閫斾腑鎷f枡
+     *
+     * @param combParam
+     * @return
+     */
+    @RequestMapping("/pda/WarehouseOut/v1")
+    @ManagerAuth
+    public R WarehouseOutV1(@RequestBody CombParam combParam) {
+        return mobileService.WarehouseOutV1(combParam, getHostId(), getUserId());
+    }
+
+    /**
+     * 鎷f枡閫斾腑骞舵澘
+     *
+     * @param param
+     * @return
+     */
+    @RequestMapping("/pda/WarehouseOutPickMerge/v1")
+    @ManagerAuth
+    public R WarehouseOutPickMergeV1(@RequestBody WarehouseOutPickMergeParam param) {
+        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());
     }
 
     @RequestMapping("/menu/pda/auth")
     @ManagerAuth
-    public R menuPda(){
+    public R menuPda() {
         List<RolePermission> rolePermissions;
         Long roleId = getUser().getRoleId();
         rolePermissions = rolePermissionService.list(new LambdaQueryWrapper<RolePermission>().eq(RolePermission::getRoleId, getHostId()));
@@ -92,11 +183,50 @@
     }
 
     /**
+     * 鍏ュ簱鍒朵护妫�娴�  -- 鎸囦护鍦ㄥ簱瀛橀噷闈㈠�熺敤鎵瑰彿瀛楁batch
+     * 1.鍙甯稿叆搴�
+     * 2.搴撳瓨鍖呭惈鐩稿悓鍒朵护璐х墿锛屾槸鍚﹁繘琛岃ˉ璐�
+     * 3.宸ヤ綔妗e瓨鍦ㄦ鍦ㄥ叆搴撲换鍔★紝鎷掔粷鍏ュ簱
+     */
+    @RequestMapping("/pda/decrees/check")
+    @ManagerAuth
+    public R pdaDecreesCheck(@RequestParam String decrees) {
+        if (Cools.isEmpty(decrees)) {
+            return R.error("鍒朵护涓嶈兘涓虹┖");
+        }
+        Long hostId = getHostId();
+        //鏌ヨ鏄惁鏈夊簱瀛�
+        List<LocDetl> list = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getBatch, decrees));
+        //鏌ヨ鏄惁鏈夋鍦ㄥ伐浣滅殑宸ヤ綔妗�
+        List<WrkDetl> wrkDetls = wrkDetlService.list(new LambdaQueryWrapper<WrkDetl>().eq(WrkDetl::getBatch, decrees));
+        HashMap<String, Object> map = new HashMap<>();
+        if (list.isEmpty() && wrkDetls.isEmpty()) {
+            map.put("status", 1);//鍙甯稿叆搴�
+        } else if (!wrkDetls.isEmpty()) {
+            map.put("status", 3);//瀛樺湪宸ヤ綔妗o紝鎷掔粷鍏ュ簱
+        } else {
+            //鑾峰彇搴撳瓨鏈�灏戠殑涓�鏉¤褰�
+            Double anfme = 999999999D;
+            LocDetl miniLocDetl = null;
+            for (LocDetl locDetl : list) {
+                if (locDetl.getAnfme() < anfme) {
+                    anfme = locDetl.getAnfme();
+                    miniLocDetl = locDetl;
+                }
+            }
+
+            map.put("status", 2);//搴撳瓨鍖呭惈鐩稿悓鍒朵护璐х墿锛屾槸鍚﹁繘琛岃ˉ璐�
+            map.put("data", miniLocDetl);//搴撳瓨淇℃伅
+        }
+        return R.ok().add(map);
+    }
+
+    /**
      * 鏍规嵁鍗曞彿妫�绱㈠崟鎹暟鎹�
      */
     @RequestMapping("/order/search/orderNo/auth")
     @ManagerAuth
-    public R orderSearchByBarcode(@RequestParam String orderNo){
+    public R orderSearchByBarcode(@RequestParam String orderNo) {
         Order order = orderService.selectByNo(orderNo, getHostId());
         if (order == null) {
             return R.ok();
@@ -117,7 +247,7 @@
 
     @RequestMapping("/comb/auth")
     @ManagerAuth(memo = "缁勬墭")
-    public R comb(@RequestBody CombParam combParam){
+    public R comb(@RequestBody CombParam combParam) {
         mobileService.comb(combParam, getUserId(), getHostId());
         return R.ok("缁勬墭鎴愬姛");
     }
@@ -127,7 +257,7 @@
     @Deprecated
     public R pakoutQuery(@RequestParam(required = false) String barcode,
                          @RequestParam(required = false) Integer staNo,
-                         @RequestParam(required = false) String matnr){
+                         @RequestParam(required = false) String matnr) {
         if (Cools.isEmpty(barcode) && Cools.isEmpty(matnr)) {
             return R.ok();
         }
@@ -152,7 +282,7 @@
      */
     @RequestMapping("/pakout/confirm/barcode/auth")
     @ManagerAuth
-    public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode){
+    public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode) {
         if (Cools.isEmpty(barcode)) {
             return R.ok();
         }
@@ -173,7 +303,7 @@
     @RequestMapping("/pakout/confirm/pick/auth")
     @ManagerAuth
     public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo
-            , @RequestParam(required = false) String matnr){
+            , @RequestParam(required = false) String matnr) {
         if (Cools.isEmpty(wrkNo)) {
             return R.ok();
         }
@@ -309,14 +439,14 @@
 
     @RequestMapping("/adjust/auth")
     @ManagerAuth(memo = "鐩樼偣")
-    public R adjust(@RequestBody MobileAdjustParam combParam){
+    public R adjust(@RequestBody MobileAdjustParam combParam) {
         mobileService.adjust(combParam, getUserId(), getHostId());
         return R.ok("鐩樼偣鎴愬姛");
     }
 
     @RequestMapping("/loc/f/list")
     @ManagerAuth(memo = "鑾峰彇鍦ㄥ簱搴撲綅")
-    public R locNoF(@RequestParam(required = false) String locNo){
+    public R locNoF(@RequestParam(required = false) String locNo) {
         LambdaQueryWrapper<LocMast> wrapper = new LambdaQueryWrapper<LocMast>()
                 .eq(LocMast::getLocSts, "F")
                 .eq(LocMast::getHostId, getHostId());
@@ -329,7 +459,7 @@
 
     @RequestMapping("/pick/sta/list")
     @ManagerAuth(memo = "鑾峰彇骞舵澘绔�")
-    public R pickSta(){
+    public R pickSta() {
         List<StaDesc> list = staDescService.list(new LambdaQueryWrapper<StaDesc>()
                 .eq(StaDesc::getTypeNo, 104)
                 .eq(StaDesc::getHostId, getHostId()));
@@ -338,8 +468,8 @@
 
     @RequestMapping("/pick/mat/list")
     @ManagerAuth(memo = "鑾峰彇骞舵澘鐗╂枡")
-    public R pickMats(@RequestParam(required = false) String matnr){
-        List<DocType> docTypes = docTypeService.list(new LambdaQueryWrapper<DocType>().like(DocType::getDocName, "鍏ュ簱"));
+    public R pickMats(@RequestParam(required = false) String matnr, @RequestParam(required = false) String orderNo) {
+        List<DocType> docTypes = docTypeService.list(new LambdaQueryWrapper<DocType>().like(DocType::getPakin, 1));
         ArrayList<Long> typeList = new ArrayList<>();
         for (DocType docType : docTypes) {
             typeList.add(docType.getDocId());
@@ -361,10 +491,13 @@
         wrapper1.eq(OrderDetl::getStatus, 1);
         wrapper1.eq(OrderDetl::getHostId, getHostId());
         wrapper1.in(OrderDetl::getOrderId, orderIds);
+        wrapper1.orderByDesc(OrderDetl::getCreateTime);
         if (!Cools.isEmpty(matnr)) {
             wrapper1.like(OrderDetl::getMatnr, matnr);
         }
-
+        if (!Cools.isEmpty(orderNo)) {
+            wrapper1.like(OrderDetl::getOrderNo, orderNo);
+        }
         List<OrderDetl> list = orderDetlService.list(wrapper1);
 
         ArrayList<PickMatParam> maps = new ArrayList<>();
@@ -381,7 +514,7 @@
             matParam.setOrderNo(orderDetl.getOrderNo());
             matParam.setOrderId(orderDetl.getOrderId());
             matParam.setCount(count);
-            matParam.setUseCount(0D);
+            matParam.setUseCount(count);
             maps.add(matParam);
         }
         return R.ok().add(maps);
@@ -390,7 +523,7 @@
     @RequestMapping("/pick/in")
     @ManagerAuth(memo = "骞舵澘鍏ュ簱")
     @Transactional
-    public R pickConfirm(@RequestBody PickConfirmParam param){
+    public R pickConfirm(@RequestBody PickConfirmParam param) {
         LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>()
                 .eq(LocMast::getLocNo, param.getLocNo())
                 .eq(LocMast::getHostId, getHostId()));
@@ -482,6 +615,7 @@
             wrkDetl.setModiUser(getUserId());
             wrkDetl.setHostId(getHostId());
             wrkDetl.setWrkMastId(wrkMast.getId());
+            wrkDetl.setZpallet(wrkMast.getBarcode());
             if (!wrkDetlService.save(wrkDetl)) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
             }
@@ -505,4 +639,73 @@
         return R.ok();
     }
 
+    @RequestMapping("/barcode/list/all")
+    @ManagerAuth(memo = "骞舵澘鍏ュ簱閫斾腑鎷f枡鍑哄簱鑾峰彇浠诲姟淇℃伅")
+    @Transactional
+    public R orderOutListOrder(@RequestBody String barcode) {
+        ArrayList<WrkMast> wrkMastArrayList = new ArrayList<>();
+        if (Cools.isEmpty(barcode) || barcode.isEmpty()) {
+            List<WrkMast> wrkMasts = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+                    .eq(WrkMast::getHostId, getHostId())
+                    .eq(WrkMast::getWrkSts, 199L)
+                    .eq(WrkMast::getIoType, 104));
+            wrkMastArrayList.addAll(wrkMasts);
+            List<WrkMast> wrkMasts1 = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+                    .eq(WrkMast::getHostId, getHostId())
+                    .eq(WrkMast::getWrkSts, 199L)
+                    .eq(WrkMast::getIoType, 107));
+            wrkMastArrayList.addAll(wrkMasts1);
+        } else {
+            List<WrkMast> wrkMasts = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+                    .like(WrkMast::getBarcode, barcode)
+                    .eq(WrkMast::getHostId, getHostId())
+                    .eq(WrkMast::getWrkSts, 199L)
+                    .eq(WrkMast::getIoType, 104));
+            wrkMastArrayList.addAll(wrkMasts);
+            List<WrkMast> wrkMasts1 = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+                    .like(WrkMast::getBarcode, barcode)
+                    .eq(WrkMast::getHostId, getHostId())
+                    .eq(WrkMast::getWrkSts, 199L)
+                    .eq(WrkMast::getIoType, 107));
+            wrkMastArrayList.addAll(wrkMasts1);
+        }
+
+        return R.ok().add(wrkMastArrayList);
+    }
+
+    @RequestMapping("/barcode/list/pick")
+    @ManagerAuth(memo = "鎷f枡鍏ュ簱閫斾腑骞舵澘")
+    @Transactional
+    public R orderOutListOrderPick(@RequestBody String barcode) {
+        ArrayList<WrkMast> wrkMastArrayList = new ArrayList<>();
+        if (Cools.isEmpty(barcode) || barcode.isEmpty()) {
+            List<WrkMast> wrkMasts = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+                    .eq(WrkMast::getHostId, getHostId())
+                    .eq(WrkMast::getWrkSts, 199L)
+                    .eq(WrkMast::getIoType, 103));
+            wrkMastArrayList.addAll(wrkMasts);
+            List<WrkMast> wrkMasts1 = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+                    .eq(WrkMast::getHostId, getHostId())
+                    .eq(WrkMast::getWrkSts, 199L)
+                    .eq(WrkMast::getIoType, 107));
+            wrkMastArrayList.addAll(wrkMasts1);
+        } else {
+            List<WrkMast> wrkMasts = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+                    .like(WrkMast::getBarcode, barcode)
+                    .eq(WrkMast::getHostId, getHostId())
+                    .eq(WrkMast::getWrkSts, 199L)
+                    .eq(WrkMast::getIoType, 103)
+            );
+            wrkMastArrayList.addAll(wrkMasts);
+            List<WrkMast> wrkMasts1 = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+                    .like(WrkMast::getBarcode, barcode)
+                    .eq(WrkMast::getHostId, getHostId())
+                    .eq(WrkMast::getWrkSts, 199L)
+                    .eq(WrkMast::getIoType, 107));
+            wrkMastArrayList.addAll(wrkMasts1);
+        }
+
+        return R.ok().add(wrkMastArrayList);
+    }
+
 }

--
Gitblit v1.9.1