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 ++++++++++++++++++++++++++++++++++++++++++++-----
cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml | 2 +-
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java | 6 +++++-
3 files changed, 50 insertions(+), 7 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("/");
diff --git a/cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml b/cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml
index 3a5cfa6..b6c8d4b 100644
--- a/cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml
+++ b/cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml
@@ -8,6 +8,6 @@
left join user u1 on u1.id = c.afternoon_recorder_id
left join user u2 on u2.id = c.morning_recorder_id
where c.date_id = #{dateId}
- ORDER BY c.temp_hum_id desc
+ ORDER BY c.record_date desc
</select>
</mapper>
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 8daa256..9198f79 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
@@ -72,6 +72,7 @@
import java.math.RoundingMode;
import java.nio.file.Files;
import java.nio.file.Paths;
+import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
@@ -1077,7 +1078,10 @@
double target = Double.parseDouble(targetStr);
double deviationPercent = Math.abs(target - average) / average * 100;
- return deviationPercent;
+ // 淇濈暀涓や綅灏忔暟
+ DecimalFormat df = new DecimalFormat("#.00");
+ String formatted = df.format(deviationPercent);
+ return Double.parseDouble(formatted);
}
/**
--
Gitblit v1.9.3