From ced8477cd8620650d2fc942f74a0d4350ecb7b7e Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 16 三月 2026 17:38:22 +0800
Subject: [PATCH] 质量管理:优化下载原料时doc显示

---
 src/main/java/com/ruoyi/quality/controller/RawMaterialController.java |   79 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 77 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java b/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java
index d3e0a38..ffcbba4 100644
--- a/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java
+++ b/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java
@@ -1,12 +1,20 @@
 package com.ruoyi.quality.controller;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.enums.RawMaterialInspectState;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.quality.dto.RawMaterialDto;
+import com.ruoyi.quality.pojo.*;
+import com.ruoyi.quality.service.IQualityInspectFileService;
+import com.ruoyi.quality.service.RawMaterialQualityInspectItemService;
 import com.ruoyi.quality.service.RawMaterialService;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -23,6 +31,12 @@
     @Resource
     private RawMaterialService rawMaterialService;
 
+    @Resource
+    private RawMaterialQualityInspectItemService rawMaterialQualityInspectItemService;
+
+    @Resource
+    private IQualityInspectFileService qualityInspectFileService;
+
     /**
      * 鍘熸枡鍒嗛〉鏌ヨ
      */
@@ -31,6 +45,13 @@
         return AjaxResult.success(rawMaterialService.listPage(page, rawMaterialDto));
     }
 
+    /**
+     * 鍘熸枡璇︽儏
+     */
+    @GetMapping("/detail/{id}")
+    public AjaxResult detail(@PathVariable Long id) {
+        return AjaxResult.success(rawMaterialService.detail(id));
+    }
 
     /**
      * 鍘熸枡鏂板
@@ -41,18 +62,72 @@
     }
 
     /**
+     * 妫�娴嬫彁浜�
+     * @param id 鍘熸枡id
+     * @return
+     */
+    @PatchMapping("/submit/{id}")
+    public AjaxResult submit(@PathVariable Long id) {
+        return AjaxResult.success(rawMaterialService.submit(id));
+    }
+
+    /**
+     * 淇敼妫�楠屼汉
+     * @param rawMaterialDto 鍘熸枡
+     * @return
+     */
+    @PatchMapping("/updateCheckUserName")
+    public AjaxResult updateCheckUserName(@RequestBody RawMaterialDto rawMaterialDto) {
+        RawMaterial rawMaterial = new RawMaterial();
+        rawMaterial.setId(rawMaterialDto.getId());
+        rawMaterial.setCheckUserName(rawMaterialDto.getCheckUserName());
+        return AjaxResult.success(rawMaterialService.updateById(rawMaterial));
+    }
+
+    /**
      * 鍘熸枡鏇存柊
      */
     @PutMapping("")
     public AjaxResult update(@RequestBody RawMaterialDto rawMaterialDto) {
-        return AjaxResult.success(rawMaterialService.updateById(rawMaterialDto));
+        return AjaxResult.success(rawMaterialService.update(rawMaterialDto));
     }
 
     /**
      * 鍘熸枡鍒犻櫎
      */
     @DeleteMapping("")
+    @Transactional(rollbackFor = Exception.class)
     public AjaxResult delete(@RequestBody List<Integer> ids) {
-        return AjaxResult.success(rawMaterialService.removeByIds(ids));
+        if(CollectionUtils.isEmpty(ids)){
+            return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+        }
+        //濡傛灉宸茬粡鎻愪氦灏变笉鍏佽鍒犻櫎
+        List<RawMaterial> rawMaterials = rawMaterialService.list(Wrappers.<RawMaterial>lambdaQuery()
+                .in(RawMaterial::getId,ids)
+                .eq(RawMaterial::getInspectState, RawMaterialInspectState.RawMaterialInspectStateSubmitted.getCode()));
+        if(!CollectionUtils.isEmpty(rawMaterials)){
+            throw new RuntimeException("宸叉彁浜ょ殑鏁版嵁涓嶅厑璁稿垹闄�");
+        }
+        //鍒犻櫎妫�楠屽弬鏁�
+        rawMaterialQualityInspectItemService.remove(Wrappers.<RawMaterialQualityInspectItem>lambdaQuery()
+                .in(RawMaterialQualityInspectItem::getRawMaterialId,ids));
+        //鍒犻櫎妫�楠岄檮浠�
+        qualityInspectFileService.remove(Wrappers.<QualityInspectFile>lambdaQuery()
+                .in(QualityInspectFile::getInspectId,ids));
+        //鍒犻櫎妫�楠屽崟
+        return AjaxResult.success(rawMaterialService.removeBatchByIds(ids));
+    }
+
+    /**
+     * 瀵煎嚭鍘熸枡鏁版嵁
+     */
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, RawMaterialDto rawMaterialDto) {
+        rawMaterialService.export(response, rawMaterialDto);
+    }
+
+    @PostMapping("/down")
+    public void down(HttpServletResponse response,@RequestBody RawMaterialDto rawMaterialDto) {
+        rawMaterialService.down(response, rawMaterialDto);
     }
 }

--
Gitblit v1.9.3