| | |
| | | productProcessRouteItem.getProductRouteId(), |
| | | currentDragSort |
| | | ); |
| | | if (isPreviousReported) { |
| | | if (!isPreviousReported) { |
| | | throw new RuntimeException("上一个工序尚未报工,不能进行当前工序报工"); |
| | | } |
| | | |
| | |
| | | productStructureDtos.add(productStructureDto); |
| | | } |
| | | for (ProductStructureDto productStructureDto : productStructureDtos) { |
| | | |
| | | System.out.println(productStructureDto.getProductModelId()); |
| | | ProductionProductInput productionProductInput = new ProductionProductInput(); |
| | | productionProductInput.setProductModelId(productStructureDto.getProductModelId()); |
| | | productionProductInput.setQuantity(productStructureDto.getUnitQuantity().multiply(dto.getQuantity())); |
| | |
| | | |
| | | //合格数量=报工数量-报废数量 |
| | | BigDecimal productQty = productionProductOutput.getQuantity().subtract(productionProductOutput.getScrapQty()); |
| | | // 合格率=合格数量/报工数量 |
| | | BigDecimal productQtyRate = productQty.divide(productionProductOutput.getQuantity(), 2, RoundingMode.HALF_UP) |
| | | .multiply(new BigDecimal("100")); |
| | | // 该工序的合格率 < 合格率 |
| | | if (productQtyRate.compareTo(productProcess.getQualifiedRate()) < 0) { |
| | | // 发送通知给管理员 |
| | | sysNoticeService.simpleNoticeByUser("报工提示", |
| | | String.format("%s生产订单,%s工序合格率%.2f%%低于标准%.2f%%", productOrder.getNpsNo(), productProcess.getName(), productQtyRate, productProcess.getQualifiedRate()), |
| | | Arrays.asList(Long.valueOf(1L)), |
| | | "/productionManagement/productionReporting"); |
| | | } |
| | | |
| | | List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery().eq(ProductProcessRouteItem::getProductRouteId, productProcessRouteItem.getProductRouteId())); |
| | | //只有合格数量>0才能增加相应数据 |
| | | if (productQty.compareTo(BigDecimal.ZERO) > 0) { |
| | |
| | | qualityInspect.setProcess(process); |
| | | qualityInspect.setInspectState(0); |
| | | qualityInspect.setInspectType(inspectType); |
| | | qualityInspect.setDefectiveQuantity(productionProductOutput.getScrapQty()); |
| | | qualityInspect.setDefectiveQuantity(BigDecimal.ZERO); |
| | | qualityInspect.setProductMainId(productionProductMain.getId()); |
| | | qualityInspect.setProductModelId(productModel.getId()); |
| | | qualityInspectMapper.insert(qualityInspect); |