From aa1c62d47f9781f92104759deb8158fed24e00ef Mon Sep 17 00:00:00 2001
From: Administrator <1051256694@qq.com>
Date: 星期五, 20 三月 2026 20:42:30 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/LocDetlController.java |   93 ++++++++++++++++++++++++++--------------------
 1 files changed, 53 insertions(+), 40 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index edfb2a5..762238a 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -12,6 +12,7 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
+import com.zy.asrs.entity.FrozenParam;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.LocOwner;
 import com.zy.asrs.entity.Mat;
@@ -188,6 +189,7 @@
 //            }
 //        }
         excludeTrash(param);
+        applyBeBatchFilter(param, wrapper);
         convert(param, wrapper);
         allLike(LocDetl.class, param.keySet(), wrapper, condition);
         if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
@@ -202,18 +204,42 @@
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
         for (Map.Entry<String, Object> entry : map.entrySet()){
             String val = String.valueOf(entry.getValue());
+            String key = humpToLine(entry.getKey());
             if (val.contains(RANGE_TIME_LINK)){
                 String[] dates = val.split(RANGE_TIME_LINK);
-                wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
-                wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
+                wrapper.ge(key, DateUtils.convert(dates[0]));
+                wrapper.le(key, DateUtils.convert(dates[1]));
             } else {
-                if (entry.getKey().equals("locNo")) {
+                if ("loc_no".equals(key)) {
                     wrapper.eq("loc_no", String.valueOf(entry.getValue()));
                 } else {
-                    wrapper.like(entry.getKey(), String.valueOf(entry.getValue()));
+                    wrapper.like(key, String.valueOf(entry.getValue()));
                 }
             }
         }
+    }
+
+    private <T> void applyBeBatchFilter(Map<String, Object> map, EntityWrapper<T> wrapper) {
+        Object beBatchObj = map.remove("beBatch");
+        if (beBatchObj == null) {
+            beBatchObj = map.remove("be_batch");
+        }
+        if (beBatchObj == null) {
+            return;
+        }
+        String beBatch = String.valueOf(beBatchObj).trim();
+        if (Cools.isEmpty(beBatch)) {
+            return;
+        }
+        if ("1".equals(beBatch)) {
+            wrapper.eq("be_batch", 1);
+            return;
+        }
+        if ("0".equals(beBatch)) {
+            wrapper.andNew().isNull("be_batch").or().eq("be_batch", 0);
+            return;
+        }
+        wrapper.eq("be_batch", beBatch);
     }
 
     @RequestMapping(value = "/locDetl/add/auth")
@@ -252,6 +278,26 @@
         return R.ok();
     }
 
+    @PostMapping(value = "/locDetl/frozenInventory")
+    @ManagerAuth(memo = "搴撳瓨鍐荤粨")
+    public R frozen(@RequestBody List<FrozenParam> param){
+        if (param.size() == 0)  {
+            return R.parse("鏈敹鍒版暟鎹�");
+        }
+
+        return locDetlService.frozenInventory(param);
+    }
+
+    @PostMapping(value = "/locDetl/unfreezeInventory")
+    @ManagerAuth(memo = "搴撳瓨瑙e喕")
+    public R unfreeze(@RequestBody List<FrozenParam> param){
+        if (param.size() == 0)  {
+            return R.parse("鏈敹鍒版暟鎹�");
+        }
+
+        return locDetlService.unfreezeInventory(param);
+    }
+
     @RequestMapping(value = "/locDetl/export/auth")
     @ManagerAuth(memo = "搴撲綅鏄庣粏瀵煎嚭")
     public R export(@RequestBody JSONObject param){
@@ -269,47 +315,14 @@
                 map.remove("row");
             }
         }
+        applyBeBatchFilter(map, wrapper);
         convert(map, wrapper);
         if (!row.equals("")) {
             wrapper.and()
-                    .where("loc_no like '" + row + "%'");
+                    .where("loc_no like {0}", row + "%");
         }
         List<LocDetl> list = locDetlService.selectList(wrapper);
-        List<AbnormalLocDetlParam> result = new ArrayList<>();
-
-        Page<LocDetl> groupLocDetl = locDetlService.getStockStatis2(toPage(1, 10000, param, LocDetl.class));
-        for (LocDetl locDetl : groupLocDetl.getRecords()) {
-            AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam();
-            Mat mat = matService.selectOne(new EntityWrapper<Mat>()
-                    .eq("matnr", locDetl.getMatnr()));
-            if (Cools.isEmpty(mat)) {
-                continue;
-            }
-            if (!Cools.isEmpty(mat                                                                          .getStoreMax()) || !Cools.isEmpty(mat.getStoreMin())) {
-                abnormalLocDetlParam.setStoreMax(mat.getStoreMax());
-                abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate());
-                abnormalLocDetlParam.setStoreMin(mat.getStoreMin());
-                abnormalLocDetlParam.setAnfme(locDetl.getAnfme());
-                abnormalLocDetlParam.setMaktx(mat.getMaktx());
-                abnormalLocDetlParam.setMatnr(mat.getMatnr());
-                abnormalLocDetlParam.setSpecs(mat.getSpecs());
-                abnormalLocDetlParam.setBatch(locDetl.getBatch());
-
-//                SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd");
-//                Date maxDate = simple.parse(locDetl.getBatch());
-//                long time = maxDate.getTime();
-//                Date now = new Date();
-//                long time1 = now.getTime();
-//                abnormalLocDetlParam.setNowTime((int) ((time1 - time) / (1000 * 60 * 60 * 24)));
-
-                if (!Cools.isEmpty(mat.getStoreMax()) && locDetl.getAnfme() > mat.getStoreMax()) {
-                    result.add(abnormalLocDetlParam);
-                } else if (!Cools.isEmpty(mat.getStoreMin()) && locDetl.getAnfme() < mat.getStoreMin()) {
-                    result.add(abnormalLocDetlParam);
-                }
-            }
-        }
-        return R.ok(exportSupport(result, fields));
+        return R.ok(exportSupport(list, fields));
     }
 
     @RequestMapping(value = "/locDetl/selectOwner/list/auth")

--
Gitblit v1.9.1