| | |
| | | |
| | | if (qualifiedQty.compareTo(BigDecimal.ZERO) > 0) { |
| | | if (Objects.equals(qualityInspect.getInspectType(), 0)) { |
| | | Long ledgerId = qualityInspect.getPurchaseLedgerId(); |
| | | PurchaseLedger purchaseLedger = ledgerId == null ? null : purchaseLedgerMapper.selectById(ledgerId); |
| | | if (purchaseLedger != null) { |
| | | submitQualifiedInboundApprove(qualityInspect); |
| | | } else { |
| | | // 手动新增的原材料检验:无采购台账,不走采购入库审批,直接入合格库存(与过程/出厂检验一致) |
| | | stockUtils.addStock( |
| | | null, |
| | | null, |
| | | qualityInspect.getProductModelId(), |
| | | qualifiedQty, |
| | | StockInQualifiedRecordTypeEnum.QUALITYINSPECT_STOCK_IN.getCode(), |
| | | qualityInspect.getId() |
| | | ); |
| | | syncQualifiedInboundToPurchaseProducts(qualityInspect, qualifiedQty); |
| | | } |
| | | stockUtils.addStock( |
| | | qualityInspect.getPurchaseLedgerId(), |
| | | null, |
| | | qualityInspect.getProductModelId(), |
| | | qualifiedQty, |
| | | StockInQualifiedRecordTypeEnum.QUALITYINSPECT_STOCK_IN.getCode(), |
| | | qualityInspect.getId() |
| | | ); |
| | | syncQualifiedInboundToPurchaseProducts(qualityInspect, qualifiedQty); |
| | | qualityInspect.setApprovalStatus(3); |
| | | } else if (Objects.equals(qualityInspect.getInspectType(), 2) && qualityInspect.getSalesLedgerId() != null) { |
| | | // 销售订单的成品出厂检验,提交后直接入库 |
| | | StockInventoryDto stockInventoryDto = new StockInventoryDto(); |
| | |
| | | allStocked = false; |
| | | } |
| | | } |
| | | |
| | | long pendingInspectCount = qualityInspectMapper.selectCount(Wrappers.<QualityInspect>lambdaQuery() |
| | | .eq(QualityInspect::getSalesLedgerId, salesLedgerId) |
| | | .eq(QualityInspect::getInspectState, 0)); |
| | | boolean allInspectFinished = pendingInspectCount == 0; |
| | | |
| | | SalesLedger ledger = salesLedgerMapper.selectById(salesLedgerId); |
| | | if (ledger != null) { |
| | | ledger.setStockStatus(allStocked ? 2 : (hasStocked ? 1 : 0)); |
| | | int newStatus = ledger.getStockStatus() != null ? ledger.getStockStatus() : 0; |
| | | if (allInspectFinished) { |
| | | newStatus = allStocked ? 2 : 5; // 2: 已入库(质检完成), 5: 部分质检完成 |
| | | } else { |
| | | newStatus = 4; // 4: 质检中 |
| | | } |
| | | ledger.setStockStatus(newStatus); |
| | | salesLedgerMapper.updateById(ledger); |
| | | } |
| | | } |