From 6891f679d5dcd016e82b595ba7efe89b01980569 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Fri, 12 Jun 2026 13:43:31 +0800 Subject: [PATCH] =?UTF-8?q?2026-06-12=20RoHs=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/rohs/entity/RohsEntity.java | 12 +++++ .../rohs/service/impl/RohsServiceImpl.java | 49 +++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/src/main/java/com/spring/modules/rohs/entity/RohsEntity.java b/src/main/java/com/spring/modules/rohs/entity/RohsEntity.java index 6945d10d..e501775f 100644 --- a/src/main/java/com/spring/modules/rohs/entity/RohsEntity.java +++ b/src/main/java/com/spring/modules/rohs/entity/RohsEntity.java @@ -218,11 +218,23 @@ public class RohsEntity implements Serializable { */ private String hsfApprover; + /** + * HSF审批人名称(;分隔,前端展示) + */ + @TableField(exist = false) + private String hsfApproverName; + /** * Inform Related people */ private String relatedPeople; + /** + * Inform Related people名称(前端展示) + */ + @TableField(exist = false) + private String relatedPeopleName; + /** * 有效期数值 */ diff --git a/src/main/java/com/spring/modules/rohs/service/impl/RohsServiceImpl.java b/src/main/java/com/spring/modules/rohs/service/impl/RohsServiceImpl.java index f6b50b82..5b0e1021 100644 --- a/src/main/java/com/spring/modules/rohs/service/impl/RohsServiceImpl.java +++ b/src/main/java/com/spring/modules/rohs/service/impl/RohsServiceImpl.java @@ -77,6 +77,13 @@ public class RohsServiceImpl extends ServiceImpl impleme new Query().getPage(params), params ); + List records = page.getRecords(); + if (records != null && !records.isEmpty()) { + Map userDisplayCache = new HashMap<>(); + for (RohsEntity rohs : records) { + fillUserDisplayFields(rohs, userDisplayCache); + } + } return new PageUtils(page); } @@ -85,6 +92,7 @@ public class RohsServiceImpl extends ServiceImpl impleme public RohsEntity getDetail(String site, String referenceNo) { RohsEntity rohs = this.baseMapper.getDetailWithNames(site, referenceNo); if (rohs != null) { + fillUserDisplayFields(rohs, new HashMap<>()); rohs.setMaterialList(this.getMaterialList(site, referenceNo)); } return rohs; @@ -529,6 +537,47 @@ public class RohsServiceImpl extends ServiceImpl impleme return String.valueOf(valueObj); } + private void fillUserDisplayFields(RohsEntity rohs, Map userDisplayCache) { + if (rohs == null) { + return; + } + rohs.setHsfApproverName(convertUserCodeListToDisplay(rohs.getHsfApprover(), userDisplayCache)); + rohs.setRelatedPeopleName(convertUserCodeListToDisplay(rohs.getRelatedPeople(), userDisplayCache)); + } + + private String convertUserCodeListToDisplay(String userCodeList, Map userDisplayCache) { + if (StringUtils.isBlank(userCodeList)) { + return ""; + } + String[] users = userCodeList.replace(";", ",").split(","); + List userDisplayList = new ArrayList<>(); + for (String userCode : users) { + String normalizedCode = StringUtils.trim(userCode); + if (StringUtils.isBlank(normalizedCode)) { + continue; + } + userDisplayList.add(resolveUserDisplay(normalizedCode, userDisplayCache)); + } + return String.join(";", userDisplayList); + } + + private String resolveUserDisplay(String userCode, Map userDisplayCache) { + if (StringUtils.isBlank(userCode)) { + return ""; + } + String normalizedCode = userCode.trim(); + if (userDisplayCache.containsKey(normalizedCode)) { + return userDisplayCache.get(normalizedCode); + } + String userDisplay = normalizedCode; + SysUserEntity sysUser = sysUserDao.queryByUserName(normalizedCode); + if (sysUser != null && StringUtils.isNotBlank(sysUser.getUserDisplay())) { + userDisplay = sysUser.getUserDisplay().trim(); + } + userDisplayCache.put(normalizedCode, userDisplay); + return userDisplay; + } + private void sanitizeHsfStandard(RohsEntity rohs) { if (rohs == null) { return;