From 809ab6be1d9c5c79ed401b51d223429fa9509ac3 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期三, 16 四月 2025 11:13:53 +0800
Subject: [PATCH] 修改质量监控报告查询和前面

---
 cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java |   15 +++++++++++----
 cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml                   |    7 +++++++
 cnas-process/src/main/java/com/ruoyi/process/pojo/QualityMonitorDetails.java             |    5 +++++
 3 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/cnas-process/src/main/java/com/ruoyi/process/pojo/QualityMonitorDetails.java b/cnas-process/src/main/java/com/ruoyi/process/pojo/QualityMonitorDetails.java
index 34f0243..d1ed051 100644
--- a/cnas-process/src/main/java/com/ruoyi/process/pojo/QualityMonitorDetails.java
+++ b/cnas-process/src/main/java/com/ruoyi/process/pojo/QualityMonitorDetails.java
@@ -49,6 +49,11 @@
     @ApiModelProperty("瀹屾垚鎶ュ憡鍦板潃")
     private String finishReportUrl;
 
+    @ApiModelProperty("瀹屾垚鎶ュ憡缂栧啓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime writeTime;
+
+
     @ApiModelProperty("瀹屾垚鎶ュ憡鎵瑰噯浜�")
     private Integer ratifyUserId;
 
diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java
index ce42d05..b8f2d71 100644
--- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java
+++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java
@@ -710,7 +710,7 @@
         BeanUtils.copyProperties(qualityMonitorDetailsEvaluate, qualityMonitorDetailsEvaluateDto);
         // 鏍煎紡鍖栨椂闂�
         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-        qualityMonitorDetailsEvaluateDto.setRatifyTimeStr(qualityMonitorDetailsEvaluate.getRatifyTime().format(dateTimeFormatter));
+        qualityMonitorDetailsEvaluateDto.setRatifyTimeStr(qualityMonitorDetailsEvaluate.getRatifyTime() == null ? null : qualityMonitorDetailsEvaluate.getRatifyTime().format(dateTimeFormatter));
         // 鑾峰彇璺緞
         InputStream inputStream = this.getClass().getResourceAsStream("/static/quality-monitor-evaluate.docx");
         Configure configure = Configure.builder()
@@ -751,7 +751,9 @@
         if (qualityMonitorDetailsId == null) {
             throw new ErrorException("缂哄皯鐩戞帶璇︽儏id");
         }
-
+        QualityMonitorDetails qualityMonitorDetails = qualityMonitorDetailsService.getOne(Wrappers.<QualityMonitorDetails>lambdaUpdate()
+                .eq(QualityMonitorDetails::getQualityMonitorDetailsId, qualityMonitorDetailsId));
+        LocalDateTime now = LocalDateTime.now();
         Integer userId =SecurityUtils.getUserId().intValue();
 
         String urlString;
@@ -768,10 +770,13 @@
 
             wordInsertUrl(new HashMap<String, Object>() {{
                 put("writeUrl", UserUtils.getFinalUserSignatureUrl(userId));
+                put("writeDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(now)).create());
             }}, wordUrl + "/" + pathName.replace("/word", wordUrl));
+
             qualityMonitorDetailsService.update(Wrappers.<QualityMonitorDetails>lambdaUpdate()
                     .eq(QualityMonitorDetails::getQualityMonitorDetailsId, qualityMonitorDetailsId)
-                    .set(QualityMonitorDetails::getFinishReportUrl, pathName));
+                    .set(QualityMonitorDetails::getFinishReportUrl, pathName)
+                    .set(QualityMonitorDetails::getWriteTime, now));
 
             return true;
         } catch (Exception e) {
@@ -787,13 +792,14 @@
      */
     @Override
     public boolean ratifyFinishReport(QualityMonitorDetails qualityMonitorDetails) {
+        LocalDateTime now = LocalDateTime.now();
         Integer userId =SecurityUtils.getUserId().intValue();
         LambdaUpdateWrapper<QualityMonitorDetails> wrapper = Wrappers.<QualityMonitorDetails>lambdaUpdate()
                 .eq(QualityMonitorDetails::getQualityMonitorDetailsId, qualityMonitorDetails.getQualityMonitorDetailsId())
                 .set(QualityMonitorDetails::getRatifyUserId, userId)
                 .set(QualityMonitorDetails::getRatifyRemark, qualityMonitorDetails.getRatifyRemark())
                 .set(QualityMonitorDetails::getRatifyStatus, qualityMonitorDetails.getRatifyStatus())
-                .set(QualityMonitorDetails::getRatifyTime, LocalDateTime.now());
+                .set(QualityMonitorDetails::getRatifyTime, now);
         if (qualityMonitorDetails.getRatifyStatus().equals(0)) {
             wrapper.set(QualityMonitorDetails::getFinishReportUrl, null);
         }
@@ -804,6 +810,7 @@
         if (StringUtils.isNotBlank(details.getFinishReportUrl())) {
             wordInsertUrl(new HashMap<String, Object>() {{
                 put("ratifyUrl", UserUtils.getFinalUserSignatureUrl(userId));
+                put("ratifyDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(now)).create());
             }}, wordUrl + "/" + details.getFinishReportUrl().replace("/word", wordUrl));
         }
         return true;
diff --git a/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml b/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml
index 0e80c86..aa500be 100644
--- a/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml
+++ b/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml
@@ -29,5 +29,12 @@
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
         </if>
+        order by quality_monitor_id, monitor_purpose, -- 鎻愬彇骞翠唤
+        CAST(SUBSTRING(planned_time, 1, 4) AS SIGNED) ASC,
+        -- 鎻愬彇鏈堜唤
+        CASE
+        WHEN planned_time LIKE '% - %' THEN 1
+        ELSE CAST(SUBSTRING_INDEX(SUBSTRING(planned_time, 6), '鏈�', 1) AS SIGNED)
+        END ASC
     </select>
 </mapper>

--
Gitblit v1.9.3