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