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