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