whyclxw
2 天以前 3e2f537e80f51948969de2a5b1b82292c0aac550
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
package com.whyc.constant;
 
import com.whyc.dto.NameValueIntDto;
 
import java.util.ArrayList;
import java.util.List;
 
/**
 * 审计日志/操作日志 操作类型定义
 *
 * 在用蓄电池:A200停止充放电,开始充放电. 参数设置
 * 备用蓄电池:入库,活化,参数设置
 * 巡检机器人:自动巡检
 * 巡检机器人模块:出现高温告警的情况: 告警点巡检,启动灭火,关闭灭火. 定时任务灭火记录
 * 用户管理:添加,编辑,重置密码,移出管理员或者加入管理员,删除
 * 电源信息管理:编辑,删除
 * 单体定位信息管理:编辑
 */
public enum OperationLogEnum {
    TYPE_1_SYS(1,"系统级事件"),
    TYPE_1_BUSINESS(2,"业务级事件"),
 
    //子级别-系统级
    TYPE_2_LOGIN(101,"用户登录"),
    TYPE_2_LOGIN_FAIL(102,"用户登录失败"),
    TYPE_2_LOGOUT(103,"用户退出"),
    TYPE_2_USER_UPDATE(104,"用户编辑"),
    TYPE_2_USER_ADD(105,"用户添加"),
    TYPE_2_USER_DELETE(106,"用户删除"),
    TYPE_2_USER_UPDATE_PASSWORD(107,"密码重置"),
    TYPE_2_USER_OUT_ADMIN(108,"移出管理员"),
    TYPE_2_USER_IN_ADMIN(109,"加入管理员"),
    TYPE_2_UNAUTHORIZED_ACCESS(110,"越权访问"),
    TYPE_2_CONNECTION_TIMEOUT(111,"连接超时"),
    TYPE_2_EXCEPTION(112,"调用异常"),
    TYPE_2_USER_CHANGEPWD(113,"调用异常"),
    //子级别-业务级
    //=================== 200-实时监控界面 ===================//
    TYPE_2_realpage_stopDis(2001,"实时监控界面-停止核容测试"),
    TYPE_2_realpage_restart(2002,"实时监控界面-远程重启"),
    TYPE_2_realpage_updateSysParam(2003,"实时监控界面-系统参数设置"),
    TYPE_2_realpage_startRes(2004,"实时监控界面-内阻测试"),
    TYPE_2_realpage_stopRes(2005,"实时监控界面-停止内阻测试"),
    TYPE_2_realpage_updateResParam(2006,"实时监控界面-内阻参数设置"),
    TYPE_2_realpage_setPwrHeartAcIn(2007,"实时监控界面-设置电源心跳参数-交流输入"),
    TYPE_2_realpage_setPwrHeartAcOut(2008,"实时监控界面-设置电源心跳参数-直流输出"),
    TYPE_2_realpage_setPwrHeartHr(2009,"实时监控界面-设置电源心跳参数-核容设备"),
    TYPE_2_devSetparam_startKD(2010,"实时监控界面-启动K/D测试"),
    TYPE_2_devSetparam_startDisByManual(2011,"实时监控界面-启动自检"),
    TYPE_2_almparamFromDevice_setAlarmFromDevice(2012,"实时监控界面-来源于设备的告警参数设置"),
    TYPE_2_realpage_restartHJQ(2013,"实时监控界面-重启汇集器"),
    TYPE_2_pwrSetparam_controlRectifModel(2014,"实时监控界面-整流模块开关控制"),
    TYPE_2_pwrSetparam_controlAcSwitch(2015,"实时监控界面-交流微断控制"),
    TYPE_2_pwrSetparam_controlDcSwitch(2016,"实时监控界面-直流微断控制"),
    TYPE_2_devSetparam_sysDischarge(2017,"实时监控界面-用户sys_discharge启动核容测试"),
    TYPE_2_devSetparam_startDisInFlow(2018,"实时监控界面-流程中启动核容测试"),
    TYPE_2_devSetparam_setParamInFlow(2019,"实时监控界面-流程中启动设置参数"),
    TYPE_2_devSetparam_startDis(2020,"实时监控界面-远程启动核容测试"),
    //===================210-设备管理页面 ===================//
    TYPE_2_infomanage_addInfo(2101,"设备管理页面-新增资产信息"),
    TYPE_2_infomanage_addBatt(2102,"设备管理页面-添加电池组"),
    TYPE_2_infomanage_updateInfo(2103,"设备管理页面-编辑资产信息"),
    TYPE_2_infomanage_delBatt(2104,"设备管理页面-删除电池组"),
    //=================== 220-电池实时告警页面 ====================//
    TYPE_2_battrealalm_updateBattConfrim(2201,"电池实时告警页面-确认告警"),
    //=================== 230-设备实时告警页面===================//
    TYPE_2_devrealalm_updateDevConfrim(2301,"设备实时告警页面-确认告警"),
    //=================== 240-电源实时告警页面 ===================//
    TYPE_2_pwrrealalm_updatePwrConfrim(2401,"电源实时告警页面-确认告警"),
    //================== 250-电池告警参数页面 ===================//
    TYPE_2_battalmparam_setBattAlmParam(2501,"电池告警参数页面-修改"),
    //================== 260-电源告警参数页面 ===================//
    TYPE_2_pwralmparam_setPwrAlmParam(2601,"电源告警参数页面-修改"),
    //================== 340-设备告警参数页面 ===================//
    TYPE_2_devalmparam_setDevAlmParam(3401,"设备告警参数页面-修改"),
    //================== 270-预警分析管理界面 ===================//
    TYPE_2_warnanalysis_updateAlarmAnalysisCycle(2701,"预警分析管理界面-设置时间间隔"),
    //================== 280-标准参数管理页面 ===================//
    TYPE_2_standparam_setPwrStandParam(2801,"标准参数管理页面-参数设定"),
    TYPE_2_standparam_uploadStandFile(2802,"标准参数管理页面-上传"),
    //================== 290-实时数据曲线统计页面 ===================//
    TYPE_2_realdatacurve_setRealGraphFreq(2901,"实时数据曲线统计页面-设置更新频率"),
    //================== 300-巡视备忘录管理页面 ===================//
    TYPE_2_alminspection_submitInspection(3001,"巡视备忘录管理页面-提交巡检结果"),
    //================== 310-诊断管理页面 ===================//
    TYPE_2_diagnosismanage_update(3101,"诊断管理页面-修改"),
    TYPE_2_diagnosismanage_add(3102,"诊断管理页面-添加"),
    TYPE_2_diagnosismanage_delete(3103,"诊断管理页面-删除"),
    //================== 320-图像管理页面 ===================//
    TYPE_2_picmanage_downloadZip(3201,"图像管理页面-下载"),
    TYPE_2_picmanage_uploadBatch(3202,"图像管理页面-上传"),
    //================== 330-维修管理页面 ===================//
    TYPE_2_sparemanage_add(3301,"维修管理页面-添加"),
    TYPE_2_sparemanage_addByExcel(3302,"维修管理页面-excel导入"),
    TYPE_2_sparemanage_andOrChangePicture(3303,"维修管理页面-新增或者替换图片"),
    TYPE_2_sparemanage_delete(3304,"维修管理页面-删除"),
    TYPE_2_sparemanage_update(3305,"维修管理页面-修改"),
 
