From b22ebe8fad1691b35adcf321fe2e136795b3f81d Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 29 六月 2026 17:58:00 +0800
Subject: [PATCH] 库位
---
src/main/java/com/ruoyi/approve/service/impl/ApproveBusinessStatusService.java | 26 ++++++++++++++++++++++++--
1 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveBusinessStatusService.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveBusinessStatusService.java
index 8135c3a..88601e8 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveBusinessStatusService.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveBusinessStatusService.java
@@ -87,7 +87,9 @@
salesLedgerProduct.getQuantity(),
StockInQualifiedRecordTypeEnum.PURCHASE_STOCK_IN.getCode(),
purchaseLedger.getId(),
- purchaseLedger.getPurchaseContractNumber() + "-" + salesLedgerProduct.getId());
+ purchaseLedger.getPurchaseContractNumber() + "-" + salesLedgerProduct.getId(),
+ null,
+ salesLedgerProduct.getStorageLocation());
}
}
} else if (status.equals(3)) {
@@ -156,10 +158,30 @@
qualityInspect.setProductModelId(saleProduct.getProductModelId());
qualityInspect.setUnit(saleProduct.getUnit());
qualityInspect.setQuantity(saleProduct.getQuantity());
+ qualityInspect.setWarehouse(saleProduct.getStorageLocation());
qualityInspectMapper.insert(qualityInspect);
List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(saleProduct.getProductId(), 0, null);
if (qualityTestStandard.size() > 0) {
- qualityInspect.setTestStandardId(qualityTestStandard.get(0).getId());
+ QualityTestStandard std = qualityTestStandard.get(0);
+ qualityInspect.setTestStandardId(std.getId());
+ // 鏍规嵁 inspectRule 璁剧疆鎶芥姣斾緥鍜屾娊妫�鏁伴噺榛樿鍊�
+ if (std.getInspectRule() == null || std.getInspectRule() == 0) {
+ // 鍏ㄦ
+ qualityInspect.setInspectRule(0);
+ qualityInspect.setSampleRatio(java.math.BigDecimal.valueOf(100));
+ qualityInspect.setSampleQuantity(saleProduct.getQuantity() != null ? saleProduct.getQuantity() : java.math.BigDecimal.ZERO);
+ } else {
+ // 鎶芥
+ qualityInspect.setInspectRule(1);
+ java.math.BigDecimal ratio = std.getSampleRatio() != null ? std.getSampleRatio() : java.math.BigDecimal.ZERO;
+ qualityInspect.setSampleRatio(ratio);
+ if (saleProduct.getQuantity() != null && ratio.compareTo(java.math.BigDecimal.ZERO) > 0) {
+ qualityInspect.setSampleQuantity(saleProduct.getQuantity().multiply(ratio)
+ .divide(java.math.BigDecimal.valueOf(100), 0, java.math.RoundingMode.CEILING));
+ } else {
+ qualityInspect.setSampleQuantity(java.math.BigDecimal.ZERO);
+ }
+ }
qualityInspectMapper.updateById(qualityInspect);
qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
.eq(QualityTestStandardParam::getTestStandardId, qualityTestStandard.get(0).getId()))
--
Gitblit v1.9.3