From 4288e68cced096a216bebfcd797e78791e192c67 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期三, 04 六月 2025 10:49:34 +0800
Subject: [PATCH] 添加电池组使用时间,常量参数处理,单体统计修改,下拉条件增加

---
 src/main/java/com/whyc/pojo/db_param/AppParam.java         |   48 +++
 src/main/java/com/whyc/service/BattRtstateService.java     |   10 
 src/main/java/com/whyc/constant/BattStateEnum.java         |   48 +++
 src/main/java/com/whyc/service/BattalarmDataService.java   |    9 
 src/main/java/com/whyc/constant/DevAlarmEnum.java          |   51 +++
 src/main/java/com/whyc/pojo/db_station/BattInf.java        |    4 
 src/main/java/com/whyc/constant/PowerAlarmEnum.java        |  184 +++++++++++++
 src/main/java/com/whyc/controller/ConditionController.java |   31 +
 src/main/resources/mapper/BattInfMapper.xml                |    4 
 src/main/java/com/whyc/service/BattRtdataService.java      |    9 
 src/main/java/com/whyc/service/BatttestdataInfService.java |  125 ++++++++
 src/main/java/com/whyc/webSocket/RealTimeSocket.java       |    3 
 src/main/java/com/whyc/service/DeviceStateService.java     |    8 
 src/main/java/com/whyc/mapper/AppParamMapper.java          |    6 
 src/main/java/com/whyc/constant/DevStateEnum.java          |   50 +++
 src/main/java/com/whyc/constant/StopReasonEnum.java        |   76 +++++
 src/main/java/com/whyc/constant/BattAlarmIdEnum.java       |   64 ++++
 src/main/java/com/whyc/constant/BattSingalIdEnum.java      |   51 +++
 src/main/java/com/whyc/service/AppParamService.java        |   26 +
 src/main/java/com/whyc/dto/Statistic/SticMonRes.java       |   11 
 20 files changed, 797 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/whyc/constant/BattAlarmIdEnum.java b/src/main/java/com/whyc/constant/BattAlarmIdEnum.java
