From 4e45da16b0a307dd56a85936c7319e559f27de92 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 23 一月 2026 13:52:37 +0800
Subject: [PATCH] feat(stock): 实现质检库存管理和报废流程

---
 src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
index 796d798..f2e615d 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
@@ -7,8 +7,10 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.enums.StockRecordTypeEnum;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.procurementrecord.utils.StockUtils;
 import com.ruoyi.production.mapper.ProductProcessRouteItemMapper;
 import com.ruoyi.production.mapper.ProductProcessRouteMapper;
 import com.ruoyi.production.mapper.ProductWorkOrderMapper;
@@ -22,6 +24,8 @@
 import com.ruoyi.quality.pojo.QualityUnqualified;
 import com.ruoyi.quality.service.IQualityInspectService;
 import com.ruoyi.quality.service.IQualityUnqualifiedService;
+import com.ruoyi.stock.dto.StockUninventoryDto;
+import com.ruoyi.stock.service.StockUninventoryService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -33,8 +37,9 @@
 
 @AllArgsConstructor
 @Service
-public class QualityUnqualifiedServiceImpl extends ServiceImpl<QualityUnqualifiedMapper, QualityUnqualified>  implements IQualityUnqualifiedService {
+public class QualityUnqualifiedServiceImpl extends ServiceImpl<QualityUnqualifiedMapper, QualityUnqualified> implements IQualityUnqualifiedService {
 
+    private final StockUtils stockUtils;
     private QualityUnqualifiedMapper qualityUnqualifiedMapper;
     private IQualityInspectService qualityInspectService;
     private ProductOrderService productOrderService;
@@ -42,16 +47,16 @@
     private ProductProcessRouteMapper productProcessRouteMapper;
     private ProductProcessRouteItemMapper productProcessRouteItemMapper;
     private ProductWorkOrderMapper productWorkOrderMapper;
-
+    private StockUninventoryService stockUninventoryService;
 
     @Override
     public IPage<QualityUnqualified> qualityUnqualifiedListPage(Page page, QualityUnqualified qualityUnqualified) {
-        return qualityUnqualifiedMapper.qualityUnqualifiedListPage(page,qualityUnqualified);
+        return qualityUnqualifiedMapper.qualityUnqualifiedListPage(page, qualityUnqualified);
     }
 
     @Override
     public void qualityUnqualifiedExport(HttpServletResponse response, QualityUnqualified qualityUnqualified) {
-        List<QualityUnqualified> qualityUnqualifieds =qualityUnqualifiedMapper.qualityUnqualifiedExport(qualityUnqualified);
+        List<QualityUnqualified> qualityUnqualifieds = qualityUnqualifiedMapper.qualityUnqualifiedExport(qualityUnqualified);
         ExcelUtil<QualityUnqualified> util = new ExcelUtil<QualityUnqualified>(QualityUnqualified.class);
         util.exportExcel(response, qualityUnqualifieds, "涓嶅悎鏍肩鐞嗗鍑�");
     }
@@ -64,7 +69,7 @@
             case "杩斾慨":
             case "杩斿伐":
                 //鍒ゆ柇璐ㄦ琛ㄦ槸鍚︽湁鐩稿叧鐨勬姤宸d,濡傛灉鏈夋姤宸d,閭d箞杩斿伐闇�瑕侀噸鏂板垱寤虹敓浜ц鍗曢噸鏂扮敓浜�
-                if (ObjectUtils.isNotNull(qualityInspect.getProductMainId())){
+                if (ObjectUtils.isNotNull(qualityInspect.getProductMainId())) {
                     //杩斿伐闇�瑕侀噸鏂板垱寤虹敓浜ц鍗曢噸鏂扮敓浜�
                     ProductOrder productOrder = productionProductMainMapper.getOrderByMainId(qualityInspect.getProductMainId());
                     ProductOrder order = new ProductOrder();
@@ -76,7 +81,7 @@
                     order.setEndTime(null);
                     productOrderService.save(order);
                     //鏂板鐢熶骇璁㈠崟涓嬬殑宸ヨ壓璺嚎涓昏〃
-                    ProductProcessRoute productProcessRoute = productProcessRouteMapper.selectList(Wrappers.<ProductProcessRoute>lambdaQuery().eq(ProductProcessRoute::getProductOrderId,productOrder.getId()).orderByDesc(ProductProcessRoute::getId)).get(0);
+                    ProductProcessRoute productProcessRoute = productProcessRouteMapper.selectList(Wrappers.<ProductProcessRoute>lambdaQuery().eq(ProductProcessRoute::getProductOrderId, productOrder.getId()).orderByDesc(ProductProcessRoute::getId)).get(0);
                     ProductProcessRoute newProcessRoute = new ProductProcessRoute();
                     BeanUtils.copyProperties(productProcessRoute, newProcessRoute);
                     newProcessRoute.setId(null);
@@ -125,9 +130,12 @@
                 }
                 break;
             case "鎶ュ簾":
+                //璋冪敤涓嶅悎鏍煎簱瀛樻帴鍙� 鍏ヤ笉鍚堟牸搴�
+                stockUtils.addUnStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockRecordTypeEnum.DEFECTIVE_SCRAP.getCode(),unqualified.getId());
                 break;
             case "璁╂鏀捐":
                 //璋冪敤鎻愪氦鍚堟牸鐨勬帴鍙�
+                stockUtils.addStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockRecordTypeEnum.DEFECTIVE_PASS.getCode(),unqualified.getId());
                 qualityInspect.setCheckResult("鍚堟牸");
                 qualityInspectService.submit(qualityInspect);
                 break;

--
Gitblit v1.9.3