    //================== 350-权限管理页面===================//
    TYPE_2_permitmanage_add(3501,"权限管理页面-权限组添加"),
    TYPE_2_permitmanage_update(3502,"权限管理页面-权限组编辑"),
    TYPE_2_permitmanage_delete(3503,"权限管理页面-权限组删除"),
    TYPE_2_permitmanage_userBatch(3504,"权限管理页面-权限组下添加或者移除用户"),
    TYPE_2_permitmanage_updateBatch(3505,"权限管理页面-权限组下编辑权限"),
    //================== 360-包机组管理页面===================//
    TYPE_2_baojimanage_addBaoji(3601,"包机组管理页面-添加包机组"),
    TYPE_2_baojimanage_delBaoji(3602,"包机组管理页面-删除包机组"),
    TYPE_2_baojimanage_updateBaoji(3603,"包机组管理页面-编辑包机组"),
    TYPE_2_baojimanage_updateStationList(3604,"包机组管理页面-包机组下添加机房和电源或移除机房和电源"),
    TYPE_2_baojimanage_updateUserList(3605,"包机组管理页面-包机组下添加用户或移除用户"),
    ;
 
    private Integer type;
    private String name;
 
    OperationLogEnum(Integer type, String name) {
        this.type = type;
        this.name = name;
    }
 
    public Integer getType() {
        return type;
    }
 
    public String getName() {
        return name;
    }
 
    public static List<NameValueIntDto> getCategoryList() {
        List<NameValueIntDto> list = new ArrayList<>();
        for (OperationLogEnum value : OperationLogEnum.values()) {
            if(value.type<10) {
                list.add(new NameValueIntDto(value.name, value.type));
            }else{
                break;
            }
        }
        return list;
    }
 
    public static List<NameValueIntDto> getTypeList() {
        List<NameValueIntDto> list = new ArrayList<>();
        for (OperationLogEnum value : OperationLogEnum.values()) {
            if(value.type>1000) {
                list.add(new NameValueIntDto(value.name, value.type));
            }
        }
        return list;
    }
 
    public static List<NameValueIntDto> getTypeListByCategory(Integer category) {
        List<NameValueIntDto> list = new ArrayList<>();
        for (OperationLogEnum value : OperationLogEnum.values()) {
            Integer type1 = value.type;
            if(category==1){
                if(type1>10 && type1.toString().startsWith("1")) {
                    list.add(new NameValueIntDto(value.name, type1));
                }
            }
            if(category==2){
                if(type1>10 && !type1.toString().startsWith("1")) {
                    list.add(new NameValueIntDto(value.name, type1));
                }
            }
        }
        return list;
    }
 
    public static String getNameByType(Integer type) {
        for (OperationLogEnum value : OperationLogEnum.values()) {
            if(value.type.equals(type)) {
                return value.name;
            }
        }
        return "未知类型";
    }
 
    public static void main(String[] args) {
        List<NameValueIntDto> categoryList = getCategoryList();
        System.out.println(categoryList);
 
        List<NameValueIntDto> typeListByCategory = getTypeListByCategory(1);
        System.out.println(typeListByCategory);
 
        List<NameValueIntDto> typeListByCategory1 = getTypeListByCategory(2);
        System.out.println(typeListByCategory1);
    }
}