liding
6 天以前 54d7658963c0affdb91ce7f07198d80e46339c8b
fix(stock):  1. 规格型号覆盖问题
2.入库审批后采购状态不更新
已修改2个文件
33 ■■■■■ 文件已修改
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -244,9 +244,11 @@
            Long productModelId = product.getProductModelId();
            if (productModelId != null && modelMap.containsKey(productModelId)) {
                if (!StringUtils.hasText(product.getSpecificationModel())) {
                product.setSpecificationModel(modelMap.get(productModelId));
            }
        }
        }
        // 分组处理
        Map<Boolean, List<SalesLedgerProduct>> partitionedProducts = products.stream()
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)) {
                    // 采购直接入库:recordId 就是采购台账ID
                    purchaseLedgerId = stockInRecord.getRecordId();
                } else if (StockInQualifiedRecordTypeEnum.CUSTOMIZATION_UNSTOCK_OUT.getCode().equals(recordType)) {
                    // 采购质检合格入库:recordId 是质检单ID,需通过质检单找到采购台账ID
                    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();