From 49104a1ddfb8d3fa85232b7986ebc1e27dd273bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Tue, 27 Oct 2026 16:12:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=B7=E5=AE=89=E7=A9=BA=E6=89=98=E7=9B=98?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HaiAnPdaAutoWarehouseServiceImpl.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java b/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java index c8145e41..afe49bef 100644 --- a/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java +++ b/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java @@ -2415,13 +2415,14 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe if (!startStation.trim().equals(palletCheck.getCurrentStationCode().trim())) { throw new RuntimeException("起始站点与栈板当前站点不一致,请重新扫描栈板"); } - String targetStation = resolveTargetStationForChangeTask(site, businessAreaId, request.getTargetStation(), startStation); - if (!StringUtils.hasText(targetStation)) { - throw new RuntimeException("目标站点不能为空"); - } - if (startStation.trim().equals(targetStation.trim())) { + // 页面未选站点时不再自动挑空闲点。立库仍必须指定端口;其它区域把空站点交给WCS按toArea分配 - rqrq + String requestedStation = StringUtils.hasText(request.getTargetStation()) ? request.getTargetStation().trim() : ""; + validateWarehousePortTarget(businessAreaId, requestedStation); + if (StringUtils.hasText(requestedStation) && startStation.trim().equals(requestedStation)) { throw new RuntimeException("起始站点和目标站点不能相同"); } + // 未选站点时任务目标位置留空串,与报文toStation空值一致,不把WMS猜的站点写入任务 - rqrq + String persistedToLocation = requestedStation; String operator = resolveOperator(); Date now = new Date(); @@ -2445,7 +2446,7 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe taskData.setBatchNo(""); taskData.setSerialNo(""); taskData.setFromLocation(startStation.trim()); - taskData.setToLocation(targetStation.trim()); + taskData.setToLocation(persistedToLocation); taskData.setPalletId(palletId); taskData.setAgvCode(""); taskData.setCurrentAgvTaskNo(""); @@ -2471,7 +2472,7 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe detailData.setActionType("栈板运输"); detailData.setComment("海安托盘换站下达"); detailData.setFromLocation(startStation.trim()); - detailData.setToLocation(targetStation.trim()); + detailData.setToLocation(persistedToLocation); detailData.setAgvCode(""); detailData.setCurrentAgvTaskNo(""); detailData.setStatus(HaiAnStatusStaticData.TASK_DISPATCHED); @@ -2512,8 +2513,9 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe outsideTransferTaskRequest.setConfigId(StringUtils.hasText(request.getConfigId()) ? request.getConfigId().trim() : null); outsideTransferTaskRequest.setOriStation(startStation.trim()); outsideTransferTaskRequest.setToArea(wcsTargetAreaCode); - outsideTransferTaskRequest.setToStation(StringUtils.hasText(request.getTargetStation()) ? request.getTargetStation().trim() : targetStation.trim()); - // 调用库外搬运接口:入参taskId+palletType+basePalletType+oriStation+toArea(wcs_area_code);HTTP 短路由接口层处理,失败回滚 WOT 与 calling_flag - rqrq + // 未选站点传空字符串,报文是"toStation":"",不是null;选了站点才传具体点位 - rqrq + outsideTransferTaskRequest.setToStation(StringUtils.hasText(requestedStation) ? requestedStation : ""); + // 调用库外搬运接口:入参taskId+palletType+basePalletType+oriStation+toArea(wcs_area_code)+toStation(可空);HTTP 短路由接口层处理,失败回滚 WOT 与 calling_flag - rqrq haiAnWcsApiService.pushOutsideTransferTask(outsideTransferTaskRequest); }