From 43e48f1d0660e11322a96e11013c176c7370d55c 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: Fri, 3 Oct 2025 09:47:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=98=BE=E7=A4=BA=E4=B9=9D=E5=AE=AB=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/entity/WareHouseTransferRequest.java | 2 ++ .../api/service/impl/WmsMessageServiceImpl.java | 16 ++++++++++------ .../service/impl/WcsTaskServiceImpl.java | 10 +++++++++- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/gaotao/modules/api/entity/WareHouseTransferRequest.java b/src/main/java/com/gaotao/modules/api/entity/WareHouseTransferRequest.java index 1bcf097..30472a0 100644 --- a/src/main/java/com/gaotao/modules/api/entity/WareHouseTransferRequest.java +++ b/src/main/java/com/gaotao/modules/api/entity/WareHouseTransferRequest.java @@ -42,4 +42,6 @@ public class WareHouseTransferRequest { * 备注 */ private String remark; + + private String username; } \ No newline at end of file diff --git a/src/main/java/com/gaotao/modules/api/service/impl/WmsMessageServiceImpl.java b/src/main/java/com/gaotao/modules/api/service/impl/WmsMessageServiceImpl.java index ea0c7b6..6d04886 100644 --- a/src/main/java/com/gaotao/modules/api/service/impl/WmsMessageServiceImpl.java +++ b/src/main/java/com/gaotao/modules/api/service/impl/WmsMessageServiceImpl.java @@ -13,6 +13,8 @@ import com.gaotao.modules.automatedWarehouse.mapper.WcsIntegrationMapper; import com.gaotao.modules.automatedWarehouse.service.WcsIntegrationService; import com.gaotao.modules.other.entity.InventoryMoveRequestDto; import com.gaotao.modules.other.service.InventoryMoveService; +import com.gaotao.modules.sys.entity.SysUserEntity; +import com.gaotao.modules.sys.service.SysUserService; import com.gaotao.modules.trans.entity.TransNoControl; import com.gaotao.modules.trans.service.TransNoControlService; import com.gaotao.modules.handlingunit.entity.HandlingUnit; @@ -55,7 +57,8 @@ public class WmsMessageServiceImpl implements WmsMessageService { @Autowired private StringRedisTemplate stringRedisTemplate; - + @Autowired + private SysUserService sysUserService; @Autowired private InterfaceCallLogService interfaceCallLogService; @@ -315,12 +318,12 @@ public class WmsMessageServiceImpl implements WmsMessageService { // 7. 创建移库出库TransHeader TransHeader stoHeader = createTransHeader(request.getSite(), stoTransNo, "STO", - fromWarehouseId, stiTransNo, "移库出库"); + fromWarehouseId, stiTransNo, "移库出库",request.getUsername()); transHeaderService.save(stoHeader); // 8. 创建移库入库TransHeader TransHeader stiHeader = createTransHeader(request.getSite(), stiTransNo, "STI", - request.getToWarehouseId(), stoTransNo, "移库入库"); + request.getToWarehouseId(), stoTransNo, "移库入库",request.getUsername()); transHeaderService.save(stiHeader); // 9. 按物料批次库位分组处理TransDetail @@ -404,14 +407,15 @@ public class WmsMessageServiceImpl implements WmsMessageService { * 创建TransHeader */ private TransHeader createTransHeader(String site, String transNo, String transTypeDb, - String warehouseId, String orderRef1, String remark) { + String warehouseId, String orderRef1, String remark,String username) { TransHeader header = new TransHeader(); + SysUserEntity sysUser = sysUserService.queryByUserName(username); header.setSite(site); header.setTransNo(transNo); header.setTransDate(Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant())); header.setTransTypeDb(transTypeDb); - header.setUserId("WCS"); - header.setUserName("WCS"); + header.setUserId(sysUser.getUserId().toString()); + header.setUserName(username); header.setRemark(remark); header.setOrderRef1(orderRef1); header.setWarehouseId(warehouseId); 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 f5946d3..234d2ba 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 @@ -61,6 +61,14 @@ public class WcsTaskServiceImpl implements WcsTaskService { log.info("处理WCS回调任务:palletId={}, transType={}, currentStatus={}", callbackTask.getPalletId(), callbackTask.getTransTypeDesc(), callbackTask.getStatus()); } + List orderTasks = wcsIntegrationMapper.findOrderTasksByTaskNo( + callbackTask.getSite(), + callbackTask.getTaskNo() + ); + String userName="sys_wms"; + if (orderTasks != null && !orderTasks.isEmpty()) { + userName = orderTasks.get(0).getCreatedBy(); + } // 1. 使用乐观锁更新状态为处理中(防止重复处理) int updateCount = wcsIntegrationMapper.updateWcsCallbackTaskStatusWithLock( @@ -82,7 +90,7 @@ public class WcsTaskServiceImpl implements WcsTaskService { // 3. 构建移库请求参数 WareHouseTransferRequest request = buildWareHouseTransferRequest(callbackTask); - + request.setUsername(userName); // 4. 调用通用移库方法(原样调用,不修改) String result = wmsMessageService.doWareHouseForPallet(request);