From e7462c51a1b2718dc27a722953d4e7ac596ae322 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期一, 31 三月 2025 08:49:03 +0800
Subject: [PATCH] 质量监督记录添加默认值

---
 cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java |   49 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 44 insertions(+), 5 deletions(-)

diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java
index 52044aa..df1d601 100644
--- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java
+++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java
@@ -1,10 +1,12 @@
 package com.ruoyi.process.service.impl;
 
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.context.AnalysisContext;
 import com.alibaba.excel.event.AnalysisEventListener;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -52,6 +54,7 @@
 import java.net.URLEncoder;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.YearMonth;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -355,24 +358,60 @@
 
         // 鏌ヨ涓婁竴涓湀绗竴鏉$殑璁板綍淇℃伅, 鍒ゆ柇琚洃鐫d汉鍘诲彟澶栦竴涓�
         if (detailsRecord == null) {
-
             // 鏌ヨ璇︽儏淇℃伅
             QualitySuperviseDetails qualitySuperviseDetails = qualitySuperviseDetailsMapper.selectById(superviseDetailsId);
             // 鏌ヨ涓婁竴涓湀绗竴鏉$殑璁板綍淇℃伅, 鍒ゆ柇琚洃鐫d汉鍘诲彟澶栦竴涓�
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.M");
+            YearMonth yearMonth = YearMonth.parse(qualitySuperviseDetails.getSuperviseTime(), formatter);
+            YearMonth previousYearMonth = yearMonth.minusMonths(1);
+
+            LocalDate startDate = previousYearMonth.atDay(1);
+            LocalDate endDate = previousYearMonth.atEndOfMonth();
+
+            LocalDateTime startDateTime = startDate.atStartOfDay();
+            LocalDateTime endDateTime = endDate.atTime(23, 59, 59);
+
+            DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+            // 鑾峰彇寮�濮嬫椂闂村拰缁撴潫鏃堕棿
+            String startDateTimeStr = startDateTime.format(outputFormatter);
+            String endDateTimeStr = endDateTime.format(outputFormatter);
 
             QualitySuperviseDetailsRecord laseRecord = qualitySuperviseDetailsRecordMapper.selectOne(Wrappers.<QualitySuperviseDetailsRecord>lambdaQuery()
+                    .between(QualitySuperviseDetailsRecord::getCreateTime, startDateTimeStr, endDateTimeStr)
+                    .isNotNull(QualitySuperviseDetailsRecord::getSupervisor)
                     .last("limit 1"));
 
+            String supervisor = null;
+
+            if (laseRecord != null) {
+                // 鏌ヨ璁″垝鑾峰彇鍙︿竴涓洃鐫e憳
+                QualitySupervise qualitySupervise = baseMapper.selectById(qualitySuperviseDetails.getSuperviseId());
+                if (StringUtils.isNotBlank(qualitySupervise.getRecordUserIds())) {
+                    List<String> recordUserIds = StrUtil.split(qualitySupervise.getRecordUserIds(), ',');
+                    List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery()
+                            .in(User::getId, recordUserIds));
+                    if (CollectionUtils.isNotEmpty(users) && users.size() == 2) {
+                        // 鍒ゆ柇鏄惁涓�鏍�, 涓�鏍疯幏鍙栧彟澶栦竴涓�
+                        if (users.get(0).getName().equals(laseRecord.getSupervisor())) {
+                            supervisor = users.get(1).getName();
+                        } else {
+                            supervisor = users.get(0).getName();
+                        }
+
+                    }
+                }
+            }
 
             detailsRecord = new QualitySuperviseDetailsRecord();
             detailsRecord.setSuperviseDetailsId(superviseDetailsId);
             detailsRecord.setTestMember(qualitySuperviseDetails.getSupervisee());
-            detailsRecord.setSupervisor(null);
+            detailsRecord.setSupervisor(supervisor);
 
-            detailsRecord.setPersonnel("()鏈夌浉搴旀娴嬪憳鐨勪笂宀楄瘉");
+            detailsRecord.setPersonnel(SecurityUtils.getLoginUser().getUser().getNickName() + "鏈夌浉搴旀娴嬪憳鐨勪笂宀楄瘉");
             detailsRecord.setEnvironment("娓╁害锛�()鈩� 婀垮害锛�()%");
-            detailsRecord.setInspectionRecord("妫�娴嬩汉鍛�()杩涜妫�娴嬭褰曪紝璁板綍鍐呭鐪熷疄鏈夋晥");
-            detailsRecord.setExaminingReport("鐢�()榛勭瀹炲嚭绀虹殑妫�娴嬫姤鍛婄鍚堣鑼冭姹�");
+            detailsRecord.setInspectionRecord("妫�娴嬩汉鍛�" + SecurityUtils.getLoginUser().getUser().getNickName() + "杩涜妫�娴嬭褰曪紝璁板綍鍐呭鐪熷疄鏈夋晥");
+            detailsRecord.setExaminingReport("鐢�" + SecurityUtils.getLoginUser().getUser().getNickName() + "鍑虹ず鐨勬娴嬫姤鍛婄鍚堣鑼冭姹�");
             detailsRecord.setSupervisionEvaluation("妫�娴嬫寜鐓ц姹傝繘琛岋紝鍒ゅ畾涓烘弧鎰�");
             detailsRecord.setHandlingAdvice("/");
 

--
Gitblit v1.9.3