diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inOrderAbnormal/repository/persistence/InOrderAbnormalImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inOrderAbnormal/repository/persistence/InOrderAbnormalImpl.java index 329da5028..d55be09e2 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/inOrderAbnormal/repository/persistence/InOrderAbnormalImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inOrderAbnormal/repository/persistence/InOrderAbnormalImpl.java @@ -140,6 +140,13 @@ public class InOrderAbnormalImpl extends ServiceImpl genShelfOrderMaterialDetailList(InOrderAbnormalBaseDO inOrderAbnormalBaseDO, List shelfMaterialDetailList){ LoginUser loginUser = SecurityUtils.getLoginUser(); + // 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底) + final String userRealName = (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null + && !loginUser.getUserPo().getUserName().trim().isEmpty()) + ? loginUser.getUserPo().getUserName() + : (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty()) + ? loginUser.getRealname() + : loginUser.getUsername(); List inOrderAbnormalList = new ArrayList<>(); for (ShelfMaterialDetail shelfMaterialDetail : shelfMaterialDetailList){ //上架 @@ -165,7 +172,7 @@ public class InOrderAbnormalImpl extends ServiceImpl genReceiptOrderMaterialDetailList(InOrderAbnormalBaseDO inOrderAbnormalBaseDO, List receiptMaterialDetailList){ LoginUser loginUser = SecurityUtils.getLoginUser(); + // 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底) + final String userRealName = (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null + && !loginUser.getUserPo().getUserName().trim().isEmpty()) + ? loginUser.getUserPo().getUserName() + : (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty()) + ? loginUser.getRealname() + : loginUser.getUsername(); List inOrderAbnormalList = new ArrayList<>(); for (ReceiptMaterialDetail receiptMaterialDetail : receiptMaterialDetailList){ //收货 @@ -203,7 +217,7 @@ public class InOrderAbnormalImpl extends ServiceImpl stockReceiptOrderDOList) { LoginUser loginUser = SecurityUtils.getLoginUser(); + // 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底) + final String userRealName = (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null + && !loginUser.getUserPo().getUserName().trim().isEmpty()) + ? loginUser.getUserPo().getUserName() + : (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty()) + ? loginUser.getRealname() + : loginUser.getUsername(); List stockReceiptOrderList = new ArrayList<>(); List receiptMaterialDetailList = new ArrayList<>(); stockReceiptOrderDOList.forEach(stockReceiptOrderDO -> { StockReceiptOrder stockReceiptOrder = JSONUtil.toBean(JSONUtil.toJsonStr(stockReceiptOrderDO), StockReceiptOrder.class); stockReceiptOrder.setReceiptOrderNumber(OrderSequence.getOrderCode("SH")); stockReceiptOrder.setCreateBy(loginUser.getUserid()); - stockReceiptOrder.setCreateByName(loginUser.getUsername()); + stockReceiptOrder.setCreateByName(userRealName); stockReceiptOrder.setCreateTime(new Date()); stockReceiptOrder.setUpdateBy(loginUser.getUserid()); - stockReceiptOrder.setUpdateByName(loginUser.getUsername()); + stockReceiptOrder.setUpdateByName(userRealName); stockReceiptOrder.setUpdateTime(new Date()); stockReceiptOrderList.add(stockReceiptOrder); stockReceiptOrderDO.getMaterialDetailList().forEach(materialDetailDO -> { @@ -159,7 +166,7 @@ public class StockReceiptOrderDomainService { receiptMaterialDetail.setReceiptOrderNumber(stockReceiptOrder.getReceiptOrderNumber()); receiptMaterialDetail.setGenStockShelf(2); // 设置需要生成上架单 receiptMaterialDetail.setCreateBy(loginUser.getUserid()); - receiptMaterialDetail.setCreateByName(loginUser.getUsername()); + receiptMaterialDetail.setCreateByName(userRealName); receiptMaterialDetail.setCreateTime(new Date()); receiptMaterialDetailList.add(receiptMaterialDetail); }); @@ -665,6 +672,13 @@ public class StockReceiptOrderDomainService { throw new ServiceException("收货单【" + stockReceiptOrderPO.getReceiptOrderNumber() + "】已完成收货,请重新选择"); } LoginUser loginUser = SecurityUtils.getLoginUser(); + // 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底) + final String userRealName = (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null + && !loginUser.getUserPo().getUserName().trim().isEmpty()) + ? loginUser.getUserPo().getUserName() + : (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty()) + ? loginUser.getRealname() + : loginUser.getUsername(); int abnormal = 2; if (stockReceiptOrderPO.getReceiptQuantity().compareTo(stockReceiptOrderPO.getQuantity()) != 0){ abnormal = 1; @@ -678,7 +692,7 @@ public class StockReceiptOrderDomainService { stockInOrder.setInOrderNumber(stockReceiptOrderPO.getInOrderNumber()); stockInOrder.setStatus(4); // 4-上架中 stockInOrder.setUpdateBy(loginUser.getUserid()); - stockInOrder.setUpdateByName(loginUser.getUsername()); + stockInOrder.setUpdateByName(userRealName); stockInOrder.setUpdateTime(new Date()); stockInOrderService.update(stockInOrder, new QueryWrapper().lambda() @@ -701,7 +715,7 @@ public class StockReceiptOrderDomainService { //如果没有指定操作人员,使用当前登录用户 if (stockShelfOrderDO.getOperatorsBy() == null) { stockShelfOrderDO.setOperatorsBy(loginUser.getUserid()); - stockShelfOrderDO.setOperatorsName(loginUser.getUsername()); + stockShelfOrderDO.setOperatorsName(userRealName); } //生成上架任务 stockShelfOrderDomainService.genDeliveTask(stockShelfOrderPOList, stockShelfOrderDO); @@ -710,7 +724,7 @@ public class StockReceiptOrderDomainService { .set(StockShelfOrder::getTaskDistribution, 1) .set(StockShelfOrder::getTaskDistributionTime, new Date()) .set(StockShelfOrder::getUpdateBy, loginUser.getUserid()) - .set(StockShelfOrder::getUpdateByName, loginUser.getUsername()) + .set(StockShelfOrder::getUpdateByName, userRealName) .set(StockShelfOrder::getUpdateTime, new Date()) .in(StockShelfOrder::getShelfOrderId, stockShelfOrderDO.getShelfOrderIds())); } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/service/StockShelfOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/service/StockShelfOrderDomainService.java index 1943c413d..848c87ecd 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/service/StockShelfOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/service/StockShelfOrderDomainService.java @@ -146,6 +146,13 @@ public class StockShelfOrderDomainService { @Transactional(rollbackFor = Exception.class) public Boolean genStockShelfOrder(List stockShelfOrderDOList) { LoginUser loginUser = SecurityUtils.getLoginUser(); + // 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底) + final String userRealName = (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null + && !loginUser.getUserPo().getUserName().trim().isEmpty()) + ? loginUser.getUserPo().getUserName() + : (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty()) + ? loginUser.getRealname() + : loginUser.getUsername(); List stockShelfOrderList = new ArrayList<>(); List shelfMaterialDetailList = new ArrayList<>(); stockShelfOrderDOList.forEach(stockShelfOrderDO -> { @@ -156,10 +163,10 @@ public class StockShelfOrderDomainService { stockShelfOrder.setShelfOrderNumber(OrderSequence.getOrderCode("SJ")); } stockShelfOrder.setCreateBy(loginUser.getUserid()); - stockShelfOrder.setCreateByName(loginUser.getUsername()); + stockShelfOrder.setCreateByName(userRealName); stockShelfOrder.setCreateTime(new Date()); stockShelfOrder.setUpdateBy(loginUser.getUserid()); - stockShelfOrder.setUpdateByName(loginUser.getUsername()); + stockShelfOrder.setUpdateByName(userRealName); stockShelfOrder.setUpdateTime(new Date()); stockShelfOrderList.add(stockShelfOrder); stockShelfOrderDO.getMaterialDetailList().forEach(materialDetailDO -> { @@ -173,7 +180,7 @@ public class StockShelfOrderDomainService { shelfMaterialDetail.setShelfOrderNumber(stockShelfOrder.getShelfOrderNumber()); shelfMaterialDetail.setLevel(1); shelfMaterialDetail.setCreateBy(loginUser.getUserid()); - shelfMaterialDetail.setCreateByName(loginUser.getUsername()); + shelfMaterialDetail.setCreateByName(userRealName); shelfMaterialDetail.setCreateTime(new Date()); shelfMaterialDetailList.add(shelfMaterialDetail); }); @@ -1080,6 +1087,13 @@ public class StockShelfOrderDomainService { @Transactional(rollbackFor = Exception.class) public void genDeliveTask(List stockReceiptOrderPOList, StockShelfOrderDO stockReceiptOrderDO){ LoginUser loginUser = SecurityUtils.getLoginUser(); + // 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底) + final String userRealName = (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null + && !loginUser.getUserPo().getUserName().trim().isEmpty()) + ? loginUser.getUserPo().getUserName() + : (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty()) + ? loginUser.getRealname() + : loginUser.getUsername(); List deliveTaskDOList = new ArrayList<>(); for (StockShelfOrderPO stockShelfOrderPO : stockReceiptOrderPOList){ DeliveTaskDO deliveTaskDO = new DeliveTaskDO(); @@ -1094,12 +1108,12 @@ public class StockShelfOrderDomainService { deliveTaskDO.setTaskType(2); deliveTaskDO.setTaskDistribution(1); deliveTaskDO.setTaskDistributionId(loginUser.getUserid()); - deliveTaskDO.setTaskDistributionName(loginUser.getUsername()); + deliveTaskDO.setTaskDistributionName(userRealName); deliveTaskDO.setTaskDistributionTime(new Date()); deliveTaskDO.setOperatorsBy(stockReceiptOrderDO.getOperatorsBy()); deliveTaskDO.setOperatorsName(stockReceiptOrderDO.getOperatorsName()); deliveTaskDO.setCreateBy(loginUser.getUserid()); - deliveTaskDO.setCreateByName(loginUser.getUsername()); + deliveTaskDO.setCreateByName(userRealName); deliveTaskDO.setCreateTime(new Date()); deliveTaskDOList.add(deliveTaskDO); } diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/inOrderAbnormal/InOrderAbnormalAssembler.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/inOrderAbnormal/InOrderAbnormalAssembler.java index 99bc3c3c6..771b62ef2 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/inOrderAbnormal/InOrderAbnormalAssembler.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/inOrderAbnormal/InOrderAbnormalAssembler.java @@ -43,19 +43,31 @@ public class InOrderAbnormalAssembler { if (ObjectUtil.isNull(loginUser)) { throw new DigitalLogisticsException(UserError.TIMEOUT); } - String userName = loginUser.getUsername(); // 获取登录人id Long userId = loginUser.getUserid(); + // 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底) + String userRealName = null; + if (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null + && !loginUser.getUserPo().getUserName().trim().isEmpty()) { + // 优先使用UserPo中的userName(用户真实姓名) + userRealName = loginUser.getUserPo().getUserName(); + } else if (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty()) { + // 其次使用realname + userRealName = loginUser.getRealname(); + } else { + // 最后使用username(账号)作为兜底 + userRealName = loginUser.getUsername(); + } if(inOrderAbnormalDTO.getInOrderAbnormalId() != null){ inOrderAbnormalDO.setUpdateBy(userId); - inOrderAbnormalDO.setUpdateByName(userName); + inOrderAbnormalDO.setUpdateByName(userRealName); inOrderAbnormalDO.setUpdateTime(new Date()); }else { inOrderAbnormalDO.setOrganizationId(loginUser.getUserPo().getOrganizationId()); inOrderAbnormalDO.setOrganizationName(loginUser.getUserPo().getOrganizationName()); inOrderAbnormalDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); inOrderAbnormalDO.setCreateBy(userId); - inOrderAbnormalDO.setCreateByName(userName); + inOrderAbnormalDO.setCreateByName(userRealName); inOrderAbnormalDO.setCreateTime(new Date()); inOrderAbnormalDO.setDelFlag(1); }