From a488088a18a9b8808bc57124681cee8c4ada7299 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期二, 10 三月 2026 17:23:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/devlop-phyz' into devlop-phyz
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java | 43 +++++++++++++++++++++++++++++++++++++++++--
1 files changed, 41 insertions(+), 2 deletions(-)
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 c96cda2..be0ca00 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
@@ -172,7 +172,7 @@
* @param waveRule
* @return
*/
- public static List<OrderOutItemDto> getOutOrderList(List<WaveToLocParams> params, WaveRule waveRule) {
+ public static List<OrderOutItemDto> getOutOrderList(List<WaveToLocParams> params, WaveRule waveRule,String stationId,String locCode) {
LocService locService = SpringUtils.getBean(LocService.class);
LocItemService locItemService = SpringUtils.getBean(LocItemService.class);
DeviceSiteService deviceSiteService = SpringUtils.getBean(DeviceSiteService.class);
@@ -203,6 +203,11 @@
}
for (LocItem locItem : locItems) {
Loc loc = locService.getById(locItem.getLocId());
+ if (!Cools.isEmpty(locCode) || !Cools.isEmpty(stationId)) {
+ if (!loc.getCode().equals(locCode)){
+ continue;
+ }
+ }
List<LocItem> itemList = locItemService.list(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, loc.getId()));
if (issued.doubleValue() > 0 && locList.contains(loc)) {
@@ -243,7 +248,7 @@
.apply("JSON_CONTAINS(container_type, {0}) = 1", containerType.getContainerType().toString())//瀹瑰櫒绫诲瀷
.eq(BasStationArea::getDeleted, 0));
// .apply("JSON_CONTAINS(station_alias, '\"{0}\"') = 1", null)//鍖哄煙鍖呭惈绔欑偣闆�
- if (!basStationAreas.isEmpty()){
+ if (!basStationAreas.isEmpty() && Cools.isEmpty(stationId)){
List<String> targSiteAreaList = new ArrayList<>();
for (BasStationArea basStationArea : basStationAreas) {
if (basStationArea.getStationAliasStaNo().isEmpty()){
@@ -317,6 +322,40 @@
issued = issued.subtract(new BigDecimal(locItem.getAnfme().toString()));
break;
}
+ } else if (!Cools.isEmpty(stationId)){
+ BasStationService basStationService = SpringUtils.getBean(BasStationService.class);
+ BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, stationId));
+ if (Objects.isNull(basStation)) {
+ throw new CoolException("缁戝畾绔欓粸涓嶅瓨鍦紒锛�");
+ }
+ List<DeviceSite> deviceSites = deviceSiteService.list(new LambdaQueryWrapper<DeviceSite>()
+ .eq(!Objects.isNull(loc.getChannel()), DeviceSite::getChannel, loc.getChannel())
+ .eq(!Objects.isNull(loc.getAreaId()), DeviceSite::getAreaIdStart, loc.getAreaId())
+ .eq( DeviceSite::getSite, stationId)
+ .eq(DeviceSite::getType, issued.doubleValue() >= locItem.getAnfme() && itemList.size() == 1 ? TaskType.TASK_TYPE_OUT.type : TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)
+ );
+ if (!deviceSites.isEmpty()) {
+ List<OrderOutItemDto.staListDto> maps = new ArrayList<>();
+ for (DeviceSite sta : deviceSites) {
+ OrderOutItemDto.staListDto staListDto = new OrderOutItemDto.staListDto();
+ staListDto.setStaNo(sta.getSite());
+ staListDto.setStaName(sta.getSite());
+ maps.add(staListDto);
+ }
+ orderOutItemDto.setStaNos(maps);
+ orderOutItemDto.setSiteNo(basStation.getStationName());
+ } else {
+ throw new CoolException("鏈壘鍒扮鍚堟潯浠剁珯鐐硅矾寰勶紒锛侊紒璇锋鏌ヨ矾寰勭鐞嗭紒锛侊紒");
+ }
+
+ orderOutItemDto.setSource(item.getItemId().toString())
+ .setTargSiteAreaList(new ArrayList<>())
+ .setSourceId(item.getWaveId().toString());
+ list.add(orderOutItemDto);
+
+ locList.add(loc);
+ issued = issued.subtract(new BigDecimal(locItem.getAnfme().toString()));
+
} else {
List<DeviceSite> deviceSites = deviceSiteService.list(new LambdaQueryWrapper<DeviceSite>()
.eq(!Objects.isNull(loc.getChannel()), DeviceSite::getChannel, loc.getChannel())
--
Gitblit v1.9.1