From f818fa5eca223270f0656e0455c338ec1f2fac88 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 09 六月 2026 10:04:49 +0800
Subject: [PATCH] ``` refactor(knowledge-base): 重构RAG向量检索功能的文件关联和异步处理

---
 src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java |   42 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 40 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
index effb6af..7e9ad95 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -25,6 +25,7 @@
 import com.ruoyi.quality.pojo.QualityInspect;
 import com.ruoyi.quality.pojo.QualityInspectParam;
 import com.ruoyi.quality.pojo.QualityUnqualified;
+import com.ruoyi.quality.utils.QualityInspectTemplateExportHelper;
 import com.ruoyi.stock.pojo.StockInRecord;
 import com.ruoyi.stock.service.StockInRecordService;
 import com.ruoyi.quality.service.IQualityInspectParamService;
@@ -71,6 +72,8 @@
     private SalesLedgerProductMapper salesLedgerProductMapper;
 
     private ProcurementRecordService procurementRecordService;
+
+    private final QualityInspectTemplateExportHelper qualityInspectTemplateExportHelper;
 
     @Override
     public int add(QualityInspectDto qualityInspectDto) {
@@ -134,7 +137,15 @@
             }
             stockInventoryDto.setRecordId(qualityInspect.getId());
             stockInventoryDto.setProductModelId(qualityInspect.getProductModelId());
-            stockInventoryDto.setQualitity(qualityInspect.getQualifiedQuantity());
+            // 鍏ュ簱鏁伴噺 = 鍚堟牸鏁伴噺 * 鍏ュ簱姣斾緥 / 100锛屽叆搴撴瘮渚嬮粯璁�100%
+            BigDecimal stockInRatio = qualityInspect.getStockInRatio();
+            if (stockInRatio == null || stockInRatio.compareTo(BigDecimal.ZERO) <= 0) {
+                stockInRatio = new BigDecimal("100.00");
+            }
+            BigDecimal actualStockInQuantity = qualityInspect.getQualifiedQuantity()
+                    .multiply(stockInRatio)
+                    .divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP);
+            stockInventoryDto.setQualitity(actualStockInQuantity);
             if (qualityInspect.getCheckTime() != null) {
                 LocalDate stockCreateDate = DateUtils.toLocalDate(qualityInspect.getCheckTime()).plusDays(1);
                 stockInventoryDto.setCreateTime(LocalDateTime.of(stockCreateDate, java.time.LocalTime.MIDNIGHT));
@@ -291,7 +302,15 @@
             }
             stockInventoryDto.setRecordId(qualityInspect.getId());
             stockInventoryDto.setProductModelId(qualityInspect.getProductModelId());
-            stockInventoryDto.setQualitity(qualified);
+            // 鍏ュ簱鏁伴噺 = 鍚堟牸鏁伴噺 * 鍏ュ簱姣斾緥 / 100锛屽叆搴撴瘮渚嬮粯璁�100%
+            BigDecimal stockInRatio = qualityInspect.getStockInRatio();
+            if (stockInRatio == null || stockInRatio.compareTo(BigDecimal.ZERO) <= 0) {
+                stockInRatio = new BigDecimal("100.00");
+            }
+            BigDecimal actualStockInQuantity = qualified
+                    .multiply(stockInRatio)
+                    .divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP);
+            stockInventoryDto.setQualitity(actualStockInQuantity);
             if (qualityInspect.getCheckTime() != null) {
                 LocalDate stockCreateDate = DateUtils.toLocalDate(qualityInspect.getCheckTime()).plusDays(1);
                 stockInventoryDto.setCreateTime(LocalDateTime.of(stockCreateDate, java.time.LocalTime.MIDNIGHT));
@@ -444,5 +463,24 @@
 
     }
 
+    @Override
+    public void exportWeiLong(HttpServletResponse response, Long id) {
+        qualityInspectTemplateExportHelper.exportWeiLong(response, id);
+    }
+
+    @Override
+    public void exportBaiShi(HttpServletResponse response, Long id) {
+        qualityInspectTemplateExportHelper.exportBaiShi(response, id);
+    }
+
+    @Override
+    public void exportDaLi(HttpServletResponse response, Long id) {
+        qualityInspectTemplateExportHelper.exportDaLi(response, id);
+    }
+
+    @Override
+    public String analyzeTemplate(String templatePath) {
+        return qualityInspectTemplateExportHelper.analyzeTemplate(templatePath);
+    }
 
 }

--
Gitblit v1.9.3