From cd5f45b147f1050ea4430544c6517ad378bad122 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 17 八月 2026 11:00:14 +0800
Subject: [PATCH] fix(quality): 中间工序报工质检都不入库

---
 src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java |   44 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 39 insertions(+), 5 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 0707375..a140608 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -1,7 +1,6 @@
 package com.ruoyi.quality.service.impl;
 
 
-import cn.hutool.core.lang.Assert;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -11,8 +10,10 @@
 import com.deepoove.poi.config.Configure;
 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.poi.ExcelUtil;
+import com.ruoyi.framework.web.domain.R;
 import com.ruoyi.procurementrecord.service.ProcurementRecordService;
 import com.ruoyi.procurementrecord.utils.StockUtils;
 import com.ruoyi.quality.dto.QualityInspectDto;
@@ -22,12 +23,12 @@
 import com.ruoyi.quality.pojo.QualityInspect;
 import com.ruoyi.quality.pojo.QualityInspectParam;
 import com.ruoyi.quality.pojo.QualityUnqualified;
-import com.ruoyi.stock.pojo.StockInRecord;
-import com.ruoyi.stock.service.StockInRecordService;
 import com.ruoyi.quality.service.IQualityInspectParamService;
 import com.ruoyi.quality.service.IQualityInspectService;
 import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
 import com.ruoyi.stock.dto.StockInventoryDto;
+import com.ruoyi.stock.pojo.StockInRecord;
+import com.ruoyi.stock.service.StockInRecordService;
 import com.ruoyi.stock.service.StockInventoryService;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.AllArgsConstructor;
@@ -39,6 +40,8 @@
 import java.io.OutputStream;
 import java.math.BigDecimal;
 import java.net.URLEncoder;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
@@ -115,8 +118,8 @@
             qualityInspect.setUnqualifiedQuantity(BigDecimal.ZERO);
         }
 
-        // 鍚堟牸鐩存帴鍏ュ簱
-        if(qualityInspect.getQualifiedQuantity().compareTo(BigDecimal.ZERO) > 0){
+        // 鍚堟牸鐩存帴鍏ュ簱(杩囩▼妫�涓嶅叆搴�)
+        if(qualityInspect.getQualifiedQuantity().compareTo(BigDecimal.ZERO) > 0 && qualityInspect.getInspectType()!=1){
             //浠呮坊鍔犲叆搴撹褰�
             StockInventoryDto stockInventoryDto = new StockInventoryDto();
             //濡傛灉鏄噰璐川妫�鍚堟牸鍏ュ簱閫夌敤CUSTOMIZATION_UNSTOCK_OUT,鍏朵綑鍚堟牸鍏ュ簱閫夌敤QUALITYINSPECT_STOCK_IN
@@ -127,6 +130,10 @@
             stockInventoryDto.setRecordId(qualityInspect.getId());
             stockInventoryDto.setProductModelId(qualityInspect.getProductModelId());
             stockInventoryDto.setQualitity(qualityInspect.getQualifiedQuantity());
+            if (qualityInspect.getCheckTime() != null) {
+                LocalDate stockCreateDate = DateUtils.toLocalDate(qualityInspect.getCheckTime()).plusDays(1);
+                stockInventoryDto.setCreateTime(LocalDateTime.of(stockCreateDate, java.time.LocalTime.MIDNIGHT));
+            }
             stockInventoryDto.setBatchNo(resolveProductionBatchNo(
                     qualityInspect.getProductMainId(),
                     qualityInspect.getId(),
@@ -151,6 +158,33 @@
         return qualityInspectMapper.updateById(qualityInspect);
     }
 
+    @Override
+    public R autoSubmit(Long id) {
+        if (id == null) {
+            return R.fail("妫�楠屽崟ID涓嶈兘涓虹┖");
+        }
+        QualityInspect qualityInspect = qualityInspectMapper.selectById(id);
+        if (qualityInspect == null) {
+            return R.fail("妫�楠屽崟涓嶅瓨鍦�");
+        }
+        if (Integer.valueOf(1).equals(qualityInspect.getInspectState())) {
+            return R.ok("妫�楠屽崟宸叉彁浜�");
+        }
+
+        if (ObjectUtils.isNull(qualityInspect.getCheckResult())) {
+            qualityInspect.setCheckResult("鍚堟牸");
+        }
+        if (ObjectUtils.isNull(qualityInspect.getQualifiedQuantity())) {
+            qualityInspect.setQualifiedQuantity(qualityInspect.getQuantity() == null ? BigDecimal.ZERO : qualityInspect.getQuantity());
+        }
+        if (ObjectUtils.isNull(qualityInspect.getUnqualifiedQuantity())) {
+            qualityInspect.setUnqualifiedQuantity(BigDecimal.ZERO);
+        }
+        qualityInspectMapper.updateById(qualityInspect);
+        int rows = submit(qualityInspect);
+        return rows > 0 ? R.ok("妫�楠屽崟鎻愪氦鎴愬姛") : R.fail("妫�楠屽崟鎻愪氦澶辫触");
+    }
+
     private String resolveProductionBatchNo(Long productionProductMainId,
                                             Long qualityInspectId,
                                             Long productModelId) {

--
Gitblit v1.9.3