whyclxw
2025-06-10 f83ef17eeedb228f51bb4d7b95ab2f5f80f79266
实时推送添加启动失败原因
3个文件已修改
1个文件已添加
63 ■■■■■ 已修改文件
src/main/java/com/whyc/constant/FailReasonEnum.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/db_batt_testdata/BatttestdataInf.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BatttestdataInfService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/webSocket/RealTimeSocket.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/constant/FailReasonEnum.java
New file
@@ -0,0 +1,56 @@
package com.whyc.constant;
import java.util.HashMap;
import java.util.Map;
public enum FailReasonEnum {
    FAILREASON_3(3,"内部通信故障"),
    FAILREASON_4(4,"系统存在告警"),
    FAILREASON_5(5,"系统测试中"),
    FAILREASON_6(6,"输入电压过高"),
    FAILREASON_7(7,"输入电压过低"),
    FAILREASON_8(8,"负载功率太小"),
    FAILREASON_9(9,"两段直流母线压差大"),
    FAILREASON_10(10,"两段电池组压差大"),
    FAILREASON_11(11,"远程闭锁状态"),
    FAILREASON_12(12,"急停状态"),
    FAILREASON_13(13,"切换开关粘连或电源状态异常"),
    FAILREASON_14(14,"启动频繁"),
    FAILREASON_15(15,"系统正在内阻测试"),
    ;
    private Integer stateId;
    private String stateName;
    FailReasonEnum(Integer stateId, String stateName) {
        this.stateId = stateId;
        this.stateName = stateName;
    }
    public Integer getStateId() {
        return stateId;
    }
    public String getStateName() {
        return stateName;
    }
    public static String getValue(Integer stateId) {
        if(stateId==null){
            return "";
        }
        for (FailReasonEnum ele : values()) {
            if(ele.getStateId().equals(stateId)) {
                return ele.getStateName();
            }
        }
        return null;
    }
    public static Map<Integer,String> getOpInfo() {
        Map<Integer,String> map=new HashMap<>();
        for (FailReasonEnum logOpEnum : FailReasonEnum.values()) {
            map.put(logOpEnum.getStateId(),logOpEnum.getStateName());
        }
        return map;
    }
}
src/main/java/com/whyc/pojo/db_batt_testdata/BatttestdataInf.java
@@ -76,6 +76,10 @@
    @ApiModelProperty(value = "测试停止原因")
    private Integer testStoptype;
    @ApiModelProperty(value = "测试停止原因")
    @TableField(exist = false)
    private String testStoptypeReason;
    @ApiModelProperty(value = "在线电压")
    private Float onlineVol;
src/main/java/com/whyc/service/BatttestdataInfService.java
@@ -108,6 +108,7 @@
        wrapper.last("  and test_timelong >= 7200 ORDER BY test_starttime DESC ");
        wrapper.last("limit 1");
        BatttestdataInf tinf = mapper.selectOne(wrapper);
        tinf.setTestStoptypeReason(StopReasonEnum.getValue(tinf.getTestStoptype()));
        return tinf;
    }
src/main/java/com/whyc/webSocket/RealTimeSocket.java
@@ -2,6 +2,7 @@
import com.whyc.config.WebSocketConfig;
import com.whyc.constant.DevStateEnum;
import com.whyc.constant.FailReasonEnum;
import com.whyc.constant.StopReasonEnum;
import com.whyc.dto.Real.SticRealRtdataDto;
import com.whyc.dto.Real.TopDto;
@@ -454,6 +455,7 @@
            BattRtstate battRtstate = battRtstateService.getBattRealInfo(realDto.getBattgroupId());
            if(battRtstate!=null){
                battRtstate.setLastCaptestStopTypeReason(StopReasonEnum.getValue(battRtstate.getLastCaptestStopType()));
                battRtstate.setControlFailTypeReason(FailReasonEnum.getValue(battRtstate.getControlFailType()));
            }
            map.put("battRtstate",battRtstate!=null?battRtstate:"");
            //实时获取设备信息