From 2c5729e8463a8b7558f50fb09c5a678bc39c0995 Mon Sep 17 00:00:00 2001
From: Joshi <3040996759@qq.com>
Date: Thu, 4 Dec 2025 17:24:55 +0800
Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E7=94=A8?=
=?UTF-8?q?=E6=88=B7=E6=98=B5=E7=A7=B0=E6=98=BE=E7=A4=BA=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 在WmsCoilPendingActionMapper.xml中关联sys_user表获取创建人和操作人昵称
- 在WmsMaterialCoilMapper.xml中关联sys_user表获取创建人和更新人昵称
- 在WmsCoilPendingActionVo.java和WmsMaterialCoilVo.java中添加createByName和updateByName字段
- 在WmsDeliveryPlanServiceImpl.java中实现根据用户名获取用户昵称的逻辑
- 在WmsMaterialCoilServiceImpl.java中实现批量获取操作人昵称的功能
- 在pom.xml中添加klp-system依赖以支持用户服务调用
---
klp-wms/pom.xml | 4 ++
.../klp/domain/vo/WmsCoilPendingActionVo.java | 10 ++++
.../com/klp/domain/vo/WmsDeliveryPlanVo.java | 11 ++++
.../com/klp/domain/vo/WmsMaterialCoilVo.java | 4 ++
.../impl/WmsDeliveryPlanServiceImpl.java | 32 +++++++++++
.../impl/WmsMaterialCoilServiceImpl.java | 53 +++++++++++++++++++
.../mapper/klp/WmsCoilPendingActionMapper.xml | 6 ++-
.../mapper/klp/WmsMaterialCoilMapper.xml | 8 ++-
8 files changed, 126 insertions(+), 2 deletions(-)
diff --git a/klp-wms/pom.xml b/klp-wms/pom.xml
index ca58eb19..ed5ad600 100644
--- a/klp-wms/pom.xml
+++ b/klp-wms/pom.xml
@@ -62,5 +62,9 @@
1.2.89
RELEASE
+
+ com.klp
+ klp-system
+
diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsCoilPendingActionVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsCoilPendingActionVo.java
index 6e738d0d..8eb493d3 100644
--- a/klp-wms/src/main/java/com/klp/domain/vo/WmsCoilPendingActionVo.java
+++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsCoilPendingActionVo.java
@@ -150,5 +150,15 @@ public class WmsCoilPendingActionVo extends BaseEntity implements Serializable {
private String supplierCoilNo;
private Long itemId;
private String itemType;
+
+ /**
+ * 创建人昵称
+ */
+ private String createByName;
+
+ /**
+ * 更新人昵称
+ */
+ private String updateByName;
}
diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java
index 6b49ddd0..7faf26c2 100644
--- a/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java
+++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java
@@ -60,4 +60,15 @@ public class WmsDeliveryPlanVo extends BaseEntity {
*/
private List waybills;
+
+ /**
+ * 创建人昵称
+ */
+ private String createByName;
+
+ /**
+ * 更新人昵称
+ */
+ private String updateByName;
+
}
diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java
index 74f288aa..357ebe2e 100644
--- a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java
+++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java
@@ -306,5 +306,9 @@ public class WmsMaterialCoilVo extends BaseEntity {
*/
private Integer abnormalCount;
+
+ private String createByName;
+ private String updateByName;
+
}
diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java
index c8fcfc27..e8c27e5d 100644
--- a/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java
+++ b/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java
@@ -1,6 +1,7 @@
package com.klp.service.impl;
import cn.hutool.core.bean.BeanUtil;
+import com.klp.common.core.domain.entity.SysUser;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,6 +12,7 @@ import com.klp.domain.vo.WmsDeliveryPlanStatisticsVo;
import com.klp.domain.vo.WmsDeliveryReportByTypeVo;
import com.klp.domain.vo.WmsDeliveryReportResultVo;
import com.klp.domain.vo.WmsDeliveryReportSummaryVo;
+import com.klp.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.domain.bo.WmsDeliveryPlanBo;
@@ -33,6 +35,8 @@ public class WmsDeliveryPlanServiceImpl implements IWmsDeliveryPlanService {
private final WmsDeliveryPlanMapper baseMapper;
+ private final ISysUserService userService;
+
/**
* 查询发货计划
*/
@@ -48,9 +52,37 @@ public class WmsDeliveryPlanServiceImpl implements IWmsDeliveryPlanService {
public TableDataInfo queryPageList(WmsDeliveryPlanBo bo, PageQuery pageQuery) {
LambdaQueryWrapper lqw = buildQueryWrapper(bo);
Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ result.getRecords().forEach(item -> {
+ if (item.getCreateBy() != null) {
+ item.setCreateByName(getUserNickname(item.getCreateBy()));
+ }
+ if (item.getUpdateBy() != null) {
+ item.setUpdateByName(getUserNickname(item.getUpdateBy()));
+ }
+ });
return TableDataInfo.build(result);
}
+ /**
+ * 根据用户名获取用户昵称
+ * @param username 用户名
+ * @return 用户昵称
+ */
+ private String getUserNickname(String username) {
+ try {
+ // 通过用户名查找用户
+ SysUser user = userService.selectUserByUserName(username);
+ if (user != null) {
+ return user.getNickName();
+ }
+ } catch (Exception e) {
+ // 出现异常时返回原用户名
+ return username;
+ }
+ // 找不到用户时返回原用户名
+ return username;
+ }
+
/**
* 查询发货计划列表
*/
diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java
index c6877ecf..82afa82b 100644
--- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java
+++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java
@@ -2,6 +2,7 @@ package com.klp.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.klp.common.core.domain.entity.SysUser;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,8 +11,10 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.helper.LoginHelper;
import com.klp.common.utils.StringUtils;
+import com.klp.common.utils.spring.SpringUtils;
import com.klp.domain.bo.*;
import com.klp.domain.vo.*;
+import com.klp.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -52,6 +55,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
private final IWmsRawMaterialService rawMaterialService;
private final IWmsBomItemService bomItemService;
private final IWmsProductService productService;
+ private final ISysUserService userService;
/**
* 查询钢卷物料表
@@ -1283,6 +1287,9 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
Map> uniqueSteps = new HashMap<>(); // 用于去重
Set allCoilNos = new HashSet<>();
+ // 收集所有操作人用户名
+ Set operatorUsernames = new HashSet<>();
+
for (WmsGenerateRecordVo qrRecord : allQrRecords) {
@SuppressWarnings("unchecked")
Map contentMap = (Map) objectMapper.readValue(qrRecord.getContent(), Map.class);
@@ -1301,6 +1308,12 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
uniqueStep.put("qrcode_serial", qrRecord.getSerialNumber());
uniqueStep.put("qrcode_id", qrRecord.getRecordId());
uniqueSteps.put(stepKey, uniqueStep);
+
+ // 收集操作人用户名
+ Object operator = step.get("operator");
+ if (operator != null) {
+ operatorUsernames.add(operator.toString());
+ }
}
// 提取钢卷号
@@ -1317,6 +1330,9 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
}
}
+ // 获取操作人昵称映射
+ Map operatorNicknameMap = getOperatorNicknames(operatorUsernames);
+
// 转换为列表并按原始步骤号排序(保持时间顺序)
List