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/LocMastController.java |   83 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 82 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocMastController.java b/src/main/java/com/zy/asrs/controller/LocMastController.java
index 757a36f..d4ce17e 100644
--- a/src/main/java/com/zy/asrs/controller/LocMastController.java
+++ b/src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -17,6 +17,7 @@
 import com.zy.asrs.service.*;
 import com.zy.common.entity.Parameter;
 import com.zy.common.model.Shelves;
+import com.zy.common.service.CommonService;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -42,6 +43,15 @@
 
     @Resource
     private LocDetlMapper locDetlMapper;
+
+    @Resource
+    private CommonService commonService;
+
+    @Resource
+    private WrkMastLogService wrkMastLogService;
+
+    @Resource
+    private WrkDetlLogService wrkDetlLogService;
 
     @RequestMapping(value = "/locMast/init/pwd")
     public R locMastInitPwd(@RequestParam(required = false) String pwd) {
@@ -87,6 +97,14 @@
                 wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
             } else if (entry.getKey().equals("loc_no")){
                 wrapper.like(entry.getKey(), val);
+            } else if (entry.getKey().equals("mk")){
+                // 澶勭悊鏄惁鐩樼偣鏌ヨ
+                if ("Y".equals(val)){
+                    wrapper.eq("mk", "Y");
+                } else {
+                    // 鏈洏鐐癸細mk != 'Y' 鎴栬�� mk is null
+                    wrapper.ne("mk", "Y");
+                }
             } else {
                 if (entry.getKey().equals("loc_type1")){
                     sign=true;
@@ -134,6 +152,31 @@
         if (oldLocMast.getLocSts().equals("R") || oldLocMast.getLocSts().equals("F") || oldLocMast.getLocSts().equals("S")) {
             if (locMast.getLocSts().equals("O") || locMast.getLocSts().equals("D")) {
                 List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+                // 娣诲姞鍘嗗彶宸ヤ綔涓绘。
+                WrkMastLog wrkMastLog = new WrkMastLog();
+                wrkMastLog.setWrkNo(commonService.getWorkNo(3));
+                wrkMastLog.setIoTime(now);
+                wrkMastLog.setWrkSts(5);
+                wrkMastLog.setIoType(19);
+                wrkMastLog.setIoPri(13D); // 浼樺厛绾�
+                wrkMastLog.setCrnNo(locMast.getCrnNo());
+                wrkMastLog.setSourceLocNo(locMast.getLocNo());
+                wrkMastLog.setLocNo(locMast.getLocNo());
+                wrkMastLog.setBarcode(locMast.getBarcode()); // 鎵樼洏鐮�
+                wrkMastLog.setFullPlt("Y"); // 婊℃澘锛歒
+                wrkMastLog.setPicking("N"); // 鎷f枡
+                wrkMastLog.setExitMk("N"); // 閫�鍑�
+                wrkMastLog.setEmptyMk("N"); // 绌烘澘
+                wrkMastLog.setLinkMis("Y");
+                // 鎿嶄綔浜哄憳鏁版嵁
+                wrkMastLog.setAppeTime(now);
+                wrkMastLog.setModiTime(now);
+                wrkMastLog.setAppeUser(getUserId());
+                wrkMastLog.setModiUser(getUserId());
+                boolean res = wrkMastLogService.insert(wrkMastLog);
+                if (!res) {
+                    throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+                }
                 for (LocDetl locDetl : locDetls) {
                     // 淇濆瓨璋冩暣璁板綍
                     AdjDetl adjDetl = new AdjDetl();
@@ -148,6 +191,20 @@
                     adjDetl.setAppeUser(getUserId());
                     if (!adjDetlService.insert(adjDetl)) {
                         throw new CoolException("鏈嶅姟鍣ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                    }
+
+                    // 娣诲姞鍘嗗彶宸ヤ綔鏄庣粏
+                    WrkDetlLog wrkDetl = new WrkDetlLog();
+                    wrkDetl.sync(locDetl);
+                    wrkDetl.setWrkNo(wrkMastLog.getWrkNo());
+                    wrkDetl.setIoTime(wrkMastLog.getIoTime());
+                    wrkDetl.setAnfme(0.0);
+                    wrkDetl.setAppeTime(now);
+                    wrkDetl.setModiTime(now);
+                    wrkMastLog.setAppeUser(getUserId());
+                    wrkMastLog.setModiUser(getUserId());
+                    if (!wrkDetlLogService.insert(wrkDetl)) {
+                        throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
                     }
                 }
                 if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()))) {
@@ -206,7 +263,7 @@
     public R query(String condition) {
         EntityWrapper<LocMast> wrapper = new EntityWrapper<>();
         wrapper.like("loc_no", condition);
-        Page<LocMast> page = locMastService.selectPage(new Page<>(0, 10), wrapper);
+        Page<LocMast> page = locMastService.selectPage(new Page<>(0, 10000), wrapper);
         List<Map<String, Object>> result = new ArrayList<>();
         for (LocMast locMast : page.getRecords()){
             Map<String, Object> map = new HashMap<>();
@@ -292,4 +349,28 @@
             return R.error("鍒濆鍖栧け璐�===>"+e.getMessage());
         }
     }
+
+    @RequestMapping(value = "/locMast/clearMk/auth")
+    @ManagerAuth(memo = "娓呴櫎鐩樼偣鐘舵��")
+    public R clearMk(@RequestBody Map<String, Object> param) {
+        List<String> locNos = (List<String>) param.get("locNos");
+        if (Cools.isEmpty(locNos)) {
+            return R.error("搴撲綅鍙峰垪琛ㄤ笉鑳戒负绌�");
+        }
+        try {
+            // 鎵归噺鏇存柊 mk 瀛楁涓� 'N'
+            for (String locNo : locNos) {
+                LocMast locMast = locMastService.selectById(locNo);
+                if (!Cools.isEmpty(locMast)) {
+                    locMast.setMk("N");
+                    locMast.setModiUser(getUserId());
+                    locMast.setModiTime(new Date());
+                    locMastService.updateById(locMast);
+                }
+            }
+            return R.ok("娓呴櫎鐩樼偣鐘舵�佹垚鍔燂紝鍏卞鐞� " + locNos.size() + " 涓簱浣�");
+        } catch (Exception e) {
+            return R.error("娓呴櫎鐩樼偣鐘舵�佸け璐ワ細" + e.getMessage());
+        }
+    }
 }

--
Gitblit v1.9.1