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/LocDetlController.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 58 insertions(+), 2 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
index d401e69..45fd7af 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
@@ -14,6 +14,7 @@
 import com.zy.asrs.common.wms.service.LocDetlService;
 import com.zy.asrs.common.wms.service.MatService;
 import com.zy.asrs.framework.annotations.ManagerAuth;
+import com.zy.asrs.framework.common.BaseRes;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.R;
 import com.zy.asrs.framework.domain.KeyValueVo;
@@ -39,6 +40,19 @@
     @ManagerAuth
     public R forLocNoAndBarcode(@RequestParam String locNo,@RequestParam String barcode) {
         List<LocDetl> detls = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocNo, locNo).eq(LocDetl::getZpallet, barcode).eq(LocDetl::getHostId, getHostId()));
+        if (Cools.isEmpty(detls)){
+            return R.error("鏈煡璇㈠埌搴撳瓨鏁版嵁");
+        }
+        return R.ok(detls);
+    }
+
+    @RequestMapping(value = "/locDetl/forlocNo/auth/v1")
+    @ManagerAuth
+    public R forlocNoV1(@RequestParam String locNo) {
+        LambdaQueryWrapper<LocDetl> locDetlLambdaQueryWrapper = new LambdaQueryWrapper<LocDetl>()
+                .eq(LocDetl::getLocNo, locNo)
+                .eq(LocDetl::getHostId, getHostId());
+        List<LocDetl> detls = locDetlService.list(locDetlLambdaQueryWrapper);
         if (Cools.isEmpty(detls)){
             return R.error("鏈煡璇㈠埌搴撳瓨鏁版嵁");
         }
@@ -100,6 +114,8 @@
             if(Cools.eq(entry.getKey(),"curr")
                     || Cools.eq(entry.getKey(),"limit")
                     || Cools.eq(entry.getKey(),"unreason")
+                    || Cools.eq(entry.getKey(),"orderByField")
+                    || Cools.eq(entry.getKey(),"orderByType")
                     || Cools.eq(entry.getKey(),"row")
                     || Cools.eq(entry.getKey(),"condition")){
                 continue;
@@ -128,10 +144,27 @@
     @ManagerAuth
     public R page(@RequestParam(defaultValue = "1") Integer curr,
                   @RequestParam(defaultValue = "10") Integer limit,
+                  @RequestParam(required = false)String orderByField,
+                  @RequestParam(required = false)String orderByType,
                   @RequestParam(required = false) String condition,
                   @RequestParam(required = false) String timeRange,
                   @RequestParam Map<String, Object> param) {
         QueryWrapper<LocDetl> wrapper = new QueryWrapper<>();
+
+        if (!Cools.isEmpty(param.get("decrees"))) {
+            ArrayList<String> mats = new ArrayList<>();
+            List<Mat> decrees = matService.list(new LambdaQueryWrapper<Mat>().like(Mat::getDecrees, param.get("decrees")));
+            if (decrees.isEmpty()) {
+                mats.add("-1");
+            }else {
+                for (Mat mat : decrees) {
+                    mats.add(mat.getMatnr());
+                }
+            }
+            wrapper.in("matnr", mats);
+            param.remove("decrees");
+        }
+
         convert(param,wrapper);
         wrapper.eq("host_id", getHostId());
 //        if (!Cools.isEmpty(condition)) {
@@ -143,16 +176,39 @@
             wrapper.le("appe_time", DateUtils.convert(range[1]));
         }
         if (!Cools.isEmpty(param.get("locNo"))) {
-            wrapper.eq("loc_no", param.get("locNo"));
+            wrapper.like("loc_no", param.get("locNo"));
         }
+
+        if (!Cools.isEmpty(param.get("zpallet"))) {
+            wrapper.like("zpallet", param.get("zpallet"));
+        }
+
+        if (!Cools.isEmpty(orderByField)){
+            wrapper.orderBy(true, "asc".equals(orderByType), humpToLine(orderByField));
+        }
+
         param.remove("locNo");
         param.remove("owner");
-        param.remove("zpallet");
         param.remove("matnr");
         allLike(LocDetl.class, param.keySet(), wrapper, condition);
         return R.ok(locDetlService.page(new Page<>(curr, limit), wrapper));
     }
 
+    @RequestMapping(value = "/locDetl/auth")
+    @ManagerAuth
+    public R stockOutList(@RequestParam(value = "locNos[]") List<String> locNos){
+        if (!locNos.isEmpty()) {
+            List<LocDetl> res = new ArrayList<>();
+            for (String locNo : new HashSet<>(locNos)) {
+                List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocNo, locNo));
+                if (!locDetls.isEmpty()) {
+                    res.addAll(locDetls);
+                }
+            }
+            return R.ok().add(res);
+        }
+        return R.parse(BaseRes.EMPTY);
+    }
 
     @RequestMapping(value = "/locDetl/add/auth")
     @ManagerAuth

--
Gitblit v1.9.1