From 7aa842ca0c3863da9024873cadd9fd64c72d26d2 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期二, 13 十二月 2022 08:48:54 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 21 +++++++--- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 17 ++++++++ src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 4 ++ src/main/resources/mapper/WrkMastMapper.xml | 32 ++++++++++++++++ 4 files changed, 68 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java index 415a87d..5de2551 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java @@ -87,4 +87,8 @@ WrkMast selectWorkingByCrn(@Param("crnNo")Integer crnNo); + WrkMast selectPakinWorkingByGroupLoc(@Param("locNos")List<String> locNos); + + WrkMast selectPakoutWorkingByGroupLoc(@Param("locNos")List<String> 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 7100a26..799328d 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -692,6 +692,15 @@ // log.error("{}绔欑偣鏌ヨ鏃犲緟鍏ュ簱鏁版嵁 宸ヤ綔鍙�={}", crnStn.getStaNo(), staProtocol.getWorkNo()); continue; } + + // 鍚屽簱浣嶇粍杩涜鏍¢獙 + List<String> groupLocNo = Utils.getGroupLocNo(wrkMast.getLocNo()); + if (!Cools.isEmpty(groupLocNo)) { + if (null != wrkMastMapper.selectPakoutWorkingByGroupLoc(groupLocNo)) { + continue; + } + } + if (wrkMast.getWrkSts() < 3) { if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable() && staDetl.getCanining()!=null && staDetl.getCanining().equals("Y")) { @@ -967,6 +976,14 @@ continue; } + // 鍚屽簱浣嶇粍杩涜鏍¢獙 + List<String> groupLocNo = Utils.getGroupLocNo(wrkMast.getSourceLocNo()); + if (!Cools.isEmpty(groupLocNo)) { + if (null != wrkMastMapper.selectPakinWorkingByGroupLoc(groupLocNo)) { + continue; + } + } + // 鍒ゆ柇鏄惁鏈夊悓搴撲綅缁勭殑鍑哄簱浠诲姟锛屽鏋滄湁锛屽垯鏆傚仠 List<String> outsideLoc = Utils.getGroupOutsideLoc(wrkMast.getSourceLocNo()); if (!Cools.isEmpty(outsideLoc)) { diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 08df323..a2d24be 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -52,6 +52,21 @@ 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 (pakin) { if (FIRST_GROUP_ROW_LIST.contains(row)) { @@ -138,12 +153,6 @@ return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2); } - public static void main(String[] args) { - SlaveProperties slaveProperties = new SlaveProperties(); - slaveProperties.setDoubleDeep(true); - slaveProperties.setGroupCount(2); - System.out.println(getShallowLoc(slaveProperties, "3200101")); - } /** * 鑾峰彇 娣卞簱浣嶆帓瀵瑰簲鐨勬祬搴撲綅鎺� diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml index 946ad3a..bef9d78 100644 --- a/src/main/resources/mapper/WrkMastMapper.xml +++ b/src/main/resources/mapper/WrkMastMapper.xml @@ -186,4 +186,36 @@ </if> </select> + <select id="selectPakinWorkingByGroupLoc" resultMap="BaseResultMap"> + select top 1 * + from dbo.asr_wrk_mast + where 1=1 + and + ( + (wrk_sts = 2 and ste_no != null) + or + (wrk_sts in (3,4,5,6,7,8)) + ) + and loc_no in + <foreach item="item" collection="locNos" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + </select> + + <select id="selectPakoutWorkingByGroupLoc" resultMap="BaseResultMap"> + select top 1 * + from dbo.asr_wrk_mast + where 1=1 + and + ( + (wrk_sts = 11 and ste_no != null) + or + (wrk_sts in (12,13,14,15,16,17)) + ) + and source_loc_no in + <foreach item="item" collection="locNos" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + </select> + </mapper> -- Gitblit v1.9.1