From 1bf6cb4c0bfc149737afa37a1df1c809b29c6139 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期二, 10 六月 2025 13:57:43 +0800
Subject: [PATCH] 点检测试修改

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/FaultIntervalTime.java                     |    4 +-
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java |    9 ++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/FaultIntervalTimeController.java       |   50 ++++++++++++++++--------
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml            |   11 +----
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java         |   22 ++++++----
 5 files changed, 60 insertions(+), 36 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
index 274c2b0..f84630f 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
@@ -584,6 +584,15 @@
                 standard.setLoseEfficacyPerson(sysUser.getRealname());
                 dailyInspectionStandardService.updateById(standard);
             }
+            List<DailyInspectionStandard> list = dailyInspectionStandardService.lambdaQuery()
+                    .eq(DailyInspectionStandard::getEquipmentId, dailyInspectionStandard.getEquipmentId())
+                    .eq(DailyInspectionStandard::getVersionStatus, "2").list();
+            for (DailyInspectionStandard inspectionStandard : list) {
+                inspectionStandard.setVersionStatus("3");
+                inspectionStandard.setLoseEfficacyTime(new Date());
+                inspectionStandard.setLoseEfficacyPerson(sysUser.getRealname());
+                dailyInspectionStandardService.updateById(inspectionStandard);
+            }
             dailyInspectionStandard.setApprovalPerson(sysUser.getRealname());
             dailyInspectionStandard.setVersionStatus("2");
             dailyInspectionStandard.setTakeEffectTime(new Date());
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..7133dd1 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,18 @@
 	 */
 	@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(), -3);
+			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,35 +227,38 @@
 				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
+				//璁$畻mttr  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);
+					averageRepairTime = new BigDecimal(0);
 				}else{
-					averageRepairTime = repairTime.divide(faultNumber, 2, BigDecimal.ROUND_HALF_EVEN);
+					averageRepairTime = repairTime.divide(faultNumber, 2, RoundingMode.HALF_UP);
 				}
 				//璁$畻mtbf
-				//褰撴湁鏁呴殰鏃堕棿鏃禡TBF锛氾紙鎬诲彲鍒╃敤鏃堕棿-鎬绘晠闅滄椂闂达級/锛堟�绘晠闅滄鏁�+1锛�
-				//褰撴棤鏁呴殰鏃堕棿鏃禡TBF锛歁TBF=鎬诲彲鍒╃敤鏃堕棿
+				//MTBF:鏃犳晠闅滄椂闂�/鏁呴殰娆℃暟
 				BigDecimal averageFaultIntervalTime;
 				BigDecimal totalAvailableTime = new BigDecimal(equipmentMTBF.get(0).get("totalAvailableTime").toString());
 				BigDecimal faultTime = new BigDecimal(equipmentMTBF.get(0).get("faultTime").toString());
+				BigDecimal noFaultTime = new BigDecimal(equipmentMTBF.get(0).get("noFaultTime").toString());
 				if(new BigDecimal(0).compareTo(faultNumber) == 0){
-					averageFaultIntervalTime = new BigDecimal(totalAvailableTime + ".00").setScale(2, RoundingMode.HALF_UP);;
+					averageFaultIntervalTime = new BigDecimal(0);
 				}else{
-					averageFaultIntervalTime = (totalAvailableTime.subtract(faultTime)).divide(faultNumber, 2, BigDecimal.ROUND_HALF_EVEN);
+//					averageFaultIntervalTime = (noFaultTime.subtract(faultTime)).divide(faultNumber, 2, BigDecimal.ROUND_HALF_EVEN);
+					averageFaultIntervalTime = noFaultTime.divide(faultNumber, 2, RoundingMode.HALF_UP);
 				}
-				//璁$畻瀹屽ソ鐜�  鍙紑鍔ㄧ巼
-				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 totalDay = new BigDecimal(equipmentMTBF.get(0).get("totalDay").toString());
+//				BigDecimal repairDay = new BigDecimal(equipmentMTBF.get(0).get("repairDay").toString());
 
-				//鍙紑鍔ㄧ巼
+//				BigDecimal serviceabilityRate = noFaultTime.divide(totalAvailableTime,2, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
+				BigDecimal serviceabilityRate = noFaultTime.divide(totalAvailableTime,2,RoundingMode.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));
+				BigDecimal startRate = faultTime.divide(totalAvailableTime,2, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
+
 
 				faultIntervalTime.setAverageRepairTime(averageRepairTime.toString());
 				faultIntervalTime.setAverageFaultIntervalTime(averageFaultIntervalTime.toString());
@@ -253,17 +270,16 @@
 				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);
 			}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java
index 26bc963..8dc1de8 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java
@@ -140,9 +140,9 @@
 			 String id = (String)record.get("id");
 //			 String equipmentId = (String)record.get("equipmentId");
 //			 String status = (String)record.get("status");
