From b341245d84fb1e4743e8d34bc9a4f742b0fb9a5e Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期四, 29 五月 2025 11:00:39 +0800
Subject: [PATCH] 电压上一季度历史实时

---
 src/main/java/com/whyc/dto/Real/QuarterData.java                     |   15 
 src/main/java/com/whyc/mapper/BattRtdataMapper.java                  |    6 
 src/main/java/com/whyc/service/BattRtdataService.java                |   23 +
 src/main/java/com/whyc/util/ActionUtil.java                          |   35 +
 src/main/java/com/whyc/webSocket/RealTimeSocket.java                 |   54 ++
 src/main/java/com/whyc/service/SubTablePageInfoService.java          |   22 +
 src/main/java/com/whyc/service/BattRealdataIdService.java            |   39 +
 src/main/java/com/whyc/pojo/db_data_history/PwrdevHistorydataId.java |  899 ++++++++++++++++++++++++++++++++++++++++++
 src/main/java/com/whyc/controller/HistoryIdController.java           |   29 +
 src/main/java/com/whyc/pojo/db_data_history/BattRealdataId.java      |   92 ++++
 10 files changed, 1,203 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/whyc/controller/HistoryIdController.java b/src/main/java/com/whyc/controller/HistoryIdController.java
new file mode 100644
index 0000000..8de5483
--- /dev/null
+++ b/src/main/java/com/whyc/controller/HistoryIdController.java
@@ -0,0 +1,29 @@
+package com.whyc.controller;
+
+import com.whyc.dto.Response;
+import com.whyc.pojo.db_user.User;
+import com.whyc.service.BattRealdataIdService;
+import com.whyc.service.StationInfService;
+import com.whyc.util.ActionUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@Api(tags = "鍘嗗彶瀹炴椂绠$悊")
+@RequestMapping("hisId")
+public class HistoryIdController {
+    @Autowired
+    private BattRealdataIdService battHisIdService;
+
+
+    @ApiOperation("鑾峰彇鐢垫睜缁勬渶杩戜竴瀛e害鐨勬暟鎹�")
+    @GetMapping("getBattQuarter")
+    public Response getBattQuarter(@RequestParam Integer battgroupId) {
+        return battHisIdService.getBattQuarter(battgroupId);
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/dto/Real/QuarterData.java b/src/main/java/com/whyc/dto/Real/QuarterData.java
new file mode 100644
index 0000000..31e2c3f
--- /dev/null
+++ b/src/main/java/com/whyc/dto/Real/QuarterData.java
@@ -0,0 +1,15 @@
+package com.whyc.dto.Real;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.sql.Timestamp;
+import java.util.Date;
+
+@Data
+public class QuarterData {
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date recordTime;
+    private Integer monNum;
+    private Float numValue;
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/mapper/BattRtdataMapper.java b/src/main/java/com/whyc/mapper/BattRtdataMapper.java
new file mode 100644
index 0000000..aed4cbb
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/BattRtdataMapper.java
@@ -0,0 +1,6 @@
+package com.whyc.mapper;
+
+import com.whyc.pojo.db_ram_db.BattRtdata;
+
+public interface BattRtdataMapper extends CustomMapper<BattRtdata>{
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/pojo/db_data_history/BattRealdataId.java b/src/main/java/com/whyc/pojo/db_data_history/BattRealdataId.java
new file mode 100644
index 0000000..bc65d74
--- /dev/null
+++ b/src/main/java/com/whyc/pojo/db_data_history/BattRealdataId.java
@@ -0,0 +1,92 @@
+package com.whyc.pojo.db_data_history;
+
+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;
+import java.util.Date;
+
+/**
+ * <p>
+ * 鐢垫睜缁�1000288_2025_04鍘嗗彶瀹炴椂鏁版嵁琛�
+ * </p>
+ *
+ * @author lxw
+ * @since 2025-05-29
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="BattRealdataId", description="鐢垫睜缁勫巻鍙插疄鏃舵暟鎹〃")
+public class BattRealdataId implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "num", type = IdType.AUTO)
+    private Long num;
+
+    @ApiModelProperty(value = "鐢垫睜缁処D")
+    private Integer battgroupId;
+
+    @ApiModelProperty(value = "璁板綍鏃堕棿")
+    private Date recrodTime;
+
+    @ApiModelProperty(value = "缁勭鐢靛帇")
+    private Float groupVol;
+
+    @ApiModelProperty(value = "鍦ㄧ嚎鐢靛帇")
+    private Float onlineVol;
+
+    @ApiModelProperty(value = "鐢垫睜鐢垫祦")
+    private Float groupCurr;
+
+    @ApiModelProperty(value = "璁惧娓╁害")
+    private Float groupTmp;
+
+    @ApiModelProperty(value = "鐢垫睜鐘舵��")
+    private Integer battState;
+
+    @ApiModelProperty(value = "鐢垫睜娴嬭瘯绫诲瀷")
+    private Integer battTestType;
+
+    @ApiModelProperty(value = "娴嬭瘯寮�濮嬫椂闂�")
+    private Date battTestStarttime;
+
+    @ApiModelProperty(value = "娴嬭瘯鏃堕暱")
+    private Integer battTestTlong;
+
+    @ApiModelProperty(value = "娴嬭瘯瀹归噺")
+    private Float battTestCap;
+
+    @ApiModelProperty(value = "鍗曚綋缂栧彿")
+    private Integer monNum;
+
+    @ApiModelProperty(value = "鍗曚綋鐢靛帇")
+    private Float monVol;
+
+    @ApiModelProperty(value = "鍗曚綋娓╁害")
+    private Float monTmp;
+
+    @ApiModelProperty(value = "鍗曚綋鍐呴樆")
+    private Float monRes;
+
+    @ApiModelProperty(value = "鍗曚綋鐢靛")
+    private Float monSer;
+
+    @ApiModelProperty(value = "鍗曚綋瀹归噺")
+    private Float monCap;
+
+    @ApiModelProperty(value = "鍗曚綋鍧囪 鐢垫祦")
+    private Float monJhCurr;
+
+    @ApiModelProperty(value = "澶囨敞")
+    private String note;
+
+
+}
diff --git a/src/main/java/com/whyc/pojo/db_data_history/PwrdevHistorydataId.java b/src/main/java/com/whyc/pojo/db_data_history/PwrdevHistorydataId.java
new file mode 100644
index 0000000..81d11fc
--- /dev/null
+++ b/src/main/java/com/whyc/pojo/db_data_history/PwrdevHistorydataId.java
@@ -0,0 +1,899 @@
+package com.whyc.pojo.db_data_history;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+import java.util.Date;
+
+/**
+ * <p>
+ * 鐢垫簮110000005_2024_03鍘嗗彶瀹炴椂鏁版嵁琛�
+ * </p>
+ *
+ * @author lxw
+ * @since 2025-05-29
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="PwrdevHistorydataId", description="鐢垫簮鍘嗗彶瀹炴椂鏁版嵁琛�")
+public class PwrdevHistorydataId implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "num", type = IdType.AUTO)
+    private Long num;
+
+    @ApiModelProperty(value = "鐢垫簮ID")
+    private Long powerId;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    private Date recordDatetime;
+
+    @ApiModelProperty(value = "1璺氦娴佽緭鍏鐩哥數鍘�")
+    private Float acin1Vola;
+
+    @ApiModelProperty(value = "1璺氦娴佽緭鍏鐩哥數鍘�")
+    private Float acin1Volb;
+
+    @ApiModelProperty(value = "浜ゆ祦1璺緭鍏鐩哥數鍘�")
+    private Float acin1Volc;
+
+    @ApiModelProperty(value = "2璺氦娴佽緭鍏鐩哥數鍘�")
+    private Float acin2Vola;
+
+    @ApiModelProperty(value = "2璺氦娴佽緭鍏鐩哥數鍘�")
+    private Float acin2Volb;
+
+    @ApiModelProperty(value = "2璺氦娴佽緭鍏鐩哥數鍘�")
+    private Float acin2Volc;
+
+    @ApiModelProperty(value = "浜ゆ祦A鐩歌緭鍑虹數鍘�")
+    private Float acoutVola;
+
+    @ApiModelProperty(value = "浜ゆ祦B鐩歌緭鍑虹數鍘�")
+    private Float acoutVolb;
+
+    @ApiModelProperty(value = "浜ゆ祦C鐩歌緭鍑虹數鍘�")
+    private Float acoutVolc;
+
+    @ApiModelProperty(value = "浜ゆ祦A鐩歌緭鍑虹數娴�")
+    private Float acoutCurra;
+
+    @ApiModelProperty(value = "浜ゆ祦B鐩歌緭鍑虹數娴�")
+    private Float acoutCurrb;
+
+    @ApiModelProperty(value = "浜ゆ祦C鐩歌緭鍑虹數娴�")
+    private Float acoutCurrc;
+
+    @ApiModelProperty(value = "鐩存祦杈撳嚭鐢靛帇")
+    private Float dcoutVol;
+
+    @ApiModelProperty(value = "鐩存祦杈撳嚭鐢垫祦")
+    private Float dcoutCurr;
+
+    @ApiModelProperty(value = "鐢垫睜缁�1缁勭鐢靛帇")
+    private Float battgroup1Vol;
+
+    @ApiModelProperty(value = "鐢垫睜缁�1鐢垫祦")
+    private Float battgroup1Curr;
+
+    @ApiModelProperty(value = "鐢垫睜缁�2缁勭鐢靛帇")
+    private Float battgroup2Vol;
+
+    @ApiModelProperty(value = "鐢垫睜缁�2鐢垫祦")
+    private Float battgroup2Curr;
+
+    @ApiModelProperty(value = "鐜娓╁害")
+    private Float temprature;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡鎬昏緭鍑虹數鍘�")
+    private Float mOutputvol;
+
+    @ApiModelProperty(value = "妯″潡1杈撳嚭鐢垫祦")
+    private Float m1Outcurr;
+
+    @ApiModelProperty(value = "妯″潡2杈撳嚭鐢垫祦")
+    private Float m2Outcurr;
+
+    @ApiModelProperty(value = "妯″潡3杈撳嚭鐢垫祦")
+    private Float m3Outcurr;
+
+    @ApiModelProperty(value = "妯″潡4杈撳嚭鐢垫祦")
+    private Float m4Outcurr;
+
+    @ApiModelProperty(value = "妯″潡5杈撳嚭鐢垫祦")
+    private Float m5Outcurr;
+
+    @ApiModelProperty(value = "妯″潡6杈撳嚭鐢垫祦")
+    private Float m6Outcurr;
+
+    @ApiModelProperty(value = "妯″潡7杈撳嚭鐢垫祦")
+    private Float m7Outcurr;
+
+    @ApiModelProperty(value = "妯″潡8杈撳嚭鐢垫祦")
+    private Float m8Outcurr;
+
+    @ApiModelProperty(value = "妯″潡9杈撳嚭鐢垫祦")
+    private Float m9Outcurr;
+
+    @ApiModelProperty(value = "妯″潡10杈撳嚭鐢垫祦")
+    private Float m10Outcurr;
+
+    @ApiModelProperty(value = "妯″潡11杈撳嚭鐢垫祦")
+    private Float m11Outcurr;
+
+    @ApiModelProperty(value = "妯″潡12杈撳嚭鐢垫祦")
+    private Float m12Outcurr;
+
+    @ApiModelProperty(value = "妯″潡13杈撳嚭鐢垫祦")
+    private Float m13Outcurr;
+
+    @ApiModelProperty(value = "妯″潡14杈撳嚭鐢垫祦")
+    private Float m14Outcurr;
+
+    @ApiModelProperty(value = "妯″潡15杈撳嚭鐢垫祦")
+    private Float m15Outcurr;
+
+    @ApiModelProperty(value = "妯″潡16杈撳嚭鐢垫祦")
+    private Float m16Outcurr;
+
+    @ApiModelProperty(value = "绗竴璺氦娴丄鐩歌緭鍏ヨ繃鍘�")
+    private Integer isAcin1OverVola;
+
+    @ApiModelProperty(value = "绗竴璺氦娴丄鐩歌緭鍏ユ瑺鍘�")
+    private Integer isAcin1UnderVola;
+
+    @ApiModelProperty(value = "绗竴璺氦娴丄鐩歌緭鍏ョ己鐩�")
+    private Integer isAcin1LessA;
+
+    @ApiModelProperty(value = "绗竴璺氦娴丅鐩歌緭鍏ヨ繃鍘�")
+    private Integer isAcin1OverVolb;
+
+    @ApiModelProperty(value = "绗竴璺氦娴丅鐩歌緭鍏ユ瑺鍘�")
+    private Integer isAcin1UnderVolb;
+
+    @ApiModelProperty(value = "绗竴璺氦娴丅鐩歌緭鍏ョ己鐩�")
+    private Integer isAcin1LessB;
+
+    @ApiModelProperty(value = "绗竴璺氦娴丆鐩歌緭鍏ヨ繃鍘�")
+    private Integer isAcin1OverVolc;
+
+    @ApiModelProperty(value = "绗竴璺氦娴丆鐩歌緭鍏ユ瑺鍘�")
+    private Integer isAcin1UnderVolc;
+
+    @ApiModelProperty(value = "绗竴璺氦娴丆鐩歌緭鍏ョ己鐩�")
+    private Integer isAcin1LessC;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆1闃查浄鍣ㄦ晠闅�")
+    private Integer isAcin1ThunderErr;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆1鍋滅數")
+    private Integer isAcin1Powerdown;
+
+    @ApiModelProperty(value = "绗簩璺氦娴丄鐩歌緭鍏ヨ繃鍘�")
+    private Integer isAcin2OverVola;
+
+    @ApiModelProperty(value = "绗簩璺氦娴丄鐩歌緭鍏ユ瑺鍘�")
+    private Integer isAcin2UnderVola;
+
+    @ApiModelProperty(value = "绗簩璺氦娴丄鐩歌緭鍏ョ己鐩�")
+    private Integer isAcin2LessA;
+
+    @ApiModelProperty(value = "绗簩璺氦娴丅鐩歌緭鍏ヨ繃鍘�")
+    private Integer isAcin2OverVolb;
+
+    @ApiModelProperty(value = "绗簩璺氦娴丅鐩歌緭鍏ユ瑺鍘�")
+    private Integer isAcin2UnderVolb;
+
+    @ApiModelProperty(value = "绗簩璺氦娴丅鐩歌緭鍏ョ己鐩�")
+    private Integer isAcin2LessB;
+
+    @ApiModelProperty(value = "绗簩璺氦娴丆鐩歌緭鍏ヨ繃鍘�")
+    private Integer isAcin2OverVolc;
+
+    @ApiModelProperty(value = "绗簩璺氦娴丆鐩歌緭鍏ユ瑺鍘�")
+    private Integer isAcin2UnderVolc;
+
+    @ApiModelProperty(value = "绗簩璺氦娴丆鐩歌緭鍏ョ己鐩�")
+    private Integer isAcin2LessC;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆1闃查浄鍣ㄦ晠闅�")
+    private Integer isAcin2ThunderErr;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆2鍋滅數")
+    private Integer isAcin2Powerdown;
+
+    @ApiModelProperty(value = "鐩戞帶鍣ㄦ晠闅�")
+    private Integer isAcinMonitorerr;
+
+    @ApiModelProperty(value = "鐩存祦杈撳嚭杩囧帇")
+    private Integer isDcoutOverVol;
+
+    @ApiModelProperty(value = "鐩存祦杈撳嚭娆犲帇")
+    private Integer isDcoutUnderVol;
+
+    @ApiModelProperty(value = "鐢垫睜缁�1涓嬬數鍛婅")
+    private Integer isBattgroup1Down;
+
+    @ApiModelProperty(value = "鐢垫簮鍧囧厖")
+    private Integer isJunCharge;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡1鏁呴殰")
+    private Float isAcdcmod1Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡1鍏虫満")
+    private Float isAcdcmod1Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡2鏁呴殰")
+    private Float isAcdcmod2Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡2鍏虫満")
+    private Float isAcdcmod2Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡3鏁呴殰")
+    private Float isAcdcmod3Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡3鍏虫満")
+    private Float isAcdcmod3Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡4鏁呴殰")
+    private Float isAcdcmod4Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡4鍏虫満")
+    private Float isAcdcmod4Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡5鏁呴殰")
+    private Float isAcdcmod5Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡5鍏虫満")
+    private Float isAcdcmod5Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡6鏁呴殰")
+    private Float isAcdcmod6Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡6鍏虫満")
+    private Float isAcdcmod6Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡7鏁呴殰")
+    private Float isAcdcmod7Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡7鍏虫満")
+    private Float isAcdcmod7Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡8鏁呴殰")
+    private Float isAcdcmod8Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡8鍏虫満")
+    private Float isAcdcmod8Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡9鏁呴殰")
+    private Float isAcdcmod9Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡9鍏虫満")
+    private Float isAcdcmod9Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡10鏁呴殰")
+    private Float isAcdcmod10Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡10鍏虫満")
+    private Float isAcdcmod10Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡11鏁呴殰")
+    private Float isAcdcmod11Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡11鍏虫満")
+    private Float isAcdcmod11Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡12鏁呴殰")
+    private Float isAcdcmod12Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡12鍏虫満")
+    private Float isAcdcmod12Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡13鏁呴殰")
+    private Float isAcdcmod13Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡13鍏虫満")
+    private Float isAcdcmod13Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡14鏁呴殰")
+    private Float isAcdcmod14Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡14鍏虫満")
+    private Float isAcdcmod14Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡15鏁呴殰")
+    private Float isAcdcmod15Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡15鍏虫満")
+    private Float isAcdcmod15Off;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡16鏁呴殰")
+    private Float isAcdcmod16Err;
+
+    @ApiModelProperty(value = "鏁存祦妯″潡16鍏虫満")
+    private Float isAcdcmod16Off;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆1璺抽椄")
+    private Integer isAcin1Trip;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆2璺抽椄")
+    private Integer isAcin2Trip;
+
+    @ApiModelProperty(value = "璐熻浇鐔旀柇")
+    private Integer isLoaderFuse;
+
+    @ApiModelProperty(value = "鐢垫睜缁�1鐔旀柇")
+    private Integer isBattgroup1Fuse;
+
+    @ApiModelProperty(value = "鐢垫睜缁�2鐔旀柇")
+    private Integer isBattgroup2Fuse;
+
+    @ApiModelProperty(value = "鐢垫簮鎬诲憡璀�")
+    private Integer isTotalAlarm;
+
+    @ApiModelProperty(value = "浜ゆ祦1璺緭鍏鐩哥數娴�")
+    private Float acin1Curra;
+
+    @ApiModelProperty(value = "浜ゆ祦1璺緭鍏鐩哥數娴�")
+    private Float acin1Currb;
+
+    @ApiModelProperty(value = "浜ゆ祦1璺緭鍏鐩哥數娴�")
+    private Float acin1Currc;
+
+    @ApiModelProperty(value = "璐熻浇鐢垫祦")
+    private Float loaderCurr;
+
+    @ApiModelProperty(value = "鐢垫睜缁�1瀹归噺")
+    private Float battgroup1Ah;
+
+    @ApiModelProperty(value = "鐢垫睜缁�1娓╁害")
+    private Float battgroup1Temp;
+
+    @ApiModelProperty(value = "鐢垫睜缁�2瀹归噺")
+    private Float battgroup2Ah;
+
+    @ApiModelProperty(value = "鐢垫睜缁�2娓╁害")
+    private Float battgroup2Temp;
+
+    @ApiModelProperty(value = "ACDC寮�鍏虫煖娓╁害")
+    private Float acdcmTemp;
+
+    @ApiModelProperty(value = "妯″潡1杈撳嚭鐢靛帇")
+    private Float m1OutVol;
+
+    @ApiModelProperty(value = "妯″潡2杈撳嚭鐢靛帇")
+    private Float m2OutVol;
+
+    @ApiModelProperty(value = "妯″潡3杈撳嚭鐢靛帇")
+    private Float m3OutVol;
+
+    @ApiModelProperty(value = "妯″潡4杈撳嚭鐢靛帇")
+    private Float m4OutVol;
+
+    @ApiModelProperty(value = "妯″潡5杈撳嚭鐢靛帇")
+    private Float m5OutVol;
+
+    @ApiModelProperty(value = "妯″潡6杈撳嚭鐢靛帇")
+    private Float m6OutVol;
+
+    @ApiModelProperty(value = "妯″潡7杈撳嚭鐢靛帇")
+    private Float m7OutVol;
+
+    @ApiModelProperty(value = "妯″潡8杈撳嚭鐢靛帇")
+    private Float m8OutVol;
+
+    @ApiModelProperty(value = "妯″潡9杈撳嚭鐢靛帇")
+    private Float m9OutVol;
+
+    @ApiModelProperty(value = "妯″潡10杈撳嚭鐢靛帇")
+    private Float m10OutVol;
+
+    @ApiModelProperty(value = "妯″潡11杈撳嚭鐢靛帇")
+    private Float m11OutVol;
+
+    @ApiModelProperty(value = "妯″潡12杈撳嚭鐢靛帇")
+    private Float m12OutVol;
+
+    @ApiModelProperty(value = "妯″潡13杈撳嚭鐢靛帇")
+    private Float m13OutVol;
+
+    @ApiModelProperty(value = "妯″潡14杈撳嚭鐢靛帇")
+    private Float m14OutVol;
+
+    @ApiModelProperty(value = "妯″潡15杈撳嚭鐢靛帇")
+    private Float m15OutVol;
+
+    @ApiModelProperty(value = "妯″潡16杈撳嚭鐢靛帇")
+    private Float m16OutVol;
+
+    @ApiModelProperty(value = "浜ゆ祦A鐩歌繃娴�")
+    private Integer isAcb1OverCurra;
+
+    @ApiModelProperty(value = "浜ゆ祦B鐩歌繃娴�")
+    private Integer isAcb1OverCurrb;
+
+    @ApiModelProperty(value = "浜ゆ祦C鐩歌繃娴�")
+    private Integer isAcb1OverCurrc;
+
+    @ApiModelProperty(value = "浜ゆ祦1璺湁鐢�")
+    private Integer isAcin1Poweron;
+
+    @ApiModelProperty(value = "浜ゆ祦2璺湁鐢�")
+    private Integer isAcin2Poweron;
+
+    @ApiModelProperty(value = "鐩存祦杈撳嚭杩囨祦鍛婅")
+    private Integer isDcoutOverCurr;
+
+    @ApiModelProperty(value = "鐢垫睜缁�1鍏呮斁鐢垫寚绀篬1-鍏�  0-鏀綸")
+    private Integer isBattgroup1State;
+
+    @ApiModelProperty(value = "鐢垫睜缁�2鍏呮斁鐢垫寚绀篬1-鍏�  0-鏀綸")
+    private Integer isBattgroup2State;
+
+    @ApiModelProperty(value = "鐢垫睜缁�2涓嬬數鍛婅")
+    private Integer isBattgroup2Down;
+
+    @ApiModelProperty(value = "鐢垫睜缁�1鍏呯數杩囨祦")
+    private Integer isBattgroup1Overchgcurr;
+
+    @ApiModelProperty(value = "鐢垫睜缁�2鍏呯數杩囨祦")
+    private Integer isBattgroup2Overchgcurr;
+
+    @ApiModelProperty(value = "妯″潡1杩囧帇")
+    private Integer isAcdcmod1Overvol;
+
+    @ApiModelProperty(value = "妯″潡1娆犲帇")
+    private Integer isAcdcmod1Undervol;
+
+    @ApiModelProperty(value = "妯″潡1杩囨祦")
+    private Integer isAcdcmod1Overcurr;
+
+    @ApiModelProperty(value = "妯″潡1浜ゆ祦寮傚父")
+    private Integer isAcdcmod1Acerr;
+
+    @ApiModelProperty(value = "妯″潡1闄愭祦")
+    private Integer isAcdcmod1Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡2杩囧帇")
+    private Integer isAcdcmod2Overvol;
+
+    @ApiModelProperty(value = "妯″潡2娆犲帇")
+    private Integer isAcdcmod2Undervol;
+
+    @ApiModelProperty(value = "妯″潡2杩囨祦")
+    private Integer isAcdcmod2Overcurr;
+
+    @ApiModelProperty(value = "妯″潡2浜ゆ祦寮傚父")
+    private Integer isAcdcmod2Acerr;
+
+    @ApiModelProperty(value = "妯″潡2闄愭祦")
+    private Integer isAcdcmod2Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡3杩囧帇")
+    private Integer isAcdcmod3Overvol;
+
+    @ApiModelProperty(value = "妯″潡3娆犲帇")
+    private Integer isAcdcmod3Undervol;
+
+    @ApiModelProperty(value = "妯″潡3杩囨祦")
+    private Integer isAcdcmod3Overcurr;
+
+    @ApiModelProperty(value = "妯″潡3浜ゆ祦寮傚父")
+    private Integer isAcdcmod3Acerr;
+
+    @ApiModelProperty(value = "妯″潡3闄愭祦")
+    private Integer isAcdcmod3Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡4杩囧帇")
+    private Integer isAcdcmod4Overvol;
+
+    @ApiModelProperty(value = "妯″潡4娆犲帇")
+    private Integer isAcdcmod4Undervol;
+
+    @ApiModelProperty(value = "妯″潡4杩囨祦")
+    private Integer isAcdcmod4Overcurr;
+
+    @ApiModelProperty(value = "妯″潡4浜ゆ祦寮傚父")
+    private Integer isAcdcmod4Acerr;
+
+    @ApiModelProperty(value = "妯″潡4闄愭祦")
+    private Integer isAcdcmod4Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡5杩囧帇")
+    private Integer isAcdcmod5Overvol;
+
+    @ApiModelProperty(value = "妯″潡5娆犲帇")
+    private Integer isAcdcmod5Undervol;
+
+    @ApiModelProperty(value = "妯″潡5杩囨祦")
+    private Integer isAcdcmod5Overcurr;
+
+    @ApiModelProperty(value = "妯″潡5浜ゆ祦寮傚父")
+    private Integer isAcdcmod5Acerr;
+
+    @ApiModelProperty(value = "妯″潡5闄愭祦")
+    private Integer isAcdcmod5Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡6杩囧帇")
+    private Integer isAcdcmod6Overvol;
+
+    @ApiModelProperty(value = "妯″潡6娆犲帇")
+    private Integer isAcdcmod6Undervol;
+
+    @ApiModelProperty(value = "妯″潡6杩囨祦")
+    private Integer isAcdcmod6Overcurr;
+
+    @ApiModelProperty(value = "妯″潡6浜ゆ祦寮傚父")
+    private Integer isAcdcmod6Acerr;
+
+    @ApiModelProperty(value = "妯″潡6闄愭祦")
+    private Integer isAcdcmod6Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡7杩囧帇")
+    private Integer isAcdcmod7Overvol;
+
+    @ApiModelProperty(value = "妯″潡7娆犲帇")
+    private Integer isAcdcmod7Undervol;
+
+    @ApiModelProperty(value = "妯″潡7杩囨祦")
+    private Integer isAcdcmod7Overcurr;
+
+    @ApiModelProperty(value = "妯″潡7浜ゆ祦寮傚父")
+    private Integer isAcdcmod7Acerr;
+
+    @ApiModelProperty(value = "妯″潡7闄愭祦")
+    private Integer isAcdcmod7Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡8杩囧帇")
+    private Integer isAcdcmod8Overvol;
+
+    @ApiModelProperty(value = "妯″潡8娆犲帇")
+    private Integer isAcdcmod8Undervol;
+
+    @ApiModelProperty(value = "妯″潡8杩囨祦")
+    private Integer isAcdcmod8Overcurr;
+
+    @ApiModelProperty(value = "妯″潡8浜ゆ祦寮傚父")
+    private Integer isAcdcmod8Acerr;
+
+    @ApiModelProperty(value = "妯″潡8闄愭祦")
+    private Integer isAcdcmod8Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡9杩囧帇")
+    private Integer isAcdcmod9Overvol;
+
+    @ApiModelProperty(value = "妯″潡9娆犲帇")
+    private Integer isAcdcmod9Undervol;
+
+    @ApiModelProperty(value = "妯″潡9杩囨祦")
+    private Integer isAcdcmod9Overcurr;
+
+    @ApiModelProperty(value = "妯″潡9浜ゆ祦寮傚父")
+    private Integer isAcdcmod9Acerr;
+
+    @ApiModelProperty(value = "妯″潡9闄愭祦")
+    private Integer isAcdcmod9Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡10杩囧帇")
+    private Integer isAcdcmod10Overvol;
+
+    @ApiModelProperty(value = "妯″潡10娆犲帇")
+    private Integer isAcdcmod10Undervol;
+
+    @ApiModelProperty(value = "妯″潡10杩囨祦")
+    private Integer isAcdcmod10Overcurr;
+
+    @ApiModelProperty(value = "妯″潡10浜ゆ祦寮傚父")
+    private Integer isAcdcmod10Acerr;
+
+    @ApiModelProperty(value = "妯″潡10闄愭祦")
+    private Integer isAcdcmod10Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡11杩囧帇")
+    private Integer isAcdcmod11Overvol;
+
+    @ApiModelProperty(value = "妯″潡11娆犲帇")
+    private Integer isAcdcmod11Undervol;
+
+    @ApiModelProperty(value = "妯″潡11杩囨祦")
+    private Integer isAcdcmod11Overcurr;
+
+    @ApiModelProperty(value = "妯″潡11浜ゆ祦寮傚父")
+    private Integer isAcdcmod11Acerr;
+
+    @ApiModelProperty(value = "妯″潡11闄愭祦")
+    private Integer isAcdcmod11Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡12杩囧帇")
+    private Integer isAcdcmod12Overvol;
+
+    @ApiModelProperty(value = "妯″潡12娆犲帇")
+    private Integer isAcdcmod12Undervol;
+
+    @ApiModelProperty(value = "妯″潡12杩囨祦")
+    private Integer isAcdcmod12Overcurr;
+
+    @ApiModelProperty(value = "妯″潡12浜ゆ祦寮傚父")
+    private Integer isAcdcmod12Acerr;
+
+    @ApiModelProperty(value = "妯″潡12闄愭祦")
+    private Integer isAcdcmod12Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡13杩囧帇")
+    private Integer isAcdcmod13Overvol;
+
+    @ApiModelProperty(value = "妯″潡13娆犲帇")
+    private Integer isAcdcmod13Undervol;
+
+    @ApiModelProperty(value = "妯″潡13杩囨祦")
+    private Integer isAcdcmod13Overcurr;
+
+    @ApiModelProperty(value = "妯″潡13浜ゆ祦寮傚父")
+    private Integer isAcdcmod13Acerr;
+
+    @ApiModelProperty(value = "妯″潡13闄愭祦")
+    private Integer isAcdcmod13Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡14杩囧帇")
+    private Integer isAcdcmod14Overvol;
+
+    @ApiModelProperty(value = "妯″潡14娆犲帇")
+    private Integer isAcdcmod14Undervol;
+
+    @ApiModelProperty(value = "妯″潡14杩囨祦")
+    private Integer isAcdcmod14Overcurr;
+
+    @ApiModelProperty(value = ".妯″潡14浜ゆ祦寮傚父")
+    private Integer isAcdcmod14Acerr;
+
+    @ApiModelProperty(value = "妯″潡14闄愭祦")
+    private Integer isAcdcmod14Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡15杩囧帇")
+    private Integer isAcdcmod15Overvol;
+
+    @ApiModelProperty(value = "妯″潡15娆犲帇")
+    private Integer isAcdcmod15Undervol;
+
+    @ApiModelProperty(value = "妯″潡15杩囨祦")
+    private Integer isAcdcmod15Overcurr;
+
+    @ApiModelProperty(value = "妯″潡15浜ゆ祦寮傚父")
+    private Integer isAcdcmod15Acerr;
+
+    @ApiModelProperty(value = "妯″潡15闄愭祦")
+    private Integer isAcdcmod15Limitcurr;
+
+    @ApiModelProperty(value = "妯″潡16杩囧帇")
+    private Integer isAcdcmod16Overvol;
+
+    @ApiModelProperty(value = "妯″潡16娆犲帇")
+    private Integer isAcdcmod16Undervol;
+
+    @ApiModelProperty(value = "妯″潡16杩囨祦")
+    private Integer isAcdcmod16Overcurr;
+
+    @ApiModelProperty(value = "妯″潡16浜ゆ祦寮傚父")
+    private Integer isAcdcmod16Acerr;
+
+    @ApiModelProperty(value = "妯″潡16闄愭祦")
+    private Integer isAcdcmod16Limitcurr;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆1鐔旀柇")
+    private Integer isAcin1Fuse;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆2鐔旀柇")
+    private Integer isAcin2Fuse;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆1涓夌浉涓嶅钩琛�")
+    private Integer isAcin1Unbanlance;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆2涓夌浉涓嶅钩琛�")
+    private Integer isAcin2Unbanlance;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆1棰戠巼寮傚父")
+    private Integer isAcin1Freqerr;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆2棰戠巼寮傚父")
+    private Integer isAcin2Freqerr;
+
+    @ApiModelProperty(value = "鐢垫睜缁�1鐢靛帇浣�")
+    @TableField("is_battgroup1_volLow")
+    private Integer isBattgroup1Vollow;
+
+    @ApiModelProperty(value = "鐢垫睜缁�2鐢靛帇浣�")
+    @TableField("is_battgroup2_volLow")
+    private Integer isBattgroup2Vollow;
+
+    @ApiModelProperty(value = "鐩存祦鎬绘晠闅�")
+    private Integer isDcoutTotalAlarm;
+
+    @ApiModelProperty(value = "浜ゆ祦鎬绘晠闅�")
+    private Integer isAcinTotalAlarm;
+
+    @ApiModelProperty(value = "妯″潡1鍧囧厖")
+    private Integer isAcdcmod1Junchg;
+
+    @ApiModelProperty(value = "妯″潡2鍧囧厖")
+    private Integer isAcdcmod2Junchg;
+
+    @ApiModelProperty(value = "妯″潡3鍧囧厖")
+    private Integer isAcdcmod3Junchg;
+
+    @ApiModelProperty(value = "妯″潡4鍧囧厖")
+    private Integer isAcdcmod4Junchg;
+
+    @ApiModelProperty(value = "妯″潡5鍧囧厖")
+    private Integer isAcdcmod5Junchg;
+
+    @ApiModelProperty(value = "妯″潡6鍧囧厖")
+    private Integer isAcdcmod6Junchg;
+
+    @ApiModelProperty(value = "妯″潡7鍧囧厖")
+    private Integer isAcdcmod7Junchg;
+
+    @ApiModelProperty(value = "妯″潡8鍧囧厖")
+    private Integer isAcdcmod8Junchg;
+
+    @ApiModelProperty(value = "妯″潡9鍧囧厖")
+    private Integer isAcdcmod9Junchg;
+
+    @ApiModelProperty(value = "妯″潡10鍧囧厖")
+    private Integer isAcdcmod10Junchg;
+
+    @ApiModelProperty(value = "妯″潡11鍧囧厖")
+    private Integer isAcdcmod11Junchg;
+
+    @ApiModelProperty(value = "妯″潡12鍧囧厖")
+    private Integer isAcdcmod12Junchg;
+
+    @ApiModelProperty(value = "妯″潡13鍧囧厖")
+    private Integer isAcdcmod13Junchg;
+
+    @ApiModelProperty(value = "妯″潡14鍧囧厖")
+    private Integer isAcdcmod14Junchg;
+
+    @ApiModelProperty(value = "妯″潡15鍧囧厖")
+    private Integer isAcdcmod15Junchg;
+
+    @ApiModelProperty(value = "妯″潡16鍧囧厖")
+    private Integer isAcdcmod16Junchg;
+
+    @ApiModelProperty(value = "鍗忚浆涓庣數婧愰�氫俊鏁呴殰")
+    private Integer isPowerdevCommerr;
+
+    @ApiModelProperty(value = "浜ゆ祦1璺緭鍏鐩哥數鍘�-鐢佃〃")
+    private Float useracin1Vola;
+
+    @ApiModelProperty(value = "浜ゆ祦1璺緭鍏鐩哥數鍘�-鐢佃〃")
+    private Float useracin1Volb;
+
+    @ApiModelProperty(value = "浜ゆ祦1璺緭鍏鐩哥數鍘�-鐢佃〃")
+    private Float useracin1Volc;
+
+    @ApiModelProperty(value = "浜ゆ祦1璺緭鍏鐩哥數娴�-鐢佃〃")
+    private Float useracin1Curra;
+
+    @ApiModelProperty(value = "浜ゆ祦1璺緭鍏鐩哥數娴�-鐢佃〃")
+    private Float useracin1Currb;
+
+    @ApiModelProperty(value = "浜ゆ祦1璺緭鍏鐩哥數娴�-鐢佃〃")
+    private Float useracin1Currc;
+
+    @ApiModelProperty(value = "浜ゆ祦1璺鐜�-鐢佃〃")
+    private Float useracin1Freq;
+
+    @ApiModelProperty(value = "浜ゆ祦2璺緭鍏鐩哥數鍘�-鐢佃〃")
+    private Float useracin2Vola;
+
+    @ApiModelProperty(value = "浜ゆ祦2璺緭鍏鐩哥數鍘�-鐢佃〃")
+    private Float useracin2Volb;
+
+    @ApiModelProperty(value = "浜ゆ祦2璺緭鍏鐩哥數鍘�-鐢佃〃")
+    private Float useracin2Volc;
+
+    @ApiModelProperty(value = "浜ゆ祦2璺緭鍏鐩哥數娴�-鐢佃〃")
+    private Float useracin2Curra;
+
+    @ApiModelProperty(value = "浜ゆ祦2璺緭鍏鐩哥數娴�-鐢佃〃")
+    private Float useracin2Currb;
+
+    @ApiModelProperty(value = "浜ゆ祦2璺緭鍏鐩哥數娴�-鐢佃〃")
+    private Float useracin2Currc;
+
+    @ApiModelProperty(value = "浜ゆ祦2璺鐜�-鐢佃〃")
+    private Float useracin2Freq;
+
+    @ApiModelProperty(value = "娓╁害1-鐢佃〃")
+    private Float mTemper1;
+
+    @ApiModelProperty(value = "娓╁害2-鐢佃〃")
+    private Float mTemper2;
+
+    @ApiModelProperty(value = "娓╁害3-鐢佃〃")
+    private Float mTemper3;
+
+    @ApiModelProperty(value = "婀垮害1-鐢佃〃")
+    private Float mHumidity1;
+
+    @ApiModelProperty(value = "婀垮害2-鐢佃〃")
+    private Float mHumidity2;
+
+    @ApiModelProperty(value = "婀垮害3-鐢佃〃")
+    private Float mHumidity3;
+
+    @ApiModelProperty(value = "浜ゆ祦1璺仠鐢�-鐢佃〃")
+    private Integer useracin1Powerdown;
+
+    @ApiModelProperty(value = "浜ゆ祦1璺數琛ㄩ�氫俊鏁呴殰-鐢佃〃")
+    private Integer useracin1Commerr;
+
+    @ApiModelProperty(value = "浜ゆ祦2璺仠鐢�-鐢佃〃")
+    private Integer useracin2Powerdown;
+
+    @ApiModelProperty(value = "浜ゆ祦2璺數琛ㄩ�氫俊鏁呴殰-鐢佃〃")
+    private Integer useracin2Commerr;
+
+    @ApiModelProperty(value = "娓╁害浼犳劅鍣�1閫氫俊鏁呴殰-鐢佃〃")
+    private Integer isTempCommerr1;
+
+    @ApiModelProperty(value = "娓╁害浼犳劅鍣�2閫氫俊鏁呴殰-鐢佃〃")
+    private Integer isTempCommerr2;
+
+    @ApiModelProperty(value = "娓╁害浼犳劅鍣�3閫氫俊鏁呴殰-鐢佃〃")
+    private Integer isTempCommerr3;
+
+    @ApiModelProperty(value = "婀垮害浼犳劅鍣�1閫氫俊鏁呴殰-鐢佃〃")
+    private Integer isHumiCommerr1;
+
+    @ApiModelProperty(value = "婀垮害浼犳劅鍣�2閫氫俊鏁呴殰-鐢佃〃")
+    private Integer isHumiCommerr2;
+
+    @ApiModelProperty(value = "婀垮害浼犳劅鍣�3閫氫俊鏁呴殰-鐢佃〃")
+    private Integer isHumiCommerr3;
+
+    @ApiModelProperty(value = "鐑熼浘1鍛婅-鐢佃〃")
+    private Integer isSmokeAlarm1;
+
+    @ApiModelProperty(value = "鐑熼浘1浼犳劅鍣ㄩ�氫俊鏁呴殰-鐢佃〃")
+    private Integer isSmokeCommerr1;
+
+    @ApiModelProperty(value = "鐑熼浘2鍛婅-鐢佃〃")
+    private Integer isSmokeAlarm2;
+
+    @ApiModelProperty(value = "鐑熼浘2浼犳劅鍣ㄩ�氫俊鏁呴殰-鐢佃〃")
+    private Integer isSmokeCommerr2;
+
+    @ApiModelProperty(value = "鐑熼浘3鍛婅-鐢佃〃")
+    private Integer isSmokeAlarm3;
+
+    @ApiModelProperty(value = "鐑熼浘3浼犳劅鍣ㄩ�氫俊鏁呴殰-鐢佃〃")
+    private Integer isSmokeCommerr3;
+
+    @ApiModelProperty(value = "浜ゆ祦2璺緭鍏鐩哥數娴�")
+    private Float acin2Curra;
+
+    @ApiModelProperty(value = "浜ゆ祦2璺緭鍏鐩哥數娴�")
+    private Float acin2Currb;
+
+    @ApiModelProperty(value = "浜ゆ祦2璺緭鍏鐩哥數娴�")
+    private Float acin2Currc;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆1鍒嗗悎闂哥姸鎬�:0---鏈煡(鐢ㄤ簬鍏煎浠ュ墠鐨�)锛�1-鍒嗛椄锛�2-鍚堥椄锛�3-鑴辨墸")
+    private Integer acin1SwitchSt;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆2鍒嗗悎闂哥姸鎬�	:0---鏈煡(鐢ㄤ簬鍏煎浠ュ墠鐨�)锛�1-鍒嗛椄锛�2-鍚堥椄锛�3-鑴辨墸")
+    private Integer acin2SwitchSt;
+
+
+}
diff --git a/src/main/java/com/whyc/service/BattRealdataIdService.java b/src/main/java/com/whyc/service/BattRealdataIdService.java
new file mode 100644
index 0000000..846a634
--- /dev/null
+++ b/src/main/java/com/whyc/service/BattRealdataIdService.java
@@ -0,0 +1,39 @@
+package com.whyc.service;
+
+import com.whyc.dto.Real.QuarterData;
+import com.whyc.dto.Response;
+import com.whyc.mapper.CommonMapper;
+import com.whyc.pojo.db_data_history.BattRealdataId;
+import com.whyc.util.ActionUtil;
+import com.whyc.util.SubTablePageInfoUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+
+@Service
+public class BattRealdataIdService {
+    @Autowired
+    private SubTablePageInfoService subTablePageInfoService;
+    @Resource
+    private CommonMapper commonMapper;
+
+    //鑾峰彇鐢垫睜缁勬渶杩戜竴瀛e害鐨勫崟浣撴暟鎹�
+    public Response getBattQuarter(Integer battgroupId) {
+        HashMap<String,Object> map = new HashMap<>();
+        List<String> datelist = ActionUtil.getLastQuarterYearMonths();
+        for (String date:datelist) {
+            String tableName ="db_data_history.tb_batt_realdata_"+battgroupId+"_"+date;
+            String existTableName = commonMapper.existTable("db_data_history", "tb_batt_realdata_"+battgroupId+"_"+date);
+            if(existTableName == null){
+                continue;
+            }
+            //鍒ゆ柇琛ㄦ槸鍚﹀瓨鍦�
+            List<QuarterData> list=subTablePageInfoService.getBattRealHis(tableName,"mon_vol");
+            map.put(date,list);
+        }
+        return new Response().setII(1,map.size()>0,map,"鑾峰彇鐢垫睜缁勬渶杩戜竴瀛e害鐨勬暟鎹�");
+    }
+}
\ 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
new file mode 100644
index 0000000..2f921f6
--- /dev/null
+++ b/src/main/java/com/whyc/service/BattRtdataService.java
@@ -0,0 +1,23 @@
+package com.whyc.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.whyc.mapper.BattRtdataMapper;
+import com.whyc.pojo.db_ram_db.BattRtdata;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class BattRtdataService {
+    @Autowired(required = false)
+    private BattRtdataMapper mapper;
+    //瀹炴椂鑾峰彇鍗曚綋淇℃伅
+    public List<BattRtdata> getRtdataRealInfo(Integer battgroupId) {
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("battgroup_id",battgroupId);
+        wrapper.orderByAsc("mon_num");
+        List<BattRtdata> list=mapper.selectList(wrapper);
+        return list;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/SubTablePageInfoService.java b/src/main/java/com/whyc/service/SubTablePageInfoService.java
index 218cd68..99d43ed 100644
--- a/src/main/java/com/whyc/service/SubTablePageInfoService.java
+++ b/src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -4,9 +4,11 @@
 import com.whyc.dto.AlmHis.BattAlmPar;
 import com.whyc.dto.AlmHis.DevAlmPar;
 import com.whyc.dto.AlmHis.PwrAlmPar;
+import com.whyc.dto.Real.QuarterData;
 import com.whyc.mapper.CallBack;
 import com.whyc.pojo.db_alarm.BattalarmDataHistory;
 import com.whyc.pojo.db_alarm.DevalarmDataHistory;
+import com.whyc.pojo.db_data_history.BattRealdataId;
 import com.whyc.pojo.db_pwrdev_alarm.PwrdevAlarmHistory;
 import com.whyc.util.ThreadLocalUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -465,5 +467,23 @@
         });
         return  list;
     }
-
+    //鑾峰彇鐢垫睜缁勬煇涓�骞存湀鐨勬暟鎹�
+    public List<QuarterData> getBattRealHis(String tableName,String columnName) {
+        String sql="select  distinct mon_num,record_time,"+columnName+"  from "+tableName+" order by record_time asc";
+        List<QuarterData> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
+            @Override
+            public List getResults(ResultSet rs) throws SQLException {
+                List<QuarterData> list=new ArrayList<>();
+                while (rs.next()){
+                    QuarterData data=new QuarterData();
+                    data.setRecordTime(rs.getTimestamp("record_time"));
+                    data.setNumValue(rs.getFloat(columnName));
+                    data.setMonNum(rs.getInt("mon_num"));
+                    list.add(data);
+                }
+                return list;
+            }
+        });
+        return list;
+    }
 }
diff --git a/src/main/java/com/whyc/util/ActionUtil.java b/src/main/java/com/whyc/util/ActionUtil.java
index 2d8a998..3b2bd86 100644
--- a/src/main/java/com/whyc/util/ActionUtil.java
+++ b/src/main/java/com/whyc/util/ActionUtil.java
@@ -17,9 +17,8 @@
 import java.lang.reflect.Type;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Locale;
+import java.time.LocalDate;
+import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import com.whyc.pojo.db_user.User;
@@ -417,8 +416,34 @@
         } else {//鐩哥瓑
             return 0;
         }
-        }
-    /**
+	}
+	//璁$畻褰撳墠鏈堢殑涓婁竴涓搴﹀勾_鏈堜唤闆嗗悎
+	public static List<String> getLastQuarterYearMonths() {
+		LocalDate currentDate = LocalDate.now();
+		int currentYear = currentDate.getYear();
+		int currentMonth = currentDate.getMonthValue();
+
+		int quarter = (currentMonth - 1) / 3 + 1; // 璁$畻褰撳墠瀛e害
+		int lastQuarter = quarter - 1; // 涓婁竴瀛e害
+
+		if (lastQuarter == 0) {
+			lastQuarter = 4; // 濡傛灉褰撳墠鏄涓�瀛e害锛屽垯涓婁竴瀛e害涓虹鍥涘搴�
+		}
+
+		List<String> yearMonths = new ArrayList<>();
+		for (int i = 1; i <= 3; i++) {
+			int month = (lastQuarter - 1) * 3 + i;
+			int year = currentYear;
+			// 濡傛灉涓婁竴瀛e害鏄鍥涘搴︼紝鍒欏勾浠介渶瑕佸噺涓�骞�
+			if (lastQuarter == 4) {
+				year = currentYear - 1;
+			}
+			yearMonths.add(year + "_" + (month < 10 ? "0" + month : month)); // 淇濊瘉鏈堜唤涓轰袱浣嶆牸寮�
+		}
+
+		return yearMonths;
+	}
+	/**
      * @Description: 鏍规嵁鍥剧墖鍦板潃杞崲涓篵ase64缂栫爜瀛楃涓�
      * @Author: 
      * @CreateTime: 
diff --git a/src/main/java/com/whyc/webSocket/RealTimeSocket.java b/src/main/java/com/whyc/webSocket/RealTimeSocket.java
index a9c73fe..b899802 100644
--- a/src/main/java/com/whyc/webSocket/RealTimeSocket.java
+++ b/src/main/java/com/whyc/webSocket/RealTimeSocket.java
@@ -6,6 +6,7 @@
 import com.whyc.dto.Response;
 import com.whyc.factory.BattCapFactory;
 import com.whyc.pojo.db_batt_testdata.BatttestdataInf;
+import com.whyc.pojo.db_ram_db.BattRtdata;
 import com.whyc.pojo.db_ram_db.BattRtstate;
 import com.whyc.pojo.db_ram_db.DeviceState;
 import com.whyc.pojo.db_ram_db.PwrdevAcdcdata;
@@ -23,6 +24,7 @@
 import javax.websocket.*;
 import javax.websocket.server.ServerEndpoint;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 @Component
@@ -56,6 +58,9 @@
 
     //鐢垫簮淇℃伅
     private static PowerInfService powerInfService;
+
+    //鍗曚綋淇℃伅
+    private static BattRtdataService rtdataService;
 
 
     private volatile boolean runFlag = true;
@@ -114,6 +119,11 @@
     @Autowired
     public void setPowerInfService(PowerInfService powerInfService) {
         RealTimeSocket.powerInfService = powerInfService;
+    }
+
+    @Autowired
+    public void setBattRtdataService(BattRtdataService rtdataService) {
+        RealTimeSocket.rtdataService = rtdataService;
     }
 
 
@@ -286,11 +296,45 @@
     }
     //鑾峰彇鍐呴樆鐣岄潰淇℃伅
     private Response getResPage(RealTimeDto realDto) {
-        return new Response().set(1);
+        Map<String, Object> map=new HashMap<>();
+        try {
+            //瀹炴椂鑾峰彇鍗曚綋淇℃伅
+            List<BattRtdata> rtdataList = rtdataService.getRtdataRealInfo(realDto.getBattgroupId());
+            map.put("rtdataList",rtdataList);
+            return new Response().setII(1,true,map,"鐢靛帇鐣岄潰淇℃伅鎺ㄩ��");
+        }catch (Exception e){
+            return new Response().set(1,false,"鐢靛帇鐣岄潰淇℃伅鎺ㄩ��");
+        }
     }
     //鑾峰彇鐢靛帇鐣岄潰淇℃伅
     private Response getVolPage(RealTimeDto realDto) {
-        return new Response().set(1);
+        Map<String, Object> map=new HashMap<>();
+        Float maxVol=0f;
+        Float minVol=0f;
+        Float avgVol=0f;
+        try {
+            //瀹炴椂鑾峰彇鍗曚綋淇℃伅
+            List<BattRtdata> rtdataList = rtdataService.getRtdataRealInfo(realDto.getBattgroupId());
+            if(rtdataList!=null&&rtdataList.size()>0){
+                for(BattRtdata battRtdata:rtdataList) {
+                    if (battRtdata.getMonVol() > maxVol) {
+                        maxVol = battRtdata.getMonVol();
+                    }
+                    if (battRtdata.getMonVol() < minVol) {
+                        minVol = battRtdata.getMonVol();
+                    }
+                    avgVol += battRtdata.getMonVol();
+                }
+                avgVol=avgVol/rtdataList.size();
+            }
+            map.put("rtdataList",rtdataList);
+            map.put("maxVol",maxVol);
+            map.put("minVol",minVol);
+            map.put("avgVol",avgVol);
+            return new Response().setII(1,true,map,"鐢靛帇鐣岄潰淇℃伅鎺ㄩ��");
+        }catch (Exception e){
+            return new Response().set(1,false,"鐢靛帇鐣岄潰淇℃伅鎺ㄩ��");
+        }
     }
     //鑾峰彇鐢垫簮鐣岄潰淇℃伅
     private Response getPowerPage(RealTimeDto realDto) {
@@ -317,9 +361,9 @@
             //鑾峰彇涓婁竴娆℃爣鍑嗘牳瀹逛俊鎭�
             BatttestdataInf tinfData= batttestdataInfService.getLastStandardTestData(realDto.getBattgroupId());
             map.put("tinfData",tinfData);
-            //鑾峰彇杩戝崐灏忔椂鐢垫簮鏁版嵁
-            //鑾峰彇杩戝崐灏忔椂鏁存祦鍣ㄦ暟鎹�
-            //鑾峰彇杩戝崐灏忔椂鏍稿璁惧鏁版嵁
+            //鑾峰彇杩戝崐灏忔椂鐢垫簮鏁版嵁锛屾暣娴佸櫒鏁版嵁锛屾牳瀹硅澶囨暟鎹紙鎺ㄩ�佸疄鏃讹紝鎺ュ彛鏌ヨ鏈�杩戝崐灏忔椂鏁版嵁锛�
+            PwrdevAcdcdata pwrdevAcdcdata = pwrdevAcdcdataService.getPwrRealInfo(realDto.getPowerId());
+            map.put("pwrdevAcdcdata",pwrdevAcdcdata);
             return new Response().setII(1,true,map,"绯荤粺姒傝堪鎺ㄩ��");
         }catch (Exception e) {
             e.printStackTrace();

--
Gitblit v1.9.1