| | |
| | | if (staProtocolRGVOther == null) { |
| | | return false; |
| | | } |
| | | |
| | | if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){ //临时 |
| | | // if ( staProtocolRGVOther.rgvBoolean(1)){ |
| | | if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){ |
| | | //移走 == > 2 |
| | | if (!jarRgvMoveTake(wrkMastExecute,2)){ |
| | | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | return true; |
| | | Integer[] steJarNoAB = SteAndJarUtil.getSteJarNoAB(wrkMastExecute.getJarId()); |
| | | boolean signOther = false; |
| | | for(Integer jarNoOther : steJarNoAB){ |
| | | // 获取硫化罐信息 |
| | | JarThread jarThreadOther = (JarThread) SlaveConnection.get(SlaveType.Jar, jarNoOther); |
| | | JarProtocol jarProtocolOther = jarThreadOther.getJarProtocol(); |
| | | if (jarProtocolOther == null) { |
| | | continue; |
| | | } |
| | | //门作业 无 |
| | | //自动、空闲、 |
| | | if (jarProtocolOther.modeType != JarModeType.AUTO){ |
| | | continue; |
| | | } |
| | | |
| | | if (jarProtocolOther.statusType .equals(JarStatusType.SOS)){ |
| | | // log.error("{}号硫化罐查询设备正在硫化中,任务异常!!!",jarProtocol.getJarNo()); |
| | | continue; |
| | | } |
| | | if (jarProtocolOther.getJarTemperature()>jarTemperature){ |
| | | // log.error("{}号硫化罐查询设备温度过高,等待降温....!!!",jarProtocol.getJarNo()); |
| | | continue; |
| | | } |
| | | BasJar basJarOther = basJarMapper.selectById(jarProtocolOther.getJarNo()); |
| | | if (Cools.isEmpty(basJarOther)){ |
| | | // log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocol.getJarNo()); |
| | | continue; |
| | | } |
| | | if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor() |
| | | && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0 |
| | | ){ |
| | | log.error("10:A=>B\\11:B=>A==>任务下发===>行={}",6558); |
| | | if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){ |
| | | //判断小车状态 |
| | | if (wrkMastExecute.getIoType()==10){//10:A=>B |
| | | if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,true)){ |
| | | //调车 == > 移动 |
| | | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT23.id,SteTaskModeType.STE_MOVE_14,false,wrkMastExecute.getJarId())){ |
| | | log.error("穿梭板Ste命令下发失败,ste号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | wrkMastExecute.setWrkType(1); |
| | | wrkMastExecute.setWrkSts(3); |
| | | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ |
| | | log.error("穿梭板Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,false)){ |
| | | wrkMastExecute.setWrkType(1); |
| | | wrkMastExecute.setWrkSts(4); |
| | | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ |
| | | log.error("穿梭板Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | } |
| | | } else {//11:B=>A |
| | | if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,false)){ |
| | | //调车 == > 移动 |
| | | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT20.id,SteTaskModeType.STE_MOVE_14,false,wrkMastExecute.getJarId())){ |
| | | log.error("穿梭板Ste命令下发失败,ste号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | wrkMastExecute.setWrkType(1); |
| | | wrkMastExecute.setWrkSts(3); |
| | | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ |
| | | log.error("穿梭板Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,false)){ |
| | | wrkMastExecute.setWrkType(1); |
| | | wrkMastExecute.setWrkSts(4); |
| | | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ |
| | | log.error("穿梭板Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } else { |
| | | //调车 == > endRow |
| | | if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){ |
| | | jarProtocol = jarProtocolOther; |
| | | signOther = true; |
| | | break; |
| | | } |
| | | } |
| | | if (signOther){ |
| | | if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){ //临时 |
| | | if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){ |
| | | //移走 == > 2 |
| | | if (!jarRgvMoveTake(wrkMastExecute,2)){ |
| | | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | wrkMastExecute.setWrkType(1); |
| | | wrkMastExecute.setWrkSts(2); |
| | | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ |
| | | log.error("硫化罐Jar命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | return true; |
| | | } |
| | | return true; |
| | | //门作业 无 |
| | | //自动、空闲、 |
| | | if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor() |
| | | && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0 |
| | | ){ |
| | | log.error("10:A=>B\\11:B=>A==>任务下发===>行={}",6558); |
| | | if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){ |
| | | //判断小车状态 |
| | | if (wrkMastExecute.getIoType()==10){//10:A=>B |
| | | if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,true)){ |
| | | //调车 == > 移动 |
| | | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT23.id,SteTaskModeType.STE_MOVE_14,false,jarProtocol.getJarNo())){ |
| | | log.error("穿梭板Ste命令下发失败,ste号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | wrkMastExecute.setWrkType(1); |
| | | wrkMastExecute.setWrkSts(3); |
| | | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ |
| | | log.error("穿梭板Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,false)){ |
| | | wrkMastExecute.setWrkType(1); |
| | | wrkMastExecute.setWrkSts(4); |
| | | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ |
| | | log.error("穿梭板Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | } |
| | | } else {//11:B=>A |
| | | if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,false)){ |
| | | //调车 == > 移动 |
| | | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT20.id,SteTaskModeType.STE_MOVE_14,false,jarProtocol.getJarNo())){ |
| | | log.error("穿梭板Ste命令下发失败,ste号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | wrkMastExecute.setWrkType(1); |
| | | wrkMastExecute.setWrkSts(3); |
| | | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ |
| | | log.error("穿梭板Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,false)){ |
| | | wrkMastExecute.setWrkType(1); |
| | | wrkMastExecute.setWrkSts(4); |
| | | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ |
| | | log.error("穿梭板Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } else { |
| | | //调车 == > endRow |
| | | if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(jarProtocol.getJarNo()))){ |
| | | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | wrkMastExecute.setWrkType(1); |
| | | wrkMastExecute.setWrkSts(2); |
| | | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ |
| | | log.error("硫化罐Jar命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | return false; |
| | | } else { |
| | | log.error("jarWrkMastExecuteActionExecute1===>执行异常===》RGV不满足条件,等待===》异常数据:BasJar:"+ JSON.toJSONString(basJar.getEnterRgvNo())+";WrkMastExecute:"+JSON.toJSONString(wrkMastExecute)); |
| | | return false; |
| | | } |
| | | return false; |
| | | } else { |
| | | log.error("jarWrkMastExecuteActionExecute1===>执行异常===》RGV不满足条件,等待===》异常数据:BasJar:"+ JSON.toJSONString(basJar.getEnterRgvNo())+";WrkMastExecute:"+JSON.toJSONString(wrkMastExecute)); |
| | | return false; |
| | | } |
| | | |
| | | } catch (Exception e){ |
| | | log.error("jarWrkMastExecuteActionExecute1任务执行下发异常==》wrkMastExecute={},异常原因={}",wrkMastExecute,e.getMessage()); |
| | | } |