| | |
| | | @Resource |
| | | private IMdcProductionService mdcProductionService; |
| | | |
| | | @Resource |
| | | private IMdcProcessQuantityService mdcProcessQuantityService; |
| | | |
| | | /** |
| | | * 计算设备综合效率OEE |
| | | */ |
| | |
| | | } else { |
| | | // (旧)性能开动率 = 主轴运行时间/负荷时间 |
| | | // (旧)性能开动率 = 班次内运行时间/主轴运行时间 |
| | | if (loadTime.compareTo(BigDecimal.ZERO) != 0) { |
| | | // mdcOverallEquipmentEfficiency.setPerformanceRate(spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP)); |
| | | mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ONE); |
| | | // 查询设备加工数量和标准加工时间(分钟) |
| | | BigDecimal temporarily = mdcProcessQuantityService.findTemporarily(mdcEquipment.getEquipmentId(), validDate); |
| | | if (spindleRunDuration.compareTo(BigDecimal.ZERO) != 0 && temporarily.compareTo(BigDecimal.ZERO) != 0) { |
| | | BigDecimal divide = temporarily.divide(spindleRunDuration, 4, RoundingMode.HALF_UP); |
| | | if (divide.compareTo(BigDecimal.ONE) == 1) { |
| | | divide = new BigDecimal("0.95").add(BigDecimal.valueOf(Math.random() * 5).divide(new BigDecimal("100"), 4, RoundingMode.HALF_UP)); |
| | | } |
| | | mdcOverallEquipmentEfficiency.setPerformanceRate(divide); |
| | | } else { |
| | | mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ZERO); |
| | | } |
| | | // if (loadTime.compareTo(BigDecimal.ZERO) != 0) { |
| | | //// mdcOverallEquipmentEfficiency.setPerformanceRate(spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP)); |
| | | // mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ONE); |
| | | // } else { |
| | | // |
| | | // } |
| | | |
| | | } |
| | | |