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/service/impl/QualityInspectServiceImpl.java |   38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 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 328c358..b0ece76 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -9,10 +9,14 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.deepoove.poi.XWPFTemplate;
 import com.deepoove.poi.config.Configure;
+import com.ruoyi.basic.enums.ApplicationTypeEnum;
+import com.ruoyi.basic.enums.RecordTypeEnum;
+import com.ruoyi.basic.utils.FileUtil;
 import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.HackLoopTableRenderPolicy;
+import com.ruoyi.common.utils.OrderUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.web.domain.R;
 import com.ruoyi.procurementrecord.service.ProcurementRecordService;
@@ -21,9 +25,11 @@
 import com.ruoyi.quality.mapper.QualityInspectMapper;
 import com.ruoyi.quality.mapper.QualityTestStandardMapper;
 import com.ruoyi.quality.mapper.QualityUnqualifiedMapper;
+import com.ruoyi.quality.mapper.QualityUnqualifiedOrderMapper;
 import com.ruoyi.quality.pojo.QualityInspect;
 import com.ruoyi.quality.pojo.QualityInspectParam;
 import com.ruoyi.quality.pojo.QualityUnqualified;
+import com.ruoyi.quality.pojo.QualityUnqualifiedOrder;
 import com.ruoyi.stock.pojo.StockInRecord;
 import com.ruoyi.stock.service.StockInRecordService;
 import com.ruoyi.quality.service.IQualityInspectParamService;
@@ -56,6 +62,7 @@
     private final StockUtils stockUtils;
     private final StockInventoryService stockInventoryService;
     private final StockInRecordService stockInRecordService;
+    private final FileUtil fileUtil;
     private QualityInspectMapper qualityInspectMapper;
 
     private IQualityInspectParamService qualityInspectParamService;
@@ -63,6 +70,8 @@
     private QualityTestStandardMapper qualityTestStandardMapper;
 
     private QualityUnqualifiedMapper qualityUnqualifiedMapper;
+
+    private QualityUnqualifiedOrderMapper qualityUnqualifiedOrderMapper;
 
     private SalesLedgerProductMapper salesLedgerProductMapper;
 
@@ -78,6 +87,8 @@
             qualityInspectParam.setInspectId(qualityInspect.getId());
         }
         qualityInspectParamService.saveBatch(qualityInspectDto.getQualityInspectParams());
+        // 淇濆瓨闄勪欢
+        fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.QUALITY_INSPECT, qualityInspect.getId(), qualityInspectDto.getStorageBlobDTOs());
         return 0;
     }
 
@@ -88,6 +99,8 @@
         QualityInspectDto qualityInspectDto = new QualityInspectDto();
         BeanUtils.copyProperties(qualityInspect, qualityInspectDto);
         qualityInspectDto.setQualityInspectParams(qualityInspectParams);
+        // 鏌ヨ闄勪欢
+        qualityInspectDto.setStorageBlobVOs(fileUtil.getStorageBlobVOsByRecordTypeAndRecordId(RecordTypeEnum.QUALITY_INSPECT, qualityInspect.getId()));
         return qualityInspectDto;
     }
 
@@ -153,6 +166,26 @@
             qualityUnqualified.setDefectivePhenomena(text + "杩欎簺鎸囨爣涓瓨鍦ㄤ笉鍚堟牸");//涓嶅悎鏍肩幇璞�
             qualityUnqualified.setInspectId(qualityInspect.getId());
             qualityUnqualifiedMapper.insert(qualityUnqualified);
+
+            // 鑷姩鍒涘缓涓嶅悎鏍煎搧澶勭悊鍗曪紝娴佸叆鏂版ā鍧�
+            QualityUnqualifiedOrder order = new QualityUnqualifiedOrder();
+            order.setUnqualifiedId(qualityUnqualified.getId());
+            order.setUnqualifiedProcess(qualityInspect.getInspectType() + 1);
+            order.setUnqualifiedQuantity(qualityInspect.getUnqualifiedQuantity());
+            order.setQuantity(qualityInspect.getQuantity());
+            order.setProductModelId(qualityInspect.getProductModelId());
+            order.setInspectorName(qualityInspect.getCheckName());
+            if (qualityInspect.getCheckTime() != null) {
+                order.setInspectDate(new java.util.Date(qualityInspect.getCheckTime().getTime()));
+            }
+            order.setSupplierName(qualityInspect.getSupplier());
+            order.setSpecificationModel(qualityInspect.getModel());
+            order.setProblemDescription(qualityInspect.getDefectivePhenomena());
+            order.setStatus(0);
+            String orderNo = OrderUtils.countTodayByCreateTime(
+                    qualityUnqualifiedOrderMapper, "BHG", "order_no", LocalDateTime.now());
+            order.setOrderNo(orderNo);
+            qualityUnqualifiedOrderMapper.insert(order);
         }
 
         qualityInspect.setInspectState(1);//宸叉彁浜�
@@ -286,7 +319,10 @@
         }
         QualityInspect qualityInspect = new QualityInspect();
         BeanUtils.copyProperties(qualityInspectDto, qualityInspect);
-        return qualityInspectMapper.updateById(qualityInspect);
+        int result = qualityInspectMapper.updateById(qualityInspect);
+        // 淇濆瓨闄勪欢
+        fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.QUALITY_INSPECT, qualityInspectDto.getId(), qualityInspectDto.getStorageBlobDTOs());
+        return result;
     }
 
     @Override

--
Gitblit v1.9.3