From ac4341ea6b66ae02427d39d35f41d42d78b2eb2e Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 14 二月 2025 10:08:32 +0800
Subject: [PATCH] #

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java
index d477f27..badac6c 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java
@@ -10,6 +10,7 @@
 import com.zy.asrs.wms.asrs.entity.enums.LocStsType;
 import com.zy.asrs.wms.asrs.entity.param.FieldParam;
 import com.zy.asrs.wms.asrs.entity.param.FieldSortParam;
+import com.zy.asrs.wms.asrs.entity.param.LocDetlFreezeParam;
 import com.zy.asrs.wms.asrs.mapper.LocDetlMapper;
 import com.zy.asrs.wms.asrs.mapper.ViewLocDetlMapper;
 import com.zy.asrs.wms.asrs.service.LanewayRuleService;
@@ -20,6 +21,7 @@
 import com.zy.asrs.wms.common.domain.PageParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
 
@@ -99,7 +101,7 @@
 
     @Override
     public List<LocDetl> queryStock(String matnr, String batch, List<FieldParam> param, List<FieldSortParam> sortParam) {
-        List<Map<String, Object>> list = viewLocDetlMapper.getList(matnr, batch, param, sortParam);
+        List<Map<String, Object>> list = viewLocDetlMapper.queryStock(matnr, batch, param, sortParam);
         List<LocDetl> locDetlsSort = resortDetls(list);
         return locDetlsSort;
     }
@@ -160,7 +162,9 @@
                     continue;
                 }
 
-                sortDirctLoc.add(one.getId());
+                if (!sortDirctLoc.contains(one.getId())) {
+                    sortDirctLoc.add(one.getId());
+                }
             }
         }
 
@@ -178,4 +182,48 @@
         return sortDirctDetls;
     }
 
+    @Override
+    @Transactional
+    public void locDetlFreeze(LocDetlFreezeParam param) {
+        if (param == null) {
+            throw new CoolException("鍙傛暟涓嶈兘涓虹┖");
+        }
+
+        if (param.getDetlIds() == null) {
+            throw new CoolException("搴撳瓨鏄庣粏鍙傛暟涓嶈兘涓虹┖");
+        }
+
+        if (param.getFreeze() == null) {
+            throw new CoolException("鍐荤粨鍙傛暟涓嶈兘涓虹┖");
+        }
+
+        List<LocDetl> locDetls = this.listByIds(param.getDetlIds());
+        if(locDetls.isEmpty()){
+            throw new CoolException("搴撳瓨涓嶅瓨鍦�");
+        }
+
+        for (LocDetl locDetl : locDetls) {
+            locDetl.setFreeze(param.getFreeze());
+            locDetl.setUpdateTime(new Date());
+            if (!this.updateById(locDetl)) {
+                throw new CoolException("鏇存柊澶辫触");
+            }
+        }
+    }
+
+    @Override
+    public void removeLocDetl(Long locId) {
+        List<LocDetl> locDetls = this.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocId, locId));
+        for (LocDetl locDetl : locDetls) {
+            boolean remove = locDetlFieldService.remove(new LambdaQueryWrapper<LocDetlField>().eq(LocDetlField::getDetlId, locDetl.getId()));
+            if (!remove) {
+                throw new CoolException("鎵╁睍瀛楁鍒犻櫎澶辫触");
+            }
+
+            boolean result = this.removeById(locDetl.getId());
+            if (!result) {
+                throw new CoolException("鏄庣粏鍒犻櫎澶辫触");
+            }
+        }
+    }
 }

--
Gitblit v1.9.1