new file mode 100644
index 0000000..5eacc97
--- /dev/null
+++ b/src/main/java/com/whyc/constant/BattAlarmIdEnum.java
@@ -0,0 +1,64 @@
+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;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/constant/BattSingalIdEnum.java b/src/main/java/com/whyc/constant/BattSingalIdEnum.java
new file mode 100644
index 0000000..6aaa0e8
--- /dev/null
+++ b/src/main/java/com/whyc/constant/BattSingalIdEnum.java
@@ -0,0 +1,51 @@
+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;
+    }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/constant/BattStateEnum.java b/src/main/java/com/whyc/constant/BattStateEnum.java
new file mode 100644
index 0000000..228f035
--- /dev/null
+++ b/src/main/java/com/whyc/constant/BattStateEnum.java
@@ -0,0 +1,48 @@
+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;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/constant/DevAlarmEnum.java b/src/main/java/com/whyc/constant/DevAlarmEnum.java
new file mode 100644
index 0000000..e4decaa
--- /dev/null
+++ b/src/main/java/com/whyc/constant/DevAlarmEnum.java
@@ -0,0 +1,51 @@
+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,"浜屾瀬绠1鍛婅"),
+    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;
+    }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/constant/DevStateEnum.java b/src/main/java/com/whyc/constant/DevStateEnum.java
new file mode 100644
index 0000000..5f49e8a
--- /dev/null
+++ b/src/main/java/com/whyc/constant/DevStateEnum.java
@@ -0,0 +1,50 @@
+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;
+    }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/constant/PowerAlarmEnum.java b/src/main/java/com/whyc/constant/PowerAlarmEnum.java
new file mode 100644
index 0000000..4148d61
--- /dev/null
+++ b/src/main/java/com/whyc/constant/PowerAlarmEnum.java
@@ -0,0 +1,184 @@
+package com.whyc.constant;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public enum PowerAlarmEnum {
+    ALARM_110001(110001,"1璺氦娴丄鐩歌繃鍘嬪憡璀�"),
+    ALARM_110002(110002,"1璺氦娴丄鐩告瑺鍘嬪憡璀�"),
+    ALARM_110003(110003,"1璺氦娴丄鐩哥己鐩稿憡璀�"),
+    ALARM_110004(110004,"1璺氦娴丅鐩歌繃鍘嬪憡璀�"),
+    ALARM_110005(110005,"1璺氦娴丅鐩告瑺鍘嬪憡璀�"),
+    ALARM_110006(110006,"1璺氦娴丅鐩哥己鐩稿憡璀�"),
+    ALARM_110007(110007,"1璺氦娴丆鐩歌繃鍘嬪憡璀�"),
+    ALARM_110008(110008,"1璺氦娴丆鐩告瑺鍘嬪憡璀�"),
+    ALARM_110009(110009,"1璺氦娴丆鐩哥己鐩稿憡璀�"),
+    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璺氦娴丄鐩歌繃鍘嬪憡璀�"),
+    ALARM_110138(110138,"2璺氦娴丄鐩告瑺鍘嬪憡璀�"),
+    ALARM_110139(110139,"2璺氦娴丄鐩哥己鐩稿憡璀�"),
+    ALARM_110140(110140,"2璺氦娴丅鐩歌繃鍘嬪憡璀�"),
+    ALARM_110141(110141,"2璺氦娴丅鐩告瑺鍘嬪憡璀�"),
+    ALARM_110142(110142,"2璺氦娴丅鐩哥己鐩稿憡璀�"),
+    ALARM_110143(110143,"2璺氦娴丆鐩歌繃鍘嬪憡璀�"),
+    ALARM_110144(110144,"2璺氦娴丆鐩告瑺鍘嬪憡璀�"),
+    ALARM_110145(110145,"2璺氦娴丆鐩哥己鐩稿憡璀�"),
+    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;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/constant/StopReasonEnum.java b/src/main/java/com/whyc/constant/StopReasonEnum.java
new file mode 100644
index 0000000..0f08f1c
--- /dev/null
+++ b/src/main/java/com/whyc/constant/StopReasonEnum.java
@@ -0,0 +1,76 @@
+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;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/controller/ConditionController.java b/src/main/java/com/whyc/controller/ConditionController.java
index 4ed1bd9..4f86974 100644
--- a/src/main/java/com/whyc/controller/ConditionController.java
+++ b/src/main/java/com/whyc/controller/ConditionController.java
@@ -2,10 +2,7 @@
 
 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;
@@ -27,6 +24,15 @@
 
     @Autowired
     private BattInfService binfService;
+
+    @Autowired
+    private BattalarmDataService  almDataService;
+
+    @Autowired
+    private DeviceStateService  deviceStateService;
+
+    @Autowired
+    private BattRtstateService  rtstateService;
 
     @ApiOperation("鑾峰彇鎵�鏈夌殑鐪佷唤(涓嬫媺)")
     @GetMapping("getProviceByUid")
@@ -134,6 +140,23 @@
         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();
+    }
+
 
 
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/dto/Statistic/SticMonRes.java b/src/main/java/com/whyc/dto/Statistic/SticMonRes.java
new file mode 100644
index 0000000..b447b9e
--- /dev/null
+++ b/src/main/java/com/whyc/dto/Statistic/SticMonRes.java
@@ -0,0 +1,11 @@
+package com.whyc.dto.Statistic;
+
+import lombok.Data;
+
+@Data
+public class SticMonRes {
+    private Integer battgroupId;
+    private Integer monNum;
+    private Float monVol;
+    private Float monRes;
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/mapper/AppParamMapper.java b/src/main/java/com/whyc/mapper/AppParamMapper.java
new file mode 100644
index 0000000..5b27911
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/AppParamMapper.java
@@ -0,0 +1,6 @@
+package com.whyc.mapper;
+
+import com.whyc.pojo.db_param.AppParam;
+
+public interface AppParamMapper extends CustomMapper<AppParam>{
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/pojo/db_param/AppParam.java b/src/main/java/com/whyc/pojo/db_param/AppParam.java
new file mode 100644
index 0000000..38dd245
--- /dev/null
+++ b/src/main/java/com/whyc/pojo/db_param/AppParam.java
@@ -0,0 +1,48 @@
+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;
+
+
+}
diff --git a/src/main/java/com/whyc/pojo/db_station/BattInf.java b/src/main/java/com/whyc/pojo/db_station/BattInf.java
index bf67809..ee6c6dd 100644
--- a/src/main/java/com/whyc/pojo/db_station/BattInf.java
+++ b/src/main/java/com/whyc/pojo/db_station/BattInf.java
@@ -80,10 +80,12 @@
     @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;
 
diff --git a/src/main/java/com/whyc/service/AppParamService.java b/src/main/java/com/whyc/service/AppParamService.java
new file mode 100644
index 0000000..999c1ad
--- /dev/null
+++ b/src/main/java/com/whyc/service/AppParamService.java
@@ -0,0 +1,26 @@
+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);
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/BattRtdataService.java b/src/main/java/com/whyc/service/BattRtdataService.java
index 2f921f6..2a49c0c 100644
--- a/src/main/java/com/whyc/service/BattRtdataService.java
+++ b/src/main/java/com/whyc/service/BattRtdataService.java
@@ -20,4 +20,13 @@
         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;
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/BattRtstateService.java b/src/main/java/com/whyc/service/BattRtstateService.java
index 0f74f18..47125a3 100644
--- a/src/main/java/com/whyc/service/BattRtstateService.java
+++ b/src/main/java/com/whyc/service/BattRtstateService.java
@@ -1,10 +1,15 @@
 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 {
@@ -18,4 +23,9 @@
         BattRtstate batt=mapper.selectOne(wrapper);
         return batt;
     }
