From 9c385c685686a667a5d835d858f88ee718c036bf Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期六, 17 八月 2024 11:20:39 +0800
Subject: [PATCH] #

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java
index e015d14..1c1748b 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java
@@ -3,9 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zy.asrs.framework.exception.CoolException;
 import com.zy.asrs.wms.asrs.entity.*;
-import com.zy.asrs.wms.asrs.entity.enums.LocStsType;
-import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
-import com.zy.asrs.wms.asrs.entity.enums.ShelvesRuleDetlType;
+import com.zy.asrs.wms.asrs.entity.enums.*;
 import com.zy.asrs.wms.asrs.entity.param.GeneratePakInParam;
 import com.zy.asrs.wms.asrs.service.*;
 import com.zy.asrs.wms.utils.LocUtils;
@@ -50,6 +48,8 @@
     private ShelvesRuleService shelvesRuleService;
     @Autowired
     private LanewayRuleService lanewayRuleService;
+    @Autowired
+    private CircleRuleService circleRuleService;
 
     @Override
     public String generateTaskNo(Long taskType) {
@@ -83,6 +83,12 @@
             }
         }
 
+        Integer currentLev = null;
+        if (shelvesRule.getRuleType().equals(ShelvesRuleType.HIGH.id)) {
+            //浼樺厛绔嬩綋灞�
+            currentLev = circleRuleService.getCurrentValueByFlag(CircleRuleType.LEV.flag);
+        }
+
         List<ShelvesRuleDetl> ruleDetls = shelvesRule.getRuleDetl$();
         if(ruleDetls.isEmpty()) {
             throw new CoolException("鏈厤缃笂鏋惰鍒欐槑缁�");
@@ -101,7 +107,7 @@
 
             if (ruleDetl.getDetlType().equals(ShelvesRuleDetlType.SUGGEST.id)) {
                 //鑾峰彇鎺ㄨ崘搴撲綅
-                List<Loc> suggestLoc = locUtils.getSuggestEmptyLoc(taskType, locTypeHeight, laneRowList);
+                List<Loc> suggestLoc = locUtils.getSuggestEmptyLoc(taskType, locTypeHeight, laneRowList, currentLev);
                 //鑾峰彇搴撲綅
                 if (!suggestLoc.isEmpty()) {
                     defaultLoc = locUtils.filterLoc(taskType, suggestLoc);
@@ -113,7 +119,7 @@
 
             if (ruleDetl.getDetlType().equals(ShelvesRuleDetlType.COMPLETE.id)) {
                 //浠庡叏灞�搴撲綅涓幏鍙�(瀹屾暣宸烽亾)
-                List<Loc> globalLoc = locUtils.getGlobalEmptyLoc(taskType, locTypeHeight, laneRowList);
+                List<Loc> globalLoc = locUtils.getGlobalEmptyLoc(taskType, locTypeHeight, laneRowList, currentLev);
                 //鑾峰彇搴撲綅
                 if (!globalLoc.isEmpty()) {
                     defaultLoc = locUtils.filterAllLoc(globalLoc);
@@ -163,6 +169,12 @@
             }
         }
 
+        Integer currentLev = null;
+        if (shelvesRule.getRuleType().equals(ShelvesRuleType.HIGH.id)) {
+            //浼樺厛绔嬩綋灞�
+            currentLev = circleRuleService.getCurrentValueByFlag(CircleRuleType.LEV.flag);
+        }
+
         List<ShelvesRuleDetl> ruleDetls = shelvesRule.getRuleDetl$();
         if(ruleDetls.isEmpty()) {
             throw new CoolException("鏈厤缃笂鏋惰鍒欐槑缁�");
@@ -181,7 +193,7 @@
 
             if (ruleDetl.getDetlType().equals(ShelvesRuleDetlType.SUGGEST.id)) {
                 //鑾峰彇鎺ㄨ崘搴撲綅
-                List<Loc> suggestLoc = locUtils.getSuggestLoc(taskType, mat.getId(), detl.getBatch(), locTypeHeight, laneRowList);
+                List<Loc> suggestLoc = locUtils.getSuggestLoc(taskType, mat.getId(), detl.getBatch(), locTypeHeight, laneRowList, currentLev);
                 //鑾峰彇搴撲綅
                 if (!suggestLoc.isEmpty()) {
                     defaultLoc = locUtils.filterLoc(taskType, suggestLoc);
@@ -193,7 +205,7 @@
 
             if (ruleDetl.getDetlType().equals(ShelvesRuleDetlType.COMPLETE.id)) {
                 //浠庡叏灞�搴撲綅涓幏鍙�(瀹屾暣宸烽亾)
-                List<Loc> globalLoc = locUtils.getGlobalLoc(taskType, locTypeHeight, laneRowList);
+                List<Loc> globalLoc = locUtils.getGlobalLoc(taskType, locTypeHeight, laneRowList, currentLev);
                 //鑾峰彇搴撲綅
                 if (!globalLoc.isEmpty()) {
                     defaultLoc = locUtils.filterAllLoc(globalLoc);

--
Gitblit v1.9.1