|  |  | 
 |  |  | //        } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 非光电站点任务下发 | 
 |  |  |      */ | 
 |  |  |     @Scheduled(cron = "0/5 * * * * ?  ") | 
 |  |  |     @Transactional(rollbackFor = Exception.class) | 
 |  |  |     public void pubTaskToWcs() { | 
 |  |  |         Long loginUserId = SystemAuthUtils.getLoginUserId(); | 
 |  |  |         List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_IN.type, TaskType.TASK_TYPE_OUT.type, TaskType.TASK_TYPE_LOC_MOVE.type, TaskType.TASK_TYPE_EMPITY_IN.type | 
 |  |  |                 , TaskType.TASK_TYPE_CHECK_IN.type, TaskType.TASK_TYPE_MERGE_IN.type, TaskType.TASK_TYPE_EMPITY_OUT.type, | 
 |  |  |                 , TaskType.TASK_TYPE_CHECK_IN.type, TaskType.TASK_TYPE_MERGE_IN.type, TaskType.TASK_TYPE_EMPITY_OUT.type, TaskType.TASK_TYPE_PICK_IN.type, | 
 |  |  |                 TaskType.TASK_TYPE_PICK_AGAIN_OUT.type, TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_MERGE_OUT.type); | 
 |  |  |         List<Integer> integers = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id); | 
 |  |  |         List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>() | 
 |  |  |                 .in(Task::getTaskType, list) | 
 |  |  |                 .in(Task::getTaskStatus, integers) | 
 |  |  |                 .in(Task::getTaskStatus, integers).last("limit 1") | 
 |  |  |                 .orderByDesc(Task::getSort)); | 
 |  |  |         for (Task task : tasks) { | 
 |  |  |             /**移库不做站点操作*/ | 
 |  |  |             if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) { | 
 |  |  |                 BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, | 
 |  |  |                 BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>() | 
 |  |  |                         .eq(BasStation::getStationName, | 
 |  |  |                         task.getTaskStatus().equals(TaskStsType.GENERATE_IN.id) ? task.getOrgSite() : task.getTargSite())); | 
 |  |  |                 if (station.getType().equals(StationTypeEnum.STATION_TYPE_MUTI.type)) { | 
 |  |  |                     continue; | 
 |  |  | 
 |  |  |      * @description: 光电站点任务下发 | 
 |  |  |      * @version 1.0 | 
 |  |  |      */ | 
 |  |  |     @Scheduled(cron = "0/5 * * * * ?  ") | 
 |  |  | //    @Scheduled(cron = "0/5 * * * * ?  ") | 
 |  |  |     @Transactional(rollbackFor = Exception.class) | 
 |  |  |     public void taskToWCS() throws Exception { | 
 |  |  |         Long loginUserId = SystemAuthUtils.getLoginUserId(); | 
 |  |  | 
 |  |  |         //主参数 | 
 |  |  |         taskParams.setBatch(task.getBarcode()); | 
 |  |  |  | 
 |  |  |         BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, task.getTargSite())); | 
 |  |  |         if (Objects.isNull(station)) { | 
 |  |  |             throw new CoolException("站点不存在!!"); | 
 |  |  |  | 
 |  |  |         BasStation station = null; | 
 |  |  |         if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) { | 
 |  |  |              station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, task.getTargSite())); | 
 |  |  |             if (Objects.isNull(station)) { | 
 |  |  |                 throw new CoolException("站点不存在!!"); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         /**判断是否光电站点,非光店站点需管控站点状态*/ | 
 |  |  |         if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) { | 
 |  |  |             if (task.getTaskType() <= TaskType.TASK_TYPE_CHECK_IN.type && task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) { | 
 |  |  |                 if (!station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_F.type)) { | 
 |  |  |                     throw new CoolException("当前站点不是F.在库状态!!"); | 
 |  |  |         if (!Objects.isNull(station) && station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) { | 
 |  |  |             if (task.getTaskType() <= TaskType.TASK_TYPE_CHECK_IN.type && !task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) { | 
 |  |  | //                if (!station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_F.type)) { | 
 |  |  | //                    throw new CoolException( "当前站点不是F.在库状态状态!!"); | 
 |  |  | //                } | 
 |  |  |                 station.setUseStatus(LocStsType.LOC_STS_TYPE_R.type); | 
 |  |  |                 if (!basStationService.updateById(station)) { | 
 |  |  |                     throw new CoolException("站点状态更新失败!!"); | 
 |  |  |                 } | 
 |  |  |             } else if (task.getTaskType() >= TaskType.TASK_TYPE_OUT.type) { | 
 |  |  |                 if (!station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) { | 
 |  |  |                     throw new CoolException("目标站点不是O.空闲状态!!"); | 
 |  |  |                     throw new CoolException("目标站点不处O.空闲状态,无法预约出库。"); | 
 |  |  |                 } | 
 |  |  |                 station.setUseStatus(LocStsType.LOC_STS_TYPE_S.type); | 
 |  |  |                 if (!basStationService.updateById(station)) { | 
 |  |  |                     throw new CoolException("站点状态更新失败!!"); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         /**移库参数*/ | 
 |  |  |         if (task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) { | 
 |  |  |             itemParam.setOriLoc(task.getOrgLoc()).setDestLoc(task.getTargLoc()); |