whyclxw
2025-06-04 e9e0e12c5d855b587784c4b1c3c86975d3b7df6f
实施页面系统概论半小时数据
7个文件已修改
5个文件已添加
335 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/RealContoller.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/StatisticController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/Real/BattHisRealDto.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/Real/PwrHisRealAcInDto.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/Real/PwrHisRealDcoutInDto.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/Statistic/StationStic.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/db_data_history/BattRealdataId.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/db_data_history/PwrdevHistorydataId.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattRealdataIdService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/PwrdevHistorydataIdService.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/SubTablePageInfoService.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BattInfMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/RealContoller.java
New file
@@ -0,0 +1,46 @@
package com.whyc.controller;
import com.whyc.dto.Response;
import com.whyc.pojo.db_data_history.PwrdevHistorydataId;
import com.whyc.pojo.db_user.User;
import com.whyc.service.BattRealdataIdService;
import com.whyc.service.PowerInfService;
import com.whyc.service.PwrdevHistorydataIdService;
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("real")
public class RealContoller {
    @Autowired
    private PwrdevHistorydataIdService pwrdevHistorydataIdService;
    @Autowired
    private BattRealdataIdService battRealdataIdService;
    @ApiOperation(value = "系统概览获取半小时交流输入统计")
    @GetMapping("getHalfHourPwrHisAcinData")
    public Response getHalfHourPwrHisAcinData(@RequestParam Integer powerId){
        return pwrdevHistorydataIdService.getHalfHourPwrHisAcinData(powerId);
    }
    @ApiOperation(value = "系统概览获取半小时直流输出统计")
    @GetMapping("getHalfHourPwrHisDcoutData")
    public Response getHalfHourPwrHisDcoutData(@RequestParam Integer powerId){
        return pwrdevHistorydataIdService.getHalfHourPwrHisDcoutData(powerId);
    }
    @ApiOperation(value = "系统概览获取半小时核容设备信息")
    @GetMapping("getHalfHourBattDevData")
    public Response getHalfHourBattDevData(@RequestParam Integer battgroupId){
        return battRealdataIdService.getHalfHourBattDevData(battgroupId);
    }
}
src/main/java/com/whyc/controller/StatisticController.java
@@ -34,7 +34,7 @@
    @Autowired
    private DeviceStateService deviceStateService;
    @ApiOperation(value = "电源信息统计")
    @ApiOperation(value = "电源信息统计(1.2.1/1.2.13)")
    @PostMapping("getPowerStatistic")
    public Response getPowerStatistic(@RequestBody StationStic stic){
        User uinf= ActionUtil.getUser();
@@ -42,7 +42,7 @@
        return powerInfService.getPowerStatistic(stic);
    }
    @ApiOperation(value = "设备信息统计")
    @ApiOperation(value = "设备信息统计(1.2.2)")
    @PostMapping("getDevStatistic")
    public Response getDevStatistic(@RequestBody StationStic stic){
        User uinf= ActionUtil.getUser();
@@ -50,7 +50,7 @@
        return battService.getDevStatistic(stic);
    }
    @ApiOperation(value = "蓄电池组信息统计")
    @ApiOperation(value = "蓄电池组信息统计(1.2.3/1.2.12)")
    @PostMapping("getBattStatistic")
    public Response getBattStatistic(@RequestBody StationStic stic){
        User uinf= ActionUtil.getUser();
@@ -58,7 +58,7 @@
        return battService.getBattStatistic(stic);
    }
    @ApiOperation(value = "单节数量统计")
    @ApiOperation(value = "单节数量统计(1.2.4)")
    @PostMapping("getMonStatistic")
    public Response getMonStatistic(@RequestBody MonStic stic){
        User uinf= ActionUtil.getUser();
@@ -67,7 +67,7 @@
    }
    @ApiOperation(value = "站点信息统计")
    @ApiOperation(value = "站点信息统计(1.2.11)")
    @PostMapping("getStationStatistic")
    public Response getStationStatistic(@RequestBody StationStic stic){
        User uinf= ActionUtil.getUser();
@@ -75,7 +75,7 @@
        return stationInfService.getStationStatistic(stic);
    }
    @ApiOperation(value = "蓄电池核容信息统计")
    @ApiOperation(value = "蓄电池核容信息统计(1.2.14)")
    @PostMapping("getBattTinfStatistic")
    public Response getBattTinfStatistic(@RequestBody BattTinfStic stic){
        User uinf= ActionUtil.getUser();
@@ -83,7 +83,7 @@
        return battTinfService.getBattTinfStatistic(stic);
    }
    @ApiOperation(value = "设备工作状态统计")
    @ApiOperation(value = "设备工作状态统计(1.2.21)")
    @PostMapping("getDeviceStateStatistic")
    public Response getDeviceStateStatistic(@RequestBody DeviceStateStic stic){
        User uinf= ActionUtil.getUser();
src/main/java/com/whyc/dto/Real/BattHisRealDto.java
New file
@@ -0,0 +1,26 @@
package com.whyc.dto.Real;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class BattHisRealDto {
    @ApiModelProperty(value = "记录时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date recordTime;
    @ApiModelProperty(value = "组端电压")
    private Float groupVol;
    @ApiModelProperty(value = "在线电压")
    private Float onlineVol;
    @ApiModelProperty(value = "电池电流")
    private Float groupCurr;
    @ApiModelProperty(value = "设备温度")
    private Float groupTmp;
}
src/main/java/com/whyc/dto/Real/PwrHisRealAcInDto.java
New file
@@ -0,0 +1,52 @@
package com.whyc.dto.Real;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class PwrHisRealAcInDto {
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date recordDatetime;
    @ApiModelProperty(value = "1路交流输入A相电压")
    private Float acin1Vola;
    @ApiModelProperty(value = "1路交流输入B相电压")
    private Float acin1Volb;
    @ApiModelProperty(value = "交流1路输入C相电压")
    private Float acin1Volc;
    @ApiModelProperty(value = "2路交流输入A相电压")
    private Float acin2Vola;
    @ApiModelProperty(value = "2路交流输入B相电压")
    private Float acin2Volb;
    @ApiModelProperty(value = "2路交流输入C相电压")
    private Float acin2Volc;
    @ApiModelProperty(value = "交流1路输入A相电流")
    private Float acin1Curra;
    @ApiModelProperty(value = "交流1路输入B相电流")
    private Float acin1Currb;
    @ApiModelProperty(value = "交流1路输入C相电流")
    private Float acin1Currc;
    @ApiModelProperty(value = "交流2路输入A相电流")
    private Float acin2Curra;
    @ApiModelProperty(value = "交流2路输入B相电流")
    private Float acin2Currb;
    @ApiModelProperty(value = "交流2路输入C相电流")
    private Float acin2Currc;
}
src/main/java/com/whyc/dto/Real/PwrHisRealDcoutInDto.java
New file
@@ -0,0 +1,32 @@
package com.whyc.dto.Real;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class PwrHisRealDcoutInDto {
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date recordDatetime;
    @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;
}
src/main/java/com/whyc/dto/Statistic/StationStic.java
@@ -8,6 +8,8 @@
    private String city;
    private String country;
    private String stationName;
    private String product;
    private Float  monvolstd;
    private Integer uid;
    private String stationType;
    private Integer pageNum;
src/main/java/com/whyc/pojo/db_data_history/BattRealdataId.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -35,7 +36,8 @@
    private Integer battgroupId;
    @ApiModelProperty(value = "记录时间")
    private Date recrodTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date recordTime;
    @ApiModelProperty(value = "组端电压")
    private Float groupVol;
src/main/java/com/whyc/pojo/db_data_history/PwrdevHistorydataId.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -36,6 +37,7 @@
    private Long powerId;
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date recordDatetime;
    @ApiModelProperty(value = "1路交流输入A相电压")
src/main/java/com/whyc/service/BattRealdataIdService.java
@@ -1,17 +1,20 @@
package com.whyc.service;
import com.whyc.dto.Real.BattHisRealDto;
import com.whyc.dto.Real.CompareDto;
import com.whyc.dto.Real.QuarterDto;
import com.whyc.dto.Response;
import com.whyc.mapper.CommonMapper;
import com.whyc.pojo.db_batt_testdata.BattresdataId;
import com.whyc.pojo.db_batt_testdata.BattresdataInf;
import com.whyc.pojo.db_data_history.BattRealdataId;
import com.whyc.pojo.db_station.BattInf;
import com.whyc.util.ActionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -123,10 +126,10 @@
            String date=datelist.get(i);
            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<QuarterDto> datalist=subTablePageInfoService.getBattRealHis(tableName,"mon_tmp");
            map.put(date,datalist);
            //获取表中最大,最小,平均数据值
@@ -149,4 +152,15 @@
        }
        return new Response().setII(1,map.size()>0,map,"获取电池组最近一季度的温度数据");
    }
    //系统概览获取半小时核容设备信息
    public Response getHalfHourBattDevData(Integer battgroupId) {
        String dateTime = ActionUtil.sdfwithOutday.format(new Date());
        String tableName ="db_data_history.tb_batt_realdata_"+battgroupId+"_"+dateTime;
        String existTableName = commonMapper.existTable("db_data_history", "tb_batt_realdata_"+battgroupId+"_"+dateTime);
        if(existTableName == null){
            return new Response().set(1,false,"当前电池组不存在前面小时数据");
        }
        List<BattHisRealDto> datalist=subTablePageInfoService.getHalfHourBattDevData(tableName);
        return new Response().setII(1,datalist.size()>0,datalist,"获取半小时内核容设备信息");
    }
}
src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
New file
@@ -0,0 +1,47 @@
package com.whyc.service;
import com.whyc.dto.Real.PwrHisRealAcInDto;
import com.whyc.dto.Real.PwrHisRealDcoutInDto;
import com.whyc.dto.Response;
import com.whyc.mapper.CommonMapper;
import com.whyc.pojo.db_data_history.BattRealdataId;
import com.whyc.pojo.db_data_history.PwrdevHistorydataId;
import com.whyc.util.ActionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
public class PwrdevHistorydataIdService {
    @Autowired
    private SubTablePageInfoService subTablePageInfoService;
    @Resource
    private CommonMapper commonMapper;
    //系统概览获取半小时交流输入统计
    public Response getHalfHourPwrHisAcinData(Integer powerId) {
        String dateTime = ActionUtil.sdfwithOutday.format(new Date());
        String tableName ="db_data_history.tb_pwrdev_historydata_"+powerId+"_"+dateTime;
        String existTableName = commonMapper.existTable("db_data_history", "tb_pwrdev_historydata_"+powerId+"_"+dateTime);
        if(existTableName == null){
            return new Response().set(1,false,"当前电池组不存在前面小时数据");
        }
        List<PwrHisRealAcInDto> datalist=subTablePageInfoService.getHalfHourPwrHisAcinData(tableName);
        return new Response().setII(1,datalist.size()>0,datalist,"获取半小时内交流输入统计");
    }
    //系统概览获取半小时直流输出统计
    public Response getHalfHourPwrHisDcoutData(Integer powerId) {
        String dateTime = ActionUtil.sdfwithOutday.format(new Date());
        String tableName ="db_data_history.tb_pwrdev_historydata_"+powerId+"_"+dateTime;
        String existTableName = commonMapper.existTable("db_data_history", "tb_pwrdev_historydata_"+powerId+"_"+dateTime);
        if(existTableName == null){
            return new Response().set(1,false,"当前电源不存在前面小时数据");
        }
        List<PwrHisRealDcoutInDto> datalist=subTablePageInfoService.getHalfHourPwrHisDcoutData(tableName);
        return new Response().setII(1,datalist.size()>0,datalist,"获取半小时内直流输出统计");
    }
}
src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -3,12 +3,13 @@
import com.whyc.dto.AlmHis.BattAlmPar;
import com.whyc.dto.AlmHis.DevAlmPar;
import com.whyc.dto.AlmHis.PwrAlmPar;
import com.whyc.dto.Real.CompareDto;
import com.whyc.dto.Real.QuarterDto;
import com.whyc.dto.Real.*;
import com.whyc.mapper.CallBack;
import com.whyc.pojo.db_alarm.BattalarmDataHistory;
import com.whyc.pojo.db_alarm.DevalarmDataHistory;
import com.whyc.pojo.db_batt_testdata.BatttestdataId;
import com.whyc.pojo.db_data_history.BattRealdataId;
import com.whyc.pojo.db_data_history.PwrdevHistorydataId;
import com.whyc.pojo.db_pwrdev_alarm.PwrdevAlarmHistory;
import com.whyc.util.ThreadLocalUtil;
import org.springframework.beans.factory.annotation.Autowired;
@@ -557,4 +558,84 @@
        });
        return list;
    }
    //系统概览获取半小时核容设备信息
    public List<BattHisRealDto> getHalfHourBattDevData(String tableName) {
        String sql="select  distinct mon_num,record_time,group_vol,online_vol,group_curr,group_tmp from "+tableName+" ";
        sql+="where record_time>date_sub(now(),interval 0.5 hour)";
        sql+="order by record_time asc";
        List<BattHisRealDto> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
            @Override
            public List getResults(ResultSet rs) throws SQLException {
                List<BattHisRealDto> list=new ArrayList<>();
                while (rs.next()){
                    BattHisRealDto data=new BattHisRealDto();
                    data.setRecordTime(rs.getTimestamp("record_time"));
                    data.setGroupVol(rs.getFloat("group_vol"));
                    data.setOnlineVol(rs.getFloat("online_vol"));
                    data.setGroupCurr(rs.getFloat("group_curr"));
                    data.setGroupTmp(rs.getFloat("group_tmp"));
                    list.add(data);
                }
                return list;
            }
        });
        return list;
    }
    //系统概览获取半小时交流输入统计
    public List<PwrHisRealAcInDto> getHalfHourPwrHisAcinData(String tableName) {
        String sql="select  distinct record_datetime,acin1_vola,acin1_volb,acin1_volc,acin2_vola,acin2_volb,acin2_volc " +
                ",acin1_curra,acin1_currb,acin1_currc,acin2_curra,acin2_currb,acin2_currc  from "+tableName+" ";
        sql+="where record_datetime>date_sub(now(),interval 0.5 hour)";
        sql+="order by record_datetime asc";
        List<PwrHisRealAcInDto> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
            @Override
            public List getResults(ResultSet rs) throws SQLException {
                List<PwrHisRealAcInDto> list=new ArrayList<>();
                while (rs.next()){
                    PwrHisRealAcInDto data=new PwrHisRealAcInDto();
                    data.setRecordDatetime(rs.getTimestamp("record_datetime"));
                    data.setAcin1Vola(rs.getFloat("acin1_vola"));
                    data.setAcin1Volb(rs.getFloat("acin1_volb"));
                    data.setAcin1Volc(rs.getFloat("acin1_volc"));
                    data.setAcin2Vola(rs.getFloat("acin2_vola"));
                    data.setAcin2Volb(rs.getFloat("acin2_volb"));
                    data.setAcin2Volc(rs.getFloat("acin2_volc"));
                    data.setAcin1Curra(rs.getFloat("acin1_curra"));
                    data.setAcin1Currb(rs.getFloat("acin1_currb"));
                    data.setAcin1Currc(rs.getFloat("acin1_currc"));
                    data.setAcin2Curra(rs.getFloat("acin2_curra"));
                    data.setAcin2Currb(rs.getFloat("acin2_currb"));
                    data.setAcin2Currc(rs.getFloat("acin2_currc"));
                    list.add(data);
                }
                return list;
            }
        });
        return list;
    }
    public List<PwrHisRealDcoutInDto> getHalfHourPwrHisDcoutData(String tableName) {
        String sql="select  distinct record_datetime,dcout_vol,dcout_curr,battgroup1_vol,battgroup1_curr,battgroup2_vol,battgroup2_curr from "+tableName+" ";
        sql+="where record_datetime>date_sub(now(),interval 0.5 hour)";
        sql+="order by record_datetime asc";
        List<PwrHisRealDcoutInDto> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
            @Override
            public List getResults(ResultSet rs) throws SQLException {
                List<PwrHisRealDcoutInDto> list=new ArrayList<>();
                while (rs.next()){
                    PwrHisRealDcoutInDto data=new PwrHisRealDcoutInDto();
                    data.setRecordDatetime(rs.getTimestamp("record_datetime"));
                    data.setDcoutVol(rs.getFloat("dcout_vol"));
                    data.setDcoutCurr(rs.getFloat("dcout_curr"));
                    data.setBattgroup1Vol(rs.getFloat("battgroup1_vol"));
                    data.setBattgroup1Curr(rs.getFloat("battgroup1_curr"));
                    data.setBattgroup2Vol(rs.getFloat("battgroup2_vol"));
                    data.setBattgroup2Curr(rs.getFloat("battgroup2_curr"));
                    list.add(data);
                }
                return list;
            }
        });
        return list;
    }
}
src/main/resources/mapper/BattInfMapper.xml
@@ -163,6 +163,15 @@
            <if test="stic.stationName!=null">
                and tb_station_inf.station_name=#{stic.stationName}
            </if>
            <if test="stic.stationType!=null">
                and tb_station_inf.station_type=#{stic.stationType}
            </if>
            <if test="stic.product!=null">
                and tb_batt_inf.product=#{stic.product}
            </if>
            <if test="stic.monvolstd!=null">
                and tb_batt_inf.monvolstd=#{stic.monvolstd}
            </if>
            <if test="stic.uid>100">
                and tb_batt_inf.station_id in(
                select distinct station_id from db_user.tb_baojigroup_power,db_user.tb_baojigroup_usr