From 9004d51f5b6096827b5c66b444729cb554997ec4 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 26 九月 2025 14:32:30 +0800
Subject: [PATCH] 原材料订单拆分功能调整v2
---
cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 39 insertions(+), 18 deletions(-)
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 16d1e15..e8da9e5 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
@@ -21,6 +21,7 @@
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.WxCpUtils;
+import com.ruoyi.device.pojo.DeviceExamineRecord;
import com.ruoyi.framework.exception.ErrorException;
import com.ruoyi.inspect.util.HackLoopTableRenderPolicy;
import com.ruoyi.inspect.util.UserUtils;
@@ -372,6 +373,7 @@
template.write(os);
os.flush();
os.close();
+ inputStream.close();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("瀵煎嚭澶辫触");
@@ -460,7 +462,10 @@
}
});
}
-
+ // 娓呯┖鐘舵��
+ qualityMonitorDetailsRatifyService.update(Wrappers.<QualityMonitorDetailsRatify>lambdaUpdate()
+ .eq(QualityMonitorDetailsRatify::getDetailsRatifyId, qualityMonitorDetailsRatify.getDetailsRatifyId())
+ .set(QualityMonitorDetailsRatify::getIsFinish, null));
return true;
}
@@ -471,10 +476,16 @@
*/
@Override
public boolean addQualityMonitorRatifyOpinion(QualityMonitorDetailsRatify qualityMonitorDetailsRatify) {
- qualityMonitorDetailsRatifyService.update(Wrappers.<QualityMonitorDetailsRatify>lambdaUpdate()
+ LambdaUpdateWrapper<QualityMonitorDetailsRatify> wrapper = Wrappers.<QualityMonitorDetailsRatify>lambdaUpdate()
.eq(QualityMonitorDetailsRatify::getDetailsRatifyId, qualityMonitorDetailsRatify.getDetailsRatifyId())
.set(QualityMonitorDetailsRatify::getRatifyOpinion, qualityMonitorDetailsRatify.getRatifyOpinion())
- .set(QualityMonitorDetailsRatify::getIsFinish, 1));
+ .set(QualityMonitorDetailsRatify::getIsFinish, qualityMonitorDetailsRatify.getIsFinish());
+ // 涓�0娓呴櫎瀹℃牳浜�
+ if (qualityMonitorDetailsRatify.getIsFinish().equals(0)) {
+ wrapper.set(QualityMonitorDetailsRatify::getRatifyUserId, null);
+ }
+
+ qualityMonitorDetailsRatifyService.update(wrapper);
return true;
}
@@ -509,6 +520,7 @@
template.write(os);
os.flush();
os.close();
+ inputStream.close();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("瀵煎嚭澶辫触");
@@ -631,13 +643,13 @@
/**
* 鏂板鐩戞帶璇勪环闄勪欢琛�
- * @param detailsEvaluateId
+ * @param qualityMonitorDetailsId
* @param file
* @return
*/
@Override
- public boolean uploadEvaluateFile(Integer detailsEvaluateId, MultipartFile file) {
- if (detailsEvaluateId == null) {
+ public boolean uploadEvaluateFile(Integer qualityMonitorDetailsId, MultipartFile file) {
+ if (qualityMonitorDetailsId == null) {
throw new ErrorException("缂哄皯鐩戞帶璇︽儏id");
}
@@ -647,7 +659,7 @@
String filename = file.getOriginalFilename();
String contentType = file.getContentType();
QualityMonitorDetailsEvaluateFile evaluateFile = new QualityMonitorDetailsEvaluateFile();
- evaluateFile.setDetailsEvaluateId(detailsEvaluateId);
+ evaluateFile.setDetailsEvaluateId(qualityMonitorDetailsId);
evaluateFile.setFileName(filename);
if (contentType != null && contentType.startsWith("image/")) {
// 鏄浘鐗�
@@ -681,9 +693,9 @@
* @return
*/
@Override
- public List<QualityMonitorDetailsEvaluateFile> getEvaluateFileList(Integer detailsEvaluateId) {
+ public List<QualityMonitorDetailsEvaluateFile> getEvaluateFileList(Integer qualityMonitorDetailsId) {
return qualityMonitorDetailsEvaluateFileMapper.selectList(Wrappers.<QualityMonitorDetailsEvaluateFile>lambdaQuery()
- .eq(QualityMonitorDetailsEvaluateFile::getDetailsEvaluateId, detailsEvaluateId));
+ .eq(QualityMonitorDetailsEvaluateFile::getDetailsEvaluateId, qualityMonitorDetailsId));
}
@@ -700,7 +712,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()
@@ -722,6 +734,7 @@
template.write(os);
os.flush();
os.close();
+ inputStream.close();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("瀵煎嚭澶辫触");
@@ -741,9 +754,9 @@
if (qualityMonitorDetailsId == null) {
throw new ErrorException("缂哄皯鐩戞帶璇︽儏id");
}
-
+ LocalDateTime now = LocalDateTime.now();
Integer userId =SecurityUtils.getUserId().intValue();
-
+ String contentType = file.getContentType();
String urlString;
String pathName;
try {
@@ -756,12 +769,18 @@
urlString = realpath + "/" + pathName;
file.transferTo(new File(urlString));
- wordInsertUrl(new HashMap<String, Object>() {{
- put("writeUrl", UserUtils.getFinalUserSignatureUrl(userId));
- }}, wordUrl + "/" + pathName.replace("/word", wordUrl));
+ // 鍒ゆ柇鏄惁鏄痯df
+ if (!contentType.contains("pdf")) {
+ 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) {
@@ -777,13 +796,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);
}
@@ -791,9 +811,10 @@
// 娣诲姞鎵瑰噯浜�
QualityMonitorDetails details = qualityMonitorDetailsMapper.selectById(qualityMonitorDetails.getQualityMonitorDetailsId());
- if (StringUtils.isNotBlank(details.getFinishReportUrl())) {
+ if (StringUtils.isNotBlank(details.getFinishReportUrl()) && !details.getFinishReportUrl().contains(".pdf")) {
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;
--
Gitblit v1.9.3