| | |
| | | record.setIsCanReport(true); |
| | | } |
| | | } |
| | | |
| | | // 查询当前实际的合格率 |
| | | // 查询关联产出表数据 |
| | | List<ProductionProductMain> productionProductMains = productionProductMainMapper.selectList(Wrappers.<ProductionProductMain>lambdaQuery().eq(ProductionProductMain::getWorkOrderId, record.getId())); |
| | | BigDecimal totalScrapQty = BigDecimal.ZERO; |
| | | if (CollectionUtils.isNotEmpty(productionProductMains)) { |
| | | // 计算报废数量 |
| | | List<Long> mainIds = productionProductMains.stream().map(ProductionProductMain::getId).collect(Collectors.toList()); |
| | | List<ProductionProductOutput> productionProductOutputs = productionProductOutputMapper.selectList(Wrappers.<ProductionProductOutput>lambdaQuery().in(ProductionProductOutput::getProductMainId, mainIds)); |
| | | totalScrapQty = productionProductOutputs.stream().map(ProductionProductOutput::getScrapQty).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | } |
| | | if (record.getCompleteQuantity().compareTo(BigDecimal.ZERO) > 0) { |
| | | record.setActualQualifiedRate((record.getCompleteQuantity().subtract(totalScrapQty)) |
| | | .divide(record.getCompleteQuantity(), 2, RoundingMode.HALF_UP) |
| | | .multiply(new BigDecimal("100")) |
| | | ); |
| | | } else { |
| | | record.setActualQualifiedRate((record.getCompleteQuantity().subtract(totalScrapQty)).multiply(BigDecimal.valueOf(100))); |
| | | } |
| | | }); |
| | | return productWorkOrderDtoIPage; |
| | | } |
| | |
| | | scrapQty = productionProductOutputs.stream().map(ProductionProductOutput::getScrapQty).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | } |
| | | if (productWorkOrderDto.getCompleteQuantity().compareTo(BigDecimal.ZERO) > 0) { |
| | | productWorkOrderDto.setScrapRate(scrapQty.divide(productWorkOrderDto.getCompleteQuantity(), 2, RoundingMode.HALF_UP)); |
| | | productWorkOrderDto.setScrapRate(scrapQty.divide(productWorkOrderDto.getCompleteQuantity(), 4, RoundingMode.HALF_UP)); |
| | | } else { |
| | | productWorkOrderDto.setScrapRate(scrapQty.multiply(BigDecimal.valueOf(100))); |
| | | } |
| | | productWorkOrderDto.setScrapQty(scrapQty); |
| | | productWorkOrderDto.setCompleteQty(productWorkOrderDto.getCompleteQuantity().subtract(scrapQty)); |
| | | }); |
| | | } |