From 0406c675e143bbb08284fd55381261afcc587afc Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期日, 18 一月 2026 15:51:36 +0800
Subject: [PATCH] 月结增加明细

---
 src/main/java/com/zy/asrs/controller/LocCacheController.java |  141 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 110 insertions(+), 31 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocCacheController.java b/src/main/java/com/zy/asrs/controller/LocCacheController.java
index 58d9017..abd29a9 100644
--- a/src/main/java/com/zy/asrs/controller/LocCacheController.java
+++ b/src/main/java/com/zy/asrs/controller/LocCacheController.java
@@ -4,18 +4,15 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
-import com.core.common.DateUtils;
-import com.core.exception.CoolException;
-import com.zy.asrs.entity.BasWhsType;
-import com.zy.asrs.entity.LocCache;
-import com.zy.asrs.entity.LocMast;
-import com.zy.asrs.entity.param.LocMastInitParam;
-import com.zy.asrs.service.LocCacheService;
 import com.core.annotations.ManagerAuth;
 import com.core.common.BaseRes;
 import com.core.common.Cools;
+import com.core.common.DateUtils;
 import com.core.common.R;
-import com.zy.common.model.Shelves;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.LocCache;
+import com.zy.asrs.entity.param.LocMastInitParam;
+import com.zy.asrs.service.LocCacheService;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -36,29 +33,35 @@
 
     @RequestMapping(value = "/locCache/list/auth")
     @ManagerAuth
-    public R list(@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 Map<String, Object> param){
+    public R list(@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 Map<String, Object> param) {
         EntityWrapper<LocCache> wrapper = new EntityWrapper<>();
         excludeTrash(param);
         convert(param, wrapper);
         allLike(LocCache.class, param.keySet(), wrapper, condition);
-        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        if (!Cools.isEmpty(orderByField)) {
+            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        }
+        // 绉婚櫎 full_plt = "N" 鐨勯檺鍒讹紝鍏佽鏌ヨ鎵�鏈夌姸鎬佺殑搴撲綅锛堝寘鎷弧鎵樺拰绌烘墭锛�
+        // 濡傛灉闇�瑕佸湪鍚庣绠$悊椤甸潰杩囨护锛屽彲浠ュ湪鍓嶇杩涜杩囨护
         return R.ok(locCacheService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
-    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
-        for (Map.Entry<String, Object> entry : map.entrySet()){
+    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());
-            if (val.contains(RANGE_TIME_LINK)){
+            // 灏嗛┘宄板懡鍚嶈浆鎹负涓嬪垝绾垮懡鍚嶏紙濡� locNo -> loc_no锛�
+            String columnName = 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(columnName, DateUtils.convert(dates[0]));
+                wrapper.le(columnName, DateUtils.convert(dates[1]));
             } else {
-                wrapper.like(entry.getKey(), val);
+                wrapper.like(columnName, val);
             }
         }
     }
@@ -70,10 +73,10 @@
         return R.ok();
     }
 
