From 93fac3ecad495575f1dbe16a7eb40e70a7c87d9f Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期一, 02 二月 2026 17:36:00 +0800
Subject: [PATCH] lsh#

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java |   37 ++++++++++++++++++++++++++-----------
 1 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
index 8b123b5..af89fb0 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -113,14 +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_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()));
@@ -142,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());
                 }
@@ -187,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);
@@ -232,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;
             }
@@ -415,7 +430,7 @@
     }
 //
 //    /**
-//     * 闈炲厜鐢电珯鐐逛换鍔′笅鍙�
+//     * 闈炴櫤鑳界珯鐐逛换鍔′笅鍙�
 //     */
 //    @Scheduled(cron = "0/5 * * * * ?  ")
 //    @Transactional(rollbackFor = Exception.class)
@@ -436,7 +451,7 @@
 //                        .eq(BasStation::getStationName,
 //                        task.getTaskStatus().equals(TaskStsType.GENERATE_IN.id) ? task.getOrgSite() : task.getTargSite()));
 //                if (Cools.isEmpty(station)){
-//                    log.info("闈炲厜鐢电珯鐐逛换鍔′笅鍙戯細绔欑偣淇℃伅寮傚父锛屼换鍔′俊鎭細"+ JSON.toJSONString(task));
+//                    log.info("闈炴櫤鑳界珯鐐逛换鍔′笅鍙戯細绔欑偣淇℃伅寮傚父锛屼换鍔′俊鎭細"+ JSON.toJSONString(task));
 //                    continue;
 //                }
 //                if (station.getType().equals(StationTypeEnum.STATION_TYPE_MUTI.type)) {
@@ -451,7 +466,7 @@
 //    /**
 //     * @author Ryan
 //     * @date 2025/9/4
-//     * @description: 鍏夌數绔欑偣浠诲姟涓嬪彂
+//     * @description: 鏅鸿兘绔欑偣浠诲姟涓嬪彂
 //     * @version 1.0
 //     */
 //    @Scheduled(cron = "0/5 * * * * ?  ")
@@ -603,7 +618,7 @@
         }
 
 
-        /**鍒ゆ柇鏄惁鍏夌數绔欑偣锛岄潪鍏夊簵绔欑偣闇�绠℃帶绔欑偣鐘舵��*/ //鐩爣绔欑偣
+        /**鍒ゆ柇鏄惁鏅鸿兘绔欑偣锛岄潪鍏夊簵绔欑偣闇�绠℃帶绔欑偣鐘舵��*/ //鐩爣绔欑偣
         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)) {

--
Gitblit v1.9.1