1
21 小时以前 6e695903059e82c1c376bf2926ffb8b209c0dc3e
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -454,14 +454,37 @@
                        || 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);
                    }
                    String targSite = task.getTargSite();
                    BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, targSite));
                    basStation.setUseStatus("F");
                    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)){
                        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);
                    String targSite = task.getTargSite();
                    BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, targSite));
                    basStation.setUseStatus("D");
                    basStation.setBarcode(task.getBarcode());
                    basStationService.updateById(basStation);
                } else {
                    log.error(task.getTaskCode()+":任务无法完成");
                    continue;
                }
                taskService.updateById(task);
            }
@@ -484,7 +507,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 +843,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 +853,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 +941,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 +960,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("站点预约失败!!");
                            }