From c78984f3aea4505971dc12f8acd41e30cf4fdbea Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期三, 27 五月 2026 11:48:45 +0800
Subject: [PATCH] feat 质检检测调整

---
 src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java |   42 ++++++++++++++++++++++++------------------
 1 files changed, 24 insertions(+), 18 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 45bf8eb..a1bdb1d 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -9,25 +9,24 @@
 import com.deepoove.poi.XWPFTemplate;
 import com.deepoove.poi.config.Configure;
 import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
-import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
 import com.ruoyi.common.utils.HackLoopTableRenderPolicy;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.procurementrecord.service.ProcurementRecordService;
 import com.ruoyi.procurementrecord.utils.StockUtils;
 import com.ruoyi.quality.dto.QualityInspectDto;
+import com.ruoyi.quality.dto.QualityInspectExportDTO;
+import com.ruoyi.quality.dto.QualityInspectExportVO;
 import com.ruoyi.quality.mapper.QualityInspectMapper;
-import com.ruoyi.quality.mapper.QualityTestStandardMapper;
 import com.ruoyi.quality.mapper.QualityUnqualifiedMapper;
 import com.ruoyi.quality.pojo.QualityInspect;
 import com.ruoyi.quality.pojo.QualityInspectParam;
 import com.ruoyi.quality.pojo.QualityUnqualified;
 import com.ruoyi.quality.service.IQualityInspectParamService;
 import com.ruoyi.quality.service.IQualityInspectService;
-import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.InputStream;
@@ -47,13 +46,9 @@
 
     private IQualityInspectParamService qualityInspectParamService;
 
-    private QualityTestStandardMapper qualityTestStandardMapper;
-
     private QualityUnqualifiedMapper qualityUnqualifiedMapper;
 
-    private SalesLedgerProductMapper salesLedgerProductMapper;
-
-    private ProcurementRecordService procurementRecordService;
+    private QualityInspectExportHandle qualityInspectExportHandle;
 
     @Override
     public int add(QualityInspectDto qualityInspectDto) {
@@ -78,15 +73,12 @@
         return qualityInspectDto;
     }
 
-    //鎻愪氦
     @Override
     public int submit(QualityInspect inspect) {
         QualityInspect qualityInspect = qualityInspectMapper.selectById(inspect.getId());
-        //鎻愪氦鍓嶅繀椤诲垽鏂槸鍚﹀悎鏍�
         if (ObjectUtils.isNull(qualityInspect.getCheckResult())) {
             throw new RuntimeException("璇峰厛鍒ゆ柇鏄惁鍚堟牸");
         }
-        /*鍒ゆ柇涓嶅悎鏍�*/
         if (qualityInspect.getCheckResult().equals("涓嶅悎鏍�")) {
             QualityUnqualified qualityUnqualified = new QualityUnqualified();
             BeanUtils.copyProperties(qualityInspect, qualityUnqualified);
@@ -104,7 +96,6 @@
         return qualityInspectMapper.updateById(qualityInspect);
     }
 
-    /*鐢熸垚妫�楠屾姤鍛�*/
     @Override
     public void down(HttpServletResponse response, QualityInspect qualityInspect) {
         QualityInspect inspect = qualityInspectMapper.selectById(qualityInspect.getId());
@@ -140,11 +131,9 @@
 
         try {
             response.setContentType("application/msword");
-            String fileName = URLEncoder.encode(
-                    "妫�楠屾姤鍛�", "UTF-8");
+            String fileName = URLEncoder.encode("妫�楠屾姤鍛�", "UTF-8");
             response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
-            response.setHeader("Content-disposition",
-                    "attachment;filename=" + fileName + ".docx");
+            response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".docx");
             OutputStream os = response.getOutputStream();
             template.write(os);
             os.flush();
@@ -190,8 +179,25 @@
                 util.exportExcel(response, qualityInspects, "鍑哄巶妫�楠屽鍑�");
                 break;
         }
-
     }
 
+    /**
+     * 瀵煎嚭妫�楠岃褰曪紙鏀寔閫変腑瀵煎嚭鍜屽叏閮ㄥ鍑猴紝鍖呭惈妫�楠屽弬鏁帮級
+     * 姣忎釜妫�楠屽弬鏁颁竴琛岋紙涓�涓楠岃褰曞睍寮�鎴愬琛岋級
+     */
+    @Override
+    public void qualityInspectExportNew(HttpServletResponse response, QualityInspectExportDTO exportDTO) {
+        // 1. 鏌ヨ妫�楠岃褰�
+        List<QualityInspect> qualityInspects = qualityInspectExportHandle.queryInspectList(exportDTO);
+        if (CollectionUtils.isEmpty(qualityInspects)) {
+            throw new RuntimeException("娌℃湁鍙鍑虹殑鏁版嵁");
+        }
+
+        // 2. 鏋勫缓瀵煎嚭鏁版嵁锛堟瘡涓楠屽弬鏁颁竴琛岋級
+        List<QualityInspectExportVO> exportList = qualityInspectExportHandle.buildExportData(qualityInspects, exportDTO.getInspectType());
+
+        // 3. 瀵煎嚭Excel
+        qualityInspectExportHandle.exportExcel(response, exportList, exportDTO.getInspectType());
+    }
 
 }

--
Gitblit v1.9.3