From cd32ca13746729913e72ffe021a3aee24ee01c67 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期四, 29 一月 2026 17:12:19 +0800
Subject: [PATCH] lsh#
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskMissionSchedules.java | 77 ++++++++++++++++++++++++++++++++++++--
1 files changed, 72 insertions(+), 5 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskMissionSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskMissionSchedules.java
index 1d0d2af..217c10a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskMissionSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskMissionSchedules.java
@@ -2,19 +2,22 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.vincent.rsf.framework.common.Cools;
+import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.manager.controller.params.LocToTaskParams;
-import com.vincent.rsf.server.manager.entity.BasContainer;
-import com.vincent.rsf.server.manager.entity.Loc;
-import com.vincent.rsf.server.manager.entity.WarehouseAreas;
+import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.enums.LocStsType;
+import com.vincent.rsf.server.manager.enums.StationTypeEnum;
+import com.vincent.rsf.server.manager.enums.TaskStsType;
+import com.vincent.rsf.server.manager.enums.TaskType;
import com.vincent.rsf.server.manager.service.LocItemService;
import com.vincent.rsf.server.manager.service.LocService;
import com.vincent.rsf.server.manager.service.TaskService;
import com.vincent.rsf.server.manager.service.impl.BasContainerServiceImpl;
import com.vincent.rsf.server.manager.service.impl.WarehouseAreasServiceImpl;
import com.vincent.rsf.server.system.constant.GlobalConfigCode;
-import com.vincent.rsf.server.system.entity.Config;
+import com.vincent.rsf.server.system.entity.*;
import com.vincent.rsf.server.system.service.ConfigService;
+import com.vincent.rsf.server.system.service.impl.*;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -22,6 +25,7 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
+import routeR.calculationR.RouteWmsStepFlow;
import java.util.ArrayList;
import java.util.List;
@@ -50,6 +54,24 @@
private LocItemService locItemService;
@Autowired
private BasContainerServiceImpl basContainerService;
+ @Autowired
+ private TaskPathTemplateServiceImpl taskPathTemplateService;
+ @Autowired
+ private TaskPathTemplateNodeServiceImpl taskPathTemplateNodeService;
+ @Autowired
+ private TaskInstanceServiceImpl taskInstanceService;
+ @Autowired
+ private TaskInstanceNodeServiceImpl taskInstanceNodeService;
+ @Autowired
+ private SubsystemFlowTemplateServiceImpl subsystemFlowTemplateService;
+ @Autowired
+ private FlowStepLogServiceImpl flowStepLogService;
+ @Autowired
+ private FlowStepTemplateServiceImpl flowStepTemplateService;
+ @Autowired
+ private FlowStepInstanceServiceImpl flowStepInstanceService;
+ @Autowired
+ private FlowInstanceServiceImpl flowInstanceService;
/**
* @author Munch D. Luffy
@@ -65,6 +87,51 @@
return;
}
-
+ List<Task> taskList = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.MISSION_INITIAL.id));
+ if (Objects.isNull(taskList)) {
+ return;
+ }
+ taskList.forEach(task -> {
+ String sou = null;
+ String end = null;
+ 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)) {
+ sou = task.getOrgSite();
+ Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getTargLoc()));
+ end = loc.getAreaId().toString();
+ } 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)) {
+ Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getOrgLoc()));
+ sou = loc.getAreaId().toString();
+ end = task.getTargSite();
+ }
+ List<TaskPathTemplate> taskPathTemplates = taskPathTemplateService.list(new LambdaQueryWrapper<TaskPathTemplate>().eq(TaskPathTemplate::getSourceType, sou).eq(TaskPathTemplate::getTargetType, end));
+ if (Objects.isNull(taskPathTemplates) || taskPathTemplates.isEmpty()) {
+ List<TaskPathTemplate> list = taskPathTemplateService.list(new LambdaQueryWrapper<>());
+ if (!Cools.isEmpty(list)) {
+ List<String[]> stationList = new ArrayList<>();
+ list.forEach(taskPathTemplate -> {
+ stationList.add(taskPathTemplate.route());
+ });
+ List<Long> longs = RouteWmsStepFlow.routeGet(stationList, sou, end);
+ if (longs != null && !longs.isEmpty()) {
+ TaskPathTemplate taskPathTemplate = new TaskPathTemplate();
+ taskPathTemplate.setTemplateCode(sou+"===>"+end);
+ taskPathTemplate.setTemplateName(sou+"===>"+end);
+ taskPathTemplate.setSourceType(sou);
+ taskPathTemplate.setTargetType(end);
+ taskPathTemplateService.save(taskPathTemplate);
+ }
+ System.out.println("浠诲姟锛�"+task.getTaskCode()+"鏌ヨ姝ュ簭涓猴細"+longs);
+ }
+ }
+ });
}
}
--
Gitblit v1.9.1