From c9e446957405d666a3fb45d8cbfa434625fa960d Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 26 五月 2023 10:47:13 +0800
Subject: [PATCH] 检测当前库位外侧库位是否为O
---
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 2 +-
src/main/resources/mapper/LocMastMapper.xml | 2 +-
src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 2 +-
src/main/java/com/zy/asrs/service/LocMastService.java | 2 +-
src/main/java/com/zy/common/service/CommonService.java | 37 ++++++++++++++++++++++++++++++++++---
5 files changed, 38 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index 4aeaa41..461f22c 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -46,7 +46,7 @@
LocMast findEmptyLocMastByLocNos(Short locType1, @Param("locNos") List<String> locNos);
//鎼滅储浣庨(娣锋斁鍖哄煙)绌哄簱浣�
- LocMast findEmptyLowFrequencyLocMast(Short locType1);
+ List<LocMast> findEmptyLowFrequencyLocMast(Short locType1);
List<LocMast> selectLocByLev(Integer lev);
diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java
index 8cea53f..18dbdba 100644
--- a/src/main/java/com/zy/asrs/service/LocMastService.java
+++ b/src/main/java/com/zy/asrs/service/LocMastService.java
@@ -65,7 +65,7 @@
LocMast findEmptyLocMastByLocNos(Short locType1, List<String> locNos);
//鎼滅储浣庨(娣锋斁鍖哄煙)绌哄簱浣�
- LocMast findEmptyLowFrequencyLocMast(Short locType1);
+ List<LocMast> findEmptyLowFrequencyLocMast(Short locType1);
//鏌ヨ鎸囧畾妤煎眰鐨勫簱浣嶆暟鎹�
List<LocMast> selectLocByLev(Integer lev);
diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index 119b925..4c3dbe9 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -220,7 +220,7 @@
}
@Override
- public LocMast findEmptyLowFrequencyLocMast(Short locType1) {
+ public List<LocMast> findEmptyLowFrequencyLocMast(Short locType1) {
return this.baseMapper.findEmptyLowFrequencyLocMast(locType1);
}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 613ad1b..a080000 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -272,13 +272,18 @@
List<LocMast> locMasts = locMastService.findOutMast(locTypeDto.getLocType1(), crnNos);
for (LocMast locMast0 : locMasts) {
//妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负R鎴朣(鍑哄叆搴撻绾︾姸鎬�)
+ boolean flag = false;
List<String> insideLoc = Utils.getGroupInsideLoc(locMast0.getLocNo());
List<LocMast> insideLocMast = locMastService.selectByLocNos(insideLoc);
for (LocMast mast : insideLocMast) {
if (mast.getLocSts().equals("R") || mast.getLocSts().equals("S")) {
//R鎴朣(鍑哄叆搴撻绾︾姸鎬侊紝涓嶈兘閫夊畾杩欎釜澶栦晶搴撲綅)
- continue;
+ flag = true;
+ break;
}
+ }
+ if (flag) {
+ continue;
}
// 娴呭簱浣嶇鍚堝昂瀵告娴�
@@ -299,8 +304,34 @@
//浣庨绫诲瀷锛岀洿鎺ユ壘娣锋斁鍖哄煙
private LocMast getLocNoStep4(LocTypeDto locTypeDto) {
LocMast locMast = null;
- LocMast locMast0 = locMastService.findEmptyLowFrequencyLocMast(locTypeDto.getLocType1());
- if (locMast0 != null) {
+ List<LocMast> locMasts = locMastService.findEmptyLowFrequencyLocMast(locTypeDto.getLocType1());
+ for (LocMast locMast0 : locMasts) {
+ //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负R鎴朣(鍑哄叆搴撻绾︾姸鎬�)
+ boolean flag = false;
+ List<String> insideLoc = Utils.getGroupInsideLoc(locMast0.getLocNo());
+ List<LocMast> insideLocMast = locMastService.selectByLocNos(insideLoc);
+ for (LocMast mast : insideLocMast) {
+ if (mast.getLocSts().equals("R") || mast.getLocSts().equals("S")) {
+ //R鎴朣(鍑哄叆搴撻绾︾姸鎬侊紝涓嶈兘閫夊畾杩欎釜澶栦晶搴撲綅)
+ flag = true;
+ break;
+ }
+ }
+ //妫�娴嬪綋鍓嶅簱浣嶅渚у簱浣嶆槸鍚︿负O(绌哄簱浣�)
+ List<String> outerLoc = Utils.getGroupOuterLoc(locMast0.getLocNo());
+ List<LocMast> outerLocMast = locMastService.selectByLocNos(outerLoc);
+ for (LocMast mast : outerLocMast) {
+ if (!mast.getLocSts().equals("O")) {
+ //涓嶆槸绌哄簱浣嶏紝鎵句笅涓�涓�
+ flag = true;
+ break;
+ }
+ }
+ if (flag) {
+ continue;
+ }
+
+
// 娴呭簱浣嶇鍚堝昂瀵告娴�
if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
// 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 6eba518..5052fe6 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -320,7 +320,7 @@
</select>
<select id="findEmptyLowFrequencyLocMast" resultMap="BaseResultMap">
- select top 1 * from asr_loc_mast
+ select * from asr_loc_mast
where loc_type2 = 3
and loc_type1 = #{locType1}
and loc_sts = 'O'
--
Gitblit v1.9.1