From 416558785276159b8730b2826e71995fc16b59a7 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期四, 29 十月 2026 11:47:44 +0800
Subject: [PATCH] refactor(safety): 人员与车间字段全面改为主数据关联
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/safety/SafetyCertificateService.java | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/safety/SafetyCertificateService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/safety/SafetyCertificateService.java
index 575cddb..b40ca58 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/safety/SafetyCertificateService.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/safety/SafetyCertificateService.java
@@ -50,6 +50,8 @@
private SafetyCertificateMapper certificateMapper;
@Resource
private HrmEmployeeApi hrmEmployeeApi;
+ @Resource
+ private SafetyRefResolver refResolver;
public Long createCertificate(SafetyCertificateSaveReqVO reqVO) {
reqVO.setId(null);
@@ -113,9 +115,25 @@
}
/**
+ * 鎵归噺琛ュ叏灞曠ず瀛楁锛屾寔璇佷汉妗f涓�娆℃�ф煡濂斤紝閬垮厤閫愭潯鏌ヨ
+ */
+ public void fillDisplayFieldsBatch(List<SafetyCertificateDO> certs, List<SafetyCertificateRespVO> resps) {
+ var employeeMap = refResolver.employeeMap(certs.stream().map(SafetyCertificateDO::getEmployeeId).toList());
+ for (int i = 0; i < certs.size(); i++) {
+ fillDisplayFields(certs.get(i), resps.get(i), employeeMap.get(certs.get(i).getEmployeeId()));
+ }
+ }
+
+ /**
* 鍗曚釜璇佷欢鐨勫睍绀哄瓧娈佃ˉ鍏紙绫诲瀷鍚嶇О銆佺姸鎬佸悕绉般�佸墿浣欏ぉ鏁般�佹寔璇佷汉妗f锛�
*/
public void fillDisplayFields(SafetyCertificateDO cert, SafetyCertificateRespVO respVO) {
+ fillDisplayFields(cert, respVO, cert.getEmployeeId() == null ? null
+ : hrmEmployeeApi.getEmployee(cert.getEmployeeId()));
+ }
+
+ private void fillDisplayFields(SafetyCertificateDO cert, SafetyCertificateRespVO respVO,
+ HrmEmployeeSimpleDTO employee) {
respVO.setCertTypeName(SafetyCertificateTypeEnum.getNameByType(cert.getCertType()));
String status = resolveStatus(cert.getExpireDate(), cert.getWarnDays(), cert.getStatus());
respVO.setStatus(status);
@@ -123,8 +141,6 @@
if (cert.getExpireDate() != null) {
respVO.setRemainingDays(ChronoUnit.DAYS.between(LocalDate.now(), cert.getExpireDate()));
}
- HrmEmployeeSimpleDTO employee = cert.getEmployeeId() == null ? null
- : hrmEmployeeApi.getEmployee(cert.getEmployeeId());
if (employee != null) {
respVO.setEmployeeName(employee.getName());
respVO.setEmployeeNo(employee.getEmployeeNo());
--
Gitblit v1.9.3