qushaowei
2025-06-10 1bf6cb4c0bfc149737afa37a1df1c809b29c6139
点检测试修改
已修改5个文件
96 ■■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/FaultIntervalTimeController.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/FaultIntervalTime.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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());
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
                //当有故障时间时MTBF:(总可利用时间-总故障时间)/(总故障次数+1)
                //当无故障时间时MTBF:MTBF=总可利用时间
                //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);
            }
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);
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;
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