From 454545bd4207d99d153e263c68f821f856f0e884 Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期日, 29 九月 2024 09:47:20 +0800 Subject: [PATCH] 430最终问题项修改 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/FaultIntervalTimeController.java | 87 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 78 insertions(+), 9 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/FaultIntervalTimeController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/FaultIntervalTimeController.java index db85b64..f395efd 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/FaultIntervalTimeController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/FaultIntervalTimeController.java @@ -7,6 +7,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.hssf.record.DVALRecord; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.constant.CommonConstant; @@ -24,6 +25,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.ParseException; import java.util.*; @@ -209,9 +212,41 @@ faultIntervalTime.setNoFaultTime(equipmentMTBF.get(0).get("noFaultTime").toString()); faultIntervalTime.setFaultTime(equipmentMTBF.get(0).get("faultTime").toString()); faultIntervalTime.setFaultNumber(equipmentMTBF.get(0).get("faultNumber").toString()); - faultIntervalTime.setAverageRepairTime(equipmentMTBF.get(0).get("averageRepairTime").toString()); - faultIntervalTime.setAverageFaultIntervalTime(equipmentMTBF.get(0).get("averageFaultIntervalTime").toString()); faultIntervalTime.setRepairTime(equipmentMTBF.get(0).get("repairTime").toString()); + //璁$畻mttr + BigDecimal repairTime = new BigDecimal(equipmentMTBF.get(0).get("repairTime").toString()); + BigDecimal faultNumber = new BigDecimal(equipmentMTBF.get(0).get("faultNumber").toString()); + BigDecimal averageRepairTime; + if(new BigDecimal(0).compareTo(faultNumber) == 0){ + averageRepairTime = new BigDecimal(0.00).setScale(2, RoundingMode.HALF_UP); + }else{ + averageRepairTime = repairTime.divide(faultNumber, 2, BigDecimal.ROUND_HALF_EVEN); + } + //璁$畻mtbf + //褰撴湁鏁呴殰鏃堕棿鏃禡TBF锛氾紙鎬诲彲鍒╃敤鏃堕棿-鎬绘晠闅滄椂闂达級/锛堟�绘晠闅滄鏁�+1锛� + //褰撴棤鏁呴殰鏃堕棿鏃禡TBF锛歁TBF=鎬诲彲鍒╃敤鏃堕棿 + BigDecimal averageFaultIntervalTime; + BigDecimal totalAvailableTime = new BigDecimal(equipmentMTBF.get(0).get("totalAvailableTime").toString()); + BigDecimal faultTime = new BigDecimal(equipmentMTBF.get(0).get("faultTime").toString()); + if(new BigDecimal(0).compareTo(faultNumber) == 0){ + averageFaultIntervalTime = new BigDecimal(totalAvailableTime + ".00").setScale(2, RoundingMode.HALF_UP);; + }else{ + averageFaultIntervalTime = (totalAvailableTime.subtract(faultTime)).divide(faultNumber, 2, BigDecimal.ROUND_HALF_EVEN); + } + //璁$畻瀹屽ソ鐜� 鍙紑鍔ㄧ巼 + BigDecimal totalDay = new BigDecimal(equipmentMTBF.get(0).get("totalDay").toString()); + BigDecimal repairDay = new BigDecimal(equipmentMTBF.get(0).get("repairDay").toString()); + BigDecimal serviceabilityRate = (totalDay.subtract(repairDay)).divide(totalDay,2, BigDecimal.ROUND_HALF_EVEN).multiply(new BigDecimal(100)); + + //鍙紑鍔ㄧ巼 +// BigDecimal totalAvailableTime = new BigDecimal(equipmentMTBF.get(0).get("totalAvailableTime").toString()); +// BigDecimal repairTime = new BigDecimal(equipmentMTBF.get(0).get("repairTime").toString()); + BigDecimal startRate = (totalAvailableTime.subtract(repairTime)).divide(totalAvailableTime,2, BigDecimal.ROUND_HALF_EVEN).multiply(new BigDecimal(100)); + + faultIntervalTime.setAverageRepairTime(averageRepairTime.toString()); + faultIntervalTime.setAverageFaultIntervalTime(averageFaultIntervalTime.toString()); + faultIntervalTime.setServiceabilityRate(serviceabilityRate+"%"); + faultIntervalTime.setStartRate(startRate+"%"); faultIntervalTimeList.add(faultIntervalTime); }else{ List<Map<String, Object>> mtbfTotalAvailableTime = faultIntervalTimeService.getMTBFTotalAvailableTime(query); @@ -222,12 +257,14 @@ }else{ faultIntervalTime.setTotalAvailableTime("0"); faultIntervalTime.setNoFaultTime("0"); - faultIntervalTime.setAverageFaultIntervalTime("0"); + faultIntervalTime.setAverageFaultIntervalTime("0.00"); } faultIntervalTime.setFaultTime("0"); faultIntervalTime.setFaultNumber("0"); - faultIntervalTime.setAverageRepairTime("0"); + faultIntervalTime.setAverageRepairTime("0.00"); faultIntervalTime.setRepairTime("0"); + faultIntervalTime.setServiceabilityRate("0.00%"); + faultIntervalTime.setStartRate("0.00%"); faultIntervalTimeList.add(faultIntervalTime); } @@ -375,25 +412,54 @@ faultIntervalTime.setNoFaultTime(equipmentMTBF.get(0).get("noFaultTime").toString()); faultIntervalTime.setFaultTime(equipmentMTBF.get(0).get("faultTime").toString()); faultIntervalTime.setFaultNumber(equipmentMTBF.get(0).get("faultNumber").toString()); - faultIntervalTime.setAverageRepairTime(equipmentMTBF.get(0).get("averageRepairTime").toString()); - faultIntervalTime.setAverageFaultIntervalTime(equipmentMTBF.get(0).get("averageFaultIntervalTime").toString()); faultIntervalTime.setRepairTime(equipmentMTBF.get(0).get("repairTime").toString()); + faultIntervalTime.setEquipmentNumer(equipmentMTBF.get(0).get("equipmentNumer").toString()); + + BigDecimal repairTime = new BigDecimal(equipmentMTBF.get(0).get("repairTime").toString()); + BigDecimal faultNumber = new BigDecimal(equipmentMTBF.get(0).get("faultNumber").toString()); + BigDecimal totalAvailableTime = new BigDecimal(equipmentMTBF.get(0).get("totalAvailableTime").toString()); + BigDecimal faultTime = new BigDecimal(equipmentMTBF.get(0).get("faultTime").toString()); + BigDecimal equipmentNumer = new BigDecimal(equipmentMTBF.get(0).get("equipmentNumer").toString()); + BigDecimal totalDay = new BigDecimal(equipmentMTBF.get(0).get("totalDay").toString()); + BigDecimal repairDay = new BigDecimal(equipmentMTBF.get(0).get("repairDay").toString()); + //璁$畻mttr 淇鏃堕棿/鏁呴殰娆℃暟 + BigDecimal averageRepairTime = repairTime.divide(faultNumber, 2, BigDecimal.ROUND_HALF_EVEN); + //璁$畻mtbf 锛堟�诲彲鍒╃敤鏃堕棿-鏁呴殰鏃堕棿锛�/鏁呴殰娆℃暟 + BigDecimal averageFaultIntervalTime; + if(new BigDecimal(0).compareTo(faultNumber)==0){ + averageFaultIntervalTime = new BigDecimal("0.00").setScale(2, RoundingMode.HALF_UP); + }else{ + averageFaultIntervalTime = (totalAvailableTime.subtract(faultTime)).divide(faultNumber, 2, BigDecimal.ROUND_HALF_EVEN); + } + //瀹屽ソ鐜� 锛堢粺璁″ぉ鏁�*璁惧鏁伴噺-鏁呴殰澶╂暟锛�/锛堢粺璁″ぉ鏁�*璁惧鏁伴噺锛� + BigDecimal serviceabilityRate = ((totalDay.multiply(equipmentNumer)).subtract(repairDay)).divide((totalDay.multiply(equipmentNumer)), 2, BigDecimal.ROUND_HALF_EVEN).multiply(new BigDecimal(100)); + //寮�鍔ㄧ巼 锛堟�诲彲鍒╃敤鏃堕棿-鏁呴殰鏃堕棿锛�/鎬诲彲鍒╃敤鏃堕棿 + BigDecimal startRate = (totalAvailableTime.subtract(faultTime)).divide(totalAvailableTime, 2, BigDecimal.ROUND_HALF_EVEN).multiply(new BigDecimal(100)); + + faultIntervalTime.setAverageRepairTime(averageRepairTime.toString()); + faultIntervalTime.setAverageFaultIntervalTime(averageFaultIntervalTime.toString()); + faultIntervalTime.setServiceabilityRate(serviceabilityRate+"%"); + faultIntervalTime.setStartRate(startRate+"%"); faultIntervalTimeList.add(faultIntervalTime); }else{ List<Map<String, Object>> mtbfTotalAvailableTime = faultIntervalTimeService.getCenterMTBFTotalAvailableTime(query); if(query.get("startTime") != "" && query.get("endTime") != ""){ faultIntervalTime.setTotalAvailableTime(mtbfTotalAvailableTime.get(0).get("totalAvailableTime").toString()); faultIntervalTime.setNoFaultTime(mtbfTotalAvailableTime.get(0).get("totalAvailableTime").toString()); - faultIntervalTime.setAverageFaultIntervalTime(mtbfTotalAvailableTime.get(0).get("totalAvailableTime").toString()); + faultIntervalTime.setAverageFaultIntervalTime("0.00"); }else{ faultIntervalTime.setTotalAvailableTime("0"); faultIntervalTime.setNoFaultTime("0"); - faultIntervalTime.setAverageFaultIntervalTime("0"); + faultIntervalTime.setAverageFaultIntervalTime("0.00"); } faultIntervalTime.setFaultTime("0"); faultIntervalTime.setFaultNumber("0"); - faultIntervalTime.setAverageRepairTime("0"); + faultIntervalTime.setEquipmentNumer("0"); + faultIntervalTime.setAverageRepairTime("0.00"); faultIntervalTime.setRepairTime("0"); + faultIntervalTime.setServiceabilityRate("0.00%"); + faultIntervalTime.setStartRate("0.00%"); + faultIntervalTime.setStartTime("0"); faultIntervalTimeList.add(faultIntervalTime); } @@ -464,4 +530,7 @@ } + + + } -- Gitblit v1.9.3