#
yxFwq
2024-07-15 0d6225bbd37bb56b6a0c76e389ec867e0b64a65b
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -7460,6 +7460,9 @@
                                BasJarMast jarMastByWrkNo = new BasJarMast(basJar);
                                jarMastByWrkNo.setWrkNo(Integer.toUnsignedLong(wrkMastExecute.getWrkNo().intValue()));//工作号
                                jarMastByWrkNo.setJarEnterStaNo(basJar.getEnterRgvNo());
                                jarMastByWrkNo.setEnterStaNo(basJar.getEnterRgvNo());
                                jarMastByWrkNo.setOutStaNo(basJar.getOutRgvNo());
                                //B==>A
                                if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByWrkNo,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),11,1})){
                                    log.error("JarWrkMastExecute任务创建===>执行异常===》异常数据:BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByWrkNo));
@@ -7512,6 +7515,9 @@
                                BasJarMast jarMastByWrkNo = new BasJarMast(basJar);
                                jarMastByWrkNo.setWrkNo(Integer.toUnsignedLong(wrkMastExecute.getWrkNo().intValue()));//工作号
                                jarMastByWrkNo.setJarEnterStaNo(basJar.getEnterRgvNo());
                                jarMastByWrkNo.setEnterStaNo(basJar.getEnterRgvNo());
                                jarMastByWrkNo.setOutStaNo(basJar.getOutRgvNo());
                                //C==>B
                                if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByWrkNo,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),8,1})){
                                    log.error("JarWrkMastExecute任务创建===>执行异常===》异常数据:BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByWrkNo));
@@ -7579,6 +7585,8 @@
                    if (wrkMastExecuteService.selectMoveStart(steSlave.getId())!=0){
                        continue;
                    }
                } else {
                    continue;
                }
                try{
@@ -7590,6 +7598,9 @@
                        int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(7));//充电工作号
                        BasJarMast basJarMast = new BasJarMast(basJar);
                        basJarMast.setWrkNo(Integer.toUnsignedLong(workNo));//工作号
                        basJarMast.setJarEnterStaNo(basJar.getEnterRgvNo());
                        basJarMast.setEnterStaNo(basJar.getEnterRgvNo());
                        basJarMast.setOutStaNo(basJar.getOutRgvNo());
                        if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),100,1})){
                            log.error("JarWrkMastExecute充电任务创建===>执行异常===》异常数据:BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
                        }
@@ -7632,6 +7643,9 @@
                        int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(7));//充电工作号
                        BasJarMast basJarMast = new BasJarMast(basJar);
                        basJarMast.setWrkNo(Integer.toUnsignedLong(workNo));//工作号
                        basJarMast.setJarEnterStaNo(basJar.getEnterRgvNo());
                        basJarMast.setEnterStaNo(basJar.getEnterRgvNo());
                        basJarMast.setOutStaNo(basJar.getOutRgvNo());
                        if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),100,1})){
                            log.error("JarWrkMastExecute充电任务创建===>执行异常===》异常数据:BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
                        }
@@ -7661,27 +7675,41 @@
                if (steProtocol == null || steProtocol.getChargeStatus()!=1) {
                    continue;
                }
                WrkMastExecute wrkMastExecuteByCharge = wrkMastExecuteService.getWrkMastExecuteByCharge(steSlave.getId());
                if (!Cools.isEmpty(wrkMastExecuteByCharge)){
                    continue;
                }
                if (steProtocol.getCharge()>50.0F){
                    if (wrkMastExecuteService.selectNoStart(steSlave.getId())==0){
                if (steProtocol.getCharge()>95.0F || steProtocol.getFullCharge()){
                } else if (steProtocol.getCharge()>50.0F){
                    if (wrkMastExecuteService.selectNoStartCharge(steSlave.getId())==0){
                        if (wrkMastExecuteService.selectMoveStart(steSlave.getId())==0){
                            continue;
                        }
                    }
                } else if (steProtocol.getCharge()>95.0F || steProtocol.getFullCharge()){
                } else {
                    continue;
                }
                WrkMastExecute wrkMastExecuteByCharge = wrkMastExecuteService.getWrkMastExecuteByCharge(steSlave.getId());
                if (Cools.isEmpty(wrkMastExecuteByCharge)){
                    BasJar basJar = basJarMapper.selectById(steSlave.getId()==1? 1:3);
                    int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(7));//充电工作号
                    BasJarMast basJarMast = new BasJarMast(basJar);
                    basJarMast.setWrkNo(Integer.toUnsignedLong(workNo));//工作号
                    basJarMast.setJarEnterStaNo(basJar.getEnterRgvNo());
                    basJarMast.setEnterStaNo(basJar.getEnterRgvNo());
                    basJarMast.setOutStaNo(basJar.getOutRgvNo());
                    wrkMastExecuteByCharge = new WrkMastExecute(basJarMast);
                    wrkMastExecuteByCharge.setJarId(basJar.getJarNo());
                    wrkMastExecuteByCharge.setSteId(steSlave.getId());//穿梭板ID
                    wrkMastExecuteByCharge.setRgvId(basJar.getEnterRgvNo());//RGV ID  enter
                    wrkMastExecuteByCharge.setRgvEndId(basJar.getOutRgvNo());//RGV ID  out
                    wrkMastExecuteByCharge.setIoType(100);//任务类型 0: 未知  1: 开进料门  2: 关进料门  3: 开出料门  4: 关出料门  5: 入硫化罐  6: 入冷却槽  7: 穿梭车进冷却槽  8: 穿梭车离开冷却槽  9: 出冷却槽 10:A=>B 11:B=>A  100:小车充电任务
                    wrkMastExecuteByCharge.setType(1);//设备  0: 未知  1: 硫化罐  2: 冷却槽  3: 硫化罐==>冷却槽
                }
                try{
                    if (jarWrkMastExecuteGenerateSteStatusCharge(steSlave.getId(),1,SteStatusType.MOVING,true)){
                    if (jarWrkMastExecuteGenerateSteStatusCharge(steSlave.getId(),1,SteStatusType.CHARGE,true)){
                        //完成充电任务
                        //调车  == > 断开充电
                        if (!jarSteTake(wrkMastExecuteByCharge,SteLocaType.POINT20.id,SteLocaType.POINT20.id,SteTaskModeType.CLOSE_CHARGE,false,wrkMastExecuteByCharge.getJarId())){
                        if (!jarSteTake(wrkMastExecuteByCharge,SteLocaType.POINT20.id,SteLocaType.POINT20.id,SteTaskModeType.CLOSE_CHARGE,true,wrkMastExecuteByCharge.getJarId())){
                            log.error("穿梭板Ste命令下发失败,ste号={},任务数据={}",
                                    wrkMastExecuteByCharge.getSteId(), JSON.toJSONString(wrkMastExecuteByCharge));
                        }