From ccaf80f21ea0a8375324df6bb2250b9ad11c5cdd Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 27 九月 2022 15:01:34 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/WrkMastService.java | 2
src/main/java/com/zy/asrs/utils/Utils.java | 88 +++++++++++++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java | 56 ++++++++++++++++++
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 5 +
src/main/resources/mapper/WrkMastMapper.xml | 18 ++++++
5 files changed, 169 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index dd349bd..692d1b9 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.WrkMast;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -16,4 +17,8 @@
List<WrkMast> selectToBeHistoryData();
+ WrkMast selectByLocNoOfPakin(@Param("locNo") String locNo);
+
+ WrkMast selectBySourceLocNoOfPakout(@Param("sourceLocNo") String sourceLocNo);
+
}
diff --git a/src/main/java/com/zy/asrs/service/WrkMastService.java b/src/main/java/com/zy/asrs/service/WrkMastService.java
index ff9c2ba..99bedd0 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastService.java
@@ -15,6 +15,8 @@
WrkMast selectByBarcode(String barcode);
+ Double getIoPri(Integer ioType, String locNo);
+
/**
* 浠庡伐浣滄。寰楀埌绔欑偣鍏ュ簱鏆傚瓨鏁�
* @param crnNo
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
index ab394ec..b5bd119 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -6,6 +6,7 @@
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.utils.Utils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -40,6 +41,61 @@
}
@Override
+ public synchronized Double getIoPri(Integer ioType, String locNo) {
+ Double defaultIoPri = null;
+ if (Cools.isEmpty(ioType, locNo)) {
+ return 15.0D;
+ }
+ if (ioType != 11) {
+ // 鍏ュ簱
+ if (ioType < 100) {
+ List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNo);
+ if (!Cools.isEmpty(groupOuterLoc)) {
+ for (String outerLoc : groupOuterLoc) {
+ WrkMast wrkMast = this.baseMapper.selectByLocNoOfPakin(outerLoc);
+ if (wrkMast != null) {
+ defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() + 2 : defaultIoPri + 2;
+ }
+ }
+ }
+ List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo);
+ if (!Cools.isEmpty(groupInsideLoc)) {
+ for (String insideLoc : groupInsideLoc) {
+ WrkMast wrkMast = this.baseMapper.selectByLocNoOfPakin(insideLoc);
+ if (wrkMast != null) {
+ defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() - 2 : defaultIoPri - 2;
+ }
+ }
+ }
+ // 鍑哄簱
+ } else {
+ List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNo);
+ if (!Cools.isEmpty(groupOuterLoc)) {
+ for (String outerLoc : groupOuterLoc) {
+ WrkMast wrkMast = this.baseMapper.selectBySourceLocNoOfPakout(outerLoc);
+ if (wrkMast != null) {
+ defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() - 2 : defaultIoPri - 2;
+ }
+ }
+ }
+ List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo);
+ if (!Cools.isEmpty(groupInsideLoc)) {
+ for (String insideLoc : groupInsideLoc) {
+ WrkMast wrkMast = this.baseMapper.selectBySourceLocNoOfPakout(insideLoc);
+ if (wrkMast != null) {
+ defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() + 2 : defaultIoPri + 2;
+ }
+ }
+ }
+ }
+ // 绉诲簱
+ } else {
+// @Deprecated
+ }
+ return defaultIoPri == null ? 15.0D : defaultIoPri;
+ }
+
+ @Override
public int getStoreCount(Integer crnNo) {
return selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo)
.last(" and (wrk_sts in (1,2) or (wrk_sts=3 and wrk_no in (select wrk_no from asr_bas_devp)))"));
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index d8fe9d2..89cef79 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -443,4 +443,92 @@
}
}
+ // 娉ㄦ剰椤哄簭
+ public static List<String> getGroupInsideLoc(String locNo){
+ int row = getRow(locNo);
+ switch (row) {
+ case 1:
+ case 21:
+ case 14:
+ case 15:
+ case 7:
+ case 8:
+ return new ArrayList<>();
+ case 2:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(1), 2) + locNo.substring(2));
+ }};
+ case 3:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(1), 2) + locNo.substring(2));
+ add(zerofill(String.valueOf(2), 2) + locNo.substring(2));
+ }};
+ case 4:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(7), 2) + locNo.substring(2));
+ add(zerofill(String.valueOf(6), 2) + locNo.substring(2));
+ add(zerofill(String.valueOf(5), 2) + locNo.substring(2));
+ }};
+ case 5:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(7), 2) + locNo.substring(2));
+ add(zerofill(String.valueOf(6), 2) + locNo.substring(2));
+ }};
+ case 6:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(7), 2) + locNo.substring(2));
+ }};
+ case 9:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(8), 2) + locNo.substring(2));
+ }};
+ case 10:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(8), 2) + locNo.substring(2));
+ add(zerofill(String.valueOf(9), 2) + locNo.substring(2));
+ }};
+ case 11:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(8), 2) + locNo.substring(2));
+ add(zerofill(String.valueOf(9), 2) + locNo.substring(2));
+ add(zerofill(String.valueOf(10), 2) + locNo.substring(2));
+ }};
+ case 12:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(14), 2) + locNo.substring(2));
+ add(zerofill(String.valueOf(13), 2) + locNo.substring(2));
+ }};
+ case 13:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(14), 2) + locNo.substring(2));
+ }};
+ case 16:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(15), 2) + locNo.substring(2));
+ }};
+ case 17:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(15), 2) + locNo.substring(2));
+ add(zerofill(String.valueOf(16), 2) + locNo.substring(2));
+ }};
+ case 18:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(15), 2) + locNo.substring(2));
+ add(zerofill(String.valueOf(16), 2) + locNo.substring(2));
+ add(zerofill(String.valueOf(17), 2) + locNo.substring(2));
+ }};
+ case 19:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(21), 2) + locNo.substring(2));
+ add(zerofill(String.valueOf(20), 2) + locNo.substring(2));
+ }};
+ case 20:
+ return new ArrayList<String>() {{
+ add(zerofill(String.valueOf(21), 2) + locNo.substring(2));
+ }};
+ default:
+ throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+ }
+ }
+
}
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 89f73ec..ea1dfe0 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -78,4 +78,22 @@
order by io_time,wrk_no asc
</select>
+ <select id="selectByLocNoOfPakin" resultMap="BaseResultMap">
+ select top 1 *
+ from asr_wrk_mast
+ where 1=1
+ and io_type < 100 and io_type != 11
+ and loc_no = #{locNo}
+ and wrk_sts < 9
+ </select>
+
+ <select id="selectBySourceLocNoOfPakout" resultMap="BaseResultMap">
+ select top 1 *
+ from asr_wrk_mast
+ where 1=1
+ and io_type > 100
+ and source_loc_no = #{sourceLocNo}
+ and wrk_sts < 17
+ </select>
+
</mapper>
--
Gitblit v1.9.1