From b3219e6984a541563eb28e5138aefb7f7d3a6da3 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期一, 05 十二月 2022 10:30:38 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 34 ++++++++++++++++++++++++++++++++++ src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 10 ++++++++++ src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 4 +++- src/main/resources/mapper/WrkMastMapper.xml | 12 +++++++++++- 4 files changed, 58 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java index c88b693..c13627a 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java @@ -45,7 +45,9 @@ // 鍑哄簱绗竴姝ワ紝浠庡簱浣嶅埌鍫嗗灈鏈哄嚭搴撶珯 // @Select("select top 1 * from dbo.asr_wrk_mast where crn_no=#{crnNo} and wrk_sts=11 and io_type>100 order by io_pri desc,io_time,wrk_no asc") - WrkMast selectPakOutStep111215(@Param("crnNo")Integer crnNO, @Param("sourceStaNo")Integer sourceStaNo); + WrkMast selectPakOutStep111215(@Param("crnNo")Integer crnNo, @Param("sourceStaNo")Integer sourceStaNo); + + List<WrkMast> selectWorkingOfPakOutBySource(@Param("locNos") List<String> locNos); // 鍑哄簱绗簩姝ワ紝浠庡爢鍨涙満鍑哄簱绔欏埌鐩爣鍑哄簱绔欙紝鍫嗗灈鏈哄嚭搴撶珯鏈夌墿鏃舵墽琛� // @Select("select top 1 * from dbo.asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=12 and io_type>100 order by io_pri desc,io_time desc,wrk_no ASC") 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 2d9671b..598e97e 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -948,6 +948,16 @@ log.error("鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts()); continue; } + + // 鍒ゆ柇鏄惁鏈夊悓搴撲綅缁勭殑鍑哄簱浠诲姟锛屽鏋滄湁锛屽垯鏆傚仠 + List<String> outsideLoc = Utils.getGroupOutsideLoc(wrkMast.getSourceLocNo()); + if (!Cools.isEmpty(outsideLoc)) { + if (!Cools.isEmpty(wrkMastMapper.selectWorkingOfPakOutBySource(outsideLoc))) { + log.warn("{}宸ヤ綔妗e嚭搴撳け璐ワ紝鍘熷洜锛氬灞傚簱浣峽}姝e湪鎵ц鍑哄簱浠诲姟锛�", wrkMast.getWrkNo(), JSON.toJSONString(outsideLoc)); + continue; + } + } + // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index fd12dab..08df323 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -6,6 +6,8 @@ import java.text.DecimalFormat; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; /** @@ -244,4 +246,36 @@ return zerofill(String.valueOf(row), 2) + zerofill(String.valueOf(bay), 3) + zerofill(String.valueOf(lev), 2); } + // 澶栦晶鏂瑰悜鐨勮揣浣� 浼樺厛鍏ュ簱鏂瑰悜/浼樺厛鍑哄簱鏂瑰悜 ===>> 鍙嶄箣 + public static List<String> getGroupOutsideLoc(String locNo){ + int row = getRow(locNo); + List<String> result = new ArrayList<>(); + if (FIRST_GROUP_ROW_LIST.contains(row)) { + for (Integer integer : FIRST_GROUP_ROW_LIST) { + if (integer < row) { + result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); + } else { + break; + } + } + } else if (SECOND_GROUP_ROW_LIST.contains(row)) { + List<Integer> clone = Arrays.asList(new Integer[SECOND_GROUP_ROW_LIST.size()]); + Collections.copy(clone, SECOND_GROUP_ROW_LIST); + Collections.reverse(clone); + for (Integer integer : clone) { + if (integer > row) { + result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); + } else { + break; + } + } + } else { +// throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + } + if (!Cools.isEmpty(result)) { + Collections.reverse(result); + } + return result; + } + } diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml index 80f50da..4e74ad3 100644 --- a/src/main/resources/mapper/WrkMastMapper.xml +++ b/src/main/resources/mapper/WrkMastMapper.xml @@ -114,7 +114,17 @@ </select> <select id="selectPakOutStep111215" resultMap="BaseResultMap"> - select top 1 * from dbo.asr_wrk_mast where crn_no=#{crnNo} and wrk_sts in (11,12,13,14,15, 16) and io_type>100 order by io_pri desc,io_time,wrk_no asc + select top 1 * from dbo.asr_wrk_mast where crn_no=#{crnNo} and wrk_sts in (11,12,13,14,15,16) and io_type>100 order by io_pri desc,io_time,wrk_no asc + </select> + + <select id="selectWorkingOfPakOutBySource" resultMap="BaseResultMap"> + select * from dbo.asr_wrk_mast + where 1=1 + and source_loc_no in + <foreach item="item" collection="locNos" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + and wrk_sts in (11,12,13,14,15,16) and io_type>100 order by io_pri desc,io_time,wrk_no asc </select> <select id="selectPakOutStep16" resultMap="BaseResultMap"> -- Gitblit v1.9.1