From 3a386441ce85c60b6ff2587d2e8e6371e3c8a3ca Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期一, 02 二月 2026 17:31:25 +0800
Subject: [PATCH] 光电站点改为智能站点
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskMissionSchedules.java | 85 ++++++++++++++++++++++++++++++++++++------
1 files changed, 72 insertions(+), 13 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 fb76e08..d33430a 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
@@ -70,7 +70,7 @@
* @description: 鍒濆浠诲姟瑙勫垝璺緞
* @version 1.0
*/
- @Scheduled(cron = "0/2 * * * * ?")
+ @Scheduled(cron = "0/1 * * * * ?")
@Transactional(rollbackFor = Exception.class)
public void missionTemplate() throws Exception {
Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.AUTO_TEMPLATE_PLANNING_STEP_FLOW));
@@ -93,7 +93,6 @@
sou = task.getOrgSite();
Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getTargLoc()));
end = loc.getAreaId().toString();
- task.setTaskStatus(TaskStsType.GENERATE_IN.id);
} 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)
@@ -102,7 +101,6 @@
Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getOrgLoc()));
sou = loc.getAreaId().toString();
end = task.getTargSite();
- task.setTaskStatus(TaskStsType.GENERATE_OUT.id);
}
List<TaskPathTemplateMerge> taskPathTemplateMergeList = taskPathTemplateMergeService.list(new LambdaQueryWrapper<TaskPathTemplateMerge>().eq(TaskPathTemplateMerge::getSourceType, sou).eq(TaskPathTemplateMerge::getTargetType, end));
if (Objects.isNull(taskPathTemplateMergeList) || taskPathTemplateMergeList.isEmpty()) {
@@ -128,7 +126,7 @@
taskPathTemplateMerge.setStepSize(longList.size());
taskPathTemplateMergeService.save(taskPathTemplateMerge);
}
- System.out.println("浠诲姟锛�"+task.getTaskCode()+"鏌ヨ姝ュ簭涓猴細"+longs);
+// System.out.println("浠诲姟锛�"+task.getTaskCode()+"鏌ヨ姝ュ簭涓猴細"+longs);
}
} else {
//鐢熸垚瀹為檯璺緞
@@ -147,17 +145,53 @@
Integer i = 0;//it椤哄簭
Integer j = 0;//suT椤哄簭
- TaskInstance taskInstance = new TaskInstance(taskPathTemplateMerge,task);
- boolean save = taskInstanceService.save(taskInstance);
- if (!save) {
- return false;
- }
+ // 鐢ㄤ簬瀛樺偍鎵�鏈塅lowStepTemplate
+ List<FlowStepTemplate> allFlowStepTemplates = new ArrayList<>();
+
+ // 绗竴閬嶉亶鍘嗭細鏀堕泦鎵�鏈夌殑FlowStepTemplate
for (Integer id : conditionExpression) {
TaskPathTemplate taskPathTemplate = taskPathTemplateService.getById(id);
if (taskPathTemplate == null) {
return false;
}
- List<TaskPathTemplateNode> taskPathTemplateNodeList = taskPathTemplateNodeService.list(new LambdaQueryWrapper<TaskPathTemplateNode>().eq(TaskPathTemplateNode::getTemplateId, taskPathTemplate.getId()));
+ List<TaskPathTemplateNode> taskPathTemplateNodeList = taskPathTemplateNodeService.list(
+ new LambdaQueryWrapper<TaskPathTemplateNode>()
+ .eq(TaskPathTemplateNode::getTemplateId, taskPathTemplate.getId()));
+
+ for (TaskPathTemplateNode taskPathTemplateNode : taskPathTemplateNodeList) {
+ List<SubsystemFlowTemplate> subsystemFlowTemplateList = subsystemFlowTemplateService.list(
+ new LambdaQueryWrapper<SubsystemFlowTemplate>()
+ .eq(SubsystemFlowTemplate::getFlowCode, taskPathTemplateNode.getNodeCode())
+ .eq(SubsystemFlowTemplate::getSystemCode, taskPathTemplateNode.getSystemCode()));
+
+ for (SubsystemFlowTemplate subsystemFlowTemplate : subsystemFlowTemplateList) {
+ List<FlowStepTemplate> flowStepTemplateList = flowStepTemplateService.list(
+ new LambdaQueryWrapper<FlowStepTemplate>()
+ .eq(FlowStepTemplate::getFlowId, subsystemFlowTemplate.getId()));
+
+ allFlowStepTemplates.addAll(flowStepTemplateList);
+ }
+ }
+ }
+
+ TaskInstance taskInstance = new TaskInstance(taskPathTemplateMerge,task);
+ boolean save = taskInstanceService.save(taskInstance);
+ if (!save) {
+ return false;
+ }
+
+ // 褰撳墠澶勭悊鐨凢lowStepTemplate鍦ㄥ叏灞�鍒楄〃涓殑绱㈠紩
+ int globalIndex = 0;
+
+ for (Integer id : conditionExpression) {
+ TaskPathTemplate taskPathTemplate = taskPathTemplateService.getById(id);
+ if (taskPathTemplate == null) {
+ return false;
+ }
+ List<TaskPathTemplateNode> taskPathTemplateNodeList = taskPathTemplateNodeService.list(
+ new LambdaQueryWrapper<TaskPathTemplateNode>()
+ .eq(TaskPathTemplateNode::getTemplateId, taskPathTemplate.getId()));
+
for (TaskPathTemplateNode taskPathTemplateNode : taskPathTemplateNodeList) {
TaskInstanceNode taskInstanceNode = new TaskInstanceNode(taskPathTemplateNode);
taskInstanceNode.setTaskId(taskInstance.getId());
@@ -166,8 +200,12 @@
taskInstanceNode.setNodeOrder(i);
taskInstanceNode.setNodeCode(String.valueOf(snowflakeIdWorker.nextId()));
taskInstanceNodeService.save(taskInstanceNode);
- List<SubsystemFlowTemplate> subsystemFlowTemplateList = subsystemFlowTemplateService.list(new LambdaQueryWrapper<SubsystemFlowTemplate>().eq(SubsystemFlowTemplate::getFlowCode, taskPathTemplateNode.getNodeCode())
- .eq(SubsystemFlowTemplate::getSystemCode, taskPathTemplateNode.getSystemCode()));
+
+ List<SubsystemFlowTemplate> subsystemFlowTemplateList = subsystemFlowTemplateService.list(
+ new LambdaQueryWrapper<SubsystemFlowTemplate>()
+ .eq(SubsystemFlowTemplate::getFlowCode, taskPathTemplateNode.getNodeCode())
+ .eq(SubsystemFlowTemplate::getSystemCode, taskPathTemplateNode.getSystemCode()));
+
for (SubsystemFlowTemplate subsystemFlowTemplate : subsystemFlowTemplateList) {
FlowInstance flowInstance = new FlowInstance(subsystemFlowTemplate);
flowInstance.setFlowInstanceNo(String.valueOf(snowflakeIdWorker.nextId()));
@@ -176,7 +214,11 @@
flowInstance.setNodeInstanceId(taskInstanceNode.getId());
flowInstance.setNodeCode(String.valueOf(snowflakeIdWorker.nextId()));
flowInstanceService.save(flowInstance);
- List<FlowStepTemplate> flowStepTemplateList = flowStepTemplateService.list(new LambdaQueryWrapper<FlowStepTemplate>().eq(FlowStepTemplate::getFlowId, subsystemFlowTemplate.getId()));
+
+ List<FlowStepTemplate> flowStepTemplateList = flowStepTemplateService.list(
+ new LambdaQueryWrapper<FlowStepTemplate>()
+ .eq(FlowStepTemplate::getFlowId, subsystemFlowTemplate.getId()));
+
for (FlowStepTemplate flowStepTemplate : flowStepTemplateList) {
j++;
FlowStepInstance flowStepInstance = new FlowStepInstance(flowStepTemplate);
@@ -184,7 +226,24 @@
flowStepInstance.setFlowInstanceNo(flowInstance.getFlowInstanceNo());
flowStepInstance.setStepOrder(j);
flowStepInstance.setStepCode(String.valueOf(snowflakeIdWorker.nextId()));
+ flowStepInstance.setWmsNowTaskStatus(flowStepTemplate.getWmsNowTaskStatus());
+
+ // 鍒ゆ柇鏄惁鏄渶鍚庝竴涓�
+ if (globalIndex < allFlowStepTemplates.size() - 1) {
+ // 涓嶆槸鏈�鍚庝竴涓紝鍙栦笅涓�涓殑WmsNowTaskStatus
+ FlowStepTemplate nextFlowStep = allFlowStepTemplates.get(globalIndex + 1);
+ flowStepInstance.setWmsNextTaskStatus(nextFlowStep.getWmsNowTaskStatus());
+ if (globalIndex == 0){
+ task.setTaskStatus(flowStepTemplate.getWmsNowTaskStatus());
+ flowStepInstance.setStatus((short)1);
+ }
+ } else {
+ // 鏄渶鍚庝竴涓紝璁剧疆涓�9999
+ flowStepInstance.setWmsNextTaskStatus(9999);
+ }
+
flowStepInstanceService.save(flowStepInstance);
+ globalIndex++; // 鏇存柊鍏ㄥ眬绱㈠紩
}
}
}
--
Gitblit v1.9.1