whycxzp
2025-04-10 f26dc28abc0f5efc0ab0143d3554474ebbc6c169
提交电池告警参数,电池实时数据历史和电源实时数据历史
2个文件已修改
6个文件已添加
625 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/BattRealTimeDataHistoryController.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/PowerRealTimeDataHistoryController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/db_power_history/BattRealTimeDataHistory.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/db_power_history/PowerRealTimeDataHistory.java 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattRealTimeDataHistoryService.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/PowerRealTimeDataHistoryService.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/SubTableService.java 217 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/util/SubTablePageInfoUtil.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/BattRealTimeDataHistoryController.java
New file
@@ -0,0 +1,28 @@
package com.whyc.controller;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.Response;
import com.whyc.service.BattRealTimeDataHistoryService;
import io.swagger.annotations.Api;
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;
import java.text.ParseException;
@RestController
@Api(tags = "电池实时数据历史")
@RequestMapping("battRealTimeDataHistory")
public class BattRealTimeDataHistoryController {
    @Autowired
    private BattRealTimeDataHistoryService service;
    @GetMapping("getPage")
    public Response<PageInfo> getPage(@RequestParam  int pageNum,@RequestParam int pageSize, @RequestParam int battGroupId,
                                                               @RequestParam String startTime,@RequestParam String endTime) throws ParseException, InterruptedException {
        return service.getPage(pageNum,pageSize,battGroupId,startTime,endTime);
    }
}
src/main/java/com/whyc/controller/PowerRealTimeDataHistoryController.java
New file
@@ -0,0 +1,29 @@
package com.whyc.controller;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.Response;
import com.whyc.service.BattRealTimeDataHistoryService;
import com.whyc.service.PowerRealTimeDataHistoryService;
import io.swagger.annotations.Api;
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;
import java.text.ParseException;
@RestController
@Api(tags = "电源实时数据历史")
@RequestMapping("powerRealTimeDataHistory")
public class PowerRealTimeDataHistoryController {
    @Autowired
    private PowerRealTimeDataHistoryService service;
    @GetMapping("getPage")
    public Response<PageInfo> getPage(@RequestParam  int pageNum,@RequestParam int pageSize, @RequestParam int powerId,
                                                               @RequestParam String startTime,@RequestParam String endTime) throws ParseException, InterruptedException {
        return service.getPage(pageNum,pageSize,powerId,startTime,endTime);
    }
}
src/main/java/com/whyc/pojo/db_power_history/BattRealTimeDataHistory.java
New file
@@ -0,0 +1,43 @@
package com.whyc.pojo.db_power_history;
import lombok.Data;
import lombok.ToString;
import java.util.Date;
/**
 * 电池实时数据历史
 */
@Data
@ToString
public class BattRealTimeDataHistory {
    private Integer num;
    private Integer battGroupId;
    private Date recordTime;
    private Float onlineVol;
    private Float groupVol;
    private Float groupTmp;
    private Float groupCurr;
    private Integer battState;
    private Date testStartTime;
    private Float battTestType;
    private Integer battTestLong;
    private Float battTestCap;
    private Float battRealCap;
    private Integer monNum;
    private Float monVol;
    private Float monTmp;
    private Float monRes;
    private Float monSer;
    private Float monConnRes;
    private Date startTime;
    private Date endTime;
    private String recordYearMonth;
    private Integer limitStart;
    private Integer limitEnd;
}
src/main/java/com/whyc/pojo/db_power_history/PowerRealTimeDataHistory.java
New file
@@ -0,0 +1,204 @@
package com.whyc.pojo.db_power_history;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import java.util.Date;
/**
 * 电源实时数据历史
 */
