From 54d7658963c0affdb91ce7f07198d80e46339c8b Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期一, 08 六月 2026 11:16:12 +0800
Subject: [PATCH] fix(stock):  1. 规格型号覆盖问题 2.入库审批后采购状态不更新

---
 src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
index e718611..993527a 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.enums.ApprovalStatusEnum;
 import com.ruoyi.common.enums.ReviewStatusEnum;
 import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
 import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
@@ -13,6 +14,10 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
+import com.ruoyi.purchase.pojo.PurchaseLedger;
+import com.ruoyi.quality.mapper.QualityInspectMapper;
+import com.ruoyi.quality.pojo.QualityInspect;
 import com.ruoyi.stock.dto.StockInRecordDto;
 import com.ruoyi.stock.dto.StockInventoryDto;
 import com.ruoyi.stock.dto.StockUninventoryDto;
@@ -43,6 +48,8 @@
     private StockInventoryMapper stockInventoryMapper;
     private StockUninventoryMapper stockUninventoryMapper;
     private ProductionOrderPickMapper productionOrderPickMapper;
+    private PurchaseLedgerMapper purchaseLedgerMapper;
+    private QualityInspectMapper qualityInspectMapper;
 
     @Override
     public IPage<StockInRecordDto> listPage(Page page, StockInRecordDto stockInRecordDto) {
@@ -244,6 +251,7 @@
                             setQualitity(stockInRecord.getStockInNum());
                             setBatchNo(stockInRecord.getBatchNo());
                             setRemark(stockInRecord.getRemark());
+                            setWarnNum(stockInRecord.getWarnNum());
                             setVersion(1);
                         }});
                     } else {
@@ -269,6 +277,30 @@
                         stockUninventoryMapper.updateAddStockUnInventory(stockUninventoryDto);
                     }
                 }
+
+                // 閲囪喘鐩稿叧鍏ュ簱瀹℃壒閫氳繃鏃讹紝鍥炲啓閲囪喘鍙拌处鐘舵�佷负宸查�氳繃
+                String recordType = stockInRecord.getRecordType();
+                Long purchaseLedgerId = null;
+                if (StockInQualifiedRecordTypeEnum.PURCHASE_STOCK_IN.getCode().equals(recordType)) {
+                    // 閲囪喘鐩存帴鍏ュ簱锛歳ecordId 灏辨槸閲囪喘鍙拌处ID
+                    purchaseLedgerId = stockInRecord.getRecordId();
+                } else if (StockInQualifiedRecordTypeEnum.CUSTOMIZATION_UNSTOCK_OUT.getCode().equals(recordType)) {
+                    // 閲囪喘璐ㄦ鍚堟牸鍏ュ簱锛歳ecordId 鏄川妫�鍗旾D锛岄渶閫氳繃璐ㄦ鍗曟壘鍒伴噰璐彴璐D
+                    Long qualityInspectId = stockInRecord.getRecordId();
+                    if (qualityInspectId != null) {
+                        QualityInspect qualityInspect = qualityInspectMapper.selectById(qualityInspectId);
+                        if (qualityInspect != null) {
+                            purchaseLedgerId = qualityInspect.getPurchaseLedgerId();
+                        }
+                    }
+                }
+                if (purchaseLedgerId != null) {
+                    PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(purchaseLedgerId);
+                    if (purchaseLedger != null && !ApprovalStatusEnum.APPROVED.getCode().equals(purchaseLedger.getApprovalStatus())) {
+                        purchaseLedger.setApprovalStatus(ApprovalStatusEnum.APPROVED.getCode());
+                        purchaseLedgerMapper.updateById(purchaseLedger);
+                    }
+                }
             }
         }
         return ids.size();

--
Gitblit v1.9.3