From 3ee01e53778d9432599d19b183e273c38c1d7541 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: Thu, 15 Jan 2026 16:46:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(wcs):=20=E5=AE=9E=E7=8E=B0=E7=A9=BA?= =?UTF-8?q?=E6=89=98=E7=9B=98=E7=B1=BB=E5=9E=8B=E8=87=AA=E5=8A=A8=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 PalletType 实体类导入 - 在运输任务回调中增加托盘类型检查逻辑 - 实现空托盘检测机制,通过 pallet_detail 表记录数量判断 - 添加托盘类型信息查询功能,从 pallet_type 表获取 auto_sort 和 sore_type - 实现托盘类型自动更新,当托盘为空托时使用任务单托盘类型 - 添加详细的日志输出用于调试和监控 - 完善异常情况处理,避免非空托盘被错误更新 --- .../service/impl/WcsTaskServiceImpl.java | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/WcsTaskServiceImpl.java b/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/WcsTaskServiceImpl.java index 0e9a5bd..3a56ffc 100644 --- a/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/WcsTaskServiceImpl.java +++ b/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/WcsTaskServiceImpl.java @@ -6,6 +6,7 @@ import com.gaotao.modules.api.service.WmsMessageService; import com.gaotao.modules.automatedWarehouse.entity.*; import com.gaotao.modules.automatedWarehouse.mapper.WcsIntegrationMapper; import com.gaotao.modules.automatedWarehouse.service.*; +import com.gaotao.modules.base.entity.PalletType; import com.gaotao.modules.handlingunit.entity.HandlingUnit; import com.gaotao.modules.notify.mapper.NewIssureMapper; import com.gaotao.modules.warehouse.dao.PalletMapper; @@ -370,7 +371,32 @@ public class WcsTaskServiceImpl implements WcsTaskService { callbackTask.getTaskNo(), callbackTask.getItemNo(), callbackTask.getPalletId()); - + if(transportTask.getPalletType()!=null&&!"".equals(transportTask.getPalletType())){ + // 判断如果取出来的托盘是空托,也就是pallet_detail查出来没有数据,那么把托盘类型改成任务单上面的托盘类型 - rqrq + int detailCount = wcsIntegrationMapper.countPalletDetails(callbackTask.getSite(), callbackTask.getPalletId()); + if (detailCount == 0) { + // 托盘是空托,根据任务单上的托盘类型查询pallet_type表获取auto_sort和sore_type - rqrq + PalletType palletTypeInfo = wcsIntegrationMapper.getPalletType(callbackTask.getSite(), transportTask.getPalletType()); + if (palletTypeInfo != null) { + String autoSort = palletTypeInfo.getWcsAutoSort(); + Integer soreType = palletTypeInfo.getWcsSoreType(); + String palletType = transportTask.getPalletType(); + // 更新托盘的pallet_type、sore_type、auto_sort - rqrq + wcsIntegrationMapper.updatePalletTypeAndAutoSort( + callbackTask.getSite(), + callbackTask.getPalletId(), + palletType, + autoSort, + soreType); + System.out.println("空托托盘类型更新成功 - rqrq,palletId=" + callbackTask.getPalletId() + + ", palletType=" + palletType + ", autoSort=" + autoSort + ", soreType=" + soreType); + } else { + System.out.println("未找到托盘类型信息 - rqrq,palletType=" + transportTask.getPalletType()); + } + } else { + System.out.println("托盘非空托,不更新托盘类型 - rqrq,palletId=" + callbackTask.getPalletId() + ", detailCount=" + detailCount); + } + } System.out.println("运输任务托盘ID更新成功 - rqrq,taskNo=" + callbackTask.getTaskNo() + ", 新托盘ID=" + callbackTask.getPalletId()); } else {