-	@RequestMapping(value = "/locCache/update/auth")
-	@ManagerAuth
-    public R update(LocCache locCache){
-        if (Cools.isEmpty(locCache) || null==locCache.getLocNo()){
+    @RequestMapping(value = "/locCache/update/auth")
+    @ManagerAuth
+    public R update(LocCache locCache) {
+        if (Cools.isEmpty(locCache) || null == locCache.getLocNo()) {
             return R.error();
         }
         locCacheService.updateById(locCache);
@@ -82,8 +85,8 @@
 
     @RequestMapping(value = "/locCache/delete/auth")
     @ManagerAuth
-    public R delete(@RequestParam(value="ids[]") Long[] ids){
-         for (Long id : ids){
+    public R delete(@RequestParam(value = "ids[]") Long[] ids) {
+        for (Long id : ids) {
             locCacheService.deleteById(id);
         }
         return R.ok();
@@ -91,7 +94,7 @@
 
     @RequestMapping(value = "/locCache/export/auth")
     @ManagerAuth
-    public R export(@RequestBody JSONObject param){
+    public R export(@RequestBody JSONObject param) {
         EntityWrapper<LocCache> wrapper = new EntityWrapper<>();
         List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
         Map<String, Object> map = excludeTrash(param.getJSONObject("locCache"));
@@ -107,7 +110,7 @@
         wrapper.like("loc_no", condition);
         Page<LocCache> page = locCacheService.selectPage(new Page<>(0, 10), wrapper);
         List<Map<String, Object>> result = new ArrayList<>();
-        for (LocCache locCache : page.getRecords()){
+        for (LocCache locCache : page.getRecords()) {
             Map<String, Object> map = new HashMap<>();
             map.put("id", locCache.getLocNo());
             map.put("value", locCache.getLocNo());
@@ -120,7 +123,7 @@
     @ManagerAuth
     public R query(@RequestBody JSONObject param) {
         Wrapper<LocCache> wrapper = new EntityWrapper<LocCache>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
-        if (null != locCacheService.selectOne(wrapper)){
+        if (null != locCacheService.selectOne(wrapper)) {
             return R.parse(BaseRes.REPEAT).add(getComment(LocCache.class, String.valueOf(param.get("key"))));
         }
         return R.ok();
@@ -133,7 +136,83 @@
         if (Objects.isNull(param)) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛�");
         }
-       return locCacheService.initLocCache(param, getUserId());
+        return locCacheService.initLocCache(param, getUserId());
+    }
+
+    /**
+     * 閿佸畾/瑙i攣缂撳瓨搴撲綅
+     * @param locNo 搴撲綅鍙�
+     * @param lock 鏄惁閿佸畾锛宼rue-閿佸畾锛宖alse-瑙i攣
+     * @param fullPlt 鏄惁婊℃墭锛宼rue-婊℃墭锛堣缃负F锛夛紝false-绌烘墭锛堣缃负D锛夛紝瑙i攣鏃跺彲涓虹┖
+     * @return 鎿嶄綔缁撴灉
+     */
+    @RequestMapping(value = "/locCache/lockOrUnlock/auth", method = RequestMethod.POST)
+    @ManagerAuth
+    public R lockOrUnlock(@RequestParam String locNo, @RequestParam Boolean lock, @RequestParam(required = false) Boolean fullPlt) {
+        if (Cools.isEmpty(locNo)) {
+            return R.error("搴撲綅鍙蜂笉鑳戒负绌�");
+        }
+        if (lock == null) {
+            return R.error("閿佸畾鍙傛暟涓嶈兘涓虹┖");
+        }
+        return locCacheService.lockOrUnlockLocCache(locNo, lock, fullPlt, getUserId());
+    }
+
+    /**
+     * 閿佸畾/瑙i攣褰撳墠鎺掔殑鎵�鏈夊簱浣�
+     * @param locNo 搴撲綅鍙凤紙鐢ㄤ簬鑾峰彇鎺掑彿锛�
+     * @param lock 鏄惁閿佸畾锛宼rue-閿佸畾锛宖alse-瑙i攣
+     * @param fullPlt 鏄惁婊℃墭锛宼rue-婊℃墭锛堣缃负F锛夛紝false-绌烘墭锛堣缃负D锛夛紝瑙i攣鏃跺彲涓虹┖
+     * @return 鎿嶄綔缁撴灉
+     */
+    @RequestMapping(value = "/locCache/lockOrUnlockRow/auth", method = RequestMethod.POST)
+    @ManagerAuth
+    public R lockOrUnlockRow(@RequestParam String locNo, @RequestParam Boolean lock, @RequestParam(required = false) Boolean fullPlt) {
+        if (Cools.isEmpty(locNo)) {
+            return R.error("搴撲綅鍙蜂笉鑳戒负绌�");
+        }
+        if (lock == null) {
+            return R.error("閿佸畾鍙傛暟涓嶈兘涓虹┖");
+        }
+        return locCacheService.lockOrUnlockRowLocCache(locNo, lock, fullPlt, getUserId());
+    }
+
+    /**
+     * 閿佸畾/瑙i攣褰撳墠鍒楃殑鎵�鏈夊簱浣�
+     * @param locNo 搴撲綅鍙凤紙鐢ㄤ簬鑾峰彇鍒楀彿bay1锛�
+     * @param lock 鏄惁閿佸畾锛宼rue-閿佸畾锛宖alse-瑙i攣
+     * @param fullPlt 鏄惁婊℃墭锛宼rue-婊℃墭锛堣缃负F锛夛紝false-绌烘墭锛堣缃负D锛夛紝瑙i攣鏃跺彲涓虹┖
+     * @return 鎿嶄綔缁撴灉
+     */
+    @RequestMapping(value = "/locCache/lockOrUnlockBay/auth", method = RequestMethod.POST)
+    @ManagerAuth
+    public R lockOrUnlockBay(@RequestParam String locNo, @RequestParam Boolean lock, @RequestParam(required = false) Boolean fullPlt) {
+        if (Cools.isEmpty(locNo)) {
+            return R.error("搴撲綅鍙蜂笉鑳戒负绌�");
+        }
+        if (lock == null) {
+            return R.error("閿佸畾鍙傛暟涓嶈兘涓虹┖");
+        }
+        return locCacheService.lockOrUnlockBayLocCache(locNo, lock, fullPlt, getUserId());
+    }
+
+    /**
+     * 娓呯┖鏁存帓鐨勬墍鏈夊簱浣嶏紙鎵�鏈夊垪锛�
+     * @param locNo 搴撲綅鍙凤紙鐢ㄤ簬鑾峰彇鎺掑彿row1锛�
+     * @param lock 鏄惁閿佸畾锛宼rue-閿佸畾锛宖alse-瑙i攣锛堟竻绌猴級
+     * @param fullPlt 鏄惁婊℃墭锛宼rue-婊℃墭锛堣缃负F锛夛紝false-绌烘墭锛堣缃负D锛夛紝瑙i攣鏃跺彲涓虹┖
+     * @return 鎿嶄綔缁撴灉
+     */
+    @RequestMapping(value = "/locCache/clearAllColumnsInRow/auth", method = RequestMethod.POST)
+    @ManagerAuth
+    public R clearAllColumnsInRow(@RequestParam String locNo, @RequestParam Boolean lock, @RequestParam(required = false) Boolean fullPlt) {
+        if (Cools.isEmpty(locNo)) {
+            return R.error("搴撲綅鍙蜂笉鑳戒负绌�");
+        }
+        if (lock == null) {
+            return R.error("閿佸畾鍙傛暟涓嶈兘涓虹┖");
+        }
+        return locCacheService.clearAllColumnsInRow(locNo, lock, fullPlt, getUserId());
     }
 
 }

--
Gitblit v1.9.1