From 741918a903e17b2ec7522556d2c043b8d35dd8a1 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 15 六月 2026 17:42:58 +0800
Subject: [PATCH] 生产取消bom,不合格管理定制化

---
 src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedOrderController.java |   42 +++++++++++++++++++++++++++++++++---------
 1 files changed, 33 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedOrderController.java b/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedOrderController.java
index 7b09b33..6df1cc3 100644
--- a/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedOrderController.java
+++ b/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedOrderController.java
@@ -8,10 +8,12 @@
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.quality.mapper.QualityUnqualifiedOrderMapper;
 import com.ruoyi.quality.pojo.QualityUnqualifiedOrder;
 import com.ruoyi.quality.service.IQualityUnqualifiedOrderService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
 import org.springframework.web.bind.annotation.*;
 
 import jakarta.annotation.Resource;
@@ -26,6 +28,8 @@
     @Resource
     private IQualityUnqualifiedOrderService orderService;
     @Resource
+    private QualityUnqualifiedOrderMapper orderMapper;
+    @Resource
     private FileUtil fileUtil;
 
     @PostMapping("/save")
@@ -33,29 +37,35 @@
     @Log(title = "鏂板涓嶅悎鏍煎搧澶勭悊鍗�", businessType = BusinessType.INSERT)
     public R<?> save(@RequestBody QualityUnqualifiedOrder order) {
         String orderNo = OrderUtils.countTodayByCreateTime(
-                orderService.getBaseMapper(), "BHG", "order_no",
+                orderMapper, "BHG", "order_no",
                 order.getCreateTime() != null ? order.getCreateTime() : LocalDateTime.now());
         order.setOrderNo(orderNo);
-        order.setStatus(0);
-        orderService.save(order);
-        fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.QUALITY_UNQUALIFIED_ORDER, order.getId(), order.getStorageBlobDTOs());
-        return R.ok(true);
+        if (order.getStatus() == null) {
+            order.setStatus(order.getDisposalMethod() != null ? 3 : 0);
+        }
+        boolean result = orderService.save(order);
+        if (result) {
+            fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.QUALITY_UNQUALIFIED_ORDER, order.getId(), order.getStorageBlobDTOs());
+        }
+        return R.ok(result);
     }
 
     @PutMapping("/update")
     @Operation(summary = "淇敼涓嶅悎鏍煎搧澶勭悊鍗�")
     @Log(title = "淇敼涓嶅悎鏍煎搧澶勭悊鍗�", businessType = BusinessType.UPDATE)
     public R<?> update(@RequestBody QualityUnqualifiedOrder order) {
-        orderService.updateById(order);
-        fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.QUALITY_UNQUALIFIED_ORDER, order.getId(), order.getStorageBlobDTOs());
-        return R.ok(true);
+        boolean result = orderService.updateWithRework(order);
+        if (result) {
+            fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.QUALITY_UNQUALIFIED_ORDER, order.getId(), order.getStorageBlobDTOs());
+        }
+        return R.ok(result);
     }
 
     @DeleteMapping("/delete")
     @Operation(summary = "鍒犻櫎涓嶅悎鏍煎搧澶勭悊鍗�")
     @Log(title = "鍒犻櫎涓嶅悎鏍煎搧澶勭悊鍗�", businessType = BusinessType.DELETE)
     public R<?> delete(@RequestBody List<Long> ids) {
-        return R.ok(orderService.removeBatchByIds(ids));
+        return R.ok(orderMapper.deleteByIds(ids) > 0);
     }
 
     @GetMapping("/listPage")
@@ -71,4 +81,18 @@
     public R<?> detail(@PathVariable Long id) {
         return R.ok(orderService.getDetail(id));
     }
+
+    @PostMapping("/deal")
+    @Operation(summary = "涓嶅悎鏍煎搧澶勭悊")
+    @Log(title = "涓嶅悎鏍煎搧澶勭悊", businessType = BusinessType.OTHER)
+    public R<?> deal(@RequestBody QualityUnqualifiedOrder order) {
+        return R.ok(orderService.deal(order));
+    }
+
+    @GetMapping("/export/{id}")
+    @Operation(summary = "瀵煎嚭涓嶅悎鏍煎搧澶勭悊鍗�")
+    @Log(title = "瀵煎嚭涓嶅悎鏍煎搧澶勭悊鍗�", businessType = BusinessType.EXPORT)
+    public void export(@PathVariable Long id, HttpServletResponse response) {
+        orderService.export(id, response);
+    }
 }

--
Gitblit v1.9.3