From de364ecdcbee20a85e1e80025f8f686e359e88ef Mon Sep 17 00:00:00 2001 From: L <L@132> Date: 星期四, 17 七月 2025 18:46:29 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 269 +++++++++++++++++++++++++++++++++++------------------ 1 files changed, 176 insertions(+), 93 deletions(-) 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 abdb05f..66b3978 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -93,9 +93,9 @@ @Autowired private WrkMastStaMapper wrkMastStaMapper; @Autowired - private BasRgvMapMapper basRgvMapMapper; - @Autowired private RgvOneSignMapper rgvOneSignMapper; + @Autowired + private BasRgvMapService basRgvMapService; @Value("${wms.url}") private String wmsUrl; @@ -1310,7 +1310,11 @@ log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); continue; } - if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable() +// if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable() +// && staDetl.getCanining() != null && staDetl.getCanining().equals("Y") && staDetl.getWrkNo().equals(wrkMast.getWrkNo())) { +// flag = true; +// } + if (staProtocol.isAutoing() && staProtocol.getWorkNo() > 0 && staDetl.getCanining() != null && staDetl.getCanining().equals("Y") && staDetl.getWrkNo().equals(wrkMast.getWrkNo())) { flag = true; } @@ -3552,7 +3556,13 @@ if (!rgvComplete){ log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); } - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType); basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute()); break; @@ -3563,13 +3573,13 @@ continue; } if (wrkMastSta.getWrkSts()!=1){ - if (wrkMastSta.getWrkType()==1 && wrkMastSta.getWrkSts()==2 && rgvProtocol.getLoaded1()==1){ - boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); - if (!rgvComplete){ - log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); - break; - } - rgvAvoidanceXYWrkMast(rgvProtocol.getRgvNo()); + if (wrkMastSta.getWrkType()==3 && wrkMastSta.getWrkSts()==2 && rgvProtocol.getLoaded1()==1){ +// boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); +// if (!rgvComplete){ +// log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); +// break; +// } + rgvAvoidanceXYWrkMast(rgvProtocol.getRgvNo(),wrkMastSta.getWrkNo().shortValue()); continue; } if (wrkMastSta.getWrkType()==6){ @@ -3630,7 +3640,13 @@ } wrkMastSta.setWrkSts(3); wrkMastStaMapper.updateById(wrkMastSta); - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType); basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute()); }else if (rgvProtocol.getTaskNo2()!=0 && (rgvProtocol.getStatusType2()==RgvStatusType.WAITING || rgvProtocol.getStatusType2()==RgvStatusType.FETCHWAITING)){ @@ -3639,7 +3655,13 @@ if (!rgvComplete){ log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); } - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType); basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute()); break; @@ -3688,7 +3710,13 @@ } wrkMastSta.setWrkSts(3); wrkMastStaMapper.updateById(wrkMastSta); - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType); basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute()); }else { @@ -3840,7 +3868,13 @@ && rgvProtocol.getLoaded1()==0 && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0 ) { - BasRgvMap basRgvMap = basRgvMapMapper.selectById(basRgv.getRgvNo()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(basRgv.getRgvNo(),rgvSignTwoType); if (basRgvMap == null) { log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo()); return false; @@ -3955,7 +3989,13 @@ && rgvProtocol.getLoaded1()==0 && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0 ) { - BasRgvMap basRgvMap = basRgvMapMapper.selectById(basRgv.getRgvNo()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(basRgv.getRgvNo(),rgvSignTwoType); if (basRgvMap == null) { log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo()); return false; @@ -4037,7 +4077,13 @@ && rgvProtocol.getLoaded1()==1 && rgvProtocol.getTaskNo1()!=0 && rgvProtocol.getTaskNo2()==0 ) {// 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅涓�鏈夌墿 鏈夊伐浣滃彿//rgv鍙敤 - BasRgvMap basRgvMap = basRgvMapMapper.selectById(basRgv.getRgvNo()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(basRgv.getRgvNo(),rgvSignTwoType); if (basRgvMap == null) { log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo()); return false; @@ -4124,7 +4170,13 @@ && rgvProtocol.getTaskNo2()==0 && (rgvProtocol.getLoaded2()==3 || rgvProtocol.getLoaded2()==1 || rgvProtocol.getLoaded2()==4)////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗� 锛堝彧鑳芥媶鍙狅級 锛�2涓�灞傛湁鐗╀簩灞傛棤鐗�() 锛�3 1銆�2灞傞兘鏈夌墿 4锛氾紙锛夊彧鍏佽鎷嗙洏 ) { - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(basRgv.getRgvNo(),rgvSignTwoType); if (basRgvMap == null) { log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo()); return false; @@ -4232,7 +4284,13 @@ && rgvProtocol.getLoaded1()==1 && rgvProtocol.getTaskNo1()!=0 && rgvProtocol.getTaskNo2()==0 ) { - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType); if (basRgvMap == null) { log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo()); return false; @@ -4345,7 +4403,13 @@ && rgvProtocol.getTaskNo2()==0 && (rgvProtocol.getLoaded2()==2 || rgvProtocol.getLoaded2()==3 ) ////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗� 锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3 1銆�2灞傞兘鏈夌墿 4锛氾紙锛夊彧鍏佽鎷嗙洏 ) { - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType); if (basRgvMap == null) { log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo()); return false; @@ -4453,7 +4517,13 @@ && rgvProtocol.getTaskNo2()==0 && (rgvProtocol.getLoaded2()==0 || rgvProtocol.getLoaded2()==1 ) //鐜板満淇敼锛氬彔鐩樻満锛�////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗╋紙鍙兘鎷嗗彔锛� 锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3 1銆�2灞傞兘鏈夌墿 4锛氾紙锛夊彧鍏佽鎷嗙洏 ) { - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType); if (basRgvMap == null) { log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo()); return false; @@ -4549,7 +4619,13 @@ && rgvProtocol.getLoaded1() == 0 && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0 ) { - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType); if (basRgvMap == null) { log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo()); return false; @@ -4638,7 +4714,13 @@ && rgvProtocol.getTaskNo2()==0 && rgvProtocol.getLoaded2()==0 //鐜板満淇敼锛氬彔鐩樻満锛�////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗╋紙鍙兘鎷嗗彔锛� 锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3 1銆�2灞傞兘鏈夌墿 4锛氾紙锛夊彧鍏佽鎷嗙洏 ) { - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType); if (basRgvMap == null) { log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo()); return false; @@ -4671,7 +4753,7 @@ log.info(date+"婊″彇浠诲姟涓嬪彂锛氭湭鏌ヨ鍒扮珯鐐逛俊鎭細"+wrkMastSta); continue; } - if (!staProtocol.isAutoing() || staProtocol.isLoading()){ + if (!staProtocol.isAutoing() || !staProtocol.isLoading()){ continue; } @@ -4732,7 +4814,13 @@ || (rgvProtocol.getTaskNo1()>0 && rgvProtocol.getLoaded1()==1)) && rgvProtocol.getTaskNo2()==0 ) { - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvProtocol.getRgvNo(),rgvSignTwoType); if (basRgvMap == null) { log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo()); return false; @@ -4925,7 +5013,13 @@ || (rgvProtocol.getTaskNo1()>0 && rgvProtocol.getLoaded1()==1)) && rgvProtocol.getTaskNo2()==0 ) { - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvSlave.getId()); + + RgvOneSign rgvSignTwo = rgvOneSignMapper.selectOneSign("rgvTwo"); + int rgvSignTwoType = 0; + if (!Cools.isEmpty(rgvSignTwo)){ + rgvSignTwoType = rgvSignTwo.getRgvOneSign(); + } + BasRgvMap basRgvMap = basRgvMapService.selectByIdSignTwo(rgvSlave.getId(),rgvSignTwoType); basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute()); } @@ -4940,9 +5034,11 @@ * 灏忚溅XY绉诲姩 閬胯 * */ public synchronized boolean rgvAvoidanceXY(Integer rgvId){ + if (rgvId>20){ + rgvId = rgvId-20; + } if (rgvId==1){ try{ - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId); // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- RgvCommand rgvCommand = new RgvCommand(); rgvCommand.setRgvNo(rgvId); // RGV缂栧彿 @@ -4965,7 +5061,6 @@ } }else { try{ - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId); // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- RgvCommand rgvCommand = new RgvCommand(); rgvCommand.setRgvNo(rgvId); // RGV缂栧彿 @@ -4991,19 +5086,26 @@ /* * 灏忚溅XY绉诲姩 閬胯 * */ - public synchronized boolean rgvAvoidanceXYWrkMast(Integer rgvId){ + public synchronized boolean rgvAvoidanceXYWrkMast(Integer rgvId,short wrkNo1){ + if (rgvId>20){ + rgvId = rgvId-20; + } if (rgvId==2){ try{ - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId); // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- RgvCommand rgvCommand = new RgvCommand(); rgvCommand.setRgvNo(rgvId); // RGV缂栧彿 + rgvCommand.setTaskNo1(wrkNo1); // 宸ヤ綔鍙� + rgvCommand.setAckFinish1((short) 1); // 浠诲姟瀹屾垚纭浣� + rgvCommand.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡 + rgvCommand.setSourceStaNo1((short)0); // 婧愮珯 + rgvCommand.setDestinationStaNo1((short)0); // 鐩爣绔� rgvCommand.setAckFinish2((short) 0); // 宸ヤ綅2浠诲姟瀹屾垚纭浣� rgvCommand.setTaskNo2((short)32222); // 宸ヤ綅2宸ヤ綔鍙� rgvCommand.setTaskMode2(RgvTaskModeType.X_MOVE); // 宸ヤ綅2浠诲姟妯″紡: 鍥炲師鐐� rgvCommand.setSourceStaNo2((short)121); rgvCommand.setCommand((short) 2); //宸ヤ綅2浠诲姟纭 - if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(5, rgvCommand))) { + if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(10, rgvCommand))) { //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱 step=4锛屽伐浣�1鍐欎换鍔★紱 step=5锛屽伐浣�2鍐欎换鍔� step=9锛屽洖鍘熺偣 9999浠诲姟鍙� log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand)); return false; @@ -5016,16 +5118,20 @@ } }else { try{ - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId); // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- RgvCommand rgvCommand = new RgvCommand(); rgvCommand.setRgvNo(rgvId); // RGV缂栧彿 + rgvCommand.setTaskNo1(wrkNo1); // 宸ヤ綔鍙� + rgvCommand.setAckFinish1((short) 1); // 浠诲姟瀹屾垚纭浣� + rgvCommand.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡 + rgvCommand.setSourceStaNo1((short)0); // 婧愮珯 + rgvCommand.setDestinationStaNo1((short)0); // 鐩爣绔� rgvCommand.setAckFinish2((short) 0); // 宸ヤ綅2浠诲姟瀹屾垚纭浣� rgvCommand.setTaskNo2((short)32222); // 宸ヤ綅2宸ヤ綔鍙� rgvCommand.setTaskMode2(RgvTaskModeType.X_MOVE); // 宸ヤ綅2浠诲姟妯″紡: 鍥炲師鐐� rgvCommand.setSourceStaNo2((short)118); rgvCommand.setCommand((short) 2); //宸ヤ綅2浠诲姟纭 - if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(5, rgvCommand))) { + if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(10, rgvCommand))) { //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱 step=4锛屽伐浣�1鍐欎换鍔★紱 step=5锛屽伐浣�2鍐欎换鍔� step=9锛屽洖鍘熺偣 9999浠诲姟鍙� log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand)); return false; @@ -5043,9 +5149,11 @@ * 灏忚溅XY绉诲姩 閬胯 * */ public synchronized boolean rgvAvoidanceXY(Integer rgvId,WrkMastSta wrkMastSta){ + if (rgvId>20){ + rgvId = rgvId-20; + } if (rgvId==1){ try{ - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId); // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- RgvCommand rgvCommand = new RgvCommand(); rgvCommand.setRgvNo(rgvId); // RGV缂栧彿 @@ -5068,7 +5176,6 @@ } }else { try{ - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId); // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- RgvCommand rgvCommand = new RgvCommand(); rgvCommand.setRgvNo(rgvId); // RGV缂栧彿 @@ -5096,6 +5203,9 @@ * 灏忚溅鍙栬揣鑷冲伐浣嶄换鍔� * */ public synchronized boolean rgvTakeFullAll(Integer rgvId,WrkMastSta wrkMastSta){ + if (rgvId>20){ + rgvId = rgvId-20; + } try{ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- RgvCommand rgvCommand = new RgvCommand(); @@ -5118,64 +5228,13 @@ } } - - /* - * 灏忚溅鍙栬揣鑷冲伐浣嶄换鍔� - * */ - public synchronized boolean rgvTakeFullPut(Integer rgvId,WrkMastSta wrkMastSta){ - try{ - // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- - RgvCommand rgvCommand = new RgvCommand(); - rgvCommand.setRgvNo(rgvId); // RGV缂栧彿 - rgvCommand.setAckFinish1((short) 0); // 宸ヤ綅1浠诲姟瀹屾垚纭浣� - rgvCommand.setTaskNo1(wrkMastSta.getWrkNo().shortValue()); // 宸ヤ綅1宸ヤ綔鍙� - rgvCommand.setTaskMode1(RgvTaskModeType.FETCH); // 宸ヤ綅1浠诲姟妯″紡: 鍗曞彇 - rgvCommand.setSourceStaNo1(wrkMastSta.getStaStart().shortValue()); //宸ヤ綅1璧风偣 - rgvCommand.setDestinationStaNo1(wrkMastSta.getStaEnd().shortValue()); //宸ヤ綅1鐩爣绔欑偣 - rgvCommand.setCommand((short) 1); //宸ヤ綅1浠诲姟纭 - if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(4, rgvCommand))) { - //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱 step=4锛屽伐浣�1鍐欎换鍔★紱 step=5锛屽伐浣�2鍐欎换鍔� - log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand)); - return false; - } else { - return true; - } - }catch (Exception e){ - return false; - } - } - - - /* - * 灏忚溅鏀捐揣鑷冲伐浣嶄换鍔� - * */ - public synchronized boolean rgvTakeFullTake(Integer rgvId,WrkMastSta wrkMastSta){ - try{ - // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- - RgvCommand rgvCommand = new RgvCommand(); - rgvCommand.setRgvNo(rgvId); // RGV缂栧彿 - rgvCommand.setAckFinish1((short) 0); // 宸ヤ綅1浠诲姟瀹屾垚纭浣� - rgvCommand.setTaskNo1(wrkMastSta.getWrkNo().shortValue()); // 宸ヤ綅1宸ヤ綔鍙� - rgvCommand.setTaskMode1(RgvTaskModeType.PUT); // 宸ヤ綅1浠诲姟妯″紡: 鍗曟斁 - rgvCommand.setSourceStaNo1(wrkMastSta.getStaStart().shortValue()); //宸ヤ綅1璧风偣 - rgvCommand.setDestinationStaNo1(wrkMastSta.getStaEnd().shortValue()); //宸ヤ綅1鐩爣绔欑偣 - rgvCommand.setCommand((short) 1); //宸ヤ綅1浠诲姟纭 - if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(4, rgvCommand))) { - //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱 step=4锛屽伐浣�1鍐欎换鍔★紱 step=5锛屽伐浣�2鍐欎换鍔� - log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand)); - return false; - } else { - return true; - } - }catch (Exception e){ - return false; - } - } - /* * 灏忚溅鍙栬揣鑷冲伐浣嶄换鍔� * */ public synchronized boolean rgvTakeFull(Integer rgvId,WrkMastSta wrkMastSta){ + if (rgvId>20){ + rgvId = rgvId-20; + } try{ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- RgvCommand rgvCommand = new RgvCommand(); @@ -5201,6 +5260,9 @@ * 灏忚溅鏀捐揣鑷宠緭閫佺嚎浠诲姟 * */ public synchronized boolean rgvPutFull(Integer rgvId,WrkMastSta wrkMastSta){ + if (rgvId>20){ + rgvId = rgvId-20; + } try{ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- RgvCommand rgvCommand = new RgvCommand(); @@ -5226,6 +5288,9 @@ * 灏忚溅鍙栫┖鏉胯嚦宸ヤ綅浠诲姟 鍙犵洏 * */ public synchronized boolean rgvTakeEmpty(Integer rgvId,WrkMastSta wrkMastSta){ + if (rgvId>20){ + rgvId = rgvId-20; + } try{ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- RgvCommand rgvCommand = new RgvCommand(); @@ -5251,6 +5316,9 @@ * 灏忚溅鏀剧┖鏉胯嚦杈撻�佺嚎浠诲姟 //鎷嗙洏 * */ public synchronized boolean rgvPutEmpty(Integer rgvId,WrkMastSta wrkMastSta){ + if (rgvId>20){ + rgvId = rgvId-20; + } try{ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- RgvCommand rgvCommand = new RgvCommand(); @@ -5276,6 +5344,9 @@ * 灏忚溅鍙栫┖鏉胯嚦宸ヤ綅浠诲姟 婊″彇 * */ public synchronized boolean rgvTakeEmptyFull(Integer rgvId,WrkMastSta wrkMastSta){ + if (rgvId>20){ + rgvId = rgvId-20; + } try{ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- RgvCommand rgvCommand = new RgvCommand(); @@ -5301,6 +5372,9 @@ * 灏忚溅鏀剧┖鏉胯嚦杈撻�佺嚎浠诲姟 //婊℃斁 * */ public synchronized boolean rgvPutEmptyFull(Integer rgvId,WrkMastSta wrkMastSta){ + if (rgvId>20){ + rgvId = rgvId-20; + } try{ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- RgvCommand rgvCommand = new RgvCommand(); @@ -5326,6 +5400,9 @@ * 灏忚溅澶嶄綅 * */ public synchronized boolean rgvComplete(Integer rgvId){ + if (rgvId>20){ + rgvId = rgvId-20; + } try{ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(3, new RgvCommand()))) { @@ -5346,6 +5423,9 @@ * 灏忚溅澶嶄綅 * */ public synchronized boolean rgvComplete(Integer rgvId,Short taskNo1){ + if (rgvId>20){ + rgvId = rgvId-20; + } try{ RgvCommand rgvCommand = new RgvCommand(); rgvCommand.setTaskNo1(taskNo1); @@ -5371,7 +5451,9 @@ if (rgvOpen){ return true; } - + if (basRgvMapCurrent.getRgvNo()>2){ + return true; + } // List<Integer> integers = RouteUtils.RouteMapCurrentFar(basRgvMapCurrent.getNowRoute(),staStart,staEnd, basRgvMapCurrent.getLockStartRoute()); //鏇存柊褰撳墠灏忚溅閿� try{ @@ -5379,16 +5461,17 @@ // Integer farCurrentStaNo = RouteUtils.RouteIndexFarMas(staEnd, staStart, staEnd, basRgvMapCurrent.getLockStartRoute());//鑾峰彇鏈�杩滅珯鐐� Integer fallMerge = RouteUtils.RouteIndexFarMas(basRgvMapCurrent.getRgvNo(), farCurrentStaNo); //鑾峰彇鍚堝苟骞叉秹椤� basRgvMapCurrent.setLockEndRoute(fallMerge); - basRgvMapMapper.updateById(basRgvMapCurrent); + + basRgvMapService.updateById(basRgvMapCurrent); //鏇存柊鍙︿竴鍙板皬杞﹀湴鍥� Integer rgvNoOther = basRgvMapCurrent.getRgvNoOther(); - BasRgvMap basRgvMapOther = basRgvMapMapper.selectById(rgvNoOther); + BasRgvMap basRgvMapOther = basRgvMapService.selectById(rgvNoOther); List<Integer> integers = RouteUtils.RouteMapCurrentFar(fallMerge, basRgvMapCurrent.getLockStartRoute()); Integer lockEndRoute = RouteUtils.RouteMapOtherFarStnNo(integers, basRgvMapCurrent.getLockStartRoute());//鍙︿竴鍙板皬杞﹀彲娲诲姩鏈�杩滀綅缃� Integer lockEndRouteL = RouteUtils.RouteIndexFarMasL(rgvNoOther, lockEndRoute);//鍙︿竴鍙板皬杞﹀彲娲诲姩鏈�杩滀綅缃� basRgvMapOther.setEndRoute(lockEndRouteL); - basRgvMapMapper.updateById(basRgvMapOther); + basRgvMapService.updateById(basRgvMapOther); return true; }catch (Exception e){ log.error("灏忚溅鍦板浘鏇存柊鍑洪敊锛�"); -- Gitblit v1.9.1