| | |
| | | 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())) |