src/main/java/com/whyc/controller/InterFaceController.java
@@ -44,5 +44,11 @@ public Response getPowerAlarm(@RequestBody InterfaceParam interfaceParam){ return service.getPwrdevAlarm(interfaceParam.getPowerDeviceIds()); } @PostMapping("/getRealtime") @ApiOperation("获取实时数据") public Response getRealtime(@RequestBody InterfaceParam interfaceParam){ return service.getRealTime(interfaceParam); } } src/main/java/com/whyc/mapper/BattRtdataMapper.java
@@ -1,7 +1,7 @@ package com.whyc.mapper; import com.whyc.pojo.BattRtdata; import com.whyc.pojo.BattRtstate; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -19,4 +19,7 @@ int updateByPrimaryKey(BattRtdata record); //3D查询机房下电池组单体信息 List<BattRtdata> getStation3D(String stationId); //第三方接口 查询单体实时 List<BattRtdata> getRealtime(@Param("stationIds") List stationIds); } src/main/java/com/whyc/mapper/BattRtstateMapper.java
@@ -1,7 +1,6 @@ package com.whyc.mapper; import com.whyc.dto.BattState; import com.whyc.dto.BattMaintDealarm; import com.whyc.pojo.BattRtstate; import com.whyc.pojo.Battinf; import org.apache.ibatis.annotations.Param; @@ -33,4 +32,7 @@ ////3D查询机房下电池组端信息 List<BattRtstate> getStation3D(String stationId); //第三方接口查询太供30楼实时数据 List<BattRtstate> getRealtime(@Param("battgroupIds")List battgroupIds); } src/main/java/com/whyc/mapper/Fbs9100StateMapper.java
@@ -11,5 +11,9 @@ List<Fbs9100State> getList(Integer deviceId, Integer workState, Long uId); List<Fbs9100State> search6185NuclearCap(int uId); //第三方接口太供30楼 List<Fbs9100State> getRealtime(@Param("deviceIds")List deviceIds); } src/main/java/com/whyc/mapper/PwrdevAcdcdataMapper.java
@@ -4,6 +4,10 @@ import com.whyc.pojo.PwrdevAcdcdata; import org.apache.ibatis.annotations.Param; import java.util.List; public interface PwrdevAcdcdataMapper extends CustomMapper<PwrdevAcdcdata>{ PwrdevAcdcdata getInfo(@Param("powerDeviceId") int powerDeviceId); //第三方接口 查询太供30楼实时电源 List<PwrdevAcdcdata> getPowerRealtime(@Param("powerDeviceIds") List powerDeviceIds); } src/main/java/com/whyc/mapper/PwrdevAlarmMapper.java
@@ -3,6 +3,7 @@ import com.whyc.pojo.PwrdevAlarm; import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; public interface PwrdevAlarmMapper extends CustomMapper<PwrdevAlarm>{ @@ -18,6 +19,8 @@ List<PwrdevAlarm> getAllPage2(PwrdevAlarm pwrdevAlarm); int getSeriousAlarmCount(int uId); //电源实时告警-首页foot List<PwrdevAlarm> getRealAlarmFoot(Date yesterday, int uId); } src/main/java/com/whyc/pojo/PwrdevAcdcdata.java
@@ -43,59 +43,59 @@ @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") @TableField(value = "record_datetime2",exist = false) private Date recordDatetime2; @ApiModelProperty("第1路交流A相输入电压") @TableField("acIn1_volA") private Float acin1Vola; @ApiModelProperty("第1路交流B相输入电压") @TableField("acIn1_volB") private Float acin1Volb; @ApiModelProperty("第1路交流C相输入电压") @TableField("acIn1_volC") private Float acin1Volc; @ApiModelProperty("第2路交流A相输入电压") @TableField("acIn2_volA") private Float acin2Vola; @ApiModelProperty("第2路交流B相输入电压") @TableField("acIn2_volB") private Float acin2Volb; @ApiModelProperty("第2路交流C相输入电压") @TableField("acIn2_volC") private Float acin2Volc; @ApiModelProperty("交流A相输出电压") @TableField("acOut_volA") private Float acoutVola; @ApiModelProperty("交流B相输出电压") @TableField("acOut_volB") private Float acoutVolb; @ApiModelProperty("交流C相输出电压") @TableField("acOut_volC") private Float acoutVolc; @ApiModelProperty("交流A相输出电流") @TableField("acOut_currA") private Float acoutCurra; @ApiModelProperty("交流B相输出电流") @TableField("acOut_currB") private Float acoutCurrb; @ApiModelProperty("交流C相输出电流") @TableField("acOut_currC") private Float acoutCurrc; @ApiModelProperty("直流输出电压") @TableField("dcOut_vol") private Float dcoutVol; @ApiModelProperty("直流输出电流") @TableField("dcOut_curr") private Float dcoutCurr; @ApiModelProperty("蓄电池组1充电电压") private Float battgroup1Vol; @ApiModelProperty("蓄电池组1充电电流") private Float battgroup1Curr; @ApiModelProperty("蓄电池组2充电电压") private Float battgroup2Vol; @ApiModelProperty("蓄电池组1充电电流") private Float battgroup2Curr; @ApiModelProperty("交流配电柜温度") private Float temprature; @ApiModelProperty("模块输出电压") private Float mOutputvol; @TableField("m1_outCurr") @@ -175,16 +175,16 @@ @TableField("is_acIn1_thunder_err") private Integer isAcin1ThunderErr; @ApiModelProperty("交流输入1停电") @TableField("is_acIn1_powerdown") private Integer isAcin1Powerdown; @ApiModelProperty("第2路交流A相过压") @TableField("is_acIn2_over_volA") private Integer isAcin2OverVola; @ApiModelProperty("第2路交流A相欠压") @TableField("is_acIn2_under_volA") private Integer isAcin2UnderVola; @ApiModelProperty("第2路交流A相缺相") @TableField("is_acIn2_less_A") private Integer isAcin2LessA; @@ -205,29 +205,29 @@ @TableField("is_acIn2_less_C") private Integer isAcin2LessC; @ApiModelProperty("交流输入2防雷器故障") @TableField("is_acIn2_thunder_err") private Integer isAcin2ThunderErr; @TableField("is_acIn2_powerdown") private Integer isAcin2Powerdown; @ApiModelProperty("监控单元故障") @TableField("is_acIn_monitorerr") private Integer isAcinMonitorerr; @ApiModelProperty("直流输出过压") @TableField("is_dcOut_over_vol") private Integer isDcoutOverVol; @ApiModelProperty("直流输出欠压") @TableField("is_dcOut_under_vol") private Integer isDcoutUnderVol; @ApiModelProperty("电池组下电保护告警") private Integer isBattgroupDown; @ApiModelProperty("均/浮充状态") private Integer isJunCharge; @ApiModelProperty("模块1故障") @TableField("is_acdcMod1_err") private Integer isAcdcmod1Err; @ApiModelProperty("模块1开/关机") @TableField("is_acdcMod1_off") private Integer isAcdcmod1Off; @@ -323,18 +323,18 @@ @TableField("is_acIn1_trip") private Integer isAcin1Trip; @ApiModelProperty("第2路交流输入开关跳闸") @TableField("is_acIn2_trip") private Integer isAcin2Trip; @ApiModelProperty("负载熔丝状态") private Integer isLoaderFuse; @ApiModelProperty("电池组1熔丝告警") private Integer isBattgroup1Fuse; @ApiModelProperty("电池组2熔丝告警") private Integer isBattgroup2Fuse; @ApiModelProperty("高频开关电源柜总告警") private Integer isTotalAlarm; @ApiModelProperty("第1路交流A相输入电流") @TableField("acIn1_currA") private Float acin1Curra; @@ -343,7 +343,7 @@ @TableField("acIn1_currC") private Float acin1Currc; @ApiModelProperty("负载电流") private Float loaderCurr; private Float battgroup1Ah; @@ -353,9 +353,9 @@ private Float battgroup2Ah; private Float battgroup2Temp; @ApiModelProperty("高频开关电源柜温度") private Float acdcmTemp; @ApiModelProperty("模块1输出电压") private Float m1OutVol; private Float m2OutVol; src/main/java/com/whyc/service/BattalarmDataService.java
@@ -344,7 +344,21 @@ lista.add(data); } } List<PwrdevAlarm> pwrAlarmList = pwrdevAlarmMapper.getRealAlarmFoot(yesterday,uId); if (pwrAlarmList!=null && pwrAlarmList.size()>0){ for (PwrdevAlarm pAlarm:pwrAlarmList ) { BattalarmData data=new BattalarmData(); data.setAlarmType("2");//2表示电源告警 data.setAlmId(pAlarm.getAlmType()); data.setStationName(pAlarm.getStationName()); data.setStationName3(pAlarm.getStationName3()); data.setAlmLevel(pAlarm.getAlmLevel()); data.setNum(pAlarm.getNum()); data.setAlmStartTime(pAlarm.getAlmStartTime()); data.setAlarmName(AlarmDaoFactory.getAllAlarmName(pAlarm.getAlmType())); lista.add(data); } } //排序,按照时间或者说是num lista.sort(Comparator.comparing(BattalarmData::getAlmStartTime).reversed()); return new Response().set(1,lista,"查询成功"); src/main/java/com/whyc/service/InterfaceService.java
@@ -3,17 +3,19 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.whyc.dto.AlarmDaoFactory; import com.whyc.dto.InterfaceParam; import com.whyc.dto.Response; import com.whyc.dto.result.AlarmRes; import com.whyc.mapper.*; import com.whyc.pojo.BattalarmData; import com.whyc.pojo.PwrdevAlarm; import com.whyc.pojo.*; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Map; @Slf4j @Service @@ -28,6 +30,14 @@ private PwrdevAlarmMapper pwrdevAlarmMapper; @Resource private DevalarmDataMapper devalarmDataMapper; @Resource private PwrdevAcdcdataMapper pwrdevAcdcdataMapper; @Resource private Fbs9100StateMapper fbs9100StateMapper; @Resource private BattRtdataMapper battRtdataMapper; @Resource private BattRtstateMapper battRtstateMapper; public Response getBattinf(int pageNum,int pageSize){ //分页信息 @@ -87,9 +97,17 @@ return new Response().set(1,list); } public Response getRealTime(){ return null; public Response getRealTime(InterfaceParam param){ List<PwrdevAcdcdata> powerRts = pwrdevAcdcdataMapper.getPowerRealtime(param.getPowerDeviceIds()); List<Fbs9100State> fbs9100States = fbs9100StateMapper.getRealtime(param.getDeviceIds()); List<BattRtdata> battRtDatas = battRtdataMapper.getRealtime(param.getStationIds()); List<BattRtstate> battRtstates = battRtstateMapper.getRealtime(param.getBattgroupIds()); Map<String,Object> map = new HashMap<>(); map.put("powerRts",powerRts); map.put("fbs9100States",fbs9100States); map.put("battRtDatas",battRtDatas); map.put("battRtstates",battRtstates); return new Response().set(1,map); } src/main/java/com/whyc/webSocket/InterfaceRealTimeSocket.java
@@ -41,7 +41,7 @@ @OnMessage public void onMessage(Session session, String message){ InterfaceParam param = ActionUtil.getGson().fromJson(message, InterfaceParam.class); thread = new Thread("Thread_interfacePowerAlarm") { thread = new Thread("Thread_interfaceRealTime") { public void run() { while (runFlag && !isInterrupted()) { Thread thread = currentThread(); @@ -50,7 +50,7 @@ if (session.isOpen()) { //推送信息 synchronized (session) { session.getBasicRemote().sendObject(service.getPwrdevAlarm(param.getPowerDeviceIds())); session.getBasicRemote().sendObject(service.getRealTime(param)); } threadFlagMap.put(thread.getId(),false); } src/main/resources/mapper/BattRtdataMapper.xml
@@ -30,6 +30,15 @@ LEFT outer JOIN db_battinf.tb_battinf on db_battinf.tb_battinf.BattGroupId=db_ram_db.tb_batt_rtdata.BattGroupId where db_battinf.tb_battinf.StationId=#{stationId} </select> <select id="getRealtime" resultType="com.whyc.pojo.BattRtdata"> select db_ram_db.tb_batt_rtdata.* from db_ram_db.tb_batt_rtdata LEFT outer JOIN db_battinf.tb_battinf on db_battinf.tb_battinf.BattGroupId=db_ram_db.tb_batt_rtdata.BattGroupId where db_battinf.tb_battinf.StationId in <foreach collection="stationIds" item="item" separator="," open="(" close=")"> #{item} </foreach> </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> delete from tb_batt_rtdata src/main/resources/mapper/BattRtstateMapper.xml
@@ -372,6 +372,13 @@ LEFT OUTER JOIN db_battinf.tb_battinf on db_battinf.tb_battinf.BattGroupId=db_ram_db.tb_batt_rtstate.BattGroupId where db_battinf.tb_battinf.StationId=#{stationId} </select> <select id="getRealtime" resultType="com.whyc.pojo.BattRtstate"> select * from db_ram_db.tb_batt_rtstate where BattGroupId in <foreach collection="battgroupIds" item="item" separator="," open="(" close=")"> #{item} </foreach> </select> </mapper> src/main/resources/mapper/Fbs9100StateMapper.xml
@@ -87,4 +87,19 @@ and db_battinf.tb_battinf.fbsdeviceId in(select distinct db_battinf.tb_battinf.fbsdeviceId from db_battinf.tb_battinf,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr,db_user.tb_user_inf where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid and db_user.tb_user_inf.uid=#{uId} ) </select> <select id="getRealtime" resultType="com.whyc.pojo.Fbs9100State"> select f.* , b.StationName as station_name, b.FbsDeviceName as device_name FROM db_ram_db.tb_fbs9100_state f, db_battinf.tb_battinf b WHERE b.fbsdeviceId = f.dev_id and f.dev_id in <foreach collection="deviceIds" item="item" separator="," open="(" close=")"> #{item} </foreach> </select> </mapper> src/main/resources/mapper/PwrdevAcdcdataMapper.xml
@@ -11,4 +11,14 @@ </where> </select> <select id="getPowerRealtime" resultType="com.whyc.pojo.PwrdevAcdcdata"> select data.* from db_pwrdev_data_rt.tb_pwrdev_acdcdata data <where> data.PowerDeviceId in <foreach collection="powerDeviceIds" item="item" separator="," open="(" close=")"> #{item} </foreach> </where> </select> </mapper> src/main/resources/mapper/PwrdevAlarmMapper.xml
@@ -163,4 +163,25 @@ and db_user.tb_user_inf.uid=#{uid} ) ; </select> <select id="getRealAlarmFoot" resultType="com.whyc.pojo.PwrdevAlarm"> select alarm.*,inf.StationName,inf.StationName3 from db_pwrdev_alarm.tb_pwrdev_alarm alarm,db_pwrdev_inf.tb_pwrdev_inf inf <where> alarm.PowerDeviceId = inf.PowerDeviceId and alarm.alm_cleared_type=0 and alarm.alm_is_confirmed = 0 and alarm.alm_start_time >= #{yesterday} and inf.StationId in ( select distinct inf.StationId from (select StationId from db_battinf.tb_battinf union select StationId from db_pwrdev_inf.tb_pwrdev_inf ) inf, db_user.tb_user_battgroup_baojigroup_battgroup, db_user.tb_user_battgroup_baojigroup_usr, db_user.tb_user_inf where db_user.tb_user_battgroup_baojigroup_battgroup.StationId=inf.StationId and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid and db_user.tb_user_inf.uid=#{uId} ) </where> ORDER BY alarm.alm_start_time DESC </select> </mapper>