From 055743022694b6fc1bb1864137e0c81b6ea658c5 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期四, 29 一月 2026 19:45:26 +0800
Subject: [PATCH] 盘点出库增加一个标记    可筛选可清除

---
 src/main/java/com/zy/asrs/controller/LocDetlController.java |   96 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 91 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index b664a1f..888be35 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -14,6 +14,7 @@
 import com.core.common.R;
 import com.zy.asrs.entity.FrozenParam;
 import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.LocMast;
 import com.zy.asrs.entity.LocOwner;
 import com.zy.asrs.entity.Mat;
 import com.zy.asrs.entity.param.AbnormalLocDetlParam;
@@ -21,6 +22,7 @@
 import com.zy.asrs.entity.result.LocDetlDTO;
 import com.zy.asrs.mapper.LocDetlMapper;
 import com.zy.asrs.service.LocDetlService;
+import com.zy.asrs.service.LocMastService;
 import com.zy.asrs.service.LocOwnerService;
 import com.zy.asrs.service.MatService;
 import com.zy.common.web.BaseController;
@@ -45,6 +47,9 @@
 
     @Autowired
     private LocOwnerService locOwnerService;
+
+    @Autowired
+    private LocMastService locMastService;
 
     @RequestMapping(value = "/locDetl/update")
     public R update1() {
@@ -152,13 +157,13 @@
     public R stockOutList(@RequestParam(defaultValue = "1")Integer curr,
                           @RequestParam(defaultValue = "10")Integer limit,
                           @RequestParam Map<String, Object> param){
-        if (!Cools.isEmpty(param.get("modi_time"))){
-            String val = String.valueOf(param.get("modi_time"));
+        if (!Cools.isEmpty(param.get("appe_time"))){
+            String val = String.valueOf(param.get("appe_time"));
             if (val.contains(RANGE_TIME_LINK)) {
                 String[] dates = val.split(RANGE_TIME_LINK);
                 param.put("startTime", DateUtils.convert(dates[0]));
                 param.put("endTime", DateUtils.convert(dates[1]));
-                param.remove("modi_time");
+                param.remove("appe_time");
             }
         }
         Page<LocDetl> stockOut = locDetlService.getStockOut(toPage(curr, limit, param, LocDetl.class));
@@ -189,19 +194,86 @@
 //            }
 //        }
         excludeTrash(param);
+        // 澶勭悊 mk 瀛楁鏌ヨ锛堥渶瑕佸叧鑱� LocMast 琛級
+        Object mkParam = param.get("mk");
+        if (!Cools.isEmpty(mkParam)) {
+            String mkValue = String.valueOf(mkParam);
+            EntityWrapper<LocMast> locMastWrapper = new EntityWrapper<>();
+            if ("Y".equals(mkValue)) {
+                locMastWrapper.eq("mk", "Y");
+            } else  {
+                locMastWrapper.ne("mk", "Y");
+            }
+            // 鏌ヨ绗﹀悎鏉′欢鐨勫簱浣嶅彿鍒楄〃
+            List<LocMast> locMastList = locMastService.selectList(locMastWrapper);
+            if (locMastList != null && !locMastList.isEmpty()) {
+                List<String> locNos = new ArrayList<>();
+                for (LocMast locMast : locMastList) {
+                    if (!Cools.isEmpty(locMast.getLocNo())) {
+                        locNos.add(locMast.getLocNo());
+                    }
+                }
+                if (!locNos.isEmpty()) {
+                    wrapper.in("loc_no", locNos);
+                } else {
+                    // 濡傛灉娌℃湁绗﹀悎鏉′欢鐨勫簱浣嶏紝杩斿洖绌虹粨鏋�
+                    wrapper.eq("1", "0");
+                }
+            } else {
+                // 濡傛灉娌℃湁绗﹀悎鏉′欢鐨勫簱浣嶏紝杩斿洖绌虹粨鏋�
+                wrapper.eq("1", "0");
+            }
+            // 绉婚櫎 mk 鍙傛暟锛岄伩鍏嶅湪 convert 鏂规硶涓噸澶嶅鐞�
+            param.remove("mk");
+        }
         convert(param, wrapper);
-        allLike(LocDetl.class, param.keySet(), wrapper, condition);
+        // 鍦� allLike 涓帓闄� mk 瀛楁锛屽洜涓� mk 瀛楁鍦� LocMast 琛ㄤ腑
+        Set<String> excludeFields = new HashSet<>(param.keySet());
+        excludeFields.add("mk"); // 纭繚 mk 瀛楁琚帓闄�
+        allLike(LocDetl.class, excludeFields, wrapper, condition);
         if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
 //        if (!row.equals("")){
 //            wrapper.and()
 //                    .where("loc_no like '" +row +"%'");
 //        }
-        return R.ok(locDetlService.selectPage(new Page<>(curr, limit), wrapper));
+        Page<LocDetl> page = locDetlService.selectPage(new Page<>(curr, limit), wrapper);
+        // 濉厖 mk 瀛楁锛堟槸鍚︾洏鐐圭姸鎬侊級
+        if (page != null && page.getRecords() != null && !page.getRecords().isEmpty()) {
+            // 鏀堕泦鎵�鏈夊簱浣嶅彿
+            Set<String> locNos = new HashSet<>();
+            for (LocDetl locDetl : page.getRecords()) {
+                if (!Cools.isEmpty(locDetl.getLocNo())) {
+                    locNos.add(locDetl.getLocNo());
+                }
+            }
+            // 鎵归噺鏌ヨ搴撲綅淇℃伅
+            if (!locNos.isEmpty()) {
+                Map<String, String> locMkMap = new HashMap<>();
+                for (String locNo : locNos) {
+                    com.zy.asrs.entity.LocMast locMast = locMastService.selectById(locNo);
+                    if (locMast != null) {
+                        locMkMap.put(locNo, locMast.getMk());
+                    }
+                }
+                // 濉厖 mk 瀛楁
+                for (LocDetl locDetl : page.getRecords()) {
+                    if (!Cools.isEmpty(locDetl.getLocNo())) {
+                        locDetl.setMk(locMkMap.get(locDetl.getLocNo()));
+                    }
+                }
+            }
+        }
+        return R.ok(page);
     }
 
 
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
         for (Map.Entry<String, Object> entry : map.entrySet()){
+            String key = entry.getKey();
+            // 鎺掗櫎 mk 瀛楁锛屽洜涓� mk 瀛楁鍦� LocMast 琛ㄤ腑锛屼笉鍦� LocDetl 琛ㄤ腑
+            if ("mk".equals(key)) {
+                continue;
+            }
             String val = String.valueOf(entry.getValue());
             if (val.contains(RANGE_TIME_LINK)){
                 String[] dates = val.split(RANGE_TIME_LINK);
@@ -379,9 +451,13 @@
                     @RequestParam Map<String, Object> param) {
         Page<LocDetl> stockStatis = locDetlService.getStockStatis(toPage(curr, limit, param, LocDetl.class));
         for (LocDetl locDetl : stockStatis.getRecords()) {
+            Double weight = locDetl.getWeight();
+            String standby1 = locDetl.getStandby1();
             Mat mat = matService.selectByMatnr(locDetl.getMatnr());
             if (mat != null) {
                 locDetl.sync(mat);
+                locDetl.setStandby1(standby1);
+                locDetl.setWeight(weight);
             }
         }
         return R.ok().add(stockStatis);
@@ -420,4 +496,14 @@
         return R.ok(sum);
     }
 
+    /**
+     * 鑾峰彇搴撳瓨鎬绘暟
+     * @return
+     */
+    @RequestMapping("/locDetl/count2")
+    public R getAllCount2(){
+        Integer sum = locDetlService.sum2();
+        return R.ok(sum);
+    }
+
 }

--
Gitblit v1.9.1