@Data
@ToString
public class PowerRealTimeDataHistory {
    private Integer num;
    private Integer powerId;
    private Integer devType;
    private Date recordTime;
    @ApiModelProperty("充电机输出电压")
    private Float charOutVol;
    @ApiModelProperty("充电机输出电流")
    private Float charOutCurr;
    @ApiModelProperty("蓄电池电压(整组)")
    private Float groupVol;
    @ApiModelProperty("蓄电池电流(整组)")
    private Float groupCurr;
    @ApiModelProperty("蓄电池温度(整组)")
    private Float groupTmp;
    @ApiModelProperty("控制母线电压")
    private Float busVol;
    @ApiModelProperty("一路交流A相电压")
    private Float ac1VolA;
    @ApiModelProperty("一路交流B相电压")
    private Float ac1VolB;
    @ApiModelProperty("一路交流C相电压")
    private Float ac1VolC;
    @ApiModelProperty("二路交流A相电压")
    private Float ac2VolA;
    @ApiModelProperty("二路交流B相电压")
    private Float ac2VolB;
    @ApiModelProperty("二路交流C相电压")
    private Float ac2VolC;
    @ApiModelProperty("绝缘监测母线正对地电压")
    private Float busVolPositive;
    @ApiModelProperty("绝缘监测母线负对地电压")
    private Float busVolNegative;
    @ApiModelProperty("绝缘监测母线正对地电阻")
    private Float busResPositive;
    @ApiModelProperty("绝缘监测母线负对地电阻")
    private Float busResNegative;
    @ApiModelProperty("充电机均充/浮充(0:浮充 ;1:均充)")
    private Integer charJunFloat;
    @ApiModelProperty("充电机开机/关机(0:关机 1:开机)")
    private Integer charOpenClose;
    @ApiModelProperty("充电机模块异常/正常(0:正常 1:异常)")
    private Integer charModelError;
    @ApiModelProperty("充电机输出过压/正常(0:正常 1:过压)")
    private Integer charOutOverVol;
    @ApiModelProperty("充电机输出欠压/正常(0:正常 1:欠压)")
    private Integer charOutLessVol;
    @ApiModelProperty("蓄电池组过压/正常(0:正常  1:过压)")
    private Integer battOverVol;
    @ApiModelProperty("蓄电池组欠压/正常(0:正常 1:过压)")
    private Integer battLessVol;
    @ApiModelProperty("蓄电池组单节电池过压/正常(0:正常 1:过压)")
    private Integer battMonOverVol;
    @ApiModelProperty("蓄电池组单节电池欠压/正常(0:正常 1:欠压)")
    private Integer battMonLessVol;
    @ApiModelProperty("蓄电池充放电状态(0:充电 1:放电)")
    private Integer battState;
    @ApiModelProperty("控母过压/正常(0:正常 1:过压)")
    private Integer controlBusOverVol;
    @ApiModelProperty("控母欠压/正常(0:正常 1:欠压)")
    private Integer controlBusLessVol;
    @ApiModelProperty("绝缘母线电压异常/正常(0:正常 1:异常)")
    private Integer insualBusVolError;
    @ApiModelProperty("控母正母线绝缘异常/正常(0:正常 1:异常)")
    private Integer controlBusPositiveError;
    @ApiModelProperty("控母负母线绝缘异常/正常(0:正常 1:异常)")
    private Integer controlBusNegativeError;
    @ApiModelProperty("绝缘母线交流窜入电压过压/正常(0:正常 1:过压)")
    private Integer insualBusAcVolOverVol;
    @ApiModelProperty("电池巡检仪异常/正常(0:正常 1:异常)")
    private Integer battPatrolDetectorError;
    @ApiModelProperty("绝缘异常(0:正常 1:异常)")
    private Integer insualError;
    @ApiModelProperty("1#充1#交流进线开关QF11(0:退出  1:投入)")
    private Integer acIn1Qf11;
    @ApiModelProperty("1#充2#交流进线开关QF12(0:退出  1:投入)")
    private Integer acIn1Qf12;
    @ApiModelProperty("1#充输出至Ⅰ段母线开关DK11(0:退出  1:投入)")
    private Integer charOutBusDk11;
    @ApiModelProperty("1#充输出至1组电池开关DK12(0:退出  1:投入)")
    private Integer charOutBattDk12;
    @ApiModelProperty("2组蓄电池输出开关2QF1(0:退出  1:投入)")
    private Integer battOutQf1;
    @ApiModelProperty("母联开关1lzk(0:退出 1:投入)")
    private Integer busSwitchN1lzk;
    @ApiModelProperty("1#交流故障(0:退出  1:投入)")
    private Integer ac1Fault;
    @ApiModelProperty("2#交流故障(0:退出  1:投入)")
    private Integer ac2Fault;
    @ApiModelProperty("主开关故障(0:退出  1:投入)")
    private Integer mainSwitchFault;
    @ApiModelProperty("馈线脱扣故障(0:退出 1:投入)")
    private Integer feederTripFault;
    @ApiModelProperty("防雷器故障(0:退出 1:投入)")
    private Integer thunderFault;
    @ApiModelProperty("二段馈线盒通讯故障[bit0-1#馈线盒通讯故障  bit1-2#馈线盒通讯故障 ...  bit7-8#馈线盒通讯故障]")
    private Integer feedersCommFault;
    @ApiModelProperty("二段7-9号机组直流系统1#馈线柜馈线开关状态[bit0-ZK201 bit1-ZK202 ... bit5-ZK206]")
    private Integer dcFeeder7To9Switch1;
    @ApiModelProperty("二段7号机组直流分电柜馈线开关状态[bit0-ZK201 bit1-ZK202 bit29-ZK230]")
    private Integer dcFeeder7Switch;
    @ApiModelProperty("一段7号机组直流分电柜一段母线1#进线开关ZK11")
    private Integer dcFeeder7Bus1Zk11;
    @ApiModelProperty("一段7号机组直流分电柜一段母线2#进线开关ZK12")
    private Integer dcFeeder7Bus2Zk12;
    @ApiModelProperty("二段8号机组直流分电柜馈线开关[bit0-馈线开关ZK201 bit1-馈线开关ZK202 ... bit29-馈线开关ZK230 ]")
    private Integer dcFeeder8Switch;
    @ApiModelProperty("一段8号机直流分电柜一段母线1#进线开关ZK11")
    private Integer dcFeeder8Bus1Zk11;
    @ApiModelProperty("一段8号机直流分电柜一段母线2#进线开关ZK12")
    private Integer dcFeeder8Bus2Zk12;
    @ApiModelProperty("二段9号机组直流分电柜馈线开关[bit0-馈线开关ZK201 bit1-馈线开关ZK202... bit29-馈线开关ZK230]")
    private Integer dcFeeder9Switch;
    @ApiModelProperty("一段9号机组直流分电柜一段母线1#进线开关ZK11")
    private Integer dcFeeder9Bus1Zk11;
    @ApiModelProperty("一段9号机组直流分电柜一段母线2#进线开关ZK12")
    private Integer dcFeeder9Bus2Zk12;
    @ApiModelProperty("一段7号机组交流分电柜馈线开关[bit0-馈线开关Q101 bit1-馈线开关Q102... bit29-馈线开关Q130]")
    private Integer acFeeder7Switch;
    @ApiModelProperty("一段7号机组交流分电柜1#交流进线开关Q11")
    private Integer acFeeder7AcIn1Q11;
    @ApiModelProperty("一段7号机组交流分电柜2#交流进线开关Q12")
    private Integer acFeeder7AcIn2Q12;
    @ApiModelProperty("一段7号机组交流分电柜1#交流进线故障")
    private Integer acFeeder7AcIn1Fault;
    @ApiModelProperty("一段7号机组交流分电柜2#交流进线故障")
    private Integer acFeeder7AcIn2Fault;
    @ApiModelProperty("一段9号机组交流分电柜馈线开关[bit0-馈线开关Q101 bit1-馈线开关Q102 bit29-馈线开关Q130]")
    private Integer acFeeder9Switch;
    @ApiModelProperty("一段9号机组交流分电柜1#交流进线开关Q11")
    private Integer acFeeder9AcIn1Q11;
    @ApiModelProperty("一段9号机组交流分电柜2#交流进线开关Q12")
    private Integer acFeeder9AcIn2Q12;
    @ApiModelProperty("一段9号机组交流分电柜1#交流进线故障")
    private Integer acFeeder9AcIn1Fault;
    @ApiModelProperty("一段9号机组交流分电柜2#交流进线故障")
    private Integer acFeeder9AcIn2Fault;
    @ApiModelProperty("二段绝缘监测仪分机通信状态[bit0-1#绝缘监测仪 bit1-2#绝缘监测仪 bit3-3#绝缘监测仪](0-正常 1-故障)")
    private Integer insualCommFault;
    @ApiModelProperty("二段绝缘监测仪分机绝缘状态[bit0-1#绝缘监测仪 bit1-23绝缘监测仪 bit2-3#绝缘监测仪](0-正常 1-故障)")
    private Integer insualInsualFault;
    @ApiModelProperty("二段绝缘监测仪主机通信状态[0-正常 1-故障]")
    private Integer insualMiainCommFault;
    @ApiModelProperty("2#充1#交流进线开关QF21(0:退出  1:投入)")
    private Integer acIn2Qf21;
    @ApiModelProperty("2#充2#交流进线开关QF22(0:退出  1:投入)")
    private Integer acIn2Qf22;
    @ApiModelProperty("2#充输出至Ⅰ段母线开关DK21(0:退出  1:投入)")
    private Integer charOutBusDk21;
    @ApiModelProperty("2#充输出至1组电池开关DK22(0:退出  1:投入)")
    private Integer charOutBattDk22;
    @ApiModelProperty("二段7号机组直流分电柜二段母线1#进线开关ZK21")
    private Integer dcFeeder7Bus1Zk21;
    @ApiModelProperty("二段7号机组直流分电柜二段母线2#进线开关ZK22")
    private Integer dcFeeder7Bus2Zk22;
    @ApiModelProperty("二段8号机直流分电柜二段母线1#进线开关ZK21")
    private Integer dcFeeder8Bus1Zk21;
    @ApiModelProperty("二段8号机直流分电柜二段母线2#进线开关ZK22")
    private Integer dcFeeder8Bus2Zk22;
    @ApiModelProperty("二段9号机组直流分电柜二段母线1#进线开关ZK21")
    private Integer dcFeeder9Bus1Zk21;
    @ApiModelProperty("二段9号机组直流分电柜二段母线2#进线开关ZK22")
    private Integer dcFeeder9Bus2Zk22;
    @ApiModelProperty("二段8号机组交流分电柜馈线开关[bit0-馈线开关Q101 bit1-馈线开关Q102... bit29-馈线开关Q130]")
    private Integer acFeeder8Switch;
    @ApiModelProperty("二段8号机组交流分电柜1#交流进线开关Q11")
    private Integer acFeeder8AcIn1Q11;
    @ApiModelProperty("二段8号机组交流分电柜2#交流进线开关Q12")
    private Integer acFeeder8AcIn2Q12;
    @ApiModelProperty("二段8号机组交流分电柜1#交流进线故障")
    private Integer acFeeder8AcIn1Fault;
    @ApiModelProperty("二段8号机组交流分电柜2#交流进线故障")
    private Integer acFeeder8AcIn2Fault;
    @ApiModelProperty("3#充1#交流进线开关QF31(0:退出  1:投入)")
    private Integer acIn3Qf31;
    @ApiModelProperty("3#充2#交流进线开关QF32(0:退出  1:投入)")
    private Integer acIn3Qf32;
    @ApiModelProperty("3#充投向1组电池开关DK31(0:退出  1:投入)")
    private Integer charOutBatt1Dk31;
    @ApiModelProperty("3#充投向2组电池开关DK31(0:退出  1:投入)")
    private Integer charOutBatt2Dk31;
    private Date startTime;
    private Date endTime;
    private String recordYearMonth;
    private int limitStart;
    private int limitEnd;
}
src/main/java/com/whyc/service/BattRealTimeDataHistoryService.java
New file
@@ -0,0 +1,31 @@
package com.whyc.service;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.Response;
import com.whyc.pojo.db_power_history.BattRealTimeDataHistory;
import com.whyc.util.SubTablePageInfoUtil;
import com.whyc.util.ThreadLocalUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.ParseException;
@Service
public class BattRealTimeDataHistoryService {
    @Autowired
    private SubTablePageInfoUtil subTablePageInfoUtil;
    public Response<PageInfo> getPage(int pageNum, int pageSize, int battGroupId,
                                                               String startTime, String endTime) throws ParseException, InterruptedException {
        PageInfo<Object> pageInfo = subTablePageInfoUtil.getPageInfoByMonthTable(pageNum, pageSize,
                ThreadLocalUtil.parse(startTime, 1), ThreadLocalUtil.parse(endTime, 1),
                "db_power_history",
                "tb_batt_realdata_" + battGroupId,
                new BattRealTimeDataHistory()
        );
        return new Response<PageInfo>().set(1, pageInfo);
    }
}
src/main/java/com/whyc/service/PowerRealTimeDataHistoryService.java
New file
@@ -0,0 +1,29 @@
package com.whyc.service;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.Response;
import com.whyc.pojo.db_power_history.PowerRealTimeDataHistory;
import com.whyc.util.SubTablePageInfoUtil;
import com.whyc.util.ThreadLocalUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.ParseException;
@Service
public class PowerRealTimeDataHistoryService {
    @Autowired
    private SubTablePageInfoUtil subTablePageInfoUtil;
    public Response<PageInfo> getPage(int pageNum, int pageSize, int powerId, String startTime, String endTime) throws ParseException, InterruptedException {
        PageInfo<Object> pageInfo = subTablePageInfoUtil.getPageInfoByMonthTable(pageNum, pageSize,
                ThreadLocalUtil.parse(startTime, 1), ThreadLocalUtil.parse(endTime, 1),
                "db_power_history",
                "tb_power_realdata_" + powerId,
                new PowerRealTimeDataHistory()
        );
        return new Response<PageInfo>().set(1, pageInfo);
    }
}
src/main/java/com/whyc/service/SubTableService.java
@@ -6,7 +6,9 @@
import com.whyc.pojo.db_alarm.DevLithiumAlarmDataYear;
import com.whyc.pojo.db_dis_batt.BattTestInfData;
import com.whyc.pojo.db_power_alarm.PowerAlarmHistory;
import com.whyc.pojo.db_power_history.BattRealTimeDataHistory;
import com.whyc.pojo.db_power_history.BattStationTempHistory;
import com.whyc.pojo.db_power_history.PowerRealTimeDataHistory;
import com.whyc.util.ActionUtil;
import com.whyc.util.ThreadLocalUtil;
import org.springframework.beans.factory.annotation.Autowired;
@@ -189,6 +191,221 @@
        });
        return list;
    }
    public int getBattRealTimeDataHisCount(BattRealTimeDataHistory tempHistory) {
        String sql="select count(1) as number from db_power_history."+tempHistory.getRecordYearMonth()+" where 1=1 ";
        if(tempHistory.getStartTime()!=null){
            sql+=" and record_time  >='"+ ThreadLocalUtil.format(tempHistory.getStartTime(),1)+"' ";
        }
        if(tempHistory.getEndTime()!=null){
            sql+=" and record_time  <='"+ThreadLocalUtil.format(tempHistory.getEndTime(),1)+"' ";
        }
        List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
            @Override
            public List getResults(ResultSet rs) throws SQLException {
                LinkedList<Object> temp = new LinkedList<>();
                try {
                    while (rs.next())
                        temp.add(rs.getInt("number"));
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                return temp;
            }
        });
        int num =0;
        if(list!=null){
            num= (int) list.get(0);
        }
        return num;
    }
    public int getPowerRealTimeDataHisCount(PowerRealTimeDataHistory tempHistory) {
        String sql="select count(1) as number from db_power_history."+tempHistory.getRecordYearMonth()+" where 1=1 ";
        if(tempHistory.getStartTime()!=null){
            sql+=" and record_time  >='"+ ThreadLocalUtil.format(tempHistory.getStartTime(),1)+"' ";
        }
        if(tempHistory.getEndTime()!=null){
            sql+=" and record_time  <='"+ThreadLocalUtil.format(tempHistory.getEndTime(),1)+"' ";
        }
        List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
            @Override
            public List getResults(ResultSet rs) throws SQLException {
                LinkedList<Object> temp = new LinkedList<>();
                try {
                    while (rs.next())
                        temp.add(rs.getInt("number"));
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                return temp;
            }
        });
        int num =0;
        if(list!=null){
            num= (int) list.get(0);
        }
        return num;
    }
    public List<BattRealTimeDataHistory> getBattRealTimeDataHisList(BattRealTimeDataHistory tempHistory) {
        String sql="select * from db_power_history."+tempHistory.getRecordYearMonth()+" where 1=1 ";
        if(tempHistory.getStartTime()!=null){
            sql+=" and record_time  >='"+ ThreadLocalUtil.format(tempHistory.getStartTime(),1)+"' ";
        }
        if(tempHistory.getEndTime()!=null){
            sql+=" and record_time  <='"+ThreadLocalUtil.format(tempHistory.getEndTime(),1)+"' ";
        }
        sql+="  ORDER BY record_time desc  limit "+ tempHistory.getLimitStart()+","+ tempHistory.getLimitEnd()+" ";
        List<BattRealTimeDataHistory> list=sqlExecuteService.executeQuery_call(sql, new CallBack() {
            @Override
            public List getResults(ResultSet rs) throws SQLException {
                List<BattRealTimeDataHistory> list=new ArrayList();
                while (rs.next()){
                    BattRealTimeDataHistory data=new BattRealTimeDataHistory();
                    data.setBattGroupId(rs.getInt("binf_id"));
                    data.setRecordTime(rs.getTimestamp("record_time"));
                    data.setOnlineVol(rs.getFloat("online_vol"));
                    data.setGroupVol(rs.getFloat("group_vol"));
                    data.setGroupTmp(rs.getFloat("group_tmp"));
                    data.setGroupCurr(rs.getFloat("group_curr"));
                    data.setBattState(rs.getInt("batt_state"));
                    data.setTestStartTime(rs.getTimestamp("test_start_time"));
                    data.setBattTestType(rs.getFloat("batt_test_type"));
                    data.setBattTestLong(rs.getInt("batt_test_tlong"));
                    data.setBattTestCap(rs.getFloat("batt_test_cap"));
                    data.setBattRealCap(rs.getFloat("batt_real_cap"));
                    data.setMonNum(rs.getInt("mon_num"));
                    data.setMonVol(rs.getFloat("mon_vol"));
                    data.setMonTmp(rs.getFloat("mon_tmp"));
                    data.setMonRes(rs.getFloat("mon_res"));
                    data.setMonSer(rs.getFloat("mon_ser"));
                    data.setMonConnRes(rs.getFloat("mon_conn_res"));
                    list.add(data);
                }
                return list;
            }
        });
        return list;
    }
    public List<PowerRealTimeDataHistory> getPowerRealTimeDataHisList(PowerRealTimeDataHistory tempHistory) {
        String sql="select * from db_power_history."+tempHistory.getRecordYearMonth()+" where 1=1 ";
        if(tempHistory.getStartTime()!=null){
            sql+=" and record_time  >='"+ ThreadLocalUtil.format(tempHistory.getStartTime(),1)+"' ";
        }
        if(tempHistory.getEndTime()!=null){
            sql+=" and record_time  <='"+ThreadLocalUtil.format(tempHistory.getEndTime(),1)+"' ";
        }
        sql+="  ORDER BY record_time desc  limit "+ tempHistory.getLimitStart()+","+ tempHistory.getLimitEnd()+" ";
        List<PowerRealTimeDataHistory> list=sqlExecuteService.executeQuery_call(sql, new CallBack() {
            @Override
            public List getResults(ResultSet rs) throws SQLException {
                List<PowerRealTimeDataHistory> list=new ArrayList();
                while (rs.next()){
                    PowerRealTimeDataHistory data=new PowerRealTimeDataHistory();
                    data.setPowerId(rs.getInt("power_id"));
                    data.setDevType(rs.getInt("dev_type"));
                    data.setRecordTime(rs.getTimestamp("record_time"));
                    data.setCharOutVol(rs.getFloat("char_out_vol"));
                    data.setCharOutCurr(rs.getFloat("char_out_curr"));
                    data.setGroupVol(rs.getFloat("group_vol"));
                    data.setGroupCurr(rs.getFloat("group_curr"));
                    data.setGroupTmp(rs.getFloat("group_tmp"));
                    data.setBusVol(rs.getFloat("bus_vol"));
                    data.setAc1VolA(rs.getFloat("ac1_vola"));
                    data.setAc1VolB(rs.getFloat("ac1_volb"));
                    data.setAc1VolC(rs.getFloat("ac1_volc"));
                    data.setAc2VolA(rs.getFloat("ac2_vola"));
                    data.setAc2VolB(rs.getFloat("ac2_volb"));
                    data.setAc2VolC(rs.getFloat("ac2_volc"));
                    data.setBusVolPositive(rs.getFloat("bus_vol_positive"));
                    data.setBusVolNegative(rs.getFloat("bus_vol_negative"));
                    data.setBusResPositive(rs.getFloat("bus_res_positive"));
                    data.setBusResNegative(rs.getFloat("bus_res_negative"));
                    data.setCharJunFloat(rs.getInt("char_jun_float"));
                    data.setCharOpenClose(rs.getInt("char_open_close"));
                    data.setCharModelError(rs.getInt("char_model_error"));
                    data.setCharOutOverVol(rs.getInt("char_out_overvol"));
                    data.setCharOutLessVol(rs.getInt("char_out_lessvol"));
                    data.setBattOverVol(rs.getInt("batt_overvol"));
                    data.setBattLessVol(rs.getInt("batt_lessvol"));
                    data.setBattMonOverVol(rs.getInt("batt_mon_overvol"));
                    data.setBattMonLessVol(rs.getInt("batt_mon_lessvol"));
                    data.setBattState(rs.getInt("batt_state"));
                    data.setControlBusOverVol(rs.getInt("control_bus_overvol"));
                    data.setControlBusLessVol(rs.getInt("control_bus_lessvol"));
                    data.setInsualBusVolError(rs.getInt("insual_bus_vol_error"));
                    data.setControlBusPositiveError(rs.getInt("control_bus_positive_error"));
                    data.setControlBusNegativeError(rs.getInt("control_bus_negative_error"));
                    data.setInsualBusAcVolOverVol(rs.getInt("insual_bus_acvol_overvol"));
                    data.setBattPatrolDetectorError(rs.getInt("batt_patrol_detector_error"));
                    data.setInsualError(rs.getInt("insual_error"));
                    data.setAcIn1Qf11(rs.getInt("acin1_qf11"));
                    data.setAcIn1Qf12(rs.getInt("acin1_qf12"));
                    data.setCharOutBusDk11(rs.getInt("char_out_bus_dk11"));
                    data.setCharOutBattDk12(rs.getInt("char_out_batt_dk12"));
                    data.setBattOutQf1(rs.getInt("batt_out_qf1"));
                    data.setBusSwitchN1lzk(rs.getInt("bus_switch_n1lzk"));
                    data.setAc1Fault(rs.getInt("ac1_fault"));
                    data.setAc2Fault(rs.getInt("ac2_fault"));
                    data.setMainSwitchFault(rs.getInt("main_switch_fault"));
                    data.setFeederTripFault(rs.getInt("feeder_trip_fault"));
                    data.setThunderFault(rs.getInt("thunder_fault"));
                    data.setFeedersCommFault(rs.getInt("feeders_comm_fault"));
                    data.setDcFeeder7To9Switch1(rs.getInt("dc_feeder7to9_switch1"));
                    data.setDcFeeder7Switch(rs.getInt("dc_feeder7_switch"));
                    data.setDcFeeder7Bus1Zk11(rs.getInt("dc_feeder7_bus1_zk11"));
                    data.setDcFeeder7Bus2Zk12(rs.getInt("dc_feeder7_bus2_zk12"));
                    data.setDcFeeder8Switch(rs.getInt("dc_feeder8_switch"));
                    data.setDcFeeder8Bus1Zk11(rs.getInt("dc_feeder8_bus1_zk11"));
                    data.setDcFeeder8Bus2Zk12(rs.getInt("dc_feeder8_bus2_zk12"));
                    data.setDcFeeder9Switch(rs.getInt("dc_feeder9_switch"));
                    data.setDcFeeder9Bus1Zk11(rs.getInt("dc_feeder9_bus1_zk11"));
                    data.setDcFeeder9Bus2Zk12(rs.getInt("dc_feeder9_bus2_zk12"));
                    data.setAcFeeder7Switch(rs.getInt("ac_feeder7_switch"));
                    data.setAcFeeder7AcIn1Q11(rs.getInt("ac_feeder7_acin1_q11"));
                    data.setAcFeeder7AcIn2Q12(rs.getInt("ac_feeder7_acin2_q12"));
                    data.setAcFeeder7AcIn1Fault(rs.getInt("ac_feeder7_acin1_fault"));
                    data.setAcFeeder7AcIn2Fault(rs.getInt("ac_feeder7_acin2_fault"));
                    data.setAcFeeder9Switch(rs.getInt("ac_feeder9_switch"));
                    data.setAcFeeder9AcIn1Q11(rs.getInt("ac_feeder9_acin1_q11"));
                    data.setAcFeeder9AcIn2Q12(rs.getInt("ac_feeder9_acin2_q12"));
                    data.setAcFeeder9AcIn1Fault(rs.getInt("ac_feeder9_acin1_fault"));
                    data.setAcFeeder9AcIn2Fault(rs.getInt("ac_feeder9_acin2_fault"));
                    data.setInsualCommFault(rs.getInt("insual_comm_fault"));
                    data.setInsualInsualFault(rs.getInt("insual_insual_fault"));
                    data.setInsualMiainCommFault(rs.getInt("insual_miain_comm_fault"));
                    data.setAcIn2Qf21(rs.getInt("acin2_qf21"));
                    data.setAcIn2Qf22(rs.getInt("acin2_qf22"));
                    data.setCharOutBusDk21(rs.getInt("char_out_bus_dk21"));
                    data.setCharOutBattDk22(rs.getInt("char_out_batt_dk22"));
                    data.setDcFeeder7Bus1Zk21(rs.getInt("dc_feeder7_bus1_zk21"));
                    data.setDcFeeder7Bus2Zk22(rs.getInt("dc_feeder7_bus2_zk22"));
                    data.setDcFeeder8Bus1Zk21(rs.getInt("dc_feeder8_bus1_zk21"));
                    data.setDcFeeder8Bus2Zk22(rs.getInt("dc_feeder8_bus2_zk22"));
                    data.setDcFeeder9Bus1Zk21(rs.getInt("dc_feeder9_bus1_zk21"));
                    data.setDcFeeder9Bus2Zk22(rs.getInt("dc_feeder9_bus2_zk22"));
                    data.setAcFeeder8Switch(rs.getInt("ac_feeder8_switch"));
                    data.setAcFeeder8AcIn1Q11(rs.getInt("ac_feeder8_acin1_q11"));
                    data.setAcFeeder8AcIn2Q12(rs.getInt("ac_feeder8_acin2_q12"));
                    data.setAcFeeder8AcIn1Fault(rs.getInt("ac_feeder8_acin1_fault"));
                    data.setAcFeeder8AcIn2Fault(rs.getInt("ac_feeder8_acin2_fault"));
                    data.setAcIn3Qf31(rs.getInt("acin3_qf31"));
                    data.setAcIn3Qf32(rs.getInt("acin3_qf32"));
                    data.setCharOutBatt1Dk31(rs.getInt("char_out_batt1_dk31"));
                    data.setCharOutBatt2Dk31(rs.getInt("char_out_batt2_dk31"));
                    list.add(data);
                }
                return list;
            }
        });
        return list;
    }
    //电源告警历史实时计算每张表查询总数
    public int getPowerHisCount(PowerAlarmHistory powerAlarmHistory) {
        String sql="SELECT  count(*) as number FROM db_power_alarm."+ powerAlarmHistory.getRecordYear()+" history " +
src/main/java/com/whyc/util/SubTablePageInfoUtil.java
@@ -9,7 +9,9 @@
import com.whyc.pojo.db_alarm.DevLithiumAlarmDataYear;
import com.whyc.pojo.db_lithium_ram_db.DevLithiumInf;
import com.whyc.pojo.db_power_alarm.PowerAlarmHistory;
import com.whyc.pojo.db_power_history.BattRealTimeDataHistory;
import com.whyc.pojo.db_power_history.BattStationTempHistory;
import com.whyc.pojo.db_power_history.PowerRealTimeDataHistory;
import com.whyc.pojo.db_user.UserInf;
import com.whyc.service.DevLithiumInfService;
import com.whyc.service.SubTableService;
@@ -229,6 +231,23 @@
                    int currentCount = service.getBattStationTempHisCount(tempHistory);
                    queryCountMap.put(tableYear, currentCount);
                }
                else if (pojo instanceof BattRealTimeDataHistory) {
                    BattRealTimeDataHistory tempHistory = new BattRealTimeDataHistory();
                    tempHistory.setStartTime(queryTime.get(0));
                    tempHistory.setEndTime(queryTime.get(1));
                    tempHistory.setRecordYearMonth(tableName);
                    int currentCount = service.getBattRealTimeDataHisCount(tempHistory);
                    queryCountMap.put(tableYear, currentCount);
                }
                else if (pojo instanceof PowerRealTimeDataHistory) {
                    PowerRealTimeDataHistory tempHistory = new PowerRealTimeDataHistory();
                    tempHistory.setStartTime(queryTime.get(0));
                    tempHistory.setEndTime(queryTime.get(1));
                    tempHistory.setRecordYearMonth(tableName);
                    int currentCount = service.getPowerRealTimeDataHisCount(tempHistory);
                    queryCountMap.put(tableYear, currentCount);
                }
                latch.countDown();
            });
        }
