From 6bfa6ba153338df9e17eb5fcda4ecfc20e88ceca Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期三, 08 四月 2026 15:34:47 +0800
Subject: [PATCH] fix: 报工工序上传的图片预览

---
 src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java
index 22695ae..0289e84 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java
@@ -5,6 +5,7 @@
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.config.RuoYiConfig;
 import com.ruoyi.other.mapper.TempFileMapper;
 import com.ruoyi.other.pojo.TempFile;
 import com.ruoyi.production.dto.*;
@@ -52,6 +53,9 @@
 
     @Value("${file.upload-dir}")
     private String uploadDir;
+
+    @Autowired
+    private RuoYiConfig ruoYiConfig;
 
     @Autowired
     private ProductionProductMainService productionProductMainService;
@@ -206,9 +210,13 @@
         BigDecimal totalQty = productOrder.getQuantity() == null ? BigDecimal.ZERO : productOrder.getQuantity();
         //  鍓╀綑鍙姤宸ユ暟閲�
         BigDecimal remainQty = totalQty.subtract(completeQty);
-        //  鏈鎶ュ伐鍚堟牸鏁伴噺涓嶈兘瓒呰繃鍓╀綑鏁伴噺锛堟牎楠屽繀椤诲湪绱姞鍓嶆墽琛岋級
+        //  鏈鎶ュ伐鍚堟牸鏁伴噺涓嶈兘瓒呰繃鍓╀綑鏁伴噺
         if (qualifiedQty.compareTo(remainQty) > 0) {
             throw new ServiceException("鎶ュ伐澶辫触锛屾湰娆℃姤宸ユ暟閲忎笉鑳藉ぇ浜庡墿浣欏彲鎶ュ伐鏁伴噺锛屽墿浣欐姤宸ユ暟閲�:[" + remainQty + "]");
+        }
+        //  鏈鎶ュ伐涓嶅悎鏍兼暟閲忎笉鑳借秴杩囨湰娆℃姤宸ユ暟閲�
+        if (dto.getUnqualifiedQuantity() != null && dto.getUnqualifiedQuantity().compareTo(dto.getQuantity()) > 0) {
+            throw new ServiceException("鎶ュ伐澶辫触锛屾湰娆℃姤宸ヤ笉鍚堟牸鏁伴噺涓嶈兘澶т簬鎶ュ伐鏁伴噺锛屾姤宸ユ暟閲�:[" + dto.getQuantity() + "]");
         }
         //  鍘嗗彶宸插畬鎴� + 鏈鍚堟牸鏁伴噺
         BigDecimal newCompleteQty = completeQty.add(qualifiedQty);
@@ -343,6 +351,11 @@
                         fileEntity.setProductionProductRouteItemId(productRouteItemEntity.getId());
                         fileEntity.setFileName(originalFilename);
                         fileEntity.setFileUrl(formalFilePath.toString());
+                        Path basePath = Paths.get(RuoYiConfig.getProfile());
+                        String relativePath = basePath.relativize(formalFilePath).toString();
+                        relativePath = relativePath.replace("\\", "/");
+                        String url = "/profile/" + relativePath;
+                        fileEntity.setUrl(url);
                         fileEntity.setFileSuffix(fileExtension);
                         fileEntity.setFileSize(Files.size(formalFilePath));
                         fileEntity.setCreateTime(LocalDateTime.now());
@@ -776,6 +789,12 @@
                         fileEntity.setProductionProductRouteItemId(routeItemId);
                         fileEntity.setFileName(originalFilename);
                         fileEntity.setFileUrl(formalFilePath.toString());
+                        Path basePath = Paths.get(RuoYiConfig.getProfile());
+                        String relativePath = basePath.relativize(formalFilePath).toString();
+                        relativePath = relativePath.replace("\\", "/");
+                        String url = "/profile/" + relativePath;
+
+                        fileEntity.setUrl(url);
                         fileEntity.setFileSuffix(fileExtension);
                         fileEntity.setFileSize(Files.size(formalFilePath));
                         fileEntity.setCreateTime(LocalDateTime.now());

--
Gitblit v1.9.3