From 51786b723d0a91d11476776d9ce50af7994dc4bd Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 23 九月 2026 15:58:53 +0800
Subject: [PATCH] feat(inspect): 完善检验订单状态管理和样品接收流程
---
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java | 22 ++++++++++++++++++----
1 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
index 48d4063..5333df2 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
@@ -6,6 +6,7 @@
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.aspose.words.FontSettings;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -46,6 +47,7 @@
import com.ruoyi.inspect.service.InsReportService;
import com.ruoyi.inspect.service.RawMaterialOrderService;
import com.ruoyi.inspect.util.PreserveReportPicturePlaceholderHandler;
+import com.ruoyi.inspect.util.ReportSignaturePictureUtils;
import com.ruoyi.system.mapper.UserMapper;
import com.ruoyi.system.service.InformationNotificationService;
import lombok.extern.slf4j.Slf4j;
@@ -86,6 +88,12 @@
@Slf4j
public class InsReportServiceImpl extends ServiceImpl<InsReportMapper, InsReport>
implements InsReportService {
+ static {
+ // Linux 鏈嶅姟鍣ㄧ己灏戜腑鏂囧瓧浣擄紝鎶ュ憡杞� PDF 鏃朵腑鏂囦細鍙樻垚鏂瑰潡锛涘皢妯℃澘瀛椾綋鏄犲皠鍒� Noto CJK 鍏滃簳銆�
+ FontSettings.addFontSubstitutes("瀹嬩綋", "Noto Serif CJK SC");
+ FontSettings.addFontSubstitutes("榛戜綋", "Noto Sans CJK SC");
+ }
+
private static final int DETECTION_REPORT = 0;
private static final int INSPECTION_REPORT = 1;
@@ -228,9 +236,9 @@
}
Map<String, Object> writeMarks = new HashMap<String, Object>() {{
- put("writeUrl", Pictures.ofLocal(imgUrl + "/" + signatureUrl).create());
+ put("writeUrl", ReportSignaturePictureUtils.create(imgUrl, signatureUrl));
put("writeDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(null)).create());
- put("insUrl", Pictures.ofLocal(imgUrl + "/" + signatureUrl).create());
+ put("insUrl", ReportSignaturePictureUtils.create(imgUrl, signatureUrl));
}};
writeMarksToReportFiles(insReport, writeMarks);
@@ -306,6 +314,9 @@
if (userId == null) {
throw new ErrorException("缂哄皯鎵瑰噯浜�");
}
+ if (Objects.equals(insReport.getExamineUserId(), userId)) {
+ throw new ErrorException("瀹℃牳浜哄拰鎵瑰噯浜轰笉鑳戒负鍚屼竴浜猴紝璇烽噸鏂伴�夋嫨鎵瑰噯浜�");
+ }
}
insReport.setRatifyUserId(userId);//鎵瑰噯浜�
//鑾峰彇瀹℃牳浜虹殑绛惧悕鍦板潃
@@ -335,7 +346,7 @@
informationNotificationService.addInformationNotification(info);
String primaryReportUrl = getPrimaryReportUrl(insReport);
Map<String, Object> examineMarks = new HashMap<String, Object>() {{
- put("examineUrl", Pictures.ofLocal(imgUrl + "/" + signatureUrl).create());
+ put("examineUrl", ReportSignaturePictureUtils.create(imgUrl, signatureUrl));
put("examineDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(null)).create());
}};
writeMarksToReportFiles(insReport, examineMarks);
@@ -388,6 +399,9 @@
@Transactional(rollbackFor = Exception.class)
public int ratifyReport(Integer id, Integer isRatify, String ratifyTell) {
InsReport insReport = insReportMapper.selectById(id);
+ if (Objects.equals(insReport.getExamineUserId(), SecurityUtils.getUserId().intValue())) {
+ throw new ErrorException("瀹℃牳浜哄拰鎵瑰噯浜轰笉鑳戒负鍚屼竴浜猴紝璇烽噸鏂伴�夋嫨鎵瑰噯浜�");
+ }
insReport.setIsRatify(isRatify);
if (ObjectUtils.isNotEmpty(ratifyTell)) {
insReport.setRatifyTell(ratifyTell);
@@ -478,7 +492,7 @@
String finalUrl = primaryReportUrl.replace("/word", wordUrl);
Map<String, Object> ratifyMarks = new HashMap<String, Object>() {{
- put("ratifyUrl", Pictures.ofLocal(imgUrl + "/" + signatureUrl).create());
+ put("ratifyUrl", ReportSignaturePictureUtils.create(imgUrl, signatureUrl));
put("ratifyDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(null)).create());
put("seal1", Pictures.ofLocal(imgUrl + "/" + sealUrl).create());
put("seal2", Pictures.ofLocal(imgUrl + "/" + sealUrl).create());
--
Gitblit v1.9.3