|  |  | 
 |  |  |                                     steThread.setResetFlag(true); | 
 |  |  |                                 } | 
 |  |  |                             } else if (wrkCharge.getWrkSts() == 25) { | 
 |  |  |                                 // 25.小车行驶 ===>> 26.等待充电 | 
 |  |  |                                 // 25.小车去充电 ===>> 26.等待充电 | 
 |  |  |                                 wrkCharge.setWrkSts(26L); | 
 |  |  |                                 if (!wrkChargeService.updateById(wrkCharge)) { | 
 |  |  |                                     log.error("修改充电任务状态 25.小车行驶 ===>> 26.等待充电 失败!!,工作号={}", wrkCharge.getWrkNo()); | 
 |  |  |                                     log.error("修改充电任务状态 25.小车去充电 ===>> 26.等待充电 失败!!,工作号={}", wrkCharge.getWrkNo()); | 
 |  |  |                                 } else { | 
 |  |  |                                     steThread.setResetFlag(true); | 
 |  |  |                                 } | 
 |  |  |                             } else if (wrkCharge.getWrkSts() == 27) { | 
 |  |  |                                 // 给输送线下发充电任务 | 
 |  |  |                                 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); | 
 |  |  |                                 SteChargeType steChargeType = SteChargeType.get(wrkCharge.getLocNo()); | 
 |  |  |                                 if (null != steChargeType) { | 
 |  |  |                                     if (devpThread.charge(steChargeType.ssbm - 1, true)) { | 
 |  |  |                                         // 修改工作档状态 27.输送线上电 ===> 28.完成充电 | 
 |  |  |                                         wrkCharge.setWrkSts(28L); | 
 |  |  |                                         if (!wrkChargeService.updateById(wrkCharge)) { | 
 |  |  |                                             log.error("修改充电任务状态 27.输送线上电 ===> 28.完成充电 失败!!,工作号={}", wrkCharge.getWrkNo()); | 
 |  |  |                                         } else { | 
 |  |  |                                             steThread.setResetFlag(true); | 
 |  |  |                                         } | 
 |  |  |                                     } | 
 |  |  |                                 } else { | 
 |  |  |                                     log.error("获取充电桩号失败,解析库位:{}", wrkCharge.getLocNo()); | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  | 
 |  |  |                 if (steProtocol.getMode() == 0 | 
 |  |  |                         || !steProtocol.statusType.equals(SteStatusType.IDLE) | 
 |  |  |                         || basSte.getPakMk().equals("Y") | 
 |  |  |                         || steProtocol.getChargeStatus() == 1) { | 
 |  |  | //                        || steProtocol.getChargeStatus() == 1 | 
 |  |  |                 ) { | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |                 if (!steProtocol.isEnable()) { | 
 |  |  | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                 } else { | 
 |  |  |                     // filter | 
 |  |  |                     if (wrkCharge.getWrkSts() < 26 && steProtocol.getChargeStatus() == 1) { | 
 |  |  |                         continue; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     // 22.小车待搬 | 
 |  |  |                     if (wrkCharge.getWrkSts() == 22) { | 
 |  |  |                         // 搬小车至充电库位 | 
 |  |  | 
 |  |  |                     } else if (wrkCharge.getWrkSts() == 24L) { | 
 |  |  |                         // 小车行驶至充电位 | 
 |  |  |                         if (steProtocol.statusType.equals(SteStatusType.IDLE) && steProtocol.getPakMk().equals("N")) { | 
 |  |  |                             if (steProtocol.getChargeStatus() == 1) { continue; } | 
 |  |  |                             // 命令下发区 -------------------------------------------------------------------------- | 
 |  |  |                             SteCommand steCommand = new SteCommand(); | 
 |  |  |                             steCommand.setSteNo(wrkCharge.getSteNo()); // 穿梭车编号 | 
 |  |  | 
 |  |  |                             if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) { | 
 |  |  |                                 log.error("穿梭车命令下发失败,穿梭车号={},任务数据={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand)); | 
 |  |  |                             } else { | 
 |  |  |                                 // 修改工作档状态 24.小车到达 ===> 25.小车行驶 | 
 |  |  |                                 // 修改工作档状态 24.小车到达 ===> 25.小车去充电 | 
 |  |  |                                 wrkCharge.setWrkSts(25L); | 
 |  |  |                                 Date now = new Date(); | 
 |  |  |                                 wrkCharge.setCrnEndTime(now); | 
 |  |  |                                 wrkCharge.setModiTime(now); | 
 |  |  |                                 if (!wrkChargeService.updateById(wrkCharge)) { | 
 |  |  |                                     log.error("修改充电任务状态 24.小车到达 ===> 25.小车行驶 失败!!,工作号={}", wrkCharge.getWrkNo()); | 
 |  |  |                                     log.error("修改充电任务状态 24.小车到达 ===> 25.小车去充电 失败!!,工作号={}", wrkCharge.getWrkNo()); | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                     } else if (wrkCharge.getWrkSts() == 26) { | 
 |  |  |                         if (steProtocol.getChargeStatus() == 1) { continue; } | 
 |  |  |                         // 穿梭车充电命令下发区 -------------------------------------------------------------------------- | 
 |  |  |                         SteCommand steCommand = new SteCommand(); | 
 |  |  |                         steCommand.setSteNo(wrkCharge.getSteNo()); // 穿梭车编号 | 
 |  |  |                         steCommand.setTaskNo(wrkCharge.getWrkNo()); // 工作号 | 
 |  |  |                         steCommand.setTaskMode(SteTaskModeType.CHARGE); | 
 |  |  |                         if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) { | 
 |  |  |                             log.error("穿梭车命令下发失败,穿梭车号={},任务数据={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand)); | 
 |  |  |                         } else { | 
 |  |  |                             // 修改工作档状态  26.等待充电 ===> 27.输送线上电 | 
 |  |  |                             wrkCharge.setWrkSts(27L); | 
 |  |  |                             wrkCharge.setModiTime(new Date()); | 
 |  |  |                             if (!wrkChargeService.updateById(wrkCharge)) { | 
 |  |  |                                 log.error("修改充电任务状态 26.等待充电 ===> 27.输送线上电 失败!!,工作号={}", wrkCharge.getWrkNo()); | 
 |  |  |                         if (steProtocol.getChargeStatus() == 0) { continue; } | 
 |  |  |                         // 给输送线下发充电任务 | 
 |  |  |                         SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); | 
 |  |  |                         SteChargeType steChargeType = SteChargeType.get(wrkCharge.getLocNo()); | 
 |  |  |                         if (null != steChargeType) { | 
 |  |  |                             if (devpThread.charge(steChargeType.ssbm - 1, true)) { | 
 |  |  |                                 // 修改工作档状态 26.等待充电 ===> 28.完成充电 | 
 |  |  |                                 wrkCharge.setWrkSts(28L); | 
 |  |  |                                 if (!wrkChargeService.updateById(wrkCharge)) { | 
 |  |  |                                     log.error("修改充电任务状态 26.等待充电 ===> 28.完成充电 失败!!,工作号={}", wrkCharge.getWrkNo()); | 
 |  |  |                                 } else { | 
 |  |  |                                     steThread.setResetFlag(true); | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         } else { | 
 |  |  |                             log.error("获取充电桩号失败,解析库位:{}", wrkCharge.getLocNo()); | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } |