1
7 小时以前 93fac3ecad495575f1dbe16a7eb40e70a7c87d9f
lsh#
6个文件已修改
301 ■■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java 224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/MissionStepType.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/system/entity/FlowStepInstance.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java
@@ -143,9 +143,9 @@
    @OperationLog("WCS任务上报通知")
    @PostMapping("/task/report")
    public R wcsTaskReport(@RequestBody TaskReportParam params) {
        if (params.getType() != 0){
            return wcsService.wcsTaskReport2(params);
        }
//        if (params.getType() != 0){
//            return wcsService.wcsTaskReport2(params);
//        }
        return wcsService.wcsTaskReport(params);
    }
rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java
@@ -12,7 +12,6 @@
    CALL_BACK_EVENT_OBIT("OTBIN", "搬运中"),
    CALL_BACK_EVENT_BIN("BIN", "出站"),
    CALL_BACK_EVENT_END("END", "放箱完成"),
    CALL_BACK_EVENT_TRANSFER("TRANSFER", "中转"),
    ;
    CallBackEvent( String event,  String desc) {
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -31,8 +31,8 @@
import com.vincent.rsf.server.manager.service.impl.LocServiceImpl;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
import com.vincent.rsf.server.manager.enums.LocStsType;
import com.vincent.rsf.server.system.entity.User;
import com.vincent.rsf.server.system.service.impl.UserServiceImpl;
import com.vincent.rsf.server.system.entity.*;
import com.vincent.rsf.server.system.service.impl.*;
import com.vincent.rsf.server.system.utils.SerialRuleUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -86,6 +86,14 @@
    private RemotesInfoProperties.RcsApi rcsApi;
    @Autowired
    private UserServiceImpl userService;
    @Autowired
    private TaskInstanceServiceImpl taskInstanceService;
    @Autowired
    private TaskInstanceNodeServiceImpl taskInstanceNodeService;
    @Autowired
    private FlowStepInstanceServiceImpl flowStepInstanceService;
    @Autowired
    private FlowInstanceServiceImpl flowInstanceService;
    @Override
@@ -477,9 +485,40 @@
        if (Objects.isNull(task)) {
            throw new CoolException("任务不存在可以结束!!");
        }
        FlowStepInstance flowStepInstance = flowStepInstanceService.getOne(new LambdaQueryWrapper<FlowStepInstance>()
                .eq(FlowStepInstance::getTaskNo, task.getTaskCode())
                .eq(FlowStepInstance::getWmsNowTaskStatus, task.getTaskStatus())
                .eq(FlowStepInstance::getStatus, (short) 1).last("limit 1"));
        if (Cools.isEmpty(flowStepInstance)){
            return R.error(task.getTaskCode()+"任务号==>未查询到相关任务执行流程!!!");
        }
        if (!MissionStepType.getTaskRECEIVE().contains(flowStepInstance.getStepType())){
            return R.error(task.getTaskCode()+"任务号==>相关任务类型非接收型,步骤错乱!!!");
        }
        FlowInstance flowInstance = flowInstanceService.getById(flowStepInstance.getFlowInstanceId());
        if (Cools.isEmpty(flowInstance)) {
            return R.error(task.getTaskCode()+"任务号==>未查询到相关任务执行流程!!!");
        }
        List<FlowStepInstance> flowStepInstances = flowStepInstanceService.list(new LambdaQueryWrapper<FlowStepInstance>()
                .eq(FlowStepInstance::getFlowInstanceId, flowInstance.getId()).eq(FlowStepInstance::getStatus, (short) 0));
        flowInstance.setStatus(flowStepInstances.isEmpty()? (short) 2:(short) 1);
        TaskInstanceNode taskInstanceNode = taskInstanceNodeService.getById(flowInstance.getNodeInstanceId());
        if (Cools.isEmpty(taskInstanceNode)) {
            return R.error(task.getTaskCode()+"任务号==>未查询到相关任务执行流程!!!");
        }
        taskInstanceNode.setStatus(flowInstance.getStatus());
        TaskInstance taskInstance = taskInstanceService.getById(flowInstance.getTaskId());
        if (Cools.isEmpty(taskInstance)) {
            return R.error(task.getTaskCode()+"任务号==>未查询到相关任务执行流程!!!");
        }
        /**料箱搬运中, 修改站点状态*/
        if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_BIN.event)) {
            if (!flowStepInstance.getStepType().equals(MissionStepType.MISSION_STEP_TYPE_RECEIVE_BIN.type)) {
                return R.error(task.getTaskCode()+"任务号==>未查询到相关任务执行流程!!!");
            }
            if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)
@@ -504,92 +543,47 @@
                    || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_OUT.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_EMPTY_OUT.type)) {
                /**修改出库站点状态*/
                BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
                        .eq(BasStation::getStationName, task.getOrgLoc()));
                if (Objects.isNull(station)) {
                    throw new CoolException("数据错误,站点不存在!!");
                }
                if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) {
                    station.setUseStatus(LocStsType.LOC_STS_TYPE_O.type);
                    station.setBarcode(null);
                    if (!basStationService.updateById(station)) {
                        throw new CoolException("站点状态修改失败!!");
                    }
                }
//                /**修改出库站点状态*/
//                BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
//                        .eq(BasStation::getStationName, task.getOrgLoc()));
//                if (Objects.isNull(station)) {
//                    throw new CoolException("数据错误,站点不存在!!");
//                }
//                if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) {
//                    station.setUseStatus(LocStsType.LOC_STS_TYPE_O.type);
//                    station.setBarcode(null);
//                    if (!basStationService.updateById(station)) {
//                        throw new CoolException("站点状态修改失败!!");
//                    }
//                }
            }
            /**取箱完成, 修改任务状态*/
        } else
        if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_END.event)) {
            if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_EMPTY_IN.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
                if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
                    BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, task.getOrgSite()));
                    if (Objects.isNull(station)) {
                        throw new CoolException("数据错误,站点不存在!!");
                    }
                    if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) {
                        station.setUseStatus(LocStsType.LOC_STS_TYPE_O.type);
                        if (!basStationService.updateById(station)) {
                            throw new CoolException("站点状态修改失败!!");
                        }
                    }
                }
                if (!taskService.update(new LambdaUpdateWrapper<Task>()
                        .lt(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id)
                        .eq(Task::getTaskCode, task.getTaskCode())
                        .set(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id))) {
                    throw new CoolException("任务状态修改失败!!");
                }
            } else if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type)
                    || 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.getTaskType().equals(TaskType.TASK_TYPE_EMPTY_OUT.type)) {
                /**修改出库站点状态*/
                BasStation 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)) {
                    station.setUseStatus(LocStsType.LOC_STS_TYPE_F.type);
                    if (!basStationService.updateById(station)) {
                        throw new CoolException("站点状态修改失败!!");
        } else if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_END.event)) {
            if (flowStepInstance.getStepType().equals(MissionStepType.MISSION_STEP_TYPE_RECEIVE_BIN.type)) {
                return R.error(task.getTaskCode()+"任务号==>请先出站请求!!!");
                    }
                }
                if (!taskService.update(new LambdaUpdateWrapper<Task>().eq(Task::getTaskCode, task.getTaskCode())
                        .lt(Task::getTaskStatus, TaskStsType.COMPLETE_OUT.id)
                        .set(Task::getTaskStatus, TaskStsType.AWAIT.id))) {
                    throw new CoolException("任务状态修改失败!!");
        task.setTaskStatus(flowStepInstance.getWmsNextTaskStatus());
        flowStepInstance.setStatus((short)3);
        flowStepInstanceService.updateById(flowStepInstance);
        taskService.updateById(task);
        if (flowStepInstance.getWmsNextTaskStatus() != 9999) {
            FlowStepInstance nextFlowStepInstance = flowStepInstanceService.getOne(new LambdaQueryWrapper<FlowStepInstance>()
                    .eq(FlowStepInstance::getStatus, (short)0)
                    .eq(FlowStepInstance::getStepOrder, flowStepInstance.getStepOrder() + 1)
                    .eq(FlowStepInstance::getWmsNowTaskStatus, flowStepInstance.getWmsNextTaskStatus()));
            if (Cools.isEmpty(nextFlowStepInstance)) {
                return R.error(task.getTaskCode()+"任务号==>未查询到相关任务执行流程!!!");
                }
            }
        } else if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_TRANSFER.event)) {
            if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_EMPTY_IN.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type)
                    || task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
                if (!taskService.update(new LambdaUpdateWrapper<Task>()
                        .lt(Task::getTaskStatus, TaskStsType.WCS_EXECUTE_IN.id)
                        .eq(Task::getTaskCode, task.getTaskCode())
                        .set(Task::getOrgSite, task.getTargSite())
                        .set(Task::getTaskStatus, TaskStsType.WCS_EXECUTE_IN.id))) {
                    throw new CoolException("任务状态修改失败!!");
                }
            }
            nextFlowStepInstance.setStatus((short)1);
            flowStepInstanceService.updateById(nextFlowStepInstance);
        } else {
            taskInstance.setStatus((short)2);
            taskInstanceService.updateById(taskInstance);
        }
        log.info(JSONObject.toJSONString(params));
        return R.ok(JSONObject.toJSONString(params));
