diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/mapper/WcsIntegrationMapper.java b/src/main/java/com/gaotao/modules/automatedWarehouse/mapper/WcsIntegrationMapper.java index 5b2b0c2..02f6b5e 100644 --- a/src/main/java/com/gaotao/modules/automatedWarehouse/mapper/WcsIntegrationMapper.java +++ b/src/main/java/com/gaotao/modules/automatedWarehouse/mapper/WcsIntegrationMapper.java @@ -983,5 +983,32 @@ public interface WcsIntegrationMapper { Map getOrderInfoByNotifyAndItem(@Param("site") String site, @Param("notifyNo") String notifyNo, @Param("itemNo") String itemNo); + + /** + * @Description 根据site、taskNo、itemNo查询运输任务 - rqrq + * @param site 工厂编码 + * @param taskNo 任务编号 + * @param itemNo 任务行号 + * @return 运输任务信息 + * @author rqrq + * @date 2025/11/25 + */ + WmsTransportTask getTransportTaskByTaskNoAndItem(@Param("site") String site, + @Param("taskNo") String taskNo, + @Param("itemNo") Integer itemNo); + + /** + * @Description 更新运输任务的托盘ID - rqrq + * @param site 工厂编码 + * @param taskNo 任务编号 + * @param itemNo 任务行号 + * @param palletId 新的托盘ID + * @author rqrq + * @date 2025/11/25 + */ + void updateTransportTaskPalletId(@Param("site") String site, + @Param("taskNo") String taskNo, + @Param("itemNo") Integer itemNo, + @Param("palletId") String palletId); } 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 20b1fd9..edabd74 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 @@ -345,11 +345,35 @@ public class WcsTaskServiceImpl implements WcsTaskService { // 1. 更新订单任务状态 - rqrq if (callbackTask.getTaskNo() != null && callbackTask.getItemNo() != null) { + + // 新增逻辑:检查并更新运输任务的托盘ID - rqrq + System.out.println("开始检查运输任务是否存在 - rqrq,site=" + callbackTask.getSite() + + ", taskNo=" + callbackTask.getTaskNo() + ", itemNo=" + callbackTask.getItemNo()); + + WmsTransportTask transportTask = wcsIntegrationMapper.getTransportTaskByTaskNoAndItem( + callbackTask.getSite(), callbackTask.getTaskNo(), callbackTask.getItemNo()); + + if (transportTask != null) { + System.out.println("找到运输任务 - rqrq,原托盘ID=" + transportTask.getPalletId() + + ", 新托盘ID=" + callbackTask.getPalletId()); + + // 更新运输任务的托盘ID - rqrq + wcsIntegrationMapper.updateTransportTaskPalletId( + callbackTask.getSite(), + callbackTask.getTaskNo(), + callbackTask.getItemNo(), + callbackTask.getPalletId()); + + System.out.println("运输任务托盘ID更新成功 - rqrq,taskNo=" + callbackTask.getTaskNo() + + ", 新托盘ID=" + callbackTask.getPalletId()); + } else { + System.out.println("未找到对应的运输任务 - rqrq"); + } + WmsOrderTask orderTask = wcsIntegrationMapper.findOrderTasksByTaskNoItem( callbackTask.getSite(), callbackTask.getTaskNo(), callbackTask.getItemNo()); if (orderTask == null) { return "取货通知处理成功"; - } if (!"领料申请单".equals(orderTask.getSourceType()) && !"发货通知单".equals(orderTask.getSourceType())) { diff --git a/src/main/resources/mapper/automatedWarehouse/WcsIntegrationMapper.xml b/src/main/resources/mapper/automatedWarehouse/WcsIntegrationMapper.xml index 52d7464..83f83a7 100644 --- a/src/main/resources/mapper/automatedWarehouse/WcsIntegrationMapper.xml +++ b/src/main/resources/mapper/automatedWarehouse/WcsIntegrationMapper.xml @@ -1775,5 +1775,36 @@ AND notify_no = #{notifyNo} AND CAST(item_no AS VARCHAR) = #{itemNo} + + + + + + + UPDATE wms_transport_task + SET pallet_id = #{palletId}, + updated_time = GETDATE() + WHERE site = #{site} + AND task_no = #{taskNo} + AND item_no = #{itemNo} + \ No newline at end of file