From fb98cd280dd1158e542cc8b94003612700ae4ea4 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期三, 11 三月 2026 14:04:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/devlop-phyz' into devlop-phyz
---
rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/FlowStepInstanceServiceImpl.java | 41 +++++++++++++++--------------------------
1 files changed, 15 insertions(+), 26 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/FlowStepInstanceServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/FlowStepInstanceServiceImpl.java
index 7df23d7..0d51b93 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/FlowStepInstanceServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/FlowStepInstanceServiceImpl.java
@@ -13,47 +13,47 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Date;
+import java.util.List;
@Service("flowStepInstanceService")
public class FlowStepInstanceServiceImpl extends ServiceImpl<FlowStepInstanceMapper, FlowStepInstance> implements FlowStepInstanceService {
@Autowired
private TaskService taskService;
+ @Autowired
+ private FlowInstanceService flowInstanceService;
@Override
@Transactional(rollbackFor = Exception.class)
public boolean jumpCurrent(Long id) {
try{
FlowStepInstance flowStepInstance = getById(id);
- if (flowStepInstance == null || flowStepInstance.getFlowInstanceId() == null) {
- return false;
- }
+ if (flowStepInstance == null || flowStepInstance.getFlowInstanceId() == null) return false;
Date now = new Date();
String taskNo = flowStepInstance.getTaskNo();
Task one = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskCode, taskNo));
-
- //妫�娴嬪綋鍓嶆楠�
+ FlowInstance flowInstance = flowInstanceService.getById(flowStepInstance.getFlowInstanceId());
+ List<String> flowInstanceNoList = new ArrayList<>();
+ List<FlowInstance> flowInstanceList = flowInstanceService.list(new LambdaQueryWrapper<FlowInstance>().eq(FlowInstance::getTaskId, flowInstance.getTaskId()));
+ flowInstanceList.forEach(flowInstance1 -> flowInstanceNoList.add(flowInstance1.getFlowInstanceNo()));
FlowStepInstance flowStepInstanceNow = getOne(new LambdaQueryWrapper<FlowStepInstance>()
.eq(FlowStepInstance::getWmsNowTaskStatus, one.getTaskStatus())
.eq(FlowStepInstance::getTaskNo, taskNo)
- .eq(FlowStepInstance::getFlowInstanceNo, flowStepInstance.getFlowInstanceNo())
+ .in(FlowStepInstance::getFlowInstanceNo, flowInstanceNoList)
.ge(FlowStepInstance::getStatus, (short) 1)
.ne(FlowStepInstance::getStatus, (short) 3).last("limit 1"));
- if (flowStepInstanceNow == null) {
- return false;
- }
+ if (flowStepInstanceNow == null) return false;
int stepOrderDifference = flowStepInstanceNow.getStepOrder() - flowStepInstance.getStepOrder();
if (stepOrderDifference>0) {//鍥為��
for (int i = 1; i <= stepOrderDifference; i++) {
FlowStepInstance flowStepInstanceUpdate = getOne(new LambdaQueryWrapper<FlowStepInstance>()
.eq(FlowStepInstance::getTaskNo, taskNo)
.eq(FlowStepInstance::getStepOrder, flowStepInstance.getStepOrder()+i)
- .eq(FlowStepInstance::getFlowInstanceNo, flowStepInstance.getFlowInstanceNo())
+ .in(FlowStepInstance::getFlowInstanceNo, flowInstanceNoList)
.last("limit 1"));
- if (flowStepInstanceUpdate==null) {
- return false;
- }
+ if (flowStepInstanceUpdate==null) return false;
flowStepInstanceUpdate.setStatus((short)0);
flowStepInstanceUpdate.setErrorMessage(flowStepInstanceUpdate.getErrorMessage()+now+"浜哄伐璋冩暣;");
flowStepInstanceUpdate.setErrorCode(now.toString());
@@ -65,11 +65,9 @@
FlowStepInstance flowStepInstanceUpdate = getOne(new LambdaQueryWrapper<FlowStepInstance>()
.eq(FlowStepInstance::getTaskNo, taskNo)
.eq(FlowStepInstance::getStepOrder, flowStepInstance.getStepOrder()-i)
- .eq(FlowStepInstance::getFlowInstanceNo, flowStepInstance.getFlowInstanceNo())
+ .in(FlowStepInstance::getFlowInstanceNo, flowInstanceNoList)
.last("limit 1"));
- if (flowStepInstanceUpdate==null) {
- return false;
- }
+ if (flowStepInstanceUpdate==null) return false;
flowStepInstanceUpdate.setStatus((short)3);
flowStepInstanceUpdate.setErrorMessage(flowStepInstanceUpdate.getErrorMessage()+now+"浜哄伐璋冩暣;");
flowStepInstanceUpdate.setErrorCode(now.toString());
@@ -77,25 +75,16 @@
updateById(flowStepInstanceUpdate);
}
}
-
flowStepInstance.setErrorMessage(flowStepInstance.getErrorMessage()+now+"浜哄伐璋冩暣;");
flowStepInstance.setErrorCode(now.toString());
flowStepInstance.setUpdateTime(now);
flowStepInstance.setStatus((short)1);
updateById(flowStepInstance);
-
-
one.setTaskStatus(flowStepInstance.getWmsNowTaskStatus());
taskService.updateById(one);
} catch (Exception e) {
throw new RuntimeException("浜哄伐璋冩暣鍑洪敊锛�" + e);
}
-// FlowInstance flowInstance = new FlowInstance();
-// flowInstance.setId(flowStepInstance.getFlowInstanceId());
-// flowInstance.setCurrentStepCode(flowStepInstance.getStepCode());
-// flowInstance.setCurrentStepOrder(flowStepInstance.getStepOrder());
-// flowInstance.setUpdateTime(new java.util.Date());
-// flowInstanceService.updateById(flowInstance);
return true;
}
--
Gitblit v1.9.1