From d425460023114e81caedc7a0430f9246ed3bb839 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 23 十月 2025 17:04:07 +0800
Subject: [PATCH] 报检:批次号字母转大写
---
cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java | 71 ++++++++++++++++++++++++++++-------
1 files changed, 57 insertions(+), 14 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..e8c52f0 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;
@@ -332,6 +335,7 @@
template.write(os);
os.flush();
os.close();
+ inputStream.close();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("瀵煎嚭澶辫触");
@@ -355,24 +359,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("/");
@@ -485,25 +525,25 @@
public void exportSuperviseDetailRecord(Integer superviseDetailsId, HttpServletResponse response) {
QualitySuperviseDetailsRecord recordDto = qualitySuperviseDetailsRecordMapper.selectSuperviseDetailRecord(superviseDetailsId);
- //鑾峰彇鎶�鏈礋璐d汉鐨勭鍚嶅湴鍧�
- String ratifyUrl = null;
- if (recordDto.getRatifyUserId() != null) {
- ratifyUrl = userMapper.selectById(recordDto.getRatifyUserId()).getSignatureUrl();
- if (StringUtils.isBlank(ratifyUrl)) {
- throw new ErrorException("鎵句笉鍒版妧鏈礋璐d汉鐨勭鍚�");
- }
+ // 鏌ヨ妫�娴嬩汉鍛�
+ User tserUser = new User();
+ if (StringUtils.isNotBlank(recordDto.getTestMember())) {
+ tserUser = userMapper.selectOne(Wrappers.<User>lambdaQuery()
+ .eq(User::getName, recordDto.getTestMember())
+ .last("limit 1"));
}
// 鑾峰彇璺緞
InputStream inputStream = this.getClass().getResourceAsStream("/static/supervision-detail-record.docx");
ConfigureBuilder builder = Configure.builder();
builder.useSpringEL(true);
- String finalRatifyUrl = ratifyUrl;
+ User finalTserUser = tserUser;
XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render(
new HashMap<String, Object>() {{
put("supervision", recordDto);
+ put("testMemberUrl", UserUtils.getFinalUserSignatureUrl(finalTserUser.getId()));
put("supervisoruUrl", UserUtils.getFinalUserSignatureUrl(recordDto.getSupervisor()));
- put("technicalDirectorUrl", StringUtils.isNotBlank(finalRatifyUrl) ? Pictures.ofLocal(imgUrl + "/" + finalRatifyUrl).create() : null);
+ put("technicalDirectorUrl", UserUtils.getFinalUserSignatureUrl(recordDto.getRatifyUserId()));
put("technicalDirectorDateUrl", recordDto.getRatifyTime() != null ?
Pictures.ofStream(DateImageUtil.createDateImage(recordDto.getRatifyTime())).create() : null);
}});
@@ -518,6 +558,7 @@
template.write(os);
os.flush();
os.close();
+ inputStream.close();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("瀵煎嚭澶辫触");
@@ -836,6 +877,7 @@
template.write(os);
os.flush();
os.close();
+ inputStream.close();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("瀵煎嚭澶辫触");
@@ -1214,6 +1256,7 @@
template.write(os);
os.flush();
os.close();
+ inputStream.close();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("瀵煎嚭澶辫触");
--
Gitblit v1.9.3