From 1678e137eb2b60a4bea0c48478a33502a661959a Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期五, 06 三月 2026 13:00:47 +0800
Subject: [PATCH] lsh#
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java | 1 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java | 2 ++
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/MissionTaskIssueParam.java | 1 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java | 1 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java | 1 +
rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/MissionTaskIssueParam.java | 1 +
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsWcsServiceImpl.java | 5 +++--
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskMissionSchedules.java | 32 ++++++++++++++++++++------------
rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java | 3 +++
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/OrderOutItemDto.java | 2 ++
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/LocToTaskParams.java | 3 +++
11 files changed, 38 insertions(+), 14 deletions(-)
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/MissionTaskIssueParam.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/MissionTaskIssueParam.java
index 60d0b22..5f835df 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/MissionTaskIssueParam.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/MissionTaskIssueParam.java
@@ -17,6 +17,7 @@
private String locNo;//鐩爣搴撲綅
private String sourcelocNo;//婧愬簱浣�
private String staNo;//鐩爣绔欑偣
+ private String staNoArea;//鐩爣绔欑偣鍖哄煙
private String sourcestaNo;//婧愮珯鐐�
/*
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsWcsServiceImpl.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsWcsServiceImpl.java
index 3b307d9..defcfca 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsWcsServiceImpl.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsWcsServiceImpl.java
@@ -6,6 +6,7 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.cfg.CoercionAction;
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.openApi.config.PlatformProperties;
import com.vincent.rsf.openApi.entity.Loc;
@@ -109,8 +110,8 @@
String souLoc = split[2]+"-"+split[3]+"-"+split[4];
missionWcsTaskIssueParam.setLocNo(souLoc);
missionWcsTaskIssueParam.setTaskPri(param.getTaskPri());
- missionWcsTaskIssueParam.setStaNo(Integer.parseInt(param.getStaNo()));//鐩爣绔�
- missionWcsTaskIssueParam.setOutArea("");//鐩爣鍖哄煙
+ missionWcsTaskIssueParam.setStaNo(Cools.isEmpty(param.getStaNoArea())? Integer.parseInt(param.getStaNo()):null);//鐩爣绔�
+ missionWcsTaskIssueParam.setOutArea(param.getStaNoArea());//鐩爣鍖哄煙
missionWcsTaskIssueParam.setBatch("");//鍑哄簱鎵规鍙�
missionWcsTaskIssueParam.setBatchSeq(1);//鍑哄簱椤哄簭鍙�
} else if (param.getType().equals(TaskTypeEnum.TASK_TYPE_ENUM_TRANSFER.code)){
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/MissionTaskIssueParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/MissionTaskIssueParam.java
index 79fc79e..431cac4 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/MissionTaskIssueParam.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/MissionTaskIssueParam.java
@@ -24,6 +24,7 @@
private String locNo;//鐩爣搴撲綅
private String sourcelocNo;//婧愬簱浣�
private String staNo;//鐩爣绔欑偣
+ private String staNoArea;//鐩爣绔欑偣鍖哄煙
private String sourcestaNo;//婧愮珯鐐�
/*
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/OrderOutItemDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/OrderOutItemDto.java
index 222212d..24be909 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/OrderOutItemDto.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/OrderOutItemDto.java
@@ -26,6 +26,8 @@
private List<staListDto> staNos;
private List<String> targSiteAreaList;
+ private String targSiteAreaNow;
+
private String siteNo;
private String sourceId;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/LocToTaskParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/LocToTaskParams.java
index 2816e5a..d094655 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/LocToTaskParams.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/LocToTaskParams.java
@@ -37,4 +37,7 @@
@ApiModelProperty("鐩爣鍖哄煙ID闆嗗悎")
private List<String> targSiteAreaList;
+
+ @ApiModelProperty("褰撳墠鐩爣鍖哄煙")
+ private String targSiteAreaNow;
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java
index 82061e7..f59751d 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java
@@ -216,6 +216,8 @@
private String targLocArea;
+ private String targSiteAreaNow;
+
public Task() {}
public Task(String taskCode,Integer taskStatus,Integer taskType,String orgLoc,String targLoc,String barcode,String robotCode,Short exceStatus,String expDesc,Integer sort,String expCode,Date startTime,Date endTime,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
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 e3a1518..e6f0307 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
@@ -29,6 +29,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
+import java.util.concurrent.ConcurrentHashMap;
/**
* @author Munch D. Luffy
@@ -163,9 +164,10 @@
//娌℃湁璺緞 杩涘叆搴撳尯绛涢�夌珯鐐�
List<String> targSiteArea = task.getTargSiteArea();
//鎻愬彇鍑烘墍鏈夌珯鐐�
- List<String> siteList = new ArrayList<>();
+// List<String> siteList = new ArrayList<>();
+ ConcurrentHashMap<String,List<String>> siteList = new ConcurrentHashMap<>();
//绛涢�夊嚭瀛樺湪璺緞鐨勭珯鐐�
- List<String> siteListRoute = new ArrayList<>();
+ List<String[]> siteListRoute = new ArrayList<>();
//绛涢�夊彲鏇挎崲閫夐」
List<String> siteListUp = new ArrayList<>();
if (targSiteArea != null && !targSiteArea.isEmpty()) {
@@ -174,34 +176,40 @@
if (basStationArea == null || basStationArea.getStationAlias() == null || basStationArea.getStationAlias().isEmpty()) {
continue;
}
- siteList.addAll(basStationArea.getStationAlias());
+ siteList.put(basStationArea.getStationAreaId(), basStationArea.getStationAlias());
+// siteList.addAll(basStationArea.getStationAlias());
}
if (!siteList.isEmpty()) {
//鏌ヨ绔欑偣璺緞
- for (String site : siteList) {
- List<Long> routeGet = RouteWmsStepFlow.routeGet(stationList, sou, site);
- if (routeGet!=null && !routeGet.isEmpty()){
- siteListRoute.add(site);
+ for (ConcurrentHashMap.Entry<String, List<String>> entry : siteList.entrySet()) {
+ String stationAreaId = entry.getKey(); // 鑾峰彇String閿�
+ List<String> valueList = entry.getValue(); // 鑾峰彇瀵瑰簲鐨凩ist<String>
+ for (String value : valueList) {
+ List<Long> routeGet = RouteWmsStepFlow.routeGet(stationList, sou, value);
+ if (routeGet!=null && !routeGet.isEmpty()){
+ siteListRoute.add(new String[]{stationAreaId, value});
+ }
}
}
Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getOrgLoc()));
//鏌ヨ绔欑偣閰嶇疆
if (!siteListRoute.isEmpty()) {
- for (String site : siteListRoute) {
- //鎷f枡鍑哄簱 -- 鐩樼偣鍑哄簱
+ for (String[] siteArray : siteListRoute) {
+ //鍑哄簱璺緞鎺掓煡
DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
- .eq(DeviceSite::getSite, site)
+ .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)) {
BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
- .eq(BasStation::getStationName, site)
+ .eq(BasStation::getStationName, siteArray[1])
.eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
);
if (Cools.isEmpty(basStation) || !basStation.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
continue;
}
- task.setTargSite(site);
+ task.setTargSiteAreaNow(siteArray[0]);
+ task.setTargSite(siteArray[1]);
taskService.updateById(task);
break;
}
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 5ea60ab..817e4a4 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
@@ -286,6 +286,7 @@
missionTaskIssueParam.setTaskPri(task.getSort());
missionTaskIssueParam.setBarcode(task.getBarcode());
missionTaskIssueParam.setTaskNo(task.getTaskCode());
+ missionTaskIssueParam.setStaNoArea(task.getTargSiteAreaNow());
if (missionTaskIssueParam.getType().equals(RcsTaskType.RCS_TASK_TYPE_ENUM_IN.type) && endSign){
missionTaskIssueParam.setLocNo(task.getTargLoc());
missionTaskIssueParam.setSourcestaNo(missionTaskIssueParam.getSourcestaNo());
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
index 264c649..08e424b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -195,6 +195,7 @@
.setTaskStatus(taskStatus)
.setBarcode(loc.getBarcode())
.setTargSiteArea(map.getTargSiteAreaList())
+ .setTargSiteAreaNow(map.getTargSiteAreaNow())
.setMemo(map.getMemo());
List<LocItem> locItems = this.list(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, key));
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
index 11d03b4..8048e36 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
@@ -304,6 +304,7 @@
taskParams.setItems(itemDto.getLocItemList())
.setSiteNo(itemDto.getSiteNo())
.setTargSiteAreaList(itemDto.getTargSiteAreaList())
+ .setTargSiteAreaNow(itemDto.getTargSiteAreaNow())
.setType(Constants.TASK_TYPE_WAVE_OUT_STOCK)
.setSourceId(wave.getId())
.setTarLoc(loc.getCode());
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
index 46c4d30..ee01b4f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
@@ -290,9 +290,11 @@
if (count == basStationAreas.size()) {
if (!Objects.isNull(basStation)) {
+ orderOutItemDto.setTargSiteAreaNow(basStationArea.getStationAreaId());
orderOutItemDto.setSiteNo(basStation.getStationName());
// throw new CoolException("绔欓粸涓嶅瓨鍦紒锛�");
} else if (!stas.isEmpty()) {
+ orderOutItemDto.setTargSiteAreaNow(basStationArea.getStationAreaId());
orderOutItemDto.setSiteNo(basStationArea.getStationAlias().get(0));
} else {
throw new CoolException("鏈壘鍒扮鍚堟潯浠剁珯鐐癸紒锛侊紒璇锋鏌ュ簱鍖烘垨鑰呰矾寰勯厤缃紒锛侊紒");
@@ -302,6 +304,7 @@
continue;
// throw new CoolException("绔欓粸涓嶅瓨鍦紒锛�");
}
+ orderOutItemDto.setTargSiteAreaNow(basStationArea.getStationAreaId());
orderOutItemDto.setSiteNo(basStation.getStationName());
}
--
Gitblit v1.9.1