|  |  |  | 
|---|
|  |  |  | crnCommand.setDestinationPosY(locMast.getBay1().shortValue());     // 目标库位列 | 
|---|
|  |  |  | crnCommand.setDestinationPosZ(locMast.getLev1().shortValue());     // 目标库位层 | 
|---|
|  |  |  | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand)); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //                long startTime = System.currentTimeMillis(); | 
|---|
|  |  |  | 
|---|
|  |  |  | crnCommand.setDestinationPosY((short)0);     // 目标库位列 | 
|---|
|  |  |  | crnCommand.setDestinationPosZ((short)0);     // 目标库位层 | 
|---|
|  |  |  | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) { | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand)); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // 修改工作档状态 2.设备上走 => 3.吊车入库中 | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  | 
|---|
|  |  |  | crnCommand.setDestinationPosY(locMast.getBay1().shortValue());     // 目标库位列 | 
|---|
|  |  |  | crnCommand.setDestinationPosZ(locMast.getLev1().shortValue());     // 目标库位层 | 
|---|
|  |  |  | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand)); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // 修改工作档状态 2.设备上走 => 3.吊车入库中 | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  | 
|---|
|  |  |  | crnCommand.setDestinationPosY(locMast.getBay1().shortValue());     // 目标库位列 | 
|---|
|  |  |  | crnCommand.setDestinationPosZ(locMast.getLev1().shortValue());     // 目标库位层 | 
|---|
|  |  |  | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) { | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand)); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // 修改工作档状态 2.设备上走 => 3.吊车入库中 | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  | 
|---|
|  |  |  | crnCommand.setDestinationPosY(crnStn.getBay().shortValue());     // 目标库位列 | 
|---|
|  |  |  | crnCommand.setDestinationPosZ(crnStn.getLev().shortValue());     // 目标库位层 | 
|---|
|  |  |  | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand)); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // 修改工作档状态 11.生成出库ID => 12.吊车出库中 | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  | 
|---|
|  |  |  | crnCommand.setDestinationPosY(crnStn.getBay().shortValue());     // 目标库位列 | 
|---|
|  |  |  | crnCommand.setDestinationPosZ(crnStn.getLev().shortValue());     // 目标库位层 | 
|---|
|  |  |  | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) { | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand)); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // 修改工作档状态 11.生成出库ID => 12.吊车出库中 | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  | 
|---|
|  |  |  | crnCommand.setDestinationPosY(crnStn.getBay().shortValue());     // 目标库位列 | 
|---|
|  |  |  | crnCommand.setDestinationPosZ(crnStn.getLev().shortValue());     // 目标库位层 | 
|---|
|  |  |  | if (!MessageQueue.offer(SlaveType.Crn, wrkMastCrn.getCrnNo(), new Task(2, crnCommand))) { | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMastCrn.getCrnNo(), JSON.toJSON(crnCommand)); | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMastCrn.getCrnNo(), JSON.toJSONString(crnCommand)); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // 修改工作档状态 11.生成出库ID => 12.吊车出库中 | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  | 
|---|
|  |  |  | crnCommand.setDestinationPosY((short)0);     // 目标库位列 | 
|---|
|  |  |  | crnCommand.setDestinationPosZ((short)0);     // 目标库位层 | 
|---|
|  |  |  | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) { | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand)); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // 修改工作档状态 11.生成出库ID => 12.吊车出库中 | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  | 
|---|
|  |  |  | //                    crnCommand.setDestinationPosY((short)0);     // 目标库位列 | 
|---|
|  |  |  | //                    crnCommand.setDestinationPosZ((short)0);     // 目标库位层 | 
|---|
|  |  |  | //                    if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) { | 
|---|
|  |  |  | //                        log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); | 
|---|
|  |  |  | //                        log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand)); | 
|---|
|  |  |  | //                    } else { | 
|---|
|  |  |  | //                        // 修改工作档状态 11.生成出库ID => 12.吊车出库中 | 
|---|
|  |  |  | //                        Date now = new Date(); | 
|---|
|  |  |  | 
|---|
|  |  |  | crnCommand.setDestinationPosY(sta.getBay1().shortValue());     // 目标库位列 | 
|---|
|  |  |  | crnCommand.setDestinationPosZ(sta.getLev1().shortValue());     // 目标库位层 | 
|---|
|  |  |  | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand)); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // 修改工作档状态 11.生成出库ID => 12.吊车出库中 | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  | 
|---|
|  |  |  | crnCommand.setDestinationPosY((short)0);     // 目标库位列 | 
|---|
|  |  |  | crnCommand.setDestinationPosZ((short)0);     // 目标库位层 | 
|---|
|  |  |  | if (!MessageQueue.offer(SlaveType.Crn, wrkMastSplitTwin.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) { | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMastSplitTwin.getCrnNo(), JSON.toJSON(crnCommand)); | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMastSplitTwin.getCrnNo(), JSON.toJSONString(crnCommand)); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | 
|---|
|  |  |  | crnCommand.setDestinationPosY(wrkMastSplitTwin.getEndBay().shortValue());     // 目标库位列 | 
|---|
|  |  |  | crnCommand.setDestinationPosZ(wrkMastSplitTwin.getEndLev().shortValue());     // 目标库位层 | 
|---|
|  |  |  | if (!MessageQueue.offer(SlaveType.Crn, wrkMastSplitTwin.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) { | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMastSplitTwin.getCrnNo(), JSON.toJSON(crnCommand)); | 
|---|
|  |  |  | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMastSplitTwin.getCrnNo(), JSON.toJSONString(crnCommand)); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | 
|---|
|  |  |  | if (!Cools.isEmpty(wrkMastExecute)){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | log.error("Jar任务创建  初始===>行={}",4484); | 
|---|
|  |  |  | if (jarMastGenerateExecute(jarSlave,wrkMast,jarLocDigit,staStn.getStaNo())){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error(jarSlave.getId()+"号小车复位线程报错!"+e); | 
|---|
|  |  |  | log.error(jarSlave.getId()+"号硫化罐Jar任务创建异常!"+e); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 | 
|---|
|  |  |  | && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0){ | 
|---|
|  |  |  | if (jarProtocol.statusType == JarStatusType.IDLE || jarProtocol.statusType == JarStatusType.MOVING){ | 
|---|
|  |  |  | log.error("Jar任务创建===》执行===>行={}",4537); | 
|---|
|  |  |  | BasJarMast basJarMast = new BasJarMast(basJar, wrkMast, jarLocDigit); | 
|---|
|  |  |  | basJarMast.setJarEnterStaNo(staNo);//入硫化罐站点 | 
|---|
|  |  |  | basJarMastService.insert(basJarMast); | 
|---|
|  |  |  | 
|---|
|  |  |  | wrkMastExecuteSou.setWrkType(1); | 
|---|
|  |  |  | List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou); | 
|---|
|  |  |  | for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){ | 
|---|
|  |  |  | log.error("Jar任务完成===>行={}",4564); | 
|---|
|  |  |  | BasJarMast jarMastByWrkNo = basJarMastService.getJarMastByWrkNo(wrkMastExecute.getWrkNo()); | 
|---|
|  |  |  | jarMastByWrkNo.setStatus(jarMastByWrkNo.getStatusComplete()); | 
|---|
|  |  |  | if (!basJarMastService.updateById(jarMastByWrkNo)){ | 
|---|
|  |  |  | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | BasJarMast jarMastByJarIdMin = basJarMastService.getJarMastByJarIdMax(jarSlave.getId(),8,8); | 
|---|
|  |  |  | BasJarMast jarMastByJarIdMin = basJarMastService.getJarMastByJarIdMin(jarSlave.getId(),8,8); | 
|---|
|  |  |  | if (Cools.isEmpty(jarMastByJarIdMin)){ | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //门作业  无 | 
|---|
|  |  |  | if (jarProtocol.isAutoing() && jarProtocol.statusType == JarStatusType.WAITING4 && jarProtocol.jarErr==0 | 
|---|
|  |  |  | && !jarProtocol.isLeftDoor() && jarProtocol.isRightDoor() | 
|---|
|  |  |  | //                if (jarProtocol.isAutoing() && jarProtocol.statusType == JarStatusType.WAITING4 && jarProtocol.jarErr==0 | 
|---|
|  |  |  | if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 | 
|---|
|  |  |  | && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor() | 
|---|
|  |  |  | && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0){ | 
|---|
|  |  |  | //关进料门 | 
|---|
|  |  |  | if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByJarIdMin,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),3,1})){ | 
|---|
|  |  |  | //入冷却槽 | 
|---|
|  |  |  | if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByJarIdMin,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),6,1})){ | 
|---|
|  |  |  | log.error("JarWrkMastExecute任务创建===>执行异常===》异常数据:BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByJarIdMin)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | jarMastByJarIdMin.setStatus(jarMastByJarIdMin.getStatusComplete()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!basJarMastService.updateById(jarMastByJarIdMin)){ | 
|---|
|  |  |  | log.error("JarWrkMastExecute任务创建===>jarMastByJarIdMin更新失败===》异常数据:BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByJarIdMin)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, null,0); | 
|---|
|  |  |  | for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){ | 
|---|
|  |  |  | if (wrkMastExecute.getWrkSts()!=0){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /* | 
|---|
|  |  |  | * 任务类型 0: 未知 | 
|---|
|  |  |  | * 1: 开进料门  2: 关进料门  3: 开出料门  4: 关出料门 | 
|---|
|  |  |  | 
|---|
|  |  |  | * 9: 出冷却槽 | 
|---|
|  |  |  | * 10:A=>B 11:B=>A | 
|---|
|  |  |  | * */ | 
|---|
|  |  |  | log.error("JarWrkMastExecute任务创建==>下发===>行={}",5326); | 
|---|
|  |  |  | switch (wrkMastExecute.getIoType()){ | 
|---|
|  |  |  | case 1://1: 开进料门 | 
|---|
|  |  |  | case 3://3: 开出料门 | 
|---|
|  |  |  | 
|---|
|  |  |  | public synchronized boolean jarWrkMastExecuteActionExecute1(WrkMastExecute wrkMastExecute,Integer sign) { | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId()); | 
|---|
|  |  |  | if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){ | 
|---|
|  |  |  | if (wrkMastExecuteByJarNo.size()!=1 | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getIoType().equals(wrkMastExecute.getIoType()) | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getWrkSts().equals(wrkMastExecute.getWrkSts()) | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo()) ){ | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取硫化罐信息 | 
|---|
|  |  |  | JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, wrkMastExecute.getJarId()); | 
|---|
|  |  |  | JarProtocol jarProtocol = jarThread.getJarProtocol(); | 
|---|
|  |  |  | 
|---|
|  |  |  | //移走  == > 2 | 
|---|
|  |  |  | if (!jarRgvMoveTake(wrkMastExecute,2)){ | 
|---|
|  |  |  | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | //自动、空闲、  进料们关闭需打开 | 
|---|
|  |  |  | if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 | 
|---|
|  |  |  | && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0){ | 
|---|
|  |  |  | log.error("1、3开进料门==>任务下发===>行={}",5546); | 
|---|
|  |  |  | if (!jarProtocol.isLeftDoor() && !jarProtocol.isRightDoor()){ | 
|---|
|  |  |  | if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){ | 
|---|
|  |  |  | //移走  == > 2 | 
|---|
|  |  |  | if (!jarRgvMoveTake(wrkMastExecute,2)){ | 
|---|
|  |  |  | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | //直接开门/关门 | 
|---|
|  |  |  | if (!jarDoorTake(wrkMastExecute,JarTaskModeType.OPEN_THE_DOOR)){ | 
|---|
|  |  |  | log.error("硫化罐Jar命令下发失败,jar号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | wrkMastExecute.setWrkType(1); | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(3); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("硫化罐Jar命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else if (jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()){ | 
|---|
|  |  |  | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(4); | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("硫化罐Jar命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | public synchronized boolean jarWrkMastExecuteActionExecute2(WrkMastExecute wrkMastExecute,Integer sign) { | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId()); | 
|---|
|  |  |  | if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){ | 
|---|
|  |  |  | if (wrkMastExecuteByJarNo.size()!=1 | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getIoType().equals(wrkMastExecute.getIoType()) | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getWrkSts().equals(wrkMastExecute.getWrkSts()) | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo()) ){ | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | //移走  == > 2 | 
|---|
|  |  |  | if (!jarRgvMoveTake(wrkMastExecute,2)){ | 
|---|
|  |  |  | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | //自动、空闲、  进料们打开需关闭 | 
|---|
|  |  |  | if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 | 
|---|
|  |  |  | && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0){ | 
|---|
|  |  |  | log.error("2、4:关门==>任务下发===>行={}",5667); | 
|---|
|  |  |  | if (jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()){ | 
|---|
|  |  |  | if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){ | 
|---|
|  |  |  | //移走  == > 2 | 
|---|
|  |  |  | if (!jarRgvMoveTake(wrkMastExecute,2)){ | 
|---|
|  |  |  | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | //直接关门 | 
|---|
|  |  |  | if (!jarDoorTake(wrkMastExecute,JarTaskModeType.CLOSE_THE_DOOR)){ | 
|---|
|  |  |  | log.error("硫化罐Jar命令下发失败,jar号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | wrkMastExecute.setWrkType(1); | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(3); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("硫化罐Jar命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (!jarProtocol.isLeftDoor() && !jarProtocol.isRightDoor()){ | 
|---|
|  |  |  | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(4); | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("硫化罐Jar命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | 
|---|
|  |  |  | public synchronized boolean jarWrkMastExecuteActionExecute5(WrkMastExecute wrkMastExecute,Integer sign) { | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId()); | 
|---|
|  |  |  | if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){ | 
|---|
|  |  |  | if (wrkMastExecuteByJarNo.size()!=1 | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getIoType().equals(wrkMastExecute.getIoType()) | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getWrkSts().equals(wrkMastExecute.getWrkSts()) | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo()) ){ | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | //移走  == > 2 | 
|---|
|  |  |  | if (!jarRgvMoveTake(wrkMastExecute,2)){ | 
|---|
|  |  |  | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(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){ | 
|---|
|  |  |  | //判断小车状态 | 
|---|
|  |  |  | log.error("5:入硫化罐==>任务下发===>行={}",5667); | 
|---|
|  |  |  | //判断小车状态  //入硫化罐小车可临时屏蔽 | 
|---|
|  |  |  | if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){ | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | ,SteAndJarUtil.getRgvStaRow(wrkMastExecute.getJarEnterStaNo())==1 | 
|---|
|  |  |  | ,SteAndJarUtil.getRgvStaRow(wrkMastExecute.getJarEnterStaNo())==3)){ | 
|---|
|  |  |  | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | wrkMastExecute.setWrkType(1); | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(3); | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("硫化罐Jar命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | //调车  == > endRow | 
|---|
|  |  |  | if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){ | 
|---|
|  |  |  | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public synchronized boolean jarWrkMastExecuteActionExecute5Three(WrkMastExecute wrkMastExecute,Integer sign) { | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId()); | 
|---|
|  |  |  | List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecute); | 
|---|
|  |  |  | if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){ | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //            if (staProtocolRGV.rgvBoolean(2) && staProtocolRGVOther.rgvBoolean(1)){ | 
|---|
|  |  |  | if (staProtocolRGV.rgvBoolean(2)){ | 
|---|
|  |  |  | if (staProtocolRGV.rgvBoolean(2) && staProtocolRGVOther.rgvBoolean(1)){//临时 | 
|---|
|  |  |  | //            if (staProtocolRGV.rgvBoolean(2)){ | 
|---|
|  |  |  | if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){ | 
|---|
|  |  |  | //移走  == > 2 | 
|---|
|  |  |  | if (!jarRgvMoveTake(wrkMastExecute,2)){ | 
|---|
|  |  |  | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(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){ | 
|---|
|  |  |  | log.error("io_type==>5:入硫化罐  :  wrkSts  ==>4:rgv取货完成==>任务下发===>行={}",5898); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){ | 
|---|
|  |  |  | //判断小车状态 | 
|---|
|  |  |  | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //调车  == > 取货 | 
|---|
|  |  |  | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT22.id,SteTaskModeType.STE_WFFH_13,false)){ | 
|---|
|  |  |  | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT22.id,SteTaskModeType.STE_WFFH_13,false,wrkMastExecute.getJarId())){ | 
|---|
|  |  |  | log.error("穿梭板Ste命令下发失败,ste号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | wrkMastExecute.setWrkType(1); | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(5); | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("硫化罐Jar命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | //调车  == > endRow | 
|---|
|  |  |  | if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){ | 
|---|
|  |  |  | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | 
|---|
|  |  |  | public synchronized boolean jarWrkMastExecuteActionExecute6(WrkMastExecute wrkMastExecute,Integer sign) { | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId()); | 
|---|
|  |  |  | if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){ | 
|---|
|  |  |  | if (wrkMastExecuteByJarNo.size()!=1 | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getIoType().equals(wrkMastExecute.getIoType()) | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getWrkSts().equals(wrkMastExecute.getWrkSts()) | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo()) ){ | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){ | 
|---|
|  |  |  | 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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(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){ | 
|---|
|  |  |  | log.error("6:入冷却槽==>任务下发===>行={}",6002); | 
|---|
|  |  |  | //判断小车状态 | 
|---|
|  |  |  | if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){ | 
|---|
|  |  |  | if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){ | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //调车  == > 取货 | 
|---|
|  |  |  | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT21.id,SteTaskModeType.STE_WFQH_12,false)){ | 
|---|
|  |  |  | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT21.id,SteTaskModeType.STE_WFQH_12,false,wrkMastExecute.getJarId())){ | 
|---|
|  |  |  | log.error("穿梭板Ste命令下发失败,ste号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | wrkMastExecute.setWrkType(1); | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(3); | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("硫化罐Jar命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | //调车  == > endRow | 
|---|
|  |  |  | if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){ | 
|---|
|  |  |  | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public synchronized boolean jarWrkMastExecuteActionExecute6Three(WrkMastExecute wrkMastExecute,Integer sign) { | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId()); | 
|---|
|  |  |  | List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecute); | 
|---|
|  |  |  | if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){ | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){ | 
|---|
|  |  |  | 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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(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){ | 
|---|
|  |  |  | log.error("6:入冷却槽 Three==>任务下发===>行={}",6115); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){ | 
|---|
|  |  |  | //判断小车状态 | 
|---|
|  |  |  | if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){ | 
|---|
|  |  |  | if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){ | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //调车  == > 取货 | 
|---|
|  |  |  | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT21.id,SteTaskModeType.STE_WFQH_12,false)){ | 
|---|
|  |  |  | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT25.id,SteTaskModeType.STE_WFFH_13,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){ | 
|---|
|  |  |  | log.error("穿梭板Ste命令下发失败,ste号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | wrkMastExecute.setWrkType(1); | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(3); | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(5); | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("硫化罐Jar命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | //调车  == > endRow | 
|---|
|  |  |  | if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){ | 
|---|
|  |  |  | if (!jarRgvMoveTake(wrkMastExecute,1)){ | 
|---|
|  |  |  | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | //移走  == > 2 | 
|---|
|  |  |  | if (!jarRgvMoveTake(wrkMastExecute,2)){ | 
|---|
|  |  |  | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0 | 
|---|
|  |  |  | && jarProtocolOther.isLeftDoor() && jarProtocolOther.isRightDoor() | 
|---|
|  |  |  | ){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | log.error("7:穿梭车进冷却槽   7  B=>C//8:穿梭车离开冷却槽  8 C=>B Three==>任务下发===>行={}",6245); | 
|---|
|  |  |  | if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocolOther.getJarNo())){ | 
|---|
|  |  |  | //判断小车状态 | 
|---|
|  |  |  | if (wrkMastExecute.getIoType()==7){  //7  B=>C | 
|---|
|  |  |  | if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){ | 
|---|
|  |  |  | //调车  == > 移动 | 
|---|
|  |  |  | if (jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_MOVE_14,false)){ | 
|---|
|  |  |  | if (jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_MOVE_14,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){ | 
|---|
|  |  |  | log.error("穿梭板Ste命令下发失败,ste号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){ | 
|---|
|  |  |  | wrkMastExecute.setWrkType(1); | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(4); | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("穿梭板Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { //8 C=>B | 
|---|
|  |  |  | if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){ | 
|---|
|  |  |  | //调车  == > 移动 | 
|---|
|  |  |  | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT23.id,SteTaskModeType.STE_MOVE_14,false)){ | 
|---|
|  |  |  | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT23.id,SteTaskModeType.STE_MOVE_14,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){ | 
|---|
|  |  |  | log.error("穿梭板Ste命令下发失败,ste号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){ | 
|---|
|  |  |  | wrkMastExecute.setWrkType(1); | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(4); | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("穿梭板Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | //调车  == > endRow | 
|---|
|  |  |  | if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){ | 
|---|
|  |  |  | log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | 
|---|
|  |  |  | public synchronized boolean jarWrkMastExecuteActionExecute9(WrkMastExecute wrkMastExecute,Integer sign) { | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId()); | 
|---|
|  |  |  | if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){ | 
|---|
|  |  |  | if (wrkMastExecuteByJarNo.size()!=1 | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getIoType().equals(wrkMastExecute.getIoType()) | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getWrkSts().equals(wrkMastExecute.getWrkSts()) | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo()) ){ | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | //                    //移走  == > 2 | 
|---|
|  |  |  | //                    if (jarRgvTake(wrkMastExecute,2)){ | 
|---|
|  |  |  | //                        log.error("平衡车RGV命令下发失败,rgv号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | //                                wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | //                                wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); | 
|---|
|  |  |  | //                    } | 
|---|
|  |  |  | //                    return true; | 
|---|
|  |  |  | //                } | 
|---|
|  |  |  | 
|---|
|  |  |  | //                ){ | 
|---|
|  |  |  | //判断小车状态 | 
|---|
|  |  |  | if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){ | 
|---|
|  |  |  | log.error("9:出冷却槽==>任务下发===>行={}",6410); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //调车  == > 取货 | 
|---|
|  |  |  | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT24.id,SteTaskModeType.STE_WFQH_12,false)){ | 
|---|
|  |  |  | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT24.id,SteTaskModeType.STE_WFQH_12,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){ | 
|---|
|  |  |  | log.error("穿梭板Ste命令下发失败,ste号={},任务数据={},冷却槽数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(basJar),sign); | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(basJar),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | wrkMastExecute.setWrkType(1); | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(1); | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("穿梭板Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},冷却槽数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(basJar),sign); | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(basJar),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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())){ | 
|---|
|  |  |  | if (wrkMastExecuteByJarNo.size()!=1 | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getIoType().equals(wrkMastExecute.getIoType()) | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getWrkSts().equals(wrkMastExecute.getWrkSts()) | 
|---|
|  |  |  | || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo()) ){ | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //判断STE小车状态 | 
|---|
|  |  |  | if (jarWrkMastExecuteGenerateSteStatus(wrkMastExecute.getSteId(),3,SteStatusType.IDLE)){ | 
|---|
|  |  |  | log.error("9:出冷却槽Two==>任务下发===>行={}",6468); | 
|---|
|  |  |  | // 下发站点信息 | 
|---|
|  |  |  | staProtocol.setWorkNo(wrkMastExecute.getWrkNo().intValue()); | 
|---|
|  |  |  | staProtocol.setStaNo(staProtocol.getStaNo()); | 
|---|
|  |  |  | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(3); | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("输送线出库目标站命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},放货站点数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(staProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(staProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){ | 
|---|
|  |  |  | if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){ //临时 | 
|---|
|  |  |  | //            if ( staProtocolRGVOther.rgvBoolean(1)){ | 
|---|
|  |  |  | if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){ | 
|---|
|  |  |  | //移走  == > 2 | 
|---|
|  |  |  | if (!jarRgvMoveTake(wrkMastExecute,2)){ | 
|---|
|  |  |  | 
|---|
|  |  |  | 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)){ | 
|---|
|  |  |  | //调车  == > 移动 | 
|---|
|  |  |  | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT23.id,SteTaskModeType.STE_MOVE_14,false)){ | 
|---|
|  |  |  | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT23.id,SteTaskModeType.STE_MOVE_14,false,wrkMastExecute.getJarId())){ | 
|---|
|  |  |  | log.error("穿梭板Ste命令下发失败,ste号={},任务数据={},硫化罐数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } else {//11:B=>A | 
|---|
|  |  |  | if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){ | 
|---|
|  |  |  | //调车  == > 移动 | 
|---|
|  |  |  | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT20.id,SteTaskModeType.STE_MOVE_14,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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | /* | 
|---|
|  |  |  | * Ste  动作 | 
|---|
|  |  |  | * */ | 
|---|
|  |  |  | public synchronized boolean jarSteTake(WrkMastExecute wrkMastExecute,Integer startLoad,Integer endLoad,SteTaskModeType steTaskModeType,boolean complete){ | 
|---|
|  |  |  | public synchronized boolean jarSteTake(WrkMastExecute wrkMastExecute,Integer startLoad,Integer endLoad,SteTaskModeType steTaskModeType,boolean complete,Integer siteId){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | SteCommand steCommand = new SteCommand(); | 
|---|
|  |  |  | steCommand.setTaskNo(wrkMastExecute.getWrkNo().intValue()); | 
|---|
|  |  |  | 
|---|
|  |  |  | if (!complete){ | 
|---|
|  |  |  | steCommand.setTaskMode(steTaskModeType.id.shortValue()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | steCommand.setJarNo(wrkMastExecute.getJarId().shortValue()); | 
|---|
|  |  |  | steCommand.setJarNo(siteId.shortValue()); | 
|---|
|  |  |  | if (!MessageQueue.offer(SlaveType.Ste, steCommand.getSteNo(), new Task(2, steCommand))) { | 
|---|
|  |  |  | log.error("穿梭车Ste命令下发失败,堆垛机号={},任务数据={},下发数据={},complete={}", steCommand.getSteNo(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steCommand),complete); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("小车复位线程报错!"+e); | 
|---|
|  |  |  | log.error("JarWrkMastExecute任务完成报错!"+e); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | //ste任务等待完成 | 
|---|
|  |  |  | if (steProtocol.statusType.equals(SteStatusType.WAITING2)){ | 
|---|
|  |  |  | //ste任务完成 | 
|---|
|  |  |  | if (jarSteTake(wrkMastExecute,null,null,null,true)){ | 
|---|
|  |  |  | if (jarSteTake(wrkMastExecute,null,null,null,true,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){ | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(4); | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("穿梭车Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},穿梭车数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSON(steProtocol),sign); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | log.error("穿梭车Ste命令下发失败===>下发异常,jar号={},任务数据={},穿梭车数据={},sign={}", | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign); | 
|---|
|  |  |  | wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(steProtocol),sign); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | case 5: | 
|---|
|  |  |  | 
|---|
|  |  |  | //ste任务完成 | 
|---|
|  |  |  | if (steProtocol.statusType.equals(SteStatusType.WAITING)){ | 
|---|
|  |  |  | //ste任务完成 | 
|---|
|  |  |  | if (jarSteTake(wrkMastExecute,null,null,null,true)){ | 
|---|
|  |  |  | if (jarSteTake(wrkMastExecute,null,null,null,true,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){ | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(6); | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("穿梭车Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},穿梭车数据={},sign={}", | 
|---|
|  |  |  | 
|---|
|  |  |  | //ste任务完成 | 
|---|
|  |  |  | if (steProtocol.statusType.equals(SteStatusType.WAITING)){ | 
|---|
|  |  |  | //ste任务完成 | 
|---|
|  |  |  | if (jarSteTake(wrkMastExecute,null,null,null,true)){ | 
|---|
|  |  |  | if (jarSteTake(wrkMastExecute,null,null,null,true,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){ | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(4); | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("穿梭车Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},穿梭车数据={},sign={}", | 
|---|
|  |  |  | 
|---|
|  |  |  | //ste任务完成 | 
|---|
|  |  |  | if (steProtocol.statusType.equals(SteStatusType.WAITING)){ | 
|---|
|  |  |  | //ste任务完成 | 
|---|
|  |  |  | if (jarSteTake(wrkMastExecute,null,null,null,true)){ | 
|---|
|  |  |  | if (jarSteTake(wrkMastExecute,null,null,null,true,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){ | 
|---|
|  |  |  | wrkMastExecute.setWrkSts(2); | 
|---|
|  |  |  | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ | 
|---|
|  |  |  | log.error("穿梭车Ste命令下发失败===>更新wrkMastExecute失败,jar号={},任务数据={},穿梭车数据={},sign={}", | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("小车复位线程报错!"+e); | 
|---|
|  |  |  | log.error("JarWrkMastExecute任务完成 ===>Ste报错!"+e); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("小车复位线程报错!"+e); | 
|---|
|  |  |  | log.error("//硫化完成 修改任务状态  报错!"+e); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("小车复位线程报错!"+e); | 
|---|
|  |  |  | log.error("JarWrkMastExecute任务完成 ===>RGV移动!异常"+e); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("小车复位线程报错!"+e); | 
|---|
|  |  |  | log.error(" JarWrkMastExecute任务完成 ===>RGV取货  异常!"+e); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|