@@ -1046,18 +1040,68 @@
        if (Objects.isNull(params)) {
            return R.error("参数不能为空!!");
        }
        Task one = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskCode, params.getSuperTaskNo()));
        if (Cools.isEmpty(one)) {
        Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskCode, params.getSuperTaskNo()));
        if (Cools.isEmpty(task)) {
            return R.error(params.getSuperTaskNo()+"任务号==>未查询到相关任务!!!");
        }
        if (params.getMsgType().equals(WcsMsgTypeEvent.TASK_COMPLETE.event)){
            if (!Cools.isEmpty(one)) {
                one.setTaskStatus(one.getTaskType() < 100 ? TaskStsType.COMPLETE_IN.id : TaskStsType.AWAIT.id);
                if (!taskService.updateById(one)) {
//                    throw new CoolException("完成任务失败");
                    return R.error("完成任务失败").add(one);
            if (!Cools.isEmpty(task)) {
                FlowStepInstance flowStepInstance = flowStepInstanceService.getOne(new LambdaQueryWrapper<FlowStepInstance>()
                        .eq(FlowStepInstance::getTaskNo, task.getTaskCode())
                        .eq(FlowStepInstance::getWmsNowTaskStatus, task.getTaskStatus())
                        .eq(FlowStepInstance::getStatus, (short) 1).last("limit 1"));
                if (Cools.isEmpty(flowStepInstance)){
                    return R.error(params.getSuperTaskNo()+"任务号==>未查询到相关任务执行流程!!!");
                }
                return R.ok("任务完成成功").add(one);
                if (!MissionStepType.getTaskRECEIVE().contains(flowStepInstance.getStepType())){
                    return R.error(params.getSuperTaskNo()+"任务号==>相关任务类型非接收型,步骤错乱!!!");
                }
                FlowInstance flowInstance = flowInstanceService.getById(flowStepInstance.getFlowInstanceId());
                if (Cools.isEmpty(flowInstance)) {
                    return R.error(params.getSuperTaskNo()+"任务号==>未查询到相关任务执行流程!!!");
                }
                List<FlowStepInstance> flowStepInstances = flowStepInstanceService.list(new LambdaQueryWrapper<FlowStepInstance>()
                        .eq(FlowStepInstance::getFlowInstanceId, flowInstance.getId()).eq(FlowStepInstance::getStatus, (short) 0));
                flowInstance.setStatus(flowStepInstances.isEmpty()? (short) 2:(short) 1);
                TaskInstanceNode taskInstanceNode = taskInstanceNodeService.getById(flowInstance.getNodeInstanceId());
                if (Cools.isEmpty(taskInstanceNode)) {
                    return R.error(params.getSuperTaskNo()+"任务号==>未查询到相关任务执行流程!!!");
                }
                taskInstanceNode.setStatus(flowInstance.getStatus());
                TaskInstance taskInstance = taskInstanceService.getById(flowInstance.getTaskId());
                if (Cools.isEmpty(taskInstance)) {
                    return R.error(params.getSuperTaskNo()+"任务号==>未查询到相关任务执行流程!!!");
                }
                task.setTaskStatus(flowStepInstance.getWmsNextTaskStatus());
                flowStepInstance.setStatus((short)3);
                flowStepInstanceService.updateById(flowStepInstance);
                taskService.updateById(task);
                if (flowStepInstance.getWmsNextTaskStatus() != 9999) {
                    FlowStepInstance nextFlowStepInstance = flowStepInstanceService.getOne(new LambdaQueryWrapper<FlowStepInstance>()
                            .eq(FlowStepInstance::getStatus, (short)0)
                            .eq(FlowStepInstance::getStepOrder, flowStepInstance.getStepOrder() + 1)
                            .eq(FlowStepInstance::getWmsNowTaskStatus, flowStepInstance.getWmsNextTaskStatus()));
                    if (Cools.isEmpty(nextFlowStepInstance)) {
                        return R.error(task.getTaskCode()+"任务号==>未查询到相关任务执行流程!!!");
                    }
                    nextFlowStepInstance.setStatus((short)1);
                    flowStepInstanceService.updateById(nextFlowStepInstance);
                } else {
                    taskInstance.setStatus((short)2);
                    taskInstanceService.updateById(taskInstance);
                }
                return R.ok("任务完成成功").add(task);
//                one.setTaskStatus(one.getTaskType() < 100 ? TaskStsType.COMPLETE_IN.id : TaskStsType.AWAIT.id);
//                if (!taskService.updateById(one)) {
////                    throw new CoolException("完成任务失败");
//                    return R.error("完成任务失败").add(one);
//                }
            }
        } else if (params.getMsgType().equals(WcsMsgTypeEvent.TASK_CANCEL.event)){
//            if (!Cools.isEmpty(one)) {
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/MissionStepType.java
@@ -1,5 +1,8 @@
package com.vincent.rsf.server.manager.enums;
import java.util.Arrays;
import java.util.List;
/**
 * @author Ryan
 * @version 1.0
@@ -10,13 +13,18 @@
public enum MissionStepType {
    MISSION_STEP_TYPE_RESPONSE("RESPONSE", "响应"),
    MISSION_STEP_TYPE_RECEIVE("RECEIVE", "接收"),
    MISSION_STEP_TYPE_RECEIVE_BIN("RECEIVE_BIN", "接收-解绑"),
    MISSION_STEP_TYPE_REQUEST("REQUEST", "请求"),
    MISSION_STEP_TYPE_BIND("BIND", "绑定"),
    MISSION_STEP_TYPE_UNBIND("UNBIND", "解绑"),
    MISSION_STEP_TYPE_VALIDATE("VALIDATE", "校验"),
    MISSION_STEP_TYPE_TRANSFORM("TRANSFORM", "转换"),
    MISSION_STEP_TYPE_BIND("BIND", "绑定"),
    MISSION_STEP_TYPE_OBTAIN("OBTAIN", "获取"),
    MISSION_STEP_TYPE_NO_EXECUTE("NO_EXECUTE", "越过"),
    MISSION_STEP_TYPE_VALIDATE("VALIDATE", "校验"),
    MISSION_STEP_TYPE_TRANSFORM("TRANSFORM", "转换"),
    ;
    public String type;
    public String desc;
@@ -26,4 +34,20 @@
        this.desc = desc;
    }
    public static List<String> getTaskISSUE(){
        return Arrays.asList(
                MissionStepType.MISSION_STEP_TYPE_REQUEST.type,
                MissionStepType.MISSION_STEP_TYPE_UNBIND.type,
                MissionStepType.MISSION_STEP_TYPE_BIND.type,
                MissionStepType.MISSION_STEP_TYPE_OBTAIN.type,
                MissionStepType.MISSION_STEP_TYPE_NO_EXECUTE.type);
    }
    public static List<String> getTaskRECEIVE(){
        return Arrays.asList(
                MissionStepType.MISSION_STEP_TYPE_RESPONSE.type,
                MissionStepType.MISSION_STEP_TYPE_RECEIVE_BIN.type,
                MissionStepType.MISSION_STEP_TYPE_RECEIVE.type);
    }
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -113,19 +113,17 @@
    @Scheduled(cron = "0/2 * * * * ?  ")
    @Transactional(rollbackFor = Exception.class)
    public void missionTaskEXECUTE() {
        List<String> typeList = Arrays.asList(
                MissionStepType.MISSION_STEP_TYPE_REQUEST.type,
                MissionStepType.MISSION_STEP_TYPE_UNBIND.type,
                MissionStepType.MISSION_STEP_TYPE_BIND.type,
                MissionStepType.MISSION_STEP_TYPE_OBTAIN.type,
                MissionStepType.MISSION_STEP_TYPE_NO_EXECUTE.type);
        List<FlowStepInstance> flowStepInstanceList = flowStepInstanceService.list(new LambdaQueryWrapper<FlowStepInstance>()
                .eq(FlowStepInstance::getStatus, 1).in(FlowStepInstance::getStepType,typeList));
                .eq(FlowStepInstance::getStatus, 1).in(FlowStepInstance::getStepType,MissionStepType.getTaskISSUE()));
        for (FlowStepInstance flowStepInstance : flowStepInstanceList) {
            FlowInstance flowInstance = flowInstanceService.getById(flowStepInstance.getFlowInstanceId());
            if (Cools.isEmpty(flowInstance)) { continue;}
            List<FlowStepInstance> flowStepInstances = flowStepInstanceService.list(new LambdaQueryWrapper<FlowStepInstance>()
                    .eq(FlowStepInstance::getFlowInstanceId, flowInstance.getId()).eq(FlowStepInstance::getStatus, (short) 0));
            flowInstance.setStatus(flowStepInstances.isEmpty()? (short) 2:(short) 1);
            TaskInstanceNode taskInstanceNode = taskInstanceNodeService.getById(flowInstance.getNodeInstanceId());
            if (Cools.isEmpty(taskInstanceNode)) { continue;}
            taskInstanceNode.setStatus(flowInstance.getStatus());
            TaskInstance taskInstance = taskInstanceService.getById(flowInstance.getTaskId());
            if (Cools.isEmpty(taskInstance)) { continue;}
            Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskCode, taskInstance.getTaskNo()));
@@ -147,14 +145,21 @@
                    if (flowStepInstance.getWmsNextTaskStatus() != 9999) {
                        FlowStepInstance nextFlowStepInstance = flowStepInstanceService.getOne(new LambdaQueryWrapper<FlowStepInstance>()
                                .eq(FlowStepInstance::getFlowInstanceId, flowStepInstance.getFlowInstanceId())
                                .eq(FlowStepInstance::getFlowInstanceNo, flowStepInstance.getFlowInstanceNo())
                                .eq(FlowStepInstance::getStatus, (short)0)
                                .eq(FlowStepInstance::getStepOrder, flowStepInstance.getStepOrder() + 1)
                                .eq(FlowStepInstance::getWmsNowTaskStatus, flowStepInstance.getWmsNextTaskStatus()));
                        if (Cools.isEmpty(nextFlowStepInstance)) {
                            throw new CoolException("任务号"+task.getTaskCode()+"任务步骤丢失!!!");
                        }
                        nextFlowStepInstance.setStatus((short)1);
                        flowStepInstanceService.updateById(nextFlowStepInstance);
                    } else {
                        taskInstance.setStatus((short)2);
                        taskInstanceService.updateById(taskInstance);
                    }
                    flowInstanceService.updateById(flowInstance);
                    taskInstanceNodeService.updateById(taskInstanceNode);
                } catch (Exception e) {
                    throw new CoolException(e.getMessage());
                }
@@ -192,13 +197,18 @@
                            if (flowStepInstance.getWmsNextTaskStatus() != 9999) {
                                FlowStepInstance nextFlowStepInstance = flowStepInstanceService.getOne(new LambdaQueryWrapper<FlowStepInstance>()
                                        .eq(FlowStepInstance::getFlowInstanceId, flowStepInstance.getFlowInstanceId())
                                        .eq(FlowStepInstance::getFlowInstanceNo, flowStepInstance.getFlowInstanceNo())
                                        .eq(FlowStepInstance::getStatus, (short)0)
                                        .eq(FlowStepInstance::getStepOrder, flowStepInstance.getStepOrder() + 1)
                                        .eq(FlowStepInstance::getWmsNowTaskStatus, flowStepInstance.getWmsNextTaskStatus()));
                                if (Cools.isEmpty(nextFlowStepInstance)) {
                                    throw new CoolException("任务号"+task.getTaskCode()+"任务步骤丢失!!!");
                                }
                                nextFlowStepInstance.setStatus((short)1);
                                flowStepInstanceService.updateById(nextFlowStepInstance);
                            } else {
                                taskInstance.setStatus((short)2);
                                taskInstanceService.updateById(taskInstance);
                            }
                        } else {
                            flowStepInstance.setRetryTimes(flowStepInstance.getRetryTimes() + 1);
@@ -237,7 +247,7 @@
    public void completeStock9999() throws Exception {
        try{
            List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.MISSION_TRANSFER.id).select(Task::getId));
            List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.MISSION_TRANSFER.id));
            if (tasks.isEmpty()) {
                return;
            }
rsf-server/src/main/java/com/vincent/rsf/server/system/entity/FlowStepInstance.java
@@ -152,6 +152,12 @@
    @ApiModelProperty(value= "wms当前任务类型ID")
    private Integer wmsNowTaskStatus;
    /**
     * 任务号
     */
    @ApiModelProperty(value= "任务号")
    private String taskNo;
    public FlowStepInstance() {}
    public FlowStepInstance(FlowStepTemplate  flowStepTemplate) {
        this.stepTemplateId = flowStepTemplate.getId();