From ac2cb6a654d6de15ca8c9c0bafd5acfb25680748 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 24 四月 2024 16:56:24 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 131 ++++++++++++++------------------ src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 2 src/main/resources/mapper/WrkMastMapper.xml | 2 src/main/resources/application.yml | 88 +++++++++++---------- 4 files changed, 108 insertions(+), 115 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java index 8b7222b..84197df 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java @@ -13,7 +13,7 @@ public interface WrkMastMapper extends BaseMapper<WrkMast> { - WrkMast selectCrn5Task2(@Param("sourceLocNo") Integer sourceStaNo); + WrkMast selectCrn5Task2(); WrkMast selectByLocNo( @Param("sourceLocNo") String staNo); 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 8e7cadd..41c240f 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -524,13 +524,15 @@ && crnProtocol.forkPosType == CrnForkPosType.HOME) { // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- - - // 涓嬪彂绔欑偣淇℃伅 - staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); - staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); - if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) { - continue; + if (crnProtocol.getCrnNo() !=5){ + // 涓嬪彂绔欑偣淇℃伅 + staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); + staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) { + continue; + } } + if (crnStn.getStaNo() == 1016 || crnStn.getStaNo() == 1019) { // 鏇存柊宸ヤ綔妗g姸鎬佷负13.RGV鎼繍涓� @@ -582,6 +584,9 @@ // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡 if (crnProtocol.getLastIo().equals("I")) { if (basCrnp.getInEnable().equals("Y")) { + if (crn.getId() == 5){ + continue; + } this.crnStnToLoc(crn, crnProtocol); // 鍏ュ簱 crnProtocol.setLastIo("O"); } else if (basCrnp.getOutEnable().equals("Y")) { @@ -595,6 +600,9 @@ this.locToCrnStn(crn, crnProtocol); // 鍑哄簱 crnProtocol.setLastIo("I"); } else if (basCrnp.getInEnable().equals("Y")) { + if (crn.getId() == 5){ + continue; + } this.crnStnToLoc(crn, crnProtocol); // 鍏ュ簱 crnProtocol.setLastIo("O"); } @@ -2437,78 +2445,57 @@ } } public void Crn5InTaskSta(CrnSlave slave, CrnProtocol crnProtocol){ - // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯 for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) { - // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); - StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); - if (staProtocol == null) { - continue; - } else { - staProtocol = staProtocol.clone(); + // 鏌ヨ宸ヤ綔妗� + WrkMast wrkMast = wrkMastMapper.selectCrn5Task2(); + if (wrkMast == null) { + return; } - if (staProtocol.isAutoing() - && staProtocol.isLoading() - && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) { - // 鏌ヨ宸ヤ綔妗� - WrkMast wrkMast = wrkMastMapper.selectCrn5Task2(staProtocol.getSiteId()); - if (wrkMast == null) { - continue; - } - // 鏌ヨ绔欑偣璇︾粏淇℃伅 - BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); - if (staDetl == null) { - log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); - continue; - } - // 鑾峰彇搴撲綅淇℃伅 - LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); - if (locMast == null) { - log.error("鏌ヨ搴撳瓨鏃犳暟鎹�--搴撲綅鍙穥}", wrkMast.getLocNo()); - continue; - } - if (!locMast.getLocSts().equals("S") && !locMast.getLocSts().equals("Q")) { - log.error("鍏ュ簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), locMast.getLocSts()); - continue; - } - // 鍫嗗灈鏈烘帶鍒惰繃婊� - if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { - continue; - } - if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable() - && staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) { + // 鑾峰彇搴撲綅淇℃伅 + LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); + if (locMast == null) { + log.error("鏌ヨ搴撳瓨鏃犳暟鎹�--搴撲綅鍙穥}", wrkMast.getLocNo()); + return; + } + if (!locMast.getLocSts().equals("S") && !locMast.getLocSts().equals("Q")) { + log.error("鍏ュ簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), locMast.getLocSts()); + return; + } + // 鍫嗗灈鏈烘帶鍒惰繃婊� + if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { + return; + } - // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- - CrnCommand crnCommand = new CrnCommand(); - crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� - crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� - crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 - crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓 - crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪 - crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰 - crnCommand.setDestinationPosX(locMast.getRow1().shortValue()); // 鐩爣搴撲綅鎺� - crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鐩爣搴撲綅鍒� - crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 鐩爣搴撲綅灞� - crnCommand.setLocType1(locMast.getLocType1().shortValue()); // 璐х墿绫诲瀷 - if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { - log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); - } else { - // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� - Date now = new Date(); - wrkMast.setWrkSts(3L); - wrkMast.setCrnStrTime(now); - wrkMast.setModiTime(now); - if (wrkMastMapper.updateById(wrkMast) == 0) { - log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); - } - } - - + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� + crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� + crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 + crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪 + crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰 + crnCommand.setDestinationPosX(locMast.getRow1()==9?(short)4:(short)5); // 鐩爣搴撲綅鎺� + crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鐩爣搴撲綅鍒� + crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 鐩爣搴撲綅灞� + crnCommand.setLocType1(locMast.getLocType1().shortValue()); // 璐х墿绫诲瀷 + if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { + log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); + } else { + // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� + Date now = new Date(); + wrkMast.setWrkSts(3L); + wrkMast.setCrnStrTime(now); + wrkMast.setModiTime(now); + if (wrkMastMapper.updateById(wrkMast) == 0) { + log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); } - } } + + + + } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 1a007fe..993049b 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -8,7 +8,7 @@ name: @pom.build.finalName@ datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver - url: jdbc:sqlserver://10.10.10.200:1433;databasename=mdqdasrs + url: jdbc:sqlserver://127.0.0.1:1433;databasename=mdqdasrs username: sa password: sa@123 mvc: @@ -47,7 +47,7 @@ # 鍫嗗灈鏈�1 crn[0]: id: 1 - ip: 10.10.10.100 + ip: 10.10.10.120 port: 102 rack: 0 slot: 0 @@ -120,44 +120,30 @@ row: 6 bay: 1 lev: 3 - # 鍫嗗灈鏈�2 -# crn[2]: -# id: 3 -# ip: 10.10.10.110 -# port: 102 -# rack: 0 -# slot: 0 -# # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 -# offset: 2 -# demo: false -# # 鍫嗗灈鏈哄叆搴撶珯1 -# crnInStn[0]: -# devpPlcId: ${wcs-slave.devp[0].id} -# staNo: 1013 -# row: 7 -# bay: 1 -# lev: 1 -# # 鍫嗗灈鏈哄叆搴撶珯2 -# crnInStn[1]: -# devpPlcId: ${wcs-slave.devp[0].id} -# staNo: 1025 -# row: 6 -# bay: 1 -# lev: 3 -# # 鍫嗗灈鏈哄嚭搴撶珯鐐�1 -# crnOutStn[0]: -# devpPlcId: ${wcs-slave.devp[0].id} -# staNo: 1010 -# row: 6 -# bay: 1 -# lev: 1 -# # 鍫嗗灈鏈哄嚭搴撶珯鐐�2 -# crnOutStn[1]: -# devpPlcId: ${wcs-slave.devp[0].id} -# staNo: 1019 -# row: 6 -# bay: 1 -# lev: 3 + # 鍫嗗灈鏈�3 + crn[2]: + id: 5 + ip: 10.10.10.100 + port: 102 + rack: 0 + slot: 0 + # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 + offset: 2 + demo: false + # 鍫嗗灈鏈哄叆搴撶珯1 + crnInStn[0]: + devpPlcId: ${wcs-slave.devp[0].id} + staNo: 1013 + row: 4 + bay: 2 + lev: 1 + # 鍫嗗灈鏈哄嚭搴撶珯鐐�1 + crnOutStn[0]: + devpPlcId: ${wcs-slave.devp[0].id} + staNo: 1010 + row: 4 + bay: 1 + lev: 1 # 杈撻�佺嚎1 devp[0]: id: 1 @@ -232,7 +218,27 @@ # 鎷嗙洏鏈哄叆绌烘墭 autoEmptyIn[0]: staNo: 1007 - + # 杈撻�佺嚎2 +# devp[1]: +# id: 1 +# ip: 10.10.10.10 +# port: 102 +# rack: 0 +# slot: 0 +# # 杈撻�佺嚎3 +# devp[2]: +# id: 1 +# ip: 10.10.10.20 +# port: 102 +# rack: 0 +# slot: 0 +# # 杈撻�佺嚎4 +# devp[3]: +# id: 1 +# ip: 10.10.10.20 +# port: 102 +# rack: 0 +# slot: 0 # RGV1 # rgv[0]: # id: 1 diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml index 5d2a478..cd06b5a 100644 --- a/src/main/resources/mapper/WrkMastMapper.xml +++ b/src/main/resources/mapper/WrkMastMapper.xml @@ -208,6 +208,6 @@ select top 1 * from dbo.asr_wrk_mast where wrk_no = #{wrkNo} order by io_pri desc,io_time,wrk_no asc </select> <select id="selectCrn5Task2" resultMap="BaseResultMap"> - select * from dbo.asr_wrk_mast where wrk_sts=2 and io_type=1 and crn_no=5 and source_sta_no=#{sourceLocNo} order by io_pri desc,io_time,wrk_no ASC + select * from dbo.asr_wrk_mast where wrk_sts=1 and io_type=1 and crn_no=5 order by io_pri desc,io_time,wrk_no ASC </select> </mapper> -- Gitblit v1.9.1