From 7299b1b4e0730fecb92021c4ae95e2ac1a13ea3d Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期一, 26 五月 2025 00:26:27 +0800
Subject: [PATCH] 人员培训修改成电子签

---
 cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonTrainingServiceImpl.java |    6 ++++--
 cnas-personnel/src/main/resources/mapper/PersonTrainingRecordMapper.xml                      |    3 ++-
 cnas-personnel/src/main/resources/static/person-training-record.docx                         |    0 
 cnas-personnel/src/main/java/com/ruoyi/personnel/dto/TrainingRecordExportDto.java            |    8 ++++++--
 cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonTrainingRecordDto.java            |    4 ++++
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java     |    6 ++----
 6 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonTrainingRecordDto.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonTrainingRecordDto.java
index 445bef7..8bfc484 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonTrainingRecordDto.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonTrainingRecordDto.java
@@ -1,5 +1,6 @@
 package com.ruoyi.personnel.dto;
 
+import com.deepoove.poi.data.PictureRenderData;
 import com.ruoyi.personnel.pojo.PersonTrainingRecord;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -20,4 +21,7 @@
 
     @ApiModelProperty(value = "閮ㄩ棬")
     private String department;
+
+    @ApiModelProperty("鍩硅浜哄憳鍥剧墖")
+    private String signatureUrl;
 }
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/TrainingRecordExportDto.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/TrainingRecordExportDto.java
index 320af2a..377403f 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/TrainingRecordExportDto.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/TrainingRecordExportDto.java
@@ -1,5 +1,6 @@
 package com.ruoyi.personnel.dto;
 
+import com.deepoove.poi.data.PictureRenderData;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -11,7 +12,7 @@
 public class TrainingRecordExportDto {
 
     @ApiModelProperty("鐢ㄦ埛鍚嶇О1")
-    private String userName1;
+    private PictureRenderData userNameRender1;
 
     @ApiModelProperty("閮ㄩ棬1")
     private String department1;
@@ -20,7 +21,7 @@
     private String examinationResults1;
 
     @ApiModelProperty("鐢ㄦ埛鍚嶇О2")
-    private String userName2;
+    private PictureRenderData userNameRender2;
 
     @ApiModelProperty("閮ㄩ棬1")
     private String department2;
@@ -29,4 +30,7 @@
     private String examinationResults2;
 
 
+
+
+
 }
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonTrainingServiceImpl.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonTrainingServiceImpl.java
index 481683b..6d32a41 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonTrainingServiceImpl.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonTrainingServiceImpl.java
@@ -316,13 +316,15 @@
         for (PersonTrainingRecordDto recordDto : recordDtos) {
             switch (count) {
                 case 0:
-                    exportDto.setUserName1(recordDto.getUserName());
+                    exportDto.setUserNameRender1(StringUtils.isNotBlank(recordDto.getSignatureUrl())
+                            ? Pictures.ofLocal(imgUrl + "/" + recordDto.getSignatureUrl()).create() : null);
                     exportDto.setDepartment1(recordDto.getDepartment());
                     exportDto.setExaminationResults1(recordDto.getExaminationResults());
                     count ++;
                     break;
                 case 1:
-                    exportDto.setUserName2(recordDto.getUserName());
+                    exportDto.setUserNameRender2(StringUtils.isNotBlank(recordDto.getSignatureUrl())
+                            ? Pictures.ofLocal(imgUrl + "/" + recordDto.getSignatureUrl()).create() : null);
                     exportDto.setDepartment2(recordDto.getDepartment());
                     exportDto.setExaminationResults2(recordDto.getExaminationResults());
                     exportDtoList.add(exportDto);
diff --git a/cnas-personnel/src/main/resources/mapper/PersonTrainingRecordMapper.xml b/cnas-personnel/src/main/resources/mapper/PersonTrainingRecordMapper.xml
index 395dfec..88eabe4 100644
--- a/cnas-personnel/src/main/resources/mapper/PersonTrainingRecordMapper.xml
+++ b/cnas-personnel/src/main/resources/mapper/PersonTrainingRecordMapper.xml
@@ -45,7 +45,8 @@
     <select id="selectListByTrainingDetailedId" resultType="com.ruoyi.personnel.dto.PersonTrainingRecordDto">
         select cptr.*,
                u.name  userName,
-               dl.name department
+               dl.name department,
+               u.signature_url
         from cnas_person_training_record cptr
                  left join user u on u.id = cptr.user_id
                  left join department_lims dl on find_in_set(dl.id, u.depart_lims_id) and dl.id != 1
diff --git a/cnas-personnel/src/main/resources/static/person-training-record.docx b/cnas-personnel/src/main/resources/static/person-training-record.docx
index 3bbf0bc..af56928 100644
--- a/cnas-personnel/src/main/resources/static/person-training-record.docx
+++ b/cnas-personnel/src/main/resources/static/person-training-record.docx
Binary files differ
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
index f91b9bd..ca14986 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
@@ -502,18 +502,16 @@
 
                 // 娣诲姞宸ユ椂
                 // 鍒ゆ柇鏄惁鍙槸鍙備笌璁$畻鍊�, 鍙備笌璁$畻鍊煎疄闄呮病鏈夊~鍐�
+                InsProduct finalInsProduct = insProductMapper.selectById(product.getId());
+                InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
                 if (StringUtils.isNotBlank(newResult.getInsValue()) && !newResult.getInsValue().equals("[]")) {
                     threadPoolTaskExecutor.execute(() -> {
-                        InsProduct finalInsProduct = insProductMapper.selectById(product.getId());
-                        InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
                         this.addAuxiliary(userId, finalInsProduct, insOrder);
                     });
                 } else {
                     // 鍒ゆ柇鏄惁鏄病鏈夋楠屽�肩殑鍐呭
                     if (saveInsContextDto.getIsNoTestValue() != null && saveInsContextDto.getIsNoTestValue() == 1) {
                         threadPoolTaskExecutor.execute(() -> {
-                            InsProduct finalInsProduct = insProductMapper.selectById(product.getId());
-                            InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
                             this.addAuxiliary(userId, finalInsProduct, insOrder);
                         });
                     }

--
Gitblit v1.9.3