添加电池组使用时间,常量参数处理,单体统计修改,下拉条件增加
New file |
| | |
| | | package com.whyc.constant; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | public enum BattAlarmIdEnum { |
| | | ALARM_1(1,"在线电压上上限告警"), |
| | | ALARM_2(2,"在线电压上限告警"), |
| | | ALARM_3(3,"在线电压下限告警"), |
| | | ALARM_4(4,"在线电压下下限告警"), |
| | | ALARM_5(5,"组端电压上上限告警"), |
| | | ALARM_6(6,"组端电压上限告警"), |
| | | ALARM_7(7,"组端电压下限告警"), |
| | | ALARM_8(8,"组端电压下下限告警"), |
| | | ALARM_9(9,"充电电流上上限告警"), |
| | | ALARM_10(10,"充电电流上限告警"), |
| | | ALARM_11(11,"充电电流下限告警"), |
| | | ALARM_12(12,"充电电流下下限告警"), |
| | | ALARM_13(13,"放电电流上上限告警"), |
| | | ALARM_14(14,"放电电流上限告警"), |
| | | ALARM_15(15,"放电电流下限告警"), |
| | | ALARM_16(16,"放电电流下下限告警"), |
| | | ALARM_17(17,"单体电压上上限告警"), |
| | | ALARM_18(18,"单体电压上限告警"), |
| | | ALARM_19(19,"单体电压下限告警"), |
| | | ALARM_20(20,"单体电压下下限告警"), |
| | | ALARM_21(21,"单体温度上上限告警"), |
| | | ALARM_22(22,"单体温度上限告警"), |
| | | ALARM_23(23,"单体温度下限告警"), |
| | | ALARM_24(24,"单体温度下下限告警"), |
| | | ALARM_25(25,"单体内阻上上限告警"), |
| | | ALARM_26(26,"单体内阻上限告警"), |
| | | ALARM_27(27,"单体内阻下限告警"), |
| | | ALARM_28(28,"单体内阻下下限告警"), |
| | | ; |
| | | |
| | | private Integer stateId; |
| | | private String stateName; |
| | | |
| | | BattAlarmIdEnum(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 (BattAlarmIdEnum ele : values()) { |
| | | if(ele.getStateId().equals(stateId)) { |
| | | return ele.getStateName(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | } |
New file |
| | |
| | | package com.whyc.constant; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | public enum BattSingalIdEnum { |
| | | ALARM_119001(119001,"在线电压告警"), |
| | | ALARM_119002(119002,"组端电压告警"), |
| | | ALARM_119003(119003,"充电电流告警"), |
| | | ALARM_119004(119004,"放电电流告警"), |
| | | ALARM_119005(119005,"单体电压告警"), |
| | | ALARM_119006(119006,"单体温度告警"), |
| | | ALARM_119007(119007,"单体内阻告警") |
| | | ; |
| | | |
| | | private Integer stateId; |
| | | private String stateName; |
| | | |
| | | BattSingalIdEnum(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 (BattSingalIdEnum 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 (BattSingalIdEnum logOpEnum : BattSingalIdEnum.values()) { |
| | | map.put(logOpEnum.getStateId(),logOpEnum.getStateName()); |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.whyc.constant; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | public enum BattStateEnum { |
| | | BATTSTATE_0(0,"未知"), |
| | | BATTSTATE_1(1,"浮充"), |
| | | BATTSTATE_2(2,"充电"), |
| | | BATTSTATE_3(3,"放电"), |
| | | BATTSTATE_4(4,"内阻测试") |
| | | ; |
| | | |
| | | private Integer stateId; |
| | | private String stateName; |
| | | |
| | | BattStateEnum(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 (BattStateEnum 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 (BattStateEnum logOpEnum : BattStateEnum.values()) { |
| | | map.put(logOpEnum.getStateId(),logOpEnum.getStateName()); |
| | | } |
| | | return map; |
| | | } |
| | | } |
New file |
| | |
| | | package com.whyc.constant; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | public enum DevAlarmEnum { |
| | | ALARM_119020(119020,"通信故障"), |
| | | ALARM_119021(119021,"设备高温告警"), |
| | | ALARM_618501(618501,"继电器告警"), |
| | | ALARM_618502(618502,"汇集器通讯故障告警"), |
| | | ALARM_618503(618503,"设备过温告警"), |
| | | ALARM_618504(618504,"二极管D1告警"), |
| | | ALARM_618505(618505,"干接点告警") |
| | | ; |
| | | |
| | | private Integer stateId; |
| | | private String stateName; |
| | | |
| | | DevAlarmEnum(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 (DevAlarmEnum 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 (DevAlarmEnum logOpEnum : DevAlarmEnum.values()) { |
| | | map.put(logOpEnum.getStateId(),logOpEnum.getStateName()); |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.whyc.constant; |
| | | |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | public enum DevStateEnum { |
| | | DEVSTATE_0(0,"直连充电"), |
| | | DEVSTATE_1(1,"充电测试"), |
| | | DEVSTATE_2(2,"放电测试"), |
| | | DEVSTATE_3(3,"停电放电"), |
| | | DEVSTATE_4(4,"内阻测试") |
| | | ; |
| | | |
| | | private Integer stateId; |
| | | private String stateName; |
| | | |
| | | DevStateEnum(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 (DevStateEnum 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 (DevStateEnum logOpEnum : DevStateEnum.values()) { |
| | | map.put(logOpEnum.getStateId(),logOpEnum.getStateName()); |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.whyc.constant; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | public enum PowerAlarmEnum { |
| | | ALARM_110001(110001,"1路交流A相过压告警"), |
| | | ALARM_110002(110002,"1路交流A相欠压告警"), |
| | | ALARM_110003(110003,"1路交流A相缺相告警"), |
| | | ALARM_110004(110004,"1路交流B相过压告警"), |
| | | ALARM_110005(110005,"1路交流B相欠压告警"), |
| | | ALARM_110006(110006,"1路交流B相缺相告警"), |
| | | ALARM_110007(110007,"1路交流C相过压告警"), |
| | | ALARM_110008(110008,"1路交流C相欠压告警"), |
| | | ALARM_110009(110009,"1路交流C相缺相告警"), |
| | | ALARM_110010(110010,"交流停电告警"), |
| | | |
| | | ALARM_110011(110011,"防雷器故障告警"), |
| | | ALARM_110012(110012,"直流电压过高告警"), |
| | | ALARM_110013(110013,"直流电压过低告警"), |
| | | ALARM_110014(110014,"负载熔断告警"), |
| | | ALARM_110015(110015,"电池组1熔断告警"), |
| | | ALARM_110016(110016,"电池组2熔断告警"), |
| | | ALARM_110017(110017,"整流器1总故障告警"), |
| | | ALARM_110018(110018,"整流器2总故障告警"), |
| | | ALARM_110019(110019,"整流器3总故障告警"), |
| | | ALARM_110020(110020,"整流器4总故障告警"), |
| | | ALARM_110021(110021,"整流器5总故障告警"), |
| | | ALARM_110022(110022,"整流器6总故障告警"), |
| | | ALARM_110023(110023,"整流器7总故障告警"), |
| | | ALARM_110024(110024,"整流器8总故障告警"), |
| | | ALARM_110025(110025,"整流器9总故障告警"), |
| | | ALARM_110026(110026,"整流器10总故障告警"), |
| | | ALARM_110027(110027,"整流器11总故障告警"), |
| | | ALARM_110028(110028,"整流器12总故障告警"), |
| | | ALARM_110029(110029,"整流器13总故障告警"), |
| | | ALARM_110030(110030,"整流器14总故障告警"), |
| | | ALARM_110031(110031,"整流器15总故障告警"), |
| | | ALARM_110032(110032,"整流器16总故障告警"), |
| | | ALARM_110033(110033,"交流总故障告警"), |
| | | ALARM_110034(110034,"直流总故障告警"), |
| | | ALARM_110035(110035,"交流A相过流告警"), |
| | | ALARM_110036(110036,"交流B相过流告警"), |
| | | ALARM_110037(110037,"交流C相过流告警"), |
| | | ALARM_110038(110038,"监控器故障告警"), |
| | | ALARM_110039(110039,"直流过流告警"), |
| | | ALARM_110040(110040,"开关柜总报警"), |
| | | ALARM_110041(110041,"电池组1电压低告警"), |
| | | ALARM_110042(110042,"电池组2电压低告警"), |
| | | ALARM_110043(110043,"电池组1下电告警"), |
| | | ALARM_110044(110044,"电池组2下电告警"), |
| | | ALARM_110045(110045,"电池组1充电过流告警"), |
| | | ALARM_110046(110046,"电池组2充电过流告警"), |
| | | ALARM_110047(110047,"整流器1过压告警"), |
| | | ALARM_110048(110048,"整流器2过压告警"), |
| | | ALARM_110049(110049,"整流器3过压告警"), |
| | | ALARM_110050(110050,"整流器4过压告警"), |
| | | ALARM_110051(110051,"整流器5过压告警"), |
| | | ALARM_110052(110052,"整流器6过压告警"), |
| | | ALARM_110053(110053,"整流器7过压告警"), |
| | | ALARM_110054(110054,"整流器8过压告警"), |
| | | ALARM_110055(110055,"整流器9过压告警"), |
| | | ALARM_110056(110056,"整流器10过压告警"), |
| | | ALARM_110057(110057,"整流器11过压告警"), |
| | | ALARM_110058(110058,"整流器12过压告警"), |
| | | ALARM_110059(110059,"整流器13过压告警"), |
| | | ALARM_110060(110060,"整流器14过压告警"), |
| | | ALARM_110061(110061,"整流器15过压告警"), |
| | | ALARM_110062(110062,"整流器16过压告警"), |
| | | ALARM_110063(110063,"整流器1欠压告警"), |
| | | ALARM_110064(110064,"整流器2欠压告警"), |
| | | ALARM_110065(110065,"整流器3欠压告警"), |
| | | ALARM_110066(110066,"整流器4欠压告警"), |
| | | ALARM_110067(110067,"整流器5欠压告警"), |
| | | ALARM_110068(110068,"整流器6欠压告警"), |
| | | ALARM_110069(110069,"整流器7欠压告警"), |
| | | ALARM_110070(110070,"整流器8欠压告警"), |
| | | ALARM_110071(110071,"整流器9欠压告警"), |
| | | ALARM_110072(110072,"整流器10欠压告警"), |
| | | ALARM_110073(110073,"整流器11欠压告警"), |
| | | ALARM_110074(110074,"整流器12欠压告警"), |
| | | ALARM_110075(110075,"整流器13欠压告警"), |
| | | ALARM_110076(110076,"整流器14欠压告警"), |
| | | ALARM_110077(110077,"整流器15欠压告警"), |
| | | ALARM_110078(110078,"整流器16欠压告警"), |
| | | ALARM_110079(110079,"整流器1过流告警"), |
| | | ALARM_110080(110080,"整流器2过流告警"), |
| | | ALARM_110081(110081,"整流器3过流告警"), |
| | | ALARM_110082(110082,"整流器4过流告警"), |
| | | ALARM_110083(110083,"整流器5过流告警"), |
| | | ALARM_110084(110084,"整流器6过流告警"), |
| | | ALARM_110085(110085,"整流器7过流告警"), |
| | | ALARM_110086(110086,"整流器8过流告警"), |
| | | ALARM_110087(110087,"整流器9过流告警"), |
| | | ALARM_110088(110088,"整流器10过流告警"), |
| | | ALARM_110089(110089,"整流器11过流告警"), |
| | | ALARM_110090(110090,"整流器12过流告警"), |
| | | ALARM_110091(110091,"整流器13过流告警"), |
| | | ALARM_110092(110092,"整流器14过流告警"), |
| | | ALARM_110093(110093,"整流器15过流告警"), |
| | | ALARM_110094(110094,"整流器16过流告警"), |
| | | ALARM_110095(110095,"整流器1交流异常告警"), |
| | | ALARM_110096(110096,"整流器2交流异常告警"), |
| | | ALARM_110097(110097,"整流器3交流异常告警"), |
| | | ALARM_110098(110098,"整流器4交流异常告警"), |
| | | ALARM_110099(110099,"整流器5交流异常告警"), |
| | | ALARM_110100(110100,"整流器6交流异常告警"), |
| | | ALARM_110101(110101,"整流器7交流异常告警"), |
| | | ALARM_110102(110102,"整流器8交流异常告警"), |
| | | ALARM_110103(110103,"整流器9交流异常告警"), |
| | | ALARM_110104(110104,"整流器10交流异常告警"), |
| | | ALARM_110105(110105,"整流器11交流异常告警"), |
| | | ALARM_110106(110106,"整流器12交流异常告警"), |
| | | ALARM_110107(110117,"整流器13交流异常告警"), |
| | | ALARM_110108(110108,"整流器14交流异常告警"), |
| | | ALARM_110109(110109,"整流器15交流异常告警"), |
| | | ALARM_110110(110110,"整流器16交流异常告警"), |
| | | ALARM_110111(110111,"交流输入1跳闸告警"), |
| | | ALARM_110112(110112,"交流输入2跳闸告警"), |
| | | ALARM_110113(110113,"交流输入1熔丝告警"), |
| | | ALARM_110114(110114,"交流输入2熔丝告警"), |
| | | ALARM_110115(110115,"交流输入1三相不平衡告警"), |
| | | ALARM_110116(110116,"交流输入2三相不平衡告警"), |
| | | ALARM_110117(110117,"交流输入1频率异常告警"), |
| | | ALARM_110118(110118,"交流输入2频率异常告警"), |
| | | ALARM_110119(110119,"协转通信故障告警"), |
| | | ALARM_110120(110120,"电源通信故障告警"), |
| | | ALARM_110121(110121,"交流输入1停电告警"), |
| | | ALARM_110122(110122,"交流输入2停电告警"), |
| | | ALARM_110123(110123,"交流1采集通信故障告警"), |
| | | ALARM_110124(110124,"交流2采集通信故障告警"), |
| | | ALARM_110125(110125,"温感1通信故障告警"), |
| | | ALARM_110126(110126,"温感2通信故障告警"), |
| | | ALARM_110127(110127,"温感3通信故障告警"), |
| | | ALARM_110128(110128,"湿感1通信故障告警"), |
| | | ALARM_110129(110129,"湿感2通信故障告警"), |
| | | ALARM_110130(110130,"湿感3通信故障告警"), |
| | | ALARM_110131(110131,"烟感1报警告警"), |
| | | ALARM_110132(110132,"烟感2报警告警"), |
| | | ALARM_110133(110133,"烟感3报警告警"), |
| | | ALARM_110134(110134,"烟感1通信故障告警"), |
| | | ALARM_110135(110135,"烟感2通信故障告警"), |
| | | ALARM_110136(110136,"烟感3通信故障告警"), |
| | | ALARM_110137(110137,"2路交流A相过压告警"), |
| | | ALARM_110138(110138,"2路交流A相欠压告警"), |
| | | ALARM_110139(110139,"2路交流A相缺相告警"), |
| | | ALARM_110140(110140,"2路交流B相过压告警"), |
| | | ALARM_110141(110141,"2路交流B相欠压告警"), |
| | | ALARM_110142(110142,"2路交流B相缺相告警"), |
| | | ALARM_110143(110143,"2路交流C相过压告警"), |
| | | ALARM_110144(110144,"2路交流C相欠压告警"), |
| | | ALARM_110145(110145,"2路交流C相缺相告警"), |
| | | ALARM_110146(110146,"电源告警"), |
| | | ALARM_110147(110147,"交流停电通信故障") |
| | | ; |
| | | |
| | | private Integer stateId; |
| | | private String stateName; |
| | | |
| | | PowerAlarmEnum(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 (PowerAlarmEnum ele : values()) { |
| | | if(ele.getStateId().equals(stateId)) { |
| | | return ele.getStateName(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | } |
New file |
| | |
| | | package com.whyc.constant; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | public enum StopReasonEnum { |
| | | STOPREASON_0(0,"设备掉电终止"), |
| | | STOPREASON_1(1,"手动终止"), |
| | | STOPREASON_2(2,"放电时间到终止"), |
| | | STOPREASON_3(3,"放电容量到终止"), |
| | | STOPREASON_4(4,"单体电压下限到终止"), |
| | | STOPREASON_5(5,"单体温度上限到终止"), |
| | | STOPREASON_6(6,"组端电压下限到终止"), |
| | | STOPREASON_7(7,"市电中断终止"), |
| | | STOPREASON_8(8,"单体通信异常终止"), |
| | | STOPREASON_9(9,"存储数据满终止"), |
| | | STOPREASON_10(10,"机内温度异常终止"), |
| | | STOPREASON_11(11,"放电电流异常终止"), |
| | | STOPREASON_12(12,"后台通信中断终止"), |
| | | STOPREASON_13(13,"内部程序异常终止"), |
| | | STOPREASON_14(14,"电源电压高终止"), |
| | | STOPREASON_15(15,"协转通信异常"), |
| | | STOPREASON_16(16,"切换装置通信故障"), |
| | | STOPREASON_17(17,"切换装置故障"), |
| | | STOPREASON_18(18,"逆变器模块故障"), |
| | | STOPREASON_19(19,"负载功率小"), |
| | | STOPREASON_20(20,"干接点输入故障"), |
| | | STOPREASON_21(21,"母联通信异常"), |
| | | STOPREASON_22(22,"母联手动关闭或信号异常"), |
| | | STOPREASON_23(23,"逆变器通信故障"), |
| | | STOPREASON_24(24,"防雷器故障"), |
| | | STOPREASON_25(25,"机柜表头通信故障"), |
| | | STOPREASON_26(26,"限流充电模块故障"), |
| | | STOPREASON_27(27,"紧急停止"), |
| | | STOPREASON_28(28,"远程闭锁"), |
| | | STOPREASON_29(29,"切换装置开关异常"), |
| | | STOPREASON_30(30,"交流空开异常"), |
| | | STOPREASON_31(31,"交流接触器异常"), |
| | | STOPREASON_32(32,"直流空开异常"), |
| | | STOPREASON_33(33,"切换开关粘连或电源状态异常"), |
| | | STOPREASON_34(34,"电阻箱温度过高"), |
| | | STOPREASON_35(35,"降压模块过温限流"), |
| | | STOPREASON_36(36,"降压模块风扇故障"), |
| | | STOPREASON_37(37,"降压模块过流故障"), |
| | | STOPREASON_38(38,"充电截止到"), |
| | | STOPREASON_39(39,"在线接触器状态异常") |
| | | ; |
| | | |
| | | private Integer stateId; |
| | | private String stateName; |
| | | |
| | | StopReasonEnum(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 (StopReasonEnum ele : values()) { |
| | | if(ele.getStateId().equals(stateId)) { |
| | | return ele.getStateName(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | } |
| | |
| | | |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.pojo.db_user.User; |
| | | import com.whyc.service.BaojigroupService; |
| | | import com.whyc.service.BattInfService; |
| | | import com.whyc.service.PowerInfService; |
| | | import com.whyc.service.StationInfService; |
| | | import com.whyc.service.*; |
| | | import com.whyc.util.ActionUtil; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | |
| | | @Autowired |
| | | private BattInfService binfService; |
| | | |
| | | @Autowired |
| | | private BattalarmDataService almDataService; |
| | | |
| | | @Autowired |
| | | private DeviceStateService deviceStateService; |
| | | |
| | | @Autowired |
| | | private BattRtstateService rtstateService; |
| | | |
| | | @ApiOperation("获取所有的省份(下拉)") |
| | | @GetMapping("getProviceByUid") |
| | |
| | | return bjGroupService.getBaojiUserByUid(uinf.getId()); |
| | | } |
| | | |
| | | @ApiOperation(value = "获取电池告警类型(下拉)") |
| | | @GetMapping("getSingalIdIdType") |
| | | public Response getSingalIdIdType(){ |
| | | return almDataService.getSingalIdType(); |
| | | } |
| | | |
| | | @ApiOperation(value = "获取设备工作类型(下拉)") |
| | | @GetMapping("getDevState") |
| | | public Response getDevState(){ |
| | | return deviceStateService.getDevState(); |
| | | } |
| | | @ApiOperation(value = "获取电池组工作状态类型(下拉)") |
| | | @GetMapping("getBattState") |
| | | public Response getBattState(){ |
| | | return rtstateService.getBattState(); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.whyc.dto.Statistic; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class SticMonRes { |
| | | private Integer battgroupId; |
| | | private Integer monNum; |
| | | private Float monVol; |
| | | private Float monRes; |
| | | } |
New file |
| | |
| | | package com.whyc.mapper; |
| | | |
| | | import com.whyc.pojo.db_param.AppParam; |
| | | |
| | | public interface AppParamMapper extends CustomMapper<AppParam>{ |
| | | } |
New file |
| | |
| | | package com.whyc.pojo.db_param; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 平台参数表 |
| | | * </p> |
| | | * |
| | | * @author lxw |
| | | * @since 2025-06-04 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName(schema = "db_param",value ="tb_app_param") |
| | | @ApiModel(value="AppParam对象", description="平台参数表") |
| | | public class AppParam implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "自增主键") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "参数名称") |
| | | private String paramName; |
| | | |
| | | @ApiModelProperty(value = "参数类别[1-单体判别阈值]") |
| | | private Integer categoryId; |
| | | |
| | | @ApiModelProperty(value = "参数值") |
| | | private Float paramValue; |
| | | |
| | | @ApiModelProperty(value = "参数名称(英文)") |
| | | private String paramNamePsx; |
| | | |
| | | |
| | | } |
| | |
| | | @ApiModelProperty(value = "型号") |
| | | private String battModel; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai") |
| | | private Date createTime; |
| | | |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai") |
| | | private Date inuseTime; |
| | | |
| | | @TableField(exist = false) |
| | | private String stationName; |
| | | |
New file |
| | |
| | | package com.whyc.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.whyc.mapper.AppParamMapper; |
| | | import com.whyc.pojo.db_param.AppParam; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | public class AppParamService { |
| | | @Autowired(required = false) |
| | | private AppParamMapper mapper; |
| | | //获取核容优劣,损坏参数 |
| | | public List<AppParam> getHrParam() { |
| | | QueryWrapper wrapper=new QueryWrapper(); |
| | | List<String> params=new ArrayList<>(); |
| | | params.add("batt_mon_deteriorate_val"); |
| | | params.add("batt_mon_damage_val"); |
| | | wrapper.in("param_name_psx",params); |
| | | wrapper.orderByAsc("id"); |
| | | return mapper.selectList(wrapper); |
| | | } |
| | | } |
| | |
| | | List<BattRtdata> list=mapper.selectList(wrapper); |
| | | return list; |
| | | } |
| | | //获取单体的实时数据 |
| | | public BattRtdata getRtdataByNum(Integer battgroupId, Integer monNum) { |
| | | QueryWrapper wrapper=new QueryWrapper(); |
| | | wrapper.eq("battgroup_id",battgroupId); |
| | | wrapper.eq("mon_num",monNum); |
| | | wrapper.last("limit 1"); |
| | | BattRtdata rtdata=mapper.selectOne(wrapper); |
| | | return rtdata; |
| | | } |
| | | } |
| | |
| | | package com.whyc.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.whyc.constant.BattStateEnum; |
| | | import com.whyc.constant.DevStateEnum; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.mapper.BattRtstateMapper; |
| | | import com.whyc.pojo.db_ram_db.BattRtstate; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Map; |
| | | |
| | | @Service |
| | | public class BattRtstateService { |
| | |
| | | BattRtstate batt=mapper.selectOne(wrapper); |
| | | return batt; |
| | | } |
| | | //获取电池组工作状态类型(下拉) |
| | | public Response getBattState() { |
| | | Map<Integer,String> map= BattStateEnum.getOpInfo(); |
| | | return new Response().setII(1,true,map,"获取电池组工作状态类型(下拉)"); |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.github.pagehelper.PageInfo; |
| | | import com.whyc.constant.BattAlarmIdEnum; |
| | | import com.whyc.constant.BattSingalIdEnum; |
| | | import com.whyc.dto.Real.AlmDto; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.mapper.BattalarmDataMapper; |
| | |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service |
| | | public class BattalarmDataService { |
| | |
| | | List<BattalarmData> list=mapper.selectList(wrapper); |
| | | return list!=null?list.size():0; |
| | | } |
| | | //获取电池告警类型(下拉) |
| | | public Response getSingalIdType() { |
| | | Map<Integer,String> map= BattSingalIdEnum.getOpInfo(); |
| | | return new Response().setII(1,true,map,"获取电池告警类型(下拉)"); |
| | | } |
| | | } |
| | |
| | | import com.whyc.dto.Statistic.BattTinfStic; |
| | | import com.whyc.dto.Statistic.MonStic; |
| | | import com.whyc.dto.Statistic.StationStic; |
| | | import com.whyc.dto.Statistic.SticMonRes; |
| | | import com.whyc.factory.BattCapFactory; |
| | | import com.whyc.mapper.BattInfMapper; |
| | | import com.whyc.mapper.BatttestdataInfMapper; |
| | | import com.whyc.pojo.db_batt_testdata.BatttestdataId; |
| | | import com.whyc.pojo.db_batt_testdata.BatttestdataInf; |
| | | import com.whyc.pojo.db_param.AppParam; |
| | | import com.whyc.pojo.db_ram_db.BattRtdata; |
| | | import com.whyc.pojo.db_ram_db.BattRtstate; |
| | | import com.whyc.pojo.db_station.BattInf; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service |
| | | public class BatttestdataInfService { |
| | |
| | | private BattRtstateService rtstateService; |
| | | |
| | | @Autowired(required = false) |
| | | private BattRtdataService rtdataService; |
| | | |
| | | @Autowired(required = false) |
| | | private BattInfService battInfService; |
| | | |
| | | @Autowired(required = false) |
| | | private BatttestdataIdService battTestdataIdService; |
| | | |
| | | @Autowired(required = false) |
| | | private AppParamService appParamService; |
| | | |
| | | |
| | | |
| | | |
| | |
| | | public BatttestdataInf getLastStandardTestData(Integer battgroupId) { |
| | | QueryWrapper wrapper = new QueryWrapper(); |
| | | wrapper.eq("battgroup_id", battgroupId); |
| | | wrapper.eq("data_available", 1); |
| | | wrapper.eq("test_type", 3); |
| | | wrapper.eq("test_starttype", 3); |
| | | wrapper.last("limit 1"); |
| | | wrapper.last(" and test_timelong >= 7200 ORDER BY test_starttime DESC "); |
| | | wrapper.last("limit 1"); |
| | | BatttestdataInf tinf = mapper.selectOne(wrapper); |
| | | return tinf; |
| | | } |
| | |
| | | 4浮充电压图,需要显示单体+实时数据的单体电压,单体内阻 |
| | | */ |
| | | public Response getMonStatistic(MonStic stic) { |
| | | Map<String,Object> map=new HashMap<>(); |
| | | List<SticMonRes> goodlist=new ArrayList(); |
| | | List<SticMonRes> badlist=new ArrayList(); |
| | | List<SticMonRes> damagelist=new ArrayList(); |
| | | map.put("goodlist",goodlist); |
| | | map.put("badlist",badlist); |
| | | map.put("damagelist",damagelist); |
| | | map.put("goodlistNum",0); |
| | | map.put("badlistNum",0); |
| | | map.put("damagelistNum",0); |
| | | //获取核容优劣,损坏参数 |
| | | List<AppParam> paramList=appParamService.getHrParam(); |
| | | Float badValue=0f; |
| | | Float damageValue=0f; |
| | | if(paramList!=null){ |
| | | for (AppParam param:paramList) { |
| | | if(param.getParamNamePsx().equals("batt_mon_deteriorate_val")){ |
| | | badValue=param.getParamValue(); |
| | | } |
| | | if(param.getParamNamePsx().equals("batt_mon_damage_val")){ |
| | | damageValue=param.getParamValue(); |
| | | } |
| | | |
| | | } |
| | | } |
| | | List<BattInf> binfList=battInfService.getMonStatistic(stic); |
| | | if(binfList!=null&&binfList.size()>0){ |
| | | for (BattInf binf:binfList) { |
| | | BatttestdataInf tinf =getLastStandardTestData(binf.getBattgroupId()); |
| | | if(tinf!=null){ |
| | | //找这次放电的最后一笔数据 |
| | | List<BatttestdataId> idDataList=battTestdataIdService.getLastDataByBattgroupId(tinf.getBattgroupId(),tinf.getTestRecordCount(),tinf.getRecordNum()); |
| | | for (BatttestdataId data:idDataList) { |
| | | int hourRate = BattCapFactory.GetHourRate(tinf.getTestCap(), tinf.getTestCurr()); |
| | | Float realCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real); |
| | | } |
| | | Float realCap=0f; |
| | | if(binfList==null){ |
| | | return new Response().set(1,false,"当前用户未管理满足条件的电池组"); |
| | | } |
| | | for (BattInf binf:binfList) { |
| | | BatttestdataInf tinf =getLastStandardTestData(binf.getBattgroupId()); |
| | | if(tinf==null){ |
| | | //将不满足条件的电池组的所有单体放入damage中 |
| | | setDamage(damagelist,binf); |
| | | continue; |
| | | } |
| | | //找这次放电的最后一笔数据 |
| | | List<BatttestdataId> idDataList=battTestdataIdService.getLastDataByBattgroupId(tinf.getBattgroupId(),tinf.getTestRecordCount(),tinf.getRecordNum()); |
| | | if(idDataList==null||idDataList.size()==0){ |
| | | //将不满足条件的电池组的所有单体放入damage中 |
| | | setDamage(damagelist,binf); |
| | | continue; |
| | | } |
| | | int hourRate = BattCapFactory.GetHourRate(tinf.getTestCap(), tinf.getTestCurr()); |
| | | Float moncapStd=binf.getMoncapstd(); |
| | | for (BatttestdataId data:idDataList) {//求单体的 实际容量,最小值就是单体的单体电压 |
| | | realCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(),data.getMonVol() , tinf.getGroupVol(), BattCapFactory.CapType_Real); |
| | | SticMonRes res=new SticMonRes(); |
| | | res.setBattgroupId(binf.getBattgroupId()); |
| | | res.setMonNum(data.getMonNum()); |
| | | //获取单体的实时数据 |
| | | BattRtdata rtdata=rtdataService.getRtdataByNum(binf.getBattgroupId(),data.getMonNum()); |
| | | if(rtdata==null){ |
| | | res.setMonVol(0f); |
| | | res.setMonRes(0f); |
| | | }else{ |
| | | res.setMonVol(rtdata.getMonVol()); |
| | | res.setMonRes(rtdata.getMonRes()); |
| | | } |
| | | if(realCap>=moncapStd*badValue){ |
| | | goodlist.add(res); |
| | | } |
| | | if(realCap<=moncapStd*damageValue){ |
| | | damagelist.add(res); |
| | | } |
| | | if((realCap>moncapStd*damageValue)&&(realCap<moncapStd*badValue)){ |
| | | badlist.add(res); |
| | | } |
| | | } |
| | | } |
| | | return new Response().set(1,false,""); |
| | | map.put("goodlist",goodlist); |
| | | map.put("badlist",badlist); |
| | | map.put("damagelist",damagelist); |
| | | map.put("goodlistNum",goodlist.size()); |
| | | map.put("badlistNum",badlist.size()); |
| | | map.put("damagelistNum",damagelist.size()); |
| | | return new Response().setII(1,true,map,"单节数量统计"); |
| | | } |
| | | //将不满足条件的电池组的所有单体放入damage中 |
| | | private void setDamage(List damagelist, BattInf binf) { |
| | | //获取电池组的实时数据 |
| | | List<BattRtdata> rtdataList=rtdataService.getRtdataRealInfo(binf.getBattgroupId()); |
| | | if(rtdataList==null||rtdataList.size()==0){ |
| | | for (int i=0;i<binf.getMoncount();i++){ |
| | | SticMonRes res=new SticMonRes(); |
| | | res.setBattgroupId(binf.getBattgroupId()); |
| | | res.setMonNum(i+1); |
| | | res.setMonVol(0f); |
| | | res.setMonRes(0f); |
| | | damagelist.add(res); |
| | | } |
| | | }else { |
| | | for (BattRtdata rtdata:rtdataList) { |
| | | SticMonRes res=new SticMonRes(); |
| | | res.setBattgroupId(binf.getBattgroupId()); |
| | | res.setMonNum(rtdata.getMonNum()); |
| | | res.setMonVol(rtdata.getMonVol()); |
| | | res.setMonRes(rtdata.getMonRes()); |
| | | damagelist.add(res); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.github.pagehelper.PageInfo; |
| | | import com.whyc.constant.BattSingalIdEnum; |
| | | import com.whyc.constant.DevStateEnum; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.dto.Statistic.DeviceStateStic; |
| | | import com.whyc.mapper.DeviceStateMapper; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service |
| | | public class DeviceStateService { |
| | |
| | | PageInfo pageInfo=new PageInfo(list); |
| | | return new Response().setII(1,list.size()>0,pageInfo,"设备工作状态统计"); |
| | | } |
| | | //获取设备工作类型(下拉) |
| | | public Response getDevState() { |
| | | Map<Integer,String> map= DevStateEnum.getOpInfo(); |
| | | return new Response().setII(1,true,map,"获取设备工作类型(下拉)"); |
| | | } |
| | | } |
| | |
| | | package com.whyc.webSocket; |
| | | |
| | | import com.whyc.config.WebSocketConfig; |
| | | import com.whyc.constant.DevStateEnum; |
| | | import com.whyc.dto.Real.TopDto; |
| | | import com.whyc.dto.RealTimeDto; |
| | | import com.whyc.dto.Response; |
| | |
| | | DeviceState deviceState = deviceStateService.getDevRealInfo(realDto.getDevId()); |
| | | if (deviceState != null) { |
| | | topDto.setDevState(deviceState.getDevWorkstate()); |
| | | if (deviceState.getDevWorkstate() == 1) {//核容放电 |
| | | if (deviceState.getDevWorkstate() == DevStateEnum.DEVSTATE_2.getStateId()) {//核容放电 |
| | | topDto.setCaptestGroupvol(deviceState.getDevCaptestGroupvol()); |
| | | topDto.setCaptestCurr(deviceState.getDevCaptestCurr()); |
| | | topDto.setCaptestTimelong(deviceState.getDevCaptestTimelong()); |
| | |
| | | and tb_batt_inf.monvolstd=#{stic.monvolstd} |
| | | </if> |
| | | <if test="stic.startTime!=null"> |
| | | and tb_batt_inf.create_time>=#{stic.startTime} |
| | | and tb_batt_inf.inuse_time>=#{stic.startTime} |
| | | </if> |
| | | <if test="stic.endTime!=null"> |
| | | and tb_batt_inf.create_time<=#{stic.endTime} |
| | | and tb_batt_inf.inuse_time<=#{stic.endTime} |
| | | </if> |
| | | <if test="stic.uid>100"> |
| | | and tb_batt_inf.station_id in( |