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/SafetyLedgerExportService.java |   32 ++++++++++++++++++++++++--------
 1 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/safety/SafetyLedgerExportService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/safety/SafetyLedgerExportService.java
index ba65069..dea71a1 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/safety/SafetyLedgerExportService.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/safety/SafetyLedgerExportService.java
@@ -129,7 +129,9 @@
         if (start != null && end != null) {
             reqVO.setInspectTime(new java.time.LocalDateTime[]{start.atStartOfDay(), end.atTime(23, 59, 59)});
         }
-        List<List<Object>> rows = inspectionService.getInspectionPage(reqVO).getList().stream()
+        var inspections = inspectionService.getInspectionPage(reqVO).getList();
+        inspectionService.fillInspectorNames(inspections);
+        List<List<Object>> rows = inspections.stream()
                 .map(i -> Arrays.<Object>asList(
                         dateTime(i.getInspectTime()), str(i.getPointName()),
                         SafetyInspectionPointTypeEnum.getNameByType(i.getPointType()),
@@ -149,7 +151,9 @@
         if (start != null && end != null) {
             reqVO.setReportTime(new java.time.LocalDateTime[]{start.atStartOfDay(), end.atTime(23, 59, 59)});
         }
-        List<List<Object>> rows = hazardService.getHazardPage(reqVO).getList().stream()
+        var hazards = hazardService.getHazardPage(reqVO).getList();
+        hazardService.fillPersonNames(hazards);
+        List<List<Object>> rows = hazards.stream()
                 .map(h -> Arrays.<Object>asList(
                         str(h.getCode()), str(h.getTitle()),
                         SafetyHazardLevelEnum.getNameByLevel(h.getLevel()),
@@ -174,7 +178,9 @@
         if (start != null && end != null) {
             reqVO.setPlanStartTime(new java.time.LocalDateTime[]{start.atStartOfDay(), end.atTime(23, 59, 59)});
         }
-        List<List<Object>> rows = permitService.getPermitPage(reqVO).getList().stream()
+        var permits = permitService.getPermitPage(reqVO).getList();
+        permitService.fillPermitRefs(permits);
+        List<List<Object>> rows = permits.stream()
                 .map(p -> Arrays.<Object>asList(
                         str(p.getCode()), SafetyPermitTypeEnum.getNameByType(p.getPermitType()),
                         str(p.getTitle()), str(p.getWorkshopName()), str(p.getLocation()),
@@ -194,7 +200,9 @@
         reqVO.setPageSize(5_000);
         List<List<Object>> rows = new ArrayList<>();
         for (SafetyWorkPermitDO permit : permitService.getPermitPage(reqVO).getList()) {
-            for (SafetyWorkPermitMonitorDO monitor : permitService.getMonitorList(permit.getId())) {
+            var monitors = permitService.getMonitorList(permit.getId());
+            permitService.fillMonitorGuardians(monitors);
+            for (SafetyWorkPermitMonitorDO monitor : monitors) {
                 rows.add(Arrays.asList(str(permit.getCode()), dateTime(monitor.getMonitorTime()),
                         str(monitor.getGuardian()), str(monitor.getMonitorContent()), str(monitor.getAbnormal())));
             }
@@ -208,7 +216,9 @@
         var reqVO = new cn.iocoder.yudao.module.mes.controller.admin.safety.vo.material.SafetyMaterialPageReqVO();
         reqVO.setPageNo(1);
         reqVO.setPageSize(50_000);
-        List<List<Object>> rows = materialService.getMaterialPage(reqVO).getList().stream()
+        var materials = materialService.getMaterialPage(reqVO).getList();
+        materialService.fillManagers(materials);
+        List<List<Object>> rows = materials.stream()
                 .map(m -> Arrays.<Object>asList(
                         str(m.getCode()), str(m.getName()),
                         SafetyMaterialCategoryEnum.getNameByCategory(m.getCategory()),
@@ -242,7 +252,9 @@
     private Sheet trainingSheet(LocalDate start, LocalDate end) {
         List<String> headers = List.of("鍩硅鏃ユ湡", "鍩硅涓婚", "鍩硅绫诲瀷", "瀛︽椂", "璁插笀/缁勭粐浜�",
                 "鍩硅鍦扮偣", "鍙傚姞浜烘暟", "鍩硅鍐呭", "鑰冩牳鎯呭喌");
-        List<List<Object>> rows = trainingService.listTrainingBetween(start, end).stream()
+        var trainings = trainingService.listTrainingBetween(start, end);
+        trainingService.fillTrainers(trainings);
+        List<List<Object>> rows = trainings.stream()
                 .map(t -> Arrays.<Object>asList(
                         date(t.getTrainDate()), str(t.getTitle()),
                         SafetyTrainingTypeEnum.getNameByType(t.getTrainingType()),
@@ -256,7 +268,9 @@
     private Sheet drillSheet(LocalDate start, LocalDate end) {
         List<String> headers = List.of("婕旂粌鏃ユ湡", "婕旂粌鍚嶇О", "婕旂粌绫诲瀷", "鍦扮偣", "缁勭粐浜�",
                 "鍙傚姞浜烘暟", "鏃堕暱(鍒嗛挓)", "婕旂粌杩囩▼", "鎬荤粨涓庢敼杩�");
-        List<List<Object>> rows = trainingService.listDrillBetween(start, end).stream()
+        var drills = trainingService.listDrillBetween(start, end);
+        trainingService.fillOrganizers(drills);
+        List<List<Object>> rows = drills.stream()
                 .map(d -> Arrays.<Object>asList(
                         date(d.getDrillDate()), str(d.getTitle()),
                         SafetyDrillTypeEnum.getNameByType(d.getDrillType()), str(d.getLocation()),
@@ -270,7 +284,9 @@
     private Sheet accidentSheet(LocalDate start, LocalDate end) {
         List<String> headers = List.of("浜嬫晠缂栧彿", "浜嬫晠鍚嶇О", "浜嬫晠绫诲瀷", "绛夌骇", "鍙戠敓鏃堕棿", "鍙戠敓鍦扮偣",
                 "浼や骸鎯呭喌", "缁忔祹鎹熷け(鍏�)", "浜嬫晠缁忚繃", "鍘熷洜鍒嗘瀽", "澶勭悊鎺柦", "鐘舵��");
-        List<List<Object>> rows = trainingService.listAccidentBetween(start, end).stream()
+        var accidents = trainingService.listAccidentBetween(start, end);
+        trainingService.fillAccidentRefs(accidents);
+        List<List<Object>> rows = accidents.stream()
                 .map(a -> Arrays.<Object>asList(
                         str(a.getCode()), str(a.getTitle()),
                         SafetyAccidentTypeEnum.getNameByType(a.getAccidentType()),

--
Gitblit v1.9.3