@@ -278,7 +297,8 @@
                battAlarmHistory.setLimitEnd(limitList.get(1));
                List<BattAlarmHistory> list =  service.getBattHisList(battAlarmHistory);
                dataList.addAll(list);
            }else if (pojo instanceof BattStationTempHistory){
            }
            else if (pojo instanceof BattStationTempHistory){
                BattStationTempHistory tempHistory = new BattStationTempHistory();
                tempHistory.setStartTime(queryTime.get(0));
                tempHistory.setEndTime(queryTime.get(1));
@@ -289,6 +309,28 @@
                List<BattStationTempHistory> list =  service.getBattStationTempHisList(tempHistory);
                dataList.addAll(list);
            }
            else if (pojo instanceof BattRealTimeDataHistory){
                BattRealTimeDataHistory tempHistory = new BattRealTimeDataHistory();
                tempHistory.setStartTime(queryTime.get(0));
                tempHistory.setEndTime(queryTime.get(1));
                tempHistory.setRecordYearMonth(recordYear);
                List<Integer> limitList = tableAndLimitMap.get(key);
                tempHistory.setLimitStart(limitList.get(0));
                tempHistory.setLimitEnd(limitList.get(1));
                List<BattRealTimeDataHistory> list =  service.getBattRealTimeDataHisList(tempHistory);
                dataList.addAll(list);
            }
            else if (pojo instanceof PowerRealTimeDataHistory){
                PowerRealTimeDataHistory tempHistory = new PowerRealTimeDataHistory();
                tempHistory.setStartTime(queryTime.get(0));
                tempHistory.setEndTime(queryTime.get(1));
                tempHistory.setRecordYearMonth(recordYear);
                List<Integer> limitList = tableAndLimitMap.get(key);
                tempHistory.setLimitStart(limitList.get(0));
                tempHistory.setLimitEnd(limitList.get(1));
                List<PowerRealTimeDataHistory> list =  service.getPowerRealTimeDataHisList(tempHistory);
                dataList.addAll(list);
            }
        }
        pageInfo.setList(dataList);
        return pageInfo;