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