+    //鑾峰彇鐢垫睜缁勫伐浣滅姸鎬佺被鍨�(涓嬫媺)
+    public Response getBattState() {
+        Map<Integer,String> map= BattStateEnum.getOpInfo();
+        return new Response().setII(1,true,map,"鑾峰彇鐢垫睜缁勫伐浣滅姸鎬佺被鍨�(涓嬫媺)");
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/BattalarmDataService.java b/src/main/java/com/whyc/service/BattalarmDataService.java
index b447fca..b03eb51 100644
--- a/src/main/java/com/whyc/service/BattalarmDataService.java
+++ b/src/main/java/com/whyc/service/BattalarmDataService.java
@@ -4,6 +4,8 @@
 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;
@@ -14,7 +16,9 @@
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class BattalarmDataService {
@@ -46,4 +50,9 @@
         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,"鑾峰彇鐢垫睜鍛婅绫诲瀷(涓嬫媺)");
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/BatttestdataInfService.java b/src/main/java/com/whyc/service/BatttestdataInfService.java
index 88735ab..aec61ec 100644
--- a/src/main/java/com/whyc/service/BatttestdataInfService.java
+++ b/src/main/java/com/whyc/service/BatttestdataInfService.java
@@ -7,17 +7,23 @@
 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 {
@@ -28,10 +34,17 @@
     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;
+
 
 
 
@@ -86,11 +99,10 @@
     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;
     }
@@ -101,20 +113,107 @@
       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){
+                //灏嗕笉婊¤冻鏉′欢鐨勭數姹犵粍鐨勬墍鏈夊崟浣撴斁鍏amage涓�
+                setDamage(damagelist,binf);
+                continue;
+            }
+            //鎵捐繖娆℃斁鐢电殑鏈�鍚庝竴绗旀暟鎹�
+            List<BatttestdataId> idDataList=battTestdataIdService.getLastDataByBattgroupId(tinf.getBattgroupId(),tinf.getTestRecordCount(),tinf.getRecordNum());
+            if(idDataList==null||idDataList.size()==0){
+                //灏嗕笉婊¤冻鏉′欢鐨勭數姹犵粍鐨勬墍鏈夊崟浣撴斁鍏amage涓�
+                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,"鍗曡妭鏁伴噺缁熻");
+    }
+    //灏嗕笉婊¤冻鏉′欢鐨勭數姹犵粍鐨勬墍鏈夊崟浣撴斁鍏amage涓�
+    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);
+            }
+        }
     }
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/DeviceStateService.java b/src/main/java/com/whyc/service/DeviceStateService.java
index cb3dfc3..4fec398 100644
--- a/src/main/java/com/whyc/service/DeviceStateService.java
+++ b/src/main/java/com/whyc/service/DeviceStateService.java
@@ -3,6 +3,8 @@
 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;
@@ -13,6 +15,7 @@
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class DeviceStateService {
@@ -33,4 +36,9 @@
         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,"鑾峰彇璁惧宸ヤ綔绫诲瀷(涓嬫媺)");
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/webSocket/RealTimeSocket.java b/src/main/java/com/whyc/webSocket/RealTimeSocket.java
index 1aa6ebb..7e30526 100644
--- a/src/main/java/com/whyc/webSocket/RealTimeSocket.java
+++ b/src/main/java/com/whyc/webSocket/RealTimeSocket.java
@@ -1,6 +1,7 @@
 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;
@@ -227,7 +228,7 @@
             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());
diff --git a/src/main/resources/mapper/BattInfMapper.xml b/src/main/resources/mapper/BattInfMapper.xml
index 97c223a..4ef0f3f 100644
--- a/src/main/resources/mapper/BattInfMapper.xml
+++ b/src/main/resources/mapper/BattInfMapper.xml
@@ -186,10 +186,10 @@
                 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&lt;=#{stic.endTime}
+                and tb_batt_inf.inuse_time&lt;=#{stic.endTime}
             </if>
             <if test="stic.uid>100">
                 and tb_batt_inf.station_id in(

--
Gitblit v1.9.1