From 7d76193556bce67a087c4c01b30012c811a2dc67 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期二, 03 二月 2026 17:04:25 +0800
Subject: [PATCH] lsh#
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java | 75 ++++++++++++++++++++++++++++++++++---
1 files changed, 68 insertions(+), 7 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 d65e968..d46b9d8 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,22 @@
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::getTaskNo, flowStepInstance.getTaskNo())
.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 +198,19 @@
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::getTaskNo, flowStepInstance.getTaskNo())
.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 +249,51 @@
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;
+ }
+ for (Task task : tasks) {
+ /**浠诲姟涓嬪彂鎺ュ彛*/
+ String pubTakUrl = rcsApi.getHost() + ":" + rcsApi.getPort() + RcsConstant.REPORT_TASKS;
+
+ /**鍩虹閰嶇疆閾炬帴*/
+ log.info("浠诲姟涓婃姤锛岃姹傚湴鍧�锛� {}锛� 璇锋眰鍙傛暟锛� {}", pubTakUrl, JSONObject.toJSONString(""));
+ HttpHeaders headers = new HttpHeaders();
+ headers.add("Content-Type", "application/json");
+ headers.add("api-version", "v2.0");
+ HttpEntity httpEntity = new HttpEntity(task, headers);
+ ResponseEntity<String> exchange = restTemplate.exchange(pubTakUrl, HttpMethod.POST, httpEntity, String.class);
+ log.info("浠诲姟涓婃姤锛屽搷搴旂粨鏋滐細 {}", exchange);
+ if (Objects.isNull(exchange.getBody())) {
+ throw new CoolException("浠诲姟涓婃姤澶辫触锛侊紒锛岃繑鍥炲弬鏁颁负绌猴紒锛侊紒");
+ } else {
+ try {
+ ObjectMapper objectMapper = new ObjectMapper();
+ objectMapper.coercionConfigDefaults()
+ .setCoercion(CoercionInputShape.EmptyString, CoercionAction.AsEmpty);
+ CommonResponse result = objectMapper.readValue(exchange.getBody(), CommonResponse.class);
+ if (result.getCode() == 200) {
+ task.setTaskStatus( TaskStsType.MISSION_TRANSFER_END.id);
+ taskService.updateById(task);
+ }
+ } catch (JsonProcessingException e) {
+ throw new CoolException(e.getMessage());
+ }
+ }
+ }
+// List<Long> longSet = tasks.stream().map(Task::getId).collect(Collectors.toList());
+// List<Task> vaildTasks = taskService.list(new LambdaQueryWrapper<Task>().in(Task::getId, longSet));
+// taskService.complateInTask(vaildTasks);
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ }
+ }
+
+
+ public void completeStock10000() throws Exception {
+ try{
+ List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.MISSION_TRANSFER_END.id));
if (tasks.isEmpty()) {
return;
}
--
Gitblit v1.9.1