From 574a90c2d6550fa67dde1994d533fcd4c2a08735 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 21 十一月 2023 16:02:22 +0800
Subject: [PATCH] #出库过滤同库位组
---
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 5 ++
src/main/java/com/zy/asrs/utils/Utils.java | 63 ++++++++++++++++++++++++-------
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 8 ++++
src/main/resources/mapper/LocMastMapper.xml | 11 +++++
src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 2 +
src/main/java/com/zy/asrs/service/LocMastService.java | 2 +
6 files changed, 75 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index 7a892c0..9180b4c 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -41,4 +41,6 @@
List<LocMast> selectLocByLev(Integer lev);
List<LocMast> selectEmptyLocNos(@Param("locNos") List<String> locNos);
+
+ List<LocMast> selectNotEmptyLocNos(@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 0587f7c..4dd365d 100644
--- a/src/main/java/com/zy/asrs/service/LocMastService.java
+++ b/src/main/java/com/zy/asrs/service/LocMastService.java
@@ -72,4 +72,6 @@
List<LocMast> selectLocByLev(Integer lev);
List<LocMast> selectEmptyLocNos(List<String> locNos);
+
+ List<LocMast> selectNotEmptyLocNos(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 6ba3fab..a7b5b7d 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -96,4 +96,9 @@
public List<LocMast> selectEmptyLocNos(List<String> locNos) {
return this.baseMapper.selectEmptyLocNos(locNos);
}
+
+ @Override
+ public List<LocMast> selectNotEmptyLocNos(List<String> locNos) {
+ return this.baseMapper.selectNotEmptyLocNos(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 8c189ed..f6b7da2 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -918,6 +918,14 @@
return false;//瀛樺湪鍏ュ簱浠诲姟锛岀姝㈠嚭搴�
}
+ //鍚屽簱浣嶇粍鏍¢獙
+ List<String> outerLoc = Utils.getGroupOuterLoc(wrkMast.getSourceLocNo());
+ List<LocMast> outerLocMasts = locMastService.selectNotEmptyLocNos(outerLoc);
+ if (!outerLocMasts.isEmpty()) {
+ News.info("{}浠诲姟锛屾祬搴撲綅瀛樺湪璐х墿锛岀郴缁熺瓑寰呬腑", wrkMast.getWrkNo());
+ return false;//娴呭簱浣嶅瓨鍦ㄦ湭鎵ц浠诲姟
+ }
+
//鑾峰彇婧愮珯
LiftStaProtocol liftStaProtocol = NyLiftUtils.getLiftStaByLev(basDevp.getLiftNo(), Utils.getLev(wrkMast.getSourceLocNo()));
if (liftStaProtocol == null) {
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 2ef4f98..938b141 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -100,21 +100,6 @@
return getGroupRow(row, pakin);
}
- public static List<String> getGroupLocNo(String locNo){
- int row = getRow(locNo);
- List<String> result = new ArrayList<>();
- if (FIRST_GROUP_ROW_LIST.contains(row)) {
- for (Integer groupRow : FIRST_GROUP_ROW_LIST) {
- result.add(zerofill(String.valueOf(groupRow), 2) + locNo.substring(2));
- }
- } else if (SECOND_GROUP_ROW_LIST.contains(row)) {
- for (Integer groupRow : SECOND_GROUP_ROW_LIST) {
- result.add(zerofill(String.valueOf(groupRow), 2) + locNo.substring(2));
- }
- }
- return result;
- }
-
public static Integer getGroupRow(Integer row, Boolean pakin) {
if (FIRST_GROUP_ROW_LIST.contains(row)) {
return 4;
@@ -370,6 +355,54 @@
throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
}
+ /**
+ * 鑾峰彇澶栦晶鏂瑰悜鐨勫簱浣嶇粍
+ * @param locNo 搴撲綅鍙�
+ */
+ public static List<String> getGroupOuterLoc(String locNo){
+ int row = getRow(locNo);
+ int bay = getBay(locNo);
+
+ //(1,3,4,10,11)娌℃湁澶栦晶鏂瑰悜搴撲綅缁�,(13,14,16)59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍
+ if (FIRST_GROUP_ROW_LIST.contains(row)) {//1鎺�
+ return new ArrayList<>();
+ }
+ if (SECOND_GROUP_ROW_LIST.contains(row)) {//3-4鎺�
+ return new ArrayList<>();
+ }
+ if (THIRD_GROUP_ROW_LIST.contains(row)) {//6-7鎺�
+ List<String> result = new ArrayList<>();
+ for (Integer row0 : THIRD_GROUP_ROW_LIST) {
+ if (row0 < row) {
+ result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2));
+ }
+ }
+ return result;
+ }
+ if (FOURTH_GROUP_ROW_LIST.contains(row)) {//8鎺�
+ return new ArrayList<>();
+ }
+ if (FIFTH_GROUP_ROW_LIST.contains(row)) {//10-11鎺�
+ return new ArrayList<>();
+ }
+ if (SIXTH_GROUP_ROW_LIST.contains(row) && (bay >= 59 && bay <= 61)) {//13-16鎺�59-61鍒楀渚ф柟鍚戝簱浣嶇粍
+ List<String> result = new ArrayList<>();
+ for (Integer row0 : SIXTH_GROUP_ROW_LIST) {
+ if (row0 < row) {
+ result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2));
+ }
+ }
+ return result;
+ }
+ if (SEVENTH_GROUP_ROW_LIST.contains(row) && bay < 59) {//13-14鎺�59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍
+ return new ArrayList<>();
+ }
+ if (EIGHTH_GROUP_ROW_LIST.contains(row) && bay < 59) {//16鎺�59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍
+ return new ArrayList<>();
+ }
+ throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+ }
+
//鑾峰彇闄ょ櫧鍚嶅崟澶栫殑鎸囧畾妤煎眰鍏ㄩ儴绌挎杞y鍧愭爣鐐�
public static List<int[]> getShuttlePoints(Integer whiteShuttle, Integer lev) {
BasShuttleService basShuttleService = SpringUtils.getBean(BasShuttleService.class);
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 6e96cd2..2df399a 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -33,7 +33,6 @@
<result column="inv_wh" property="invWh" />
<result column="mk" property="mk" />
<result column="barcode" property="barcode" />
- <result column="Pdc_type" property="PdcType" />
<result column="ctn_no" property="ctnNo" />
<result column="qr_code_value" property="qrCodeValue" />
@@ -83,4 +82,14 @@
and loc_sts = 'O'
order by row1
</select>
+
+ <select id="selectNotEmptyLocNos" resultMap="BaseResultMap">
+ select * from asr_loc_mast
+ where loc_no in
+ <foreach item="loc" collection="locNos" index="index" separator="," open="(" close=")">
+ #{loc}
+ </foreach>
+ and loc_sts != 'O'
+ order by row1
+ </select>
</mapper>
--
Gitblit v1.9.1