From 843adafd2eb2934e26a935e2de2b57a9e577d29a Mon Sep 17 00:00:00 2001 From: lsh <lsh123456> Date: 星期四, 27 六月 2024 13:16:43 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 435 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 418 insertions(+), 17 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 358e743..3454118 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -5267,7 +5267,16 @@ * JarWrkMastExecute浠诲姟鍒涘缓==>涓嬪彂 * Action * */ - public synchronized void jarWrkMastExecuteAction(Integer sign) { + public synchronized void jarWrkMastExecuteAction(Integer sign,Integer sign2) { + if (sign2==0){ + jarWrkMastExecuteActionOne(sign); + } else if (sign2 == 1){ + jarWrkMastExecuteActionTwo(sign); + } else if (sign2 == 2){ + jarWrkMastExecuteActionThree(sign); + } + } + public synchronized void jarWrkMastExecuteActionOne(Integer sign) { try{ List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, null,0); for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){ @@ -5328,6 +5337,108 @@ } + /* + * JarWrkMastExecute浠诲姟鍒涘缓==>涓嬪彂 + * Action + * */ + public synchronized void jarWrkMastExecuteActionTwo(Integer sign) { + try{ + List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, null,2); + for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){ + /* + * 浠诲姟绫诲瀷 0: 鏈煡 + * 1: 寮�杩涙枡闂� 2: 鍏宠繘鏂欓棬 3: 寮�鍑烘枡闂� 4: 鍏冲嚭鏂欓棬 + * 5: 鍏ョ~鍖栫綈 + * 6: 鍏ュ喎鍗存Ы + * 7: 绌挎杞﹁繘鍐峰嵈妲� 8: 绌挎杞︾寮�鍐峰嵈妲� + * 9: 鍑哄喎鍗存Ы + * 10锛欰=>B 11:B=>A + * */ + switch (wrkMastExecute.getIoType()){ + case 1://1: 寮�杩涙枡闂� + case 3://3: 寮�鍑烘枡闂� + if (jarWrkMastExecuteActionExecute1(wrkMastExecute,sign)){ + break; + } + return; + case 2: + case 4: + if (jarWrkMastExecuteActionExecute2(wrkMastExecute,sign)){ + break; + } + return; + case 5: + if (jarWrkMastExecuteActionExecute5(wrkMastExecute,sign)){ + break; + } + return; + case 6: + if (jarWrkMastExecuteActionExecute6(wrkMastExecute,sign)){ + break; + } + return; + case 7: + case 8: + if (jarWrkMastExecuteActionExecute7(wrkMastExecute,sign)){ + break; + } + return; + case 9: + if (jarWrkMastExecuteActionExecute9Two(wrkMastExecute,sign)){ + break; + } + return; + case 10: + case 11: + if (jarWrkMastExecuteActionExecute10(wrkMastExecute,sign)){ + break; + } + return; + } + } + } catch (Exception e){ + log.error("JarWrkMastExecute浠诲姟鍒涘缓===>Action==>涓嬪彂"+e.getMessage()); + } + + } + + /* + * JarWrkMastExecute浠诲姟鍒涘缓==>涓嬪彂 + * Action + * */ + public synchronized void jarWrkMastExecuteActionThree(Integer sign) { + try{ + List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, null,4); + for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){ + /* + * 浠诲姟绫诲瀷 0: 鏈煡 + * 1: 寮�杩涙枡闂� 2: 鍏宠繘鏂欓棬 3: 寮�鍑烘枡闂� 4: 鍏冲嚭鏂欓棬 + * 5: 鍏ョ~鍖栫綈 + * 6: 鍏ュ喎鍗存Ы + * 7: 绌挎杞﹁繘鍐峰嵈妲� 8: 绌挎杞︾寮�鍐峰嵈妲� + * 9: 鍑哄喎鍗存Ы + * 10锛欰=>B 11:B=>A + * */ + switch (wrkMastExecute.getIoType()){ + case 5: + if (jarWrkMastExecuteActionExecute5Three(wrkMastExecute,sign)){ + break; + } + return; + case 6: + if (jarWrkMastExecuteActionExecute6Three(wrkMastExecute,sign)){ + break; + } + return; + } + } + } catch (Exception e){ + log.error("JarWrkMastExecute浠诲姟鍒涘缓===>Action==>涓嬪彂"+e.getMessage()); + } + + } + + /** * JarWrkMastExecute浠诲姟==>涓嬪彂 //瀹屾垚 * 1銆�3寮�杩涙枡闂� @@ -5360,7 +5471,7 @@ // if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1)){ // return false; // } - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo()); if (staProtocolRGV == null) { return false; @@ -5403,7 +5514,7 @@ wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); } wrkMastExecute.setWrkType(1); - wrkMastExecute.setWrkSts(1); + wrkMastExecute.setWrkSts(2); if (wrkMastExecuteService.updateById(wrkMastExecute)){ log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); @@ -5478,7 +5589,7 @@ // return false; // } - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo()); if (staProtocolRGV == null) { return false; @@ -5520,7 +5631,7 @@ wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); } wrkMastExecute.setWrkType(1); - wrkMastExecute.setWrkSts(1); + wrkMastExecute.setWrkSts(2); if (wrkMastExecuteService.updateById(wrkMastExecute)){ log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", @@ -5641,6 +5752,7 @@ ,SteAndJarUtil.getRgvStaRow(wrkMastExecute.getJarEnterStaNo())==3)){ log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); + return true; } wrkMastExecute.setWrkType(1); wrkMastExecute.setWrkSts(3); @@ -5655,9 +5767,114 @@ wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); } wrkMastExecute.setWrkType(1); - wrkMastExecute.setWrkSts(1); + wrkMastExecute.setWrkSts(2); if (wrkMastExecuteService.updateById(wrkMastExecute)){ log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", + wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); + } + } + return true; + } + return false; + } else { + log.error("jarWrkMastExecuteActionExecute1===>鎵ц寮傚父===銆婻GV涓嶆弧瓒虫潯浠讹紝绛夊緟===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar.getEnterRgvNo())+";WrkMastExecute:"+JSON.toJSONString(wrkMastExecute)); + return false; + } + } catch (Exception e){ + log.error("jarWrkMastExecuteActionExecute1浠诲姟鎵ц涓嬪彂寮傚父==銆媤rkMastExecute={},寮傚父鍘熷洜={}",wrkMastExecute,e.getMessage()); + } + return false; + } + + /** + * JarWrkMastExecute浠诲姟==>涓嬪彂 //瀹屾垚 + * io_type==>5:鍏ョ~鍖栫綈 : wrkSts ==>4锛歳gv鍙栬揣瀹屾垚 + * =====>wrkSts ==>5锛歋te绌挎鐗堝叆纭寲缃�(娓呮RGV璧勬枡) + * 浠诲姟涓嬪彂 + */ + public synchronized boolean jarWrkMastExecuteActionExecute5Three(WrkMastExecute wrkMastExecute,Integer sign) { + try{ + List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId()); + if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){ + return false; + } + + // 鑾峰彇纭寲缃愪俊鎭� + JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, wrkMastExecute.getJarId()); + JarProtocol jarProtocol = jarThread.getJarProtocol(); + if (jarProtocol == null) { + return false; + } + if (jarProtocol.modeType != JarModeType.AUTO){ + return false; + } + + BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo()); + if (Cools.isEmpty(basJar)){ + log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo()); + return false; + } + +// //鍒ゆ柇灏忚溅鐘舵�� +// if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1)){ +// return false; +// } + + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); + StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo()); + if (staProtocolRGV == null) { + return false; + } else { + staProtocolRGV = staProtocolRGV.clone(); + } + if (staProtocolRGV == null) { + return false; + } + + StaProtocol staProtocolRGVOther = devpThread.getStation().get(basJar.getOutRgvNo()); + if (staProtocolRGVOther == null) { + return false; + } else { + staProtocolRGVOther = staProtocolRGVOther.clone(); + } + if (staProtocolRGVOther == null) { + return false; + } + + if (staProtocolRGV.rgvBoolean(2) && staProtocolRGVOther.rgvBoolean(1)){ + if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){ + //绉昏蛋 == > 2 + if (jarRgvMoveTake(wrkMastExecute,2)){ + log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", + wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); + } + return true; + } + //闂ㄤ綔涓� 鏃� + //鑷姩銆佺┖闂层�� 杩涙枡浠墦寮�闇�鍏抽棴 + if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor() + && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){ + + if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){ + //鍒ゆ柇灏忚溅鐘舵�� + if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){ + return false; + } + //璋冭溅 == > 鍙栬揣 + if (jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT22.id,SteTaskModeType.STE_WFFH_13,false)){ + log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", + wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); + } + wrkMastExecute.setWrkType(1); + wrkMastExecute.setWrkSts(5); + if (wrkMastExecuteService.updateById(wrkMastExecute)){ + log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", + wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); + } + } else { + //璋冭溅 == > endRow + if (jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){ + log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); } } @@ -5707,7 +5924,7 @@ // return false; // } - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo()); if (staProtocolRGV == null) { return false; @@ -5765,7 +5982,117 @@ wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); } wrkMastExecute.setWrkType(1); - wrkMastExecute.setWrkSts(1); + wrkMastExecute.setWrkSts(2); + if (wrkMastExecuteService.updateById(wrkMastExecute)){ + log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", + wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); + } + } + return true; + } + return false; + } else { + log.error("jarWrkMastExecuteActionExecute1===>鎵ц寮傚父===銆婻GV涓嶆弧瓒虫潯浠讹紝绛夊緟===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar.getEnterRgvNo())+";WrkMastExecute:"+JSON.toJSONString(wrkMastExecute)); + return false; + } + } catch (Exception e){ + log.error("jarWrkMastExecuteActionExecute1浠诲姟鎵ц涓嬪彂寮傚父==銆媤rkMastExecute={},寮傚父鍘熷洜={}",wrkMastExecute,e.getMessage()); + } + return false; + } + + /** + * JarWrkMastExecute浠诲姟==>涓嬪彂 //瀹屾垚 + * 6:鍏ュ喎鍗存Ы + * 浠诲姟涓嬪彂 + */ + public synchronized boolean jarWrkMastExecuteActionExecute6Three(WrkMastExecute wrkMastExecute,Integer sign) { + try{ + List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId()); + if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){ + return false; + } + + // 鑾峰彇纭寲缃愪俊鎭� + JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, wrkMastExecute.getJarId()); + JarProtocol jarProtocol = jarThread.getJarProtocol(); + if (jarProtocol == null) { + return false; + } + if (jarProtocol.modeType != JarModeType.AUTO){ + return false; + } + + BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo()); + if (Cools.isEmpty(basJar)){ + log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo()); + return false; + } + +// //鍒ゆ柇灏忚溅鐘舵�� +// if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1)){ +// return false; +// } + + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); + StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo()); + if (staProtocolRGV == null) { + return false; + } else { + staProtocolRGV = staProtocolRGV.clone(); + } + if (staProtocolRGV == null) { + return false; + } + + StaProtocol staProtocolRGVOther = devpThread.getStation().get(basJar.getOutRgvNo()); + if (staProtocolRGVOther == null) { + return false; + } else { + staProtocolRGVOther = staProtocolRGVOther.clone(); + } + if (staProtocolRGVOther == null) { + return false; + } + + if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){ + if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){ + //绉昏蛋 == > 2 + if (jarRgvMoveTake(wrkMastExecute,2)){ + log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", + wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); + } + return true; + } + //闂ㄤ綔涓� 鏃� + //鑷姩銆佺┖闂层�� + if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor() + && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){ + + if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){ + //鍒ゆ柇灏忚溅鐘舵�� + if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){ + return false; + } + //璋冭溅 == > 鍙栬揣 + if (jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT21.id,SteTaskModeType.STE_WFQH_12,false)){ + log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", + wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); + } + wrkMastExecute.setWrkType(1); + wrkMastExecute.setWrkSts(3); + if (wrkMastExecuteService.updateById(wrkMastExecute)){ + log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", + wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); + } + } else { + //璋冭溅 == > endRow + if (jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){ + log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", + wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); + } + wrkMastExecute.setWrkType(1); + wrkMastExecute.setWrkSts(2); if (wrkMastExecuteService.updateById(wrkMastExecute)){ log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); @@ -5833,7 +6160,7 @@ // return false; // } - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo()); if (staProtocolRGV == null) { return false; @@ -5923,7 +6250,7 @@ wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); } wrkMastExecute.setWrkType(1); - wrkMastExecute.setWrkSts(1); + wrkMastExecute.setWrkSts(2); if (wrkMastExecuteService.updateById(wrkMastExecute)){ log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); @@ -5991,7 +6318,7 @@ // return false; // } // - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); StaProtocol staProtocol = devpThread.getStation().get(basJar.getStaNo()); if (staProtocol == null) { return false; @@ -6058,6 +6385,54 @@ /** * JarWrkMastExecute浠诲姟==>涓嬪彂 //瀹屾垚 + * 9锛氬嚭鍐峰嵈妲� + * 浠诲姟涓嬪彂 + */ + public synchronized boolean jarWrkMastExecuteActionExecute9Two(WrkMastExecute wrkMastExecute,Integer sign) { + try{ + List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId()); + if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){ + return false; + } + + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); + StaProtocol staProtocol = devpThread.getStation().get(wrkMastExecute.getJarOutStaNo()); + if (staProtocol == null) { + return false; + } else { + staProtocol = staProtocol.clone(); + } + if (staProtocol == null) { + return false; + } + if (staProtocol.getWorkNo()!=0 || !staProtocol.isAutoing() || !staProtocol.isLoading()){ + return false; + } + + //鍒ゆ柇STE灏忚溅鐘舵�� + if (jarWrkMastExecuteGenerateSteStatus(wrkMastExecute.getSteId(),3,SteStatusType.IDLE)){ + // 涓嬪彂绔欑偣淇℃伅 + staProtocol.setWorkNo(wrkMastExecute.getWrkNo().intValue()); + staProtocol.setStaNo(staProtocol.getStaNo()); + if (!MessageQueue.offer(SlaveType.Devp, 2, new Task(2, staProtocol))) { + return false; + } + wrkMastExecute.setWrkType(1); + wrkMastExecute.setWrkSts(3); + if (wrkMastExecuteService.updateById(wrkMastExecute)){ + log.error("杈撻�佺嚎鍑哄簱鐩爣绔欏懡浠や笅鍙戝け璐�===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},鏀捐揣绔欑偣鏁版嵁={},sign={}", + wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(staProtocol),sign); + } + } + return true; + } catch (Exception e){ + log.error("jarWrkMastExecuteActionExecute1浠诲姟鎵ц涓嬪彂寮傚父==銆媤rkMastExecute={},寮傚父鍘熷洜={}",wrkMastExecute,e.getMessage()); + } + return false; + } + + /** + * JarWrkMastExecute浠诲姟==>涓嬪彂 //瀹屾垚 * 10锛欰=>B\11锛欱=>A * 浠诲姟涓嬪彂 */ @@ -6089,7 +6464,7 @@ // return false; // } - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo()); if (staProtocolRGV == null) { return false; @@ -6178,7 +6553,7 @@ wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); } wrkMastExecute.setWrkType(1); - wrkMastExecute.setWrkSts(1); + wrkMastExecute.setWrkSts(2); if (wrkMastExecuteService.updateById(wrkMastExecute)){ log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); @@ -6234,6 +6609,26 @@ return true; }catch (Exception e){ log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触锛孯gv鍙�={},浠诲姟鏁版嵁={},RGV4={},RGV5={}", wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(RGV4), JSON.toJSON(RGV5)); + } + return false; + } + + /* + * Rgv 鍔ㄤ綔 鍙栬揣瀹屾垚澶嶄綅 + * */ + public synchronized boolean jarRgvGetFuTake(WrkMastExecute wrkMastExecute,boolean RGV6){ + try { + StaProtocol staProtocol = new StaProtocol(); + staProtocol.setSiteId(wrkMastExecute.getRgvId()); + staProtocol.setRGV6(RGV6); + // 涓嬪彂绔欑偣淇℃伅 + if (!MessageQueue.offer(SlaveType.Devp, 2, new Task(11, staProtocol))) { + log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={},浠诲姟鏁版嵁={},涓嬪彂鏁版嵁={}", wrkMastExecute.getRgvId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(staProtocol)); + return false; + } + return true; + }catch (Exception e){ + log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触锛孯gv鍙�={},浠诲姟鏁版嵁={},RGV6={}", wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(RGV6)); } return false; } @@ -6478,7 +6873,7 @@ && jarProtocol.rightDoorOpen!=1 && jarProtocol.rightDoorOpen!=3 && (jarProtocol.leftDoorOpen==2 || jarProtocol.rightDoorOpen==2)){ WrkMastExecute wrkMastExecuteSou = new WrkMastExecute(); - wrkMastExecuteSou.setWrkType(3); + wrkMastExecuteSou.setWrkSts(3); List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou); if (wrkMastExecuteList.isEmpty()){ WrkMastExecute execute = new WrkMastExecute(); @@ -6512,7 +6907,7 @@ && jarProtocol.rightDoorClose!=1 && jarProtocol.rightDoorClose!=3 && (jarProtocol.leftDoorClose==2 || jarProtocol.rightDoorClose==2)){ WrkMastExecute wrkMastExecuteSou = new WrkMastExecute(); - wrkMastExecuteSou.setWrkType(3); + wrkMastExecuteSou.setWrkSts(3); List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou); if (wrkMastExecuteList.isEmpty()){ WrkMastExecute execute = new WrkMastExecute(); @@ -6555,7 +6950,7 @@ public synchronized boolean jarWrkMastExecuteGenerateRgvComplete1(Integer sign) { try{ WrkMastExecute wrkMastExecuteSou = new WrkMastExecute(); - wrkMastExecuteSou.setWrkType(1); + wrkMastExecuteSou.setWrkSts(1); List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou); for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){ if (wrkMastExecute.getIoType() == 9){ @@ -6605,7 +7000,7 @@ public synchronized boolean jarWrkMastExecuteGenerateRgvComplete2(Integer sign) { try{ WrkMastExecute wrkMastExecuteSou = new WrkMastExecute(); - wrkMastExecuteSou.setWrkType(3); + wrkMastExecuteSou.setWrkSts(3); wrkMastExecuteSou.setIoType(5); List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou); for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){ @@ -6631,6 +7026,12 @@ } if (staProtocolRGV.getNowRow() == staProtocolRGVEnd.getNowRow() && staProtocolRGV.getNowRow() == SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId())){ + //璋冭溅 == > 鍙栬揣瀹屾垚澶嶄綅 + if (!jarRgvGetFuTake(wrkMastExecute,true)){ + log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}", + wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(staProtocolRGV),sign); + return false; + } wrkMastExecute.setWrkSts(4); if (wrkMastExecuteService.updateById(wrkMastExecute)){ log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},骞宠 杞gv鏁版嵁={},sign={}", -- Gitblit v1.9.1