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 | 31 +++++++++++++++++++++++++++++++
1 files changed, 31 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 85fc1b1..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) {
@@ -270,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