From 9f5e97c05c5d503dab0ecef9a8a2139e50087690 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期五, 27 二月 2026 16:40:19 +0800
Subject: [PATCH] lsh#
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java | 127 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 125 insertions(+), 2 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 1861750..d8e85b2 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
@@ -11,6 +11,7 @@
import com.fasterxml.jackson.databind.cfg.CoercionInputShape;
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.framework.common.SpringUtils;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.api.config.RemotesInfoProperties;
import com.vincent.rsf.server.api.entity.CommonResponse;
@@ -109,6 +110,8 @@
private SubsystemFlowTemplateServiceImpl subsystemFlowTemplateService;
@Autowired
private FlowStepTemplateServiceImpl flowStepTemplateService;
+ @Autowired
+ private WarehouseAreasService warehouseAreasService;
/**
@@ -176,9 +179,129 @@
MissionTaskIssueParam missionTaskIssueParam = new MissionTaskIssueParam(flowStepInstance,subsystemFlowTemplate,flowStepTemplate);
missionTaskIssueParam.setType(RcsTaskType.getTypeDesc(task.getTaskType()));
+ if (missionTaskIssueParam.getType().equals(RcsTaskType.RCS_TASK_TYPE_ENUM_IN.type)){
+ boolean souSign = taskInstance.getSourceCode().matches("\\d+");
+ if (souSign){
+ WarehouseAreas warehouseAreas = warehouseAreasService.getById(Long.parseLong(taskInstance.getSourceCode()));
+ if (Cools.isEmpty(warehouseAreas)){
+ BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, taskInstance.getSourceCode()));
+ if (Cools.isEmpty(basStation)){
+ basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
+ .apply("station_alias != '[]'") // 涓嶆槸绌烘暟缁�
+ .apply("JSON_CONTAINS(station_alias, '\"{0}\"') = 1", taskInstance.getSourceCode())
+ .eq(BasStation::getDeleted, 0) // 閫氬父闇�瑕佸姞涓婃湭鍒犻櫎鏉′欢
+ .last("LIMIT 1"));
+ }
+ if (Cools.isEmpty(basStation)){
+ flowStepInstance.setRetryTimes(flowStepInstance.getRetryTimes() + 1);
+ if (flowStepInstance.getRetryTimes()>5){
+ flowStepInstance.setStatus((short)4);
+ flowStepInstanceService.updateById(flowStepInstance);
+ log.error("浠诲姟涓嬪彂澶辫触,婧愮偣鏈煡璇㈠埌锛岄噸璇曟鏁板ぇ浜庣瓑浜庝簲娆★紝鏍囪涓哄け璐ワ紒锛侊紒");
+ } else {
+ flowStepInstanceService.updateById(flowStepInstance);
+ log.error("浠诲姟涓嬪彂澶辫触,婧愮偣鏈煡璇㈠埌鐩爣鐐规湭鏌ヨ鍒帮紝绛夊緟閲嶈瘯....");
+ }
+ return;
+ } else {
+ missionTaskIssueParam.setSourceCode(basStation.getStationName());
+ }
+ } else {
+ missionTaskIssueParam.setSourceCode(taskInstance.getSourceCode());
+ }
+ } else {
+ BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, taskInstance.getSourceCode()));
+ if (Cools.isEmpty(basStation)){
+ basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
+ .apply("station_alias != '[]'") // 涓嶆槸绌烘暟缁�
+ .apply("JSON_CONTAINS(station_alias, '\"{0}\"') = 1", taskInstance.getSourceCode())
+ .eq(BasStation::getDeleted, 0) // 閫氬父闇�瑕佸姞涓婃湭鍒犻櫎鏉′欢
+ .last("LIMIT 1")); }
+ if (Cools.isEmpty(basStation)){
+ flowStepInstance.setRetryTimes(flowStepInstance.getRetryTimes() + 1);
+ if (flowStepInstance.getRetryTimes()>5){
+ flowStepInstance.setStatus((short)4);
+ flowStepInstanceService.updateById(flowStepInstance);
+ log.error("浠诲姟涓嬪彂澶辫触,婧愮偣鏈煡璇㈠埌锛岄噸璇曟鏁板ぇ浜庣瓑浜庝簲娆★紝鏍囪涓哄け璐ワ紒锛侊紒");
+ } else {
+ flowStepInstanceService.updateById(flowStepInstance);
+ log.error("浠诲姟涓嬪彂澶辫触,婧愮偣鏈煡璇㈠埌鐩爣鐐规湭鏌ヨ鍒帮紝绛夊緟閲嶈瘯....");
+ }
+ return;
+ } else {
+ missionTaskIssueParam.setSourceCode(basStation.getStationName());
+ }
+ }
+ boolean endSign = taskInstance.getTargetCode().matches("\\d+");
+ if (endSign){
+ WarehouseAreas warehouseAreas = warehouseAreasService.getById(Long.parseLong(taskInstance.getTargetCode()));
+ if (Cools.isEmpty(warehouseAreas)){
+ BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, taskInstance.getTargetCode()));
+ if (Cools.isEmpty(basStation)){
+ basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
+ .apply("station_alias != '[]'") // 涓嶆槸绌烘暟缁�
+ .apply("JSON_CONTAINS(station_alias, '\"{0}\"') = 1", taskInstance.getTargetCode())
+ .eq(BasStation::getDeleted, 0) // 閫氬父闇�瑕佸姞涓婃湭鍒犻櫎鏉′欢
+ .last("LIMIT 1")); }
+ if (Cools.isEmpty(basStation)){
+ flowStepInstance.setRetryTimes(flowStepInstance.getRetryTimes() + 1);
+ if (flowStepInstance.getRetryTimes()>5){
+ flowStepInstance.setStatus((short)4);
+ flowStepInstanceService.updateById(flowStepInstance);
+ log.error("浠诲姟涓嬪彂澶辫触,鐩爣鐐规湭鏌ヨ鍒帮紝閲嶈瘯娆℃暟澶т簬绛変簬浜旀锛屾爣璁颁负澶辫触锛侊紒锛�");
+ } else {
+ flowStepInstanceService.updateById(flowStepInstance);
+ log.error("浠诲姟涓嬪彂澶辫触,鐩爣鐐规湭鏌ヨ鍒帮紝绛夊緟閲嶈瘯....");
+ }
+ return;
+ } else {
+ missionTaskIssueParam.setTargetCode(basStation.getStationName());
+ }
- missionTaskIssueParam.setSourceCode(taskInstance.getSourceCode());
- missionTaskIssueParam.setTargetCode(taskInstance.getTargetCode());
+ } else {
+ missionTaskIssueParam.setTargetCode(taskInstance.getTargetCode());
+ }
+ } else {
+ BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, taskInstance.getTargetCode()));
+ if (Cools.isEmpty(basStation)){
+ basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
+ .apply("station_alias != '[]'") // 涓嶆槸绌烘暟缁�
+ .apply("JSON_CONTAINS(station_alias, '\"{0}\"') = 1", taskInstance.getTargetCode())
+ .eq(BasStation::getDeleted, 0) // 閫氬父闇�瑕佸姞涓婃湭鍒犻櫎鏉′欢
+ .last("LIMIT 1")); }
+ if (Cools.isEmpty(basStation)){
+ flowStepInstance.setRetryTimes(flowStepInstance.getRetryTimes() + 1);
+ if (flowStepInstance.getRetryTimes()>5){
+ flowStepInstance.setStatus((short)4);
+ flowStepInstanceService.updateById(flowStepInstance);
+ log.error("浠诲姟涓嬪彂澶辫触,鐩爣鐐规湭鏌ヨ鍒帮紝閲嶈瘯娆℃暟澶т簬绛変簬浜旀锛屾爣璁颁负澶辫触锛侊紒锛�");
+ } else {
+ flowStepInstanceService.updateById(flowStepInstance);
+ log.error("浠诲姟涓嬪彂澶辫触,鐩爣鐐规湭鏌ヨ鍒帮紝绛夊緟閲嶈瘯....");
+ }
+ return;
+ } else {
+ missionTaskIssueParam.setTargetCode(basStation.getStationName());
+ }
+ }
+
+ missionTaskIssueParam.setLocNo(task.getTargLoc());
+ missionTaskIssueParam.setSourcelocNo(task.getOrgLoc());
+ missionTaskIssueParam.setSourcestaNo(task.getOrgSite());
+ missionTaskIssueParam.setStaNo(task.getTargSite());
+ missionTaskIssueParam.setBarcode(task.getBarcode());
+ missionTaskIssueParam.setTaskPri(task.getSort());
+ } else if (missionTaskIssueParam.getType().equals(RcsTaskType.RCS_TASK_TYPE_ENUM_OUT.type)){
+ missionTaskIssueParam.setSourceCode(taskInstance.getSourceCode());
+ missionTaskIssueParam.setTargetCode(taskInstance.getTargetCode());
+ } else if (missionTaskIssueParam.getType().equals(RcsTaskType.RCS_TASK_TYPE_ENUM_TRANSFER.type)){
+ missionTaskIssueParam.setSourceCode(taskInstance.getSourceCode());
+ missionTaskIssueParam.setTargetCode(taskInstance.getTargetCode());
+ } else if (missionTaskIssueParam.getType().equals(RcsTaskType.RCS_TASK_TYPE_ENUM_STA.type)){
+ missionTaskIssueParam.setSourceCode(taskInstance.getSourceCode());
+ missionTaskIssueParam.setTargetCode(taskInstance.getTargetCode());
+ }
+
/**浠诲姟涓嬪彂鎺ュ彛*/
String pubTakUrl = wmsOpenApi.getHost() + ":" + wmsOpenApi.getPort() + RcsConstant.MISSION_TRANSFER_STATION;
--
Gitblit v1.9.1