-//			 String inspectionStandardId = (String)record.get("inspectionStandardId");
-//			 List<InspectionCycleVo> inspectionCycles = inspectionOrderService.getInspectionCycleByEqId(inspectionStandardId);
-//			 record.put("inspectionCycles",inspectionCycles);
+			 String inspectionStandardId = (String)record.get("inspectionStandardId");
+			 List<InspectionCycleVo> inspectionCycles = inspectionOrderService.getInspectionCycleByEqId(inspectionStandardId);
+			 record.put("inspectionCycles",inspectionCycles);
 
 			 List<Map<String, Object>> inspectionOrderDetails = inspectionOrderService.getInspectionOrderDetailByOrderId(id);
 			 record.put("inspectionOrderDetails",inspectionOrderDetails);
@@ -720,11 +720,13 @@
 		 String workCenterId = equipment.getWorkCenterId();
 		 Area area = areaService.getById(workCenterId);
 
-		 DailyInspectionStandard standard = dailyInspectionStandardService.getOne(new LambdaQueryWrapper<DailyInspectionStandard>()
-				 .eq(DailyInspectionStandard::getEquipmentId, equipment.getId())
+//		 DailyInspectionStandard standard = dailyInspectionStandardService.getOne(new LambdaQueryWrapper<DailyInspectionStandard>()
+//				 .eq(DailyInspectionStandard::getEquipmentId, equipment.getId())
+//				 .eq(DailyInspectionStandard::getDelFlag, 0)
+//				 .eq(DailyInspectionStandard::getVersionStatus, "2"));
+		 List<DailyInspectionStandard> list = dailyInspectionStandardService.lambdaQuery().eq(DailyInspectionStandard::getEquipmentId, equipment.getId())
 				 .eq(DailyInspectionStandard::getDelFlag, 0)
-				 .eq(DailyInspectionStandard::getVersionStatus, "2"));
-
+				 .eq(DailyInspectionStandard::getVersionStatus, "2").list();
 
 
 		 List<Map<String, Object>> list1 = this.getInspectionStandars(equipmentNum,"day",dataTime);
@@ -741,8 +743,10 @@
 		 if(area != null){
 			 mapResult.put("workCenterName",area.getName());
 		 }
-		 if(standard != null){
-			 mapResult.put("regulations",standard.getDisUda1());
+		 if(list.size() > 0){
+			 mapResult.put("regulations",list.get(0).getDisUda1());
+		 }else{
+			 mapResult.put("regulations","-");
 		 }
 		 mapResult.put("list1",list1);
 		 mapResult.put("list2",list2);
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/FaultIntervalTime.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/FaultIntervalTime.java
index 375b8e2..625851d 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/FaultIntervalTime.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/FaultIntervalTime.java
@@ -111,10 +111,10 @@
     private String endTime;
 
     @TableField(exist = false)
-    private String serviceabilityRate;
+    private String serviceabilityRate; //瀹屽ソ鐜�
 
     @TableField(exist = false)
-    private String startRate;
+    private String startRate;//寮�鍔ㄧ巼
 
     @TableField(exist = false)
     private String equipmentNumer;
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml
index b85ef4e..f002953 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml
@@ -61,18 +61,13 @@
             tt.totalAvailableTime,
             SUM(tt.faultTime) AS faultTime,
             SUM(tt.repairTime) AS repairTime,
-            SUM(tt.noFaultTime) AS noFaultTime,
-            sum(tt.totalDay) as totalDay,
-            sum(tt.repairDay) as repairDay
+            tt.totalAvailableTime - SUM(tt.faultTime) AS noFaultTime
         FROM(
                 SELECT
                     t1.equipment_id AS equipmentId,
                     datediff( HOUR, #{params.startTime}, #{params.endTime} ) + 24 AS totalAvailableTime,
-                    datediff( HOUR, isnull( t1.fault_time, GETDATE( ) ), isnull( t1.accept_time, GETDATE( ) ) ) AS faultTime,
-                    datediff( HOUR, isnull( t2.actual_start_time, GETDATE( ) ), isnull( t2.actual_end_time, GETDATE( ) ) ) AS repairTime,
-                    (datediff( HOUR, #{params.startTime}, #{params.endTime}) + 24) - datediff( HOUR, isnull( t1.fault_time, GETDATE( ) ), isnull( t1.accept_time, GETDATE( ) ) ) AS noFaultTime,
-                    datediff( DAY, #{params.startTime}, #{params.endTime} )+1 AS totalDay,
-                    datediff( DAY, isnull( t1.fault_time, GETDATE( ) ), isnull( t2.actual_end_time, GETDATE( ) ) ) AS repairDay
+                    datediff( HOUR, isnull( t1.fault_time, GETDATE( ) ), isnull( t2.actual_end_time, GETDATE( ) ) ) AS faultTime,
+                    case when t2.create_time is null THEN '0' WHEN t2.create_time is not null THEN datediff( HOUR,t2.create_time, isnull( t2.actual_end_time, GETDATE( ) ) )  end AS repairTime
                 FROM
                     mom_eam_equipment_report_repair t1
                 LEFT JOIN mom_eam_repair_order t2 ON t2.report_repair_id = t1.id

--
Gitblit v1.9.3