From 4b27dd367eae2f24958c6bb857fb6959dcdb7a4a Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期五, 13 六月 2025 18:04:46 +0800
Subject: [PATCH] 报表提交

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/FaultIntervalTimeController.java |   58 ++++++++++++++++++++--------------------------------------
 1 files changed, 20 insertions(+), 38 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 f395efd..ebdbb78 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.commons.lang3.StringUtils;
 import org.apache.poi.hssf.record.DVALRecord;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
@@ -28,6 +29,7 @@
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -194,6 +196,17 @@
 	 */
 	@GetMapping("/get2MTBF")
 	public JSONObject get2MTBF(@RequestParam Map<String, Object> query) throws ParseException {
+		String startTime = (String)query.get("startTime");
+		String endTime = (String)query.get("endTime");
+		if(StringUtils.isBlank(startTime) && StringUtils.isBlank(endTime)){
+			Date dayAfter = DateUtils.getDayAfter(new Date(), -2);
+			SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+			dateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));// 璁剧疆鍖椾含鏃跺尯
+			query.put("startTime",dateFormat.format(dayAfter));
+
+			String currentDateStr = DateUtils.getCurrentDateStr();
+			query.put("endTime",currentDateStr);
+		}
 		List<Map<String, Object>> equipmentList = faultIntervalTimeService.getEquipmentList(query);
 		List<FaultIntervalTime> faultIntervalTimeList = new ArrayList<>();
 		for (Map<String, Object> map : equipmentList) {
@@ -213,57 +226,26 @@
 				faultIntervalTime.setFaultTime(equipmentMTBF.get(0).get("faultTime").toString());
 				faultIntervalTime.setFaultNumber(equipmentMTBF.get(0).get("faultNumber").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+"%");
+				faultIntervalTime.setAverageRepairTime(equipmentMTBF.get(0).get("mttr").toString());
+				faultIntervalTime.setAverageFaultIntervalTime(equipmentMTBF.get(0).get("mtbf").toString());
+				faultIntervalTime.setServiceabilityRate(equipmentMTBF.get(0).get("serviceabilityRate").toString()+"%");
+				faultIntervalTime.setStartRate(equipmentMTBF.get(0).get("startRate").toString()+"%");
 				faultIntervalTimeList.add(faultIntervalTime);
 			}else{
 				List<Map<String, Object>> mtbfTotalAvailableTime = faultIntervalTimeService.getMTBFTotalAvailableTime(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());
 				}else{
 					faultIntervalTime.setTotalAvailableTime("0");
 					faultIntervalTime.setNoFaultTime("0");
-					faultIntervalTime.setAverageFaultIntervalTime("0.00");
 				}
+				faultIntervalTime.setAverageFaultIntervalTime("0");
 				faultIntervalTime.setFaultTime("0");
 				faultIntervalTime.setFaultNumber("0");
-				faultIntervalTime.setAverageRepairTime("0.00");
+				faultIntervalTime.setAverageRepairTime("0");
 				faultIntervalTime.setRepairTime("0");
-				faultIntervalTime.setServiceabilityRate("0.00%");
+				faultIntervalTime.setServiceabilityRate("100%");
 				faultIntervalTime.setStartRate("0.00%");
 				faultIntervalTimeList.add(faultIntervalTime);
 			}

--
Gitblit v1.9.3