From e711c834aec2293c53b07efe53e81e3573c289b6 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期三, 01 四月 2026 11:42:44 +0800
Subject: [PATCH] lsh#
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskMissionSchedules.java | 40 ++++++++++++++++++++++------------------
1 files changed, 22 insertions(+), 18 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 e6f0307..9b14e17 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
@@ -13,6 +13,7 @@
import com.vincent.rsf.server.manager.service.impl.BasStationAreaServiceImpl;
import com.vincent.rsf.server.manager.service.impl.BasStationServiceImpl;
import com.vincent.rsf.server.manager.service.impl.DeviceSiteServiceImpl;
+import com.vincent.rsf.server.manager.utils.WarehouseLocationRetrievalUtil;
import com.vincent.rsf.server.system.constant.GlobalConfigCode;
import com.vincent.rsf.server.system.entity.*;
import com.vincent.rsf.server.system.service.ConfigService;
@@ -132,9 +133,21 @@
Loc loc2 = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getOrgLoc()));
sou = loc2.getAreaId().toString();
}
- List<TaskPathTemplateMerge> taskPathTemplateMergeList = taskPathTemplateMergeService.list(new LambdaQueryWrapper<TaskPathTemplateMerge>().eq(TaskPathTemplateMerge::getSourceType, sou).eq(TaskPathTemplateMerge::getTargetType, end));
+ BasContainer containerByBarcode = new WarehouseLocationRetrievalUtil().getContainerByBarcode(task.getBarcode());
+ List<TaskPathTemplateMerge> taskPathTemplateMergeList = taskPathTemplateMergeService.list(
+ new LambdaQueryWrapper<TaskPathTemplateMerge>()
+ .eq(TaskPathTemplateMerge::getSourceType, sou)
+ .eq(TaskPathTemplateMerge::getTargetType, end)
+ .apply("container_type != '[]'") // 涓嶆槸绌烘暟缁�
+ .apply("JSON_CONTAINS(container_type, {0}) = 1", containerByBarcode.getContainerType().toString())
+ );
if (Objects.isNull(taskPathTemplateMergeList) || taskPathTemplateMergeList.isEmpty() || !endSign) {
- List<TaskPathTemplateMerge> list = taskPathTemplateMergeService.list(new LambdaQueryWrapper<TaskPathTemplateMerge>().eq(TaskPathTemplateMerge::getStepSize,1));
+ List<TaskPathTemplateMerge> list = taskPathTemplateMergeService.list(
+ new LambdaQueryWrapper<TaskPathTemplateMerge>()
+ .eq(TaskPathTemplateMerge::getStepSize,1)
+ .apply("container_type != '[]'") // 涓嶆槸绌烘暟缁�
+ .apply("JSON_CONTAINS(container_type, {0}) = 1", containerByBarcode.getContainerType().toString())
+ );
if (!Cools.isEmpty(list)) {
List<String[]> stationList = new ArrayList<>();
list.forEach(taskPathTemplate -> {
@@ -173,10 +186,10 @@
if (targSiteArea != null && !targSiteArea.isEmpty()) {
for (String areaId : targSiteArea) {
BasStationArea basStationArea = basStationAreaService.getById(Long.parseLong(areaId));
- if (basStationArea == null || basStationArea.getStationAlias() == null || basStationArea.getStationAlias().isEmpty()) {
+ if (basStationArea == null || basStationArea.getStationAliasStaNo() == null || basStationArea.getStationAliasStaNo().isEmpty()) {
continue;
}
- siteList.put(basStationArea.getStationAreaId(), basStationArea.getStationAlias());
+ siteList.put(basStationArea.getStationAreaId(), basStationArea.getStationAliasStaNo());
// siteList.addAll(basStationArea.getStationAlias());
}
if (!siteList.isEmpty()) {
@@ -196,11 +209,8 @@
if (!siteListRoute.isEmpty()) {
for (String[] siteArray : siteListRoute) {
//鍑哄簱璺緞鎺掓煡
- DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
- .eq(DeviceSite::getSite, siteArray[1])
- .eq(!Objects.isNull(loc.getChannel()),DeviceSite::getChannel, loc.getChannel())
- .eq(DeviceSite::getType, task.getTaskType()).last("limit 1"),false);
- if (!Objects.isNull(deviceSite)) {
+ boolean available = new WarehouseLocationRetrievalUtil().queryPathIsItAvailableOutArea(loc.getAreaId().toString(), siteArray[1], loc.getBarcode(),"out");
+ if (available) {
BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
.eq(BasStation::getStationName, siteArray[1])
.eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
@@ -218,7 +228,6 @@
}
}
}
-
}
// System.out.println("浠诲姟锛�"+task.getTaskCode()+"鏌ヨ姝ュ簭涓猴細"+longs);
}
@@ -234,7 +243,6 @@
public boolean generateActualPath(Task task,TaskPathTemplateMerge taskPathTemplateMerge,boolean endSignUp) {
- boolean actualPath = false;
List<Integer> conditionExpression = taskPathTemplateMerge.getConditionExpression();
Integer i = 0;//it椤哄簭
Integer j = 0;//suT椤哄簭
@@ -349,17 +357,13 @@
if (basStation == null){
return false;
}
- if (!basStation.getType().equals(0)){
+ if (!basStation.getType().equals(0) && !task.getTaskType().equals(TaskType.TASK_TYPE_CROSS_DOCKING_OUT.type)){
basStation.setUseStatus(LocStsType.LOC_STS_TYPE_S.type);
+ basStation.setBarcode(task.getBarcode());
basStationService.updateById(basStation);
}
}
-
-
-
taskService.updateById(task);
- return actualPath;
+ return true;
}
-
-
}
--
Gitblit v1.9.1