From ba5b53d746a91f0ec10daba4786ee6b7793490ac Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 02 六月 2023 12:36:17 +0800
Subject: [PATCH] 移库判断小车,库位状态
---
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 9 +++++++++
src/main/java/com/zy/asrs/utils/Utils.java | 24 ++++++++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 12 ++++++++++++
src/main/resources/mapper/LocMastMapper.xml | 8 ++++++++
src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 2 ++
src/main/java/com/zy/asrs/service/LocMastService.java | 2 ++
6 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index f2461a1..286d471 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -34,4 +34,6 @@
@Select("select loc_no from asr_loc_mast where crn_no = #{crnNo} and loc_sts='O' order by lev1, bay1, row1")
List<String> getDemoNextLoc(Integer crnNo);
+ List<LocMast> selectByLocNos(@Param("locNos") List<String> locNos);
+
}
diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java
index 9be06ce..4d529a4 100644
--- a/src/main/java/com/zy/asrs/service/LocMastService.java
+++ b/src/main/java/com/zy/asrs/service/LocMastService.java
@@ -59,4 +59,6 @@
Boolean isOutMost(String locNo);
List<String> getDemoNextLoc(Integer crnNo);
+
+ List<LocMast> selectByLocNos(List<String> locNos);
}
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 3c7fb69..1c3c026 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -8,6 +8,7 @@
import com.zy.asrs.utils.Utils;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.List;
@Service("locMastService")
@@ -63,4 +64,12 @@
return this.baseMapper.getDemoNextLoc(crnNo);
}
+ @Override
+ public List<LocMast> selectByLocNos(List<String> locNos) {
+ if (locNos == null || locNos.size() == 0) {
+ return new ArrayList<LocMast>();
+ }
+ return this.baseMapper.selectByLocNos(locNos);
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 10fe3a8..ff60848 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4308,6 +4308,18 @@
|| Utils.getBay(one.getLocNo()) != Utils.getBay(shallowLoc.getLocNo())
|| Utils.getLev(one.getLocNo()) != Utils.getLev(shallowLoc.getLocNo())){
+ Integer steNo = this.hasCarOfIdle(one.getLocNo());
+ if (steNo != null) {
+ //鏈夊皬杞�
+ continue;
+ }
+
+ //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆
+ if (Utils.checkInsideLocIsDFX(one.getLocNo())) {
+ //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣�
+ continue;
+ }
+
loc = one;
break;
}
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 08060e9..7afa71a 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -2,6 +2,9 @@
import com.core.common.Arith;
import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.service.LocMastService;
import com.zy.core.properties.SlaveProperties;
import java.text.DecimalFormat;
@@ -589,4 +592,25 @@
}
}
+ /**
+ * 妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆
+ * 杩斿洖true琛ㄧず鍐呬晶搴撲綅涓嶆槸DFX锛岃繑鍥瀎alse琛ㄧず鍐呬晶搴撲綅鏄疍FX
+ */
+ public static boolean checkInsideLocIsDFX(String locNo) {
+ LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
+ List<String> insideLoc = Utils.getGroupInsideLoc(locNo);
+ if (insideLoc.size() > 0) {
+ List<LocMast> insideLocMast = locMastService.selectByLocNos(insideLoc);
+ for (LocMast mast : insideLocMast) {
+ if (!mast.getLocSts().equals("D")
+ && !mast.getLocSts().equals("F")
+ && !mast.getLocSts().equals("X")) {
+ //D銆丗銆乆(涓嶈兘閫夊畾杩欎釜澶栦晶搴撲綅)
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
}
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 7f46793..95ea60a 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -60,4 +60,12 @@
ORDER BY NEWID()
</select>
+ <select id="selectByLocNos" resultMap="BaseResultMap">
+ select * from asr_loc_mast
+ where loc_no in
+ <foreach item="item" collection="locNos" index="index" separator="," open="(" close=")">
+ #{item}
+ </foreach>
+ </select>
+
</mapper>
--
Gitblit v1.9.1