From 79843611908e58f9538f8d8ebac62d3f0d01712c Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期一, 02 二月 2026 17:37:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/devlop-phyz' into devlop-phyz

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java |   34 ++++++++++++++++++++++------------
 1 files changed, 22 insertions(+), 12 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 bc90f6a..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,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;
             }

--
Gitblit v1.9.1