1
3 天以前 b69d8253dbf8b29bca1ac5f6cf1f305e5e188f0a
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -122,7 +122,7 @@
    public synchronized void missionTaskEXECUTE() {
        try{
            List<FlowStepInstance> flowStepInstanceList = flowStepInstanceService.list(new LambdaQueryWrapper<FlowStepInstance>()
                    .eq(FlowStepInstance::getStatus, 1).in(FlowStepInstance::getStepType,MissionStepType.getTaskISSUE()));
                    .eq(FlowStepInstance::getStatus,  (short) 1).in(FlowStepInstance::getStepType,MissionStepType.getTaskISSUE()));
            for (FlowStepInstance flowStepInstance : flowStepInstanceList) {
                FlowInstance flowInstance = flowInstanceService.getById(flowStepInstance.getFlowInstanceId());
                if (Cools.isEmpty(flowInstance)) { continue;}
@@ -201,7 +201,7 @@
                                    flowStepInstanceService.updateById(flowStepInstance);
                                    log.error("任务下发失败,源点未查询到目标点未查询到,等待重试....");
                                }
                                return;
                                continue;
                            } else {
                                missionTaskIssueParam.setSourceCode(basStation.getStationName());
                            }
@@ -226,7 +226,7 @@
                                flowStepInstanceService.updateById(flowStepInstance);
                                log.error("任务下发失败,源点未查询到目标点未查询到,等待重试....");
                            }
                            return;
                            continue;
                        } else {
                            missionTaskIssueParam.setSourceCode(basStation.getStationName());
                        }
@@ -252,7 +252,7 @@
                                    flowStepInstanceService.updateById(flowStepInstance);
                                    log.error("任务下发失败,目标点未查询到,等待重试....");
                                }
                                return;
                                continue;
                            } else {
                                missionTaskIssueParam.setTargetCode(basStation.getStationName());
                            }
@@ -278,7 +278,7 @@
                                flowStepInstanceService.updateById(flowStepInstance);
                                log.error("任务下发失败,目标点未查询到,等待重试....");
                            }
                            return;
                            continue;
                        } else {
                            missionTaskIssueParam.setTargetCode(basStation.getStationName());
                        }
@@ -454,14 +454,38 @@
                        || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type)
                        || task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
                    task.setTaskStatus(TaskStsType.COMPLETE_IN.id);
                } else if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type)
                        || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)
                } else if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type)){
                    if (task.getResource().equals(TaskResouceType.TASK_RESOUCE_WAVE_TYPE.val)){
                        task.setTaskStatus(TaskStsType.AWAIT.id);
                    } else {
                        task.setTaskStatus(TaskStsType.COMPLETE_OUT.id);
                    }
                    BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, task.getTargSite()));
                    basStation.setUseStatus(LocStsType.LOC_STS_TYPE_F.type);
                    basStation.setBarcode(task.getBarcode());
                    basStationService.updateById(basStation);
                } else if (task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)
                        || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_OUT.type)
                        || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)) {
                    task.setTaskStatus(TaskStsType.AWAIT.id);
                } else if ( task.getTaskType().equals(TaskType.TASK_TYPE_CROSS_DOCKING_OUT.type)
                        || task.getTaskType().equals(TaskType.TASK_TYPE_EMPTY_OUT.type)) {//备货
                    if ((!Cools.isEmpty(task.getResource()) && task.getResource().equals(TaskResouceType.TASK_RESOUCE_WAVE_TYPE.val))
                            // 盘点出库先到 196(非波次)
                            ||task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)
                    ) {
                        task.setTaskStatus(TaskStsType.AWAIT.id);
                    } else {
                        task.setTaskStatus(TaskStsType.WAVE_SEED.id);
                    }
                } else if (task.getTaskType().equals(TaskType.TASK_TYPE_CROSS_DOCKING_OUT.type)){//备货
                    task.setTaskStatus(TaskStsType.COMPLETE_OUT.id);
                } else if (task.getTaskType().equals(TaskType.TASK_TYPE_EMPTY_OUT.type)){
                    task.setTaskStatus(TaskStsType.COMPLETE_OUT.id);
                    BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, task.getTargSite()));
                    basStation.setUseStatus(LocStsType.LOC_STS_TYPE_F.type);
                    basStation.setBarcode(task.getBarcode());
                    basStationService.updateById(basStation);
                } else {
                    log.error(task.getTaskCode()+":任务无法完成");
                    continue;
                }
                taskService.updateById(task);
            }
@@ -484,7 +508,7 @@
//    @Scheduled(cron = "0/3 * * * * ?")
    public void completeInStock() throws Exception {
        try{
            List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id).select(Task::getId));
            List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().select(Task::getId).eq(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id));
            if (tasks.isEmpty()) {
                return;
            }
@@ -820,7 +844,9 @@
//                if (!station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_F.type)) {
//                    throw new CoolException( "当前站点不是F.在库状态状态!!");
//                }
                station.setUseStatus(LocStsType.LOC_STS_TYPE_R.type);
                if (!station.getType().equals(0)){
                    station.setUseStatus(LocStsType.LOC_STS_TYPE_R.type);
                }
                if (!basStationService.updateById(station)) {
                    throw new CoolException("站点状态更新失败!!");
                }
@@ -828,7 +854,9 @@
                if (!station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
                    throw new CoolException("目标站点不处O.空闲状态,无法预约出库。");
                }
                station.setUseStatus(LocStsType.LOC_STS_TYPE_S.type);
                if (!station.getType().equals(0)){
                    station.setUseStatus(LocStsType.LOC_STS_TYPE_S.type);
                }
                if (!basStationService.updateById(station)) {
                    throw new CoolException("站点状态更新失败!!");
                }
@@ -914,7 +942,9 @@
                        if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
                            /**如果是普通站点,修改站点状态为出库预约*/
                            if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) {
                                station.setUseStatus(LocStsType.LOC_STS_TYPE_R.type);
                                if (!station.getType().equals(0)){
                                    station.setUseStatus(LocStsType.LOC_STS_TYPE_R.type);
                                }
                                if (!basStationService.updateById(station)) {
                                    throw new CoolException("站点预约失败!!");
                                }
@@ -931,7 +961,9 @@
                        }
                        /**如果是普通站点,修改站点状态为入库预约*/
                        if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) {
                            station.setUseStatus(LocStsType.LOC_STS_TYPE_S.type);
                            if (!station.getType().equals(0)){
                                station.setUseStatus(LocStsType.LOC_STS_TYPE_S.type);
                            }
                            if (!basStationService.updateById(station)) {
                                throw new CoolException("站点预约失败!!");
                            }