| New file |
| | |
| | | package com.fgkj.dao.impl;
|
| | |
|
| | | import java.sql.ResultSet;
|
| | | import java.sql.SQLException;
|
| | | import java.text.ParseException;
|
| | | import java.text.SimpleDateFormat;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Date;
|
| | | import java.util.List;
|
| | |
|
| | | import com.fgkj.actions.ActionUtil;
|
| | | import com.fgkj.dao.AlarmDaoFactory;
|
| | | import com.fgkj.dao.BaseDAO;
|
| | | import com.fgkj.dao.CallBack;
|
| | | import com.fgkj.dao.DAOHelper;
|
| | | import com.fgkj.db.DBUtil;
|
| | | import com.fgkj.dto.BattInf;
|
| | | import com.fgkj.dto.Batt_Maint_Dealarm;
|
| | | import com.fgkj.dto.Batt_devalarm_data_history;
|
| | | import com.fgkj.dto.Bts_station_event;
|
| | | import com.fgkj.dto.Page;
|
| | | import com.fgkj.dto.User_inf;
|
| | |
|
| | | public class Bts_station_eventImpl implements BaseDAO,CallBack{
|
| | |
|
| | | public List getResults(ResultSet rs) {
|
| | | // TODO Auto-generated method stub
|
| | | return null;
|
| | | }
|
| | |
|
| | | public boolean add(Object obj) {
|
| | | // TODO Auto-generated method stub
|
| | | return false;
|
| | | }
|
| | |
|
| | | public boolean update(Object obj) {
|
| | | // TODO Auto-generated method stub
|
| | | return false;
|
| | | }
|
| | |
|
| | | public boolean del(Object obj) {
|
| | | // TODO Auto-generated method stub
|
| | | return false;
|
| | | }
|
| | |
|
| | | public List searchAll() {
|
| | | // TODO Auto-generated method stub
|
| | | return null;
|
| | | }
|
| | | //机房事件统计
|
| | | public List serchByCondition(Object obj) {
|
| | | final BattInf binf=(BattInf) obj;
|
| | | String sql="select station_id,dev_id,station_event_type,record_datetime,station_event_trig ,tb_battinf.StationName,tb_battinf.StationName1,tb_battinf.StationName2,tb_battinf.StationName3 " +
|
| | | " from db_alarm.tb_bts_station_event,db_battinf.tb_battinf " +
|
| | | " where tb_bts_station_event.dev_id=tb_battinf.FBSDeviceId " +
|
| | | " and record_datetime>=? and record_datetime<=? " +
|
| | | " and stationname1 like ? and stationname2 like ? and stationname3 like ? and stationid like ? " ;
|
| | | /*//事件筛选
|
| | | String eventSqlT=" and station_event_type!=? ";
|
| | | String eventSqlF=" and station_event_type=? ";
|
| | | if(binf.getNum()==0){
|
| | | sql+=eventSqlT;
|
| | | }else{
|
| | | sql+=eventSqlF;
|
| | | }*/
|
| | | //事件唯一
|
| | | String onlySql=" and station_event_trig=1 ";
|
| | | sql+=onlySql;
|
| | | //排序
|
| | | String orderSql=" order by station_id,record_datetime,station_event_type asc ";
|
| | | sql+=orderSql;
|
| | | System.err.println(sql);
|
| | | List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getBattInUseDate(),binf.getBattInUseDate1(),"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName3()+"%","%"+binf.getStationId()+"%"}, new CallBack() {
|
| | | |
| | | public List getResults(ResultSet rs) {
|
| | | List list=new ArrayList();
|
| | | int STATION_EVENT_TYPE_POFF=0; //基站停电
|
| | | int STATION_EVENT_TYPE_XUHANG=0; //基站续航
|
| | | int STATION_EVENT_TYPE_FADIAN=0; //基站发电
|
| | | int STATION_EVENT_TYPE_DOOROPEN=0; //基站开门
|
| | | int STATION_EVENT_TYPE_DIAOZHAN=0; //基站掉站
|
| | | int STATION_EVENT_TYPE_TEMPUP=0; //基站温度上限 |
| | | int STATION_EVENT_TYPE_TEMPLOW=0; //基站温度下限
|
| | | int STATION_EVENT_TYPE_DAMPUP=0; //基站湿度上限
|
| | | int STATION_EVENT_TYPE_DAMPLOW=0; //基站湿度下限
|
| | | int dev_id=0;
|
| | | int alm_type=0;
|
| | | // 时间段
|
| | | String perid_Time = "";
|
| | | //机房名称
|
| | | String stationName="";
|
| | | try {
|
| | | while(rs.next()){
|
| | | int dev_ids=rs.getInt("dev_id");
|
| | | int alm_types=rs.getInt("station_event_type");
|
| | | String stationNames=rs.getString("stationName");
|
| | | // 年份,季度,月份
|
| | | Date dev_recordtime = rs.getTimestamp("record_datetime");
|
| | | // 获取具体年份,月份和该月的总天数
|
| | | int year = dev_recordtime.getYear() + 1900;
|
| | | int month = dev_recordtime.getMonth() + 1;
|
| | | String perid_Times="";
|
| | | if(binf.getBattGroupNum()==1){//月统计
|
| | | perid_Times = ActionUtil.getFirstDayOfMonth(year, month - 1);
|
| | | perid_Times += "~";
|
| | | perid_Times += ActionUtil.getLastDayOfMonth(year, month - 1);
|
| | | }else if (binf.getBattGroupNum()==3) {// 按年份
|
| | | perid_Times = ActionUtil.getFirstDayOfMonth(year, 0);
|
| | | perid_Times += "~";
|
| | | perid_Times += ActionUtil.getLastDayOfMonth(year, 11);
|
| | | }
|
| | | if(perid_Times.equals(perid_Time)){
|
| | | if(dev_ids==dev_id){
|
| | | if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_POFF){
|
| | | STATION_EVENT_TYPE_POFF+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_XUHANG){
|
| | | STATION_EVENT_TYPE_XUHANG+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_FADIAN){
|
| | | STATION_EVENT_TYPE_FADIAN+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DIAOZHAN){
|
| | | STATION_EVENT_TYPE_DIAOZHAN+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DOOROPEN){
|
| | | STATION_EVENT_TYPE_DOOROPEN+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_TEMPUP){
|
| | | STATION_EVENT_TYPE_TEMPUP+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_TEMPLOW){
|
| | | STATION_EVENT_TYPE_TEMPLOW+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DAMPUP){
|
| | | STATION_EVENT_TYPE_DAMPUP+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DAMPLOW){
|
| | | STATION_EVENT_TYPE_DAMPLOW+=1;
|
| | | }
|
| | | |
| | | }else{
|
| | | Bts_station_event bevent=new Bts_station_event();
|
| | | bevent.setStationName(stationName);
|
| | | bevent.setDev_id(dev_id);
|
| | | bevent.setStation_event_type_xuhang(STATION_EVENT_TYPE_XUHANG);
|
| | | bevent.setStation_event_type_poff(STATION_EVENT_TYPE_POFF);
|
| | | bevent.setStation_event_type_fadian(STATION_EVENT_TYPE_FADIAN);
|
| | | bevent.setStation_event_type_diaozhan(STATION_EVENT_TYPE_DIAOZHAN);
|
| | | bevent.setStation_event_type_dooropen(STATION_EVENT_TYPE_DOOROPEN);
|
| | | |
| | | bevent.setStation_event_type_tempup(STATION_EVENT_TYPE_TEMPUP);
|
| | | bevent.setStation_event_type_templow(STATION_EVENT_TYPE_TEMPLOW);
|
| | | bevent.setStation_event_type_dampup(STATION_EVENT_TYPE_DAMPUP);
|
| | | bevent.setNote(String.valueOf(STATION_EVENT_TYPE_DAMPLOW));
|
| | | |
| | | bevent.setNote(perid_Time);
|
| | | list.add(bevent);
|
| | | stationName=stationNames;
|
| | | dev_id=dev_ids;
|
| | | |
| | | |
| | | STATION_EVENT_TYPE_POFF=0;
|
| | | STATION_EVENT_TYPE_XUHANG=0;
|
| | | STATION_EVENT_TYPE_FADIAN=0;
|
| | | STATION_EVENT_TYPE_DIAOZHAN=0;
|
| | | STATION_EVENT_TYPE_DOOROPEN=0;
|
| | | STATION_EVENT_TYPE_TEMPUP =0; //基站温度上限告警
|
| | | STATION_EVENT_TYPE_TEMPLOW = 0; //基站温度下限告警
|
| | | STATION_EVENT_TYPE_DAMPUP = 0; //基站湿度上限告警
|
| | | STATION_EVENT_TYPE_DAMPLOW = 0; //基站湿度下限告警
|
| | | if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_POFF){
|
| | | STATION_EVENT_TYPE_POFF+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_XUHANG){
|
| | | STATION_EVENT_TYPE_XUHANG+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_FADIAN){
|
| | | STATION_EVENT_TYPE_FADIAN+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DIAOZHAN){
|
| | | STATION_EVENT_TYPE_DIAOZHAN+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DOOROPEN){
|
| | | STATION_EVENT_TYPE_DOOROPEN+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_TEMPUP){
|
| | | STATION_EVENT_TYPE_TEMPUP+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_TEMPLOW){
|
| | | STATION_EVENT_TYPE_TEMPLOW+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DAMPUP){
|
| | | STATION_EVENT_TYPE_DAMPUP+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DAMPLOW){
|
| | | STATION_EVENT_TYPE_DAMPLOW+=1;
|
| | | }
|
| | | }
|
| | | }else{ |
| | | if(perid_Time.equals("")){
|
| | | if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_POFF){
|
| | | STATION_EVENT_TYPE_POFF+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_XUHANG){
|
| | | STATION_EVENT_TYPE_XUHANG+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_FADIAN){
|
| | | STATION_EVENT_TYPE_FADIAN+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DIAOZHAN){
|
| | | STATION_EVENT_TYPE_DIAOZHAN+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DOOROPEN){
|
| | | STATION_EVENT_TYPE_DOOROPEN+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_TEMPUP){
|
| | | STATION_EVENT_TYPE_TEMPUP+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_TEMPLOW){
|
| | | STATION_EVENT_TYPE_TEMPLOW+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DAMPUP){
|
| | | STATION_EVENT_TYPE_DAMPUP+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DAMPLOW){
|
| | | STATION_EVENT_TYPE_DAMPLOW+=1;
|
| | | }
|
| | | perid_Time=perid_Times;
|
| | | dev_id=dev_ids;
|
| | | stationName=stationNames;
|
| | | continue;
|
| | | }
|
| | | Bts_station_event bevent=new Bts_station_event();
|
| | | bevent.setStationName(stationName);
|
| | | bevent.setDev_id(dev_id);
|
| | | bevent.setStation_event_type_xuhang(STATION_EVENT_TYPE_XUHANG);
|
| | | bevent.setStation_event_type_poff(STATION_EVENT_TYPE_POFF);
|
| | | bevent.setStation_event_type_fadian(STATION_EVENT_TYPE_FADIAN);
|
| | | bevent.setStation_event_type_diaozhan(STATION_EVENT_TYPE_DIAOZHAN);
|
| | | bevent.setStation_event_type_dooropen(STATION_EVENT_TYPE_DOOROPEN);
|
| | | |
| | | bevent.setStation_event_type_tempup(STATION_EVENT_TYPE_TEMPUP);
|
| | | bevent.setStation_event_type_templow(STATION_EVENT_TYPE_TEMPLOW);
|
| | | bevent.setStation_event_type_dampup(STATION_EVENT_TYPE_DAMPUP);
|
| | | bevent.setNote(String.valueOf(STATION_EVENT_TYPE_DAMPLOW));
|
| | | |
| | | bevent.setNote(perid_Time);
|
| | | //System.out.println(2+" "+dalarm.getDev_ip()+" "+dalarm.getDev_id()+" "+dalarm.getNum()+" "+dalarm.getRecord_id()+" "+dalarm.getAlm_type()+" "+dalarm.getAlm_level()+" "+dalarm.getStationName());
|
| | | list.add(bevent);
|
| | | STATION_EVENT_TYPE_POFF=0;
|
| | | STATION_EVENT_TYPE_XUHANG=0;
|
| | | STATION_EVENT_TYPE_FADIAN=0;
|
| | | STATION_EVENT_TYPE_DIAOZHAN=0;
|
| | | STATION_EVENT_TYPE_DOOROPEN=0;
|
| | | STATION_EVENT_TYPE_TEMPUP =0; //基站温度上限告警
|
| | | STATION_EVENT_TYPE_TEMPLOW = 0; //基站温度下限告警
|
| | | STATION_EVENT_TYPE_DAMPUP = 0; //基站湿度上限告警
|
| | | STATION_EVENT_TYPE_DAMPLOW = 0; //基站湿度下限告警
|
| | | if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_POFF){
|
| | | STATION_EVENT_TYPE_POFF+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_XUHANG){
|
| | | STATION_EVENT_TYPE_XUHANG+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_FADIAN){
|
| | | STATION_EVENT_TYPE_FADIAN+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DIAOZHAN){
|
| | | STATION_EVENT_TYPE_DIAOZHAN+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DOOROPEN){
|
| | | STATION_EVENT_TYPE_DOOROPEN+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_TEMPUP){
|
| | | STATION_EVENT_TYPE_TEMPUP+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_TEMPLOW){
|
| | | STATION_EVENT_TYPE_TEMPLOW+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DAMPUP){
|
| | | STATION_EVENT_TYPE_DAMPUP+=1;
|
| | | }else if(alm_types==AlarmDaoFactory.STATION_EVENT_TYPE_DAMPLOW){
|
| | | STATION_EVENT_TYPE_DAMPLOW+=1;
|
| | | }
|
| | | dev_id=dev_ids;
|
| | | stationName=stationNames;
|
| | | perid_Time=perid_Times;
|
| | | |
| | | |
| | | }
|
| | | if(rs.isLast()){
|
| | | Bts_station_event bevent=new Bts_station_event();
|
| | | bevent.setStationName(stationName);
|
| | | bevent.setDev_id(dev_id);
|
| | | bevent.setStation_event_type_xuhang(STATION_EVENT_TYPE_XUHANG);
|
| | | bevent.setStation_event_type_poff(STATION_EVENT_TYPE_POFF);
|
| | | bevent.setStation_event_type_fadian(STATION_EVENT_TYPE_FADIAN);
|
| | | bevent.setStation_event_type_diaozhan(STATION_EVENT_TYPE_DIAOZHAN);
|
| | | bevent.setStation_event_type_dooropen(STATION_EVENT_TYPE_DOOROPEN);
|
| | | |
| | | bevent.setStation_event_type_tempup(STATION_EVENT_TYPE_TEMPUP);
|
| | | bevent.setStation_event_type_templow(STATION_EVENT_TYPE_TEMPLOW);
|
| | | bevent.setStation_event_type_dampup(STATION_EVENT_TYPE_DAMPUP);
|
| | | bevent.setNote(String.valueOf(STATION_EVENT_TYPE_DAMPLOW));
|
| | | |
| | | bevent.setNote(perid_Time);
|
| | | list.add(bevent);
|
| | | }
|
| | | }
|
| | | } catch (SQLException e) {
|
| | | // TODO Auto-generated catch block
|
| | | e.printStackTrace();
|
| | | }
|
| | | return list;
|
| | | }
|
| | | });
|
| | | return list;
|
| | | }
|
| | | //机房事件统计(详情)
|
| | | public List serchByInfo(Object obj) {
|
| | | Bts_station_event bevent=(Bts_station_event) obj;
|
| | | String sql="select station_id,dev_id,station_event_type,record_datetime,station_event_trig ,tb_battinf.StationName,tb_battinf.StationName1,tb_battinf.StationName2,tb_battinf.StationName3 " +
|
| | | " from tb_bts_station_event,db_battinf.tb_battinf " +
|
| | | " where tb_bts_station_event.dev_id=tb_battinf.FBSDeviceId " +
|
| | | " and dev_id=? " +
|
| | | " and record_datetime>=? and record_datetime<=? " +
|
| | | " order by station_id,station_event_type,record_datetime,station_event_trig asc ";
|
| | | List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{bevent.getDev_id(),bevent.getRecord_datetime(),bevent.getRecord_datetime_end()}, new CallBack() {
|
| | | |
| | | public List getResults(ResultSet rs) {
|
| | | List list=new ArrayList();
|
| | | try {
|
| | | while(rs.next()){
|
| | | Bts_station_event b=new Bts_station_event();
|
| | | b.setStation_id(rs.getInt("station_id"));
|
| | | b.setDev_id(rs.getInt("dev_id"));
|
| | | b.setRecord_datetime(rs.getTimestamp("record_datetime"));
|
| | | b.setStation_event_type(rs.getInt("station_event_type"));
|
| | | b.setStation_event_trig(rs.getInt("station_event_trig"));
|
| | | b.setStationName(rs.getString("stationName"));
|
| | | list.add(b);
|
| | | }
|
| | | } catch (SQLException e) {
|
| | | // TODO Auto-generated catch block
|
| | | e.printStackTrace();
|
| | | }
|
| | | return list;
|
| | | }
|
| | | });
|
| | | return list;
|
| | | }
|
| | | public static void main(String[] args) throws ParseException {
|
| | | Bts_station_eventImpl bimpl=new Bts_station_eventImpl();
|
| | | Page p = new Page();
|
| | | p.setPageCurr(1);
|
| | | p.setPageSize(10);
|
| | | /*条件所存放的位置前台:tb_batt_maint_inf |
| | | * 在线电压:usr_id |
| | | * 组端电压:fault_type_id
|
| | | * 充电电流:fault_level |
| | | * 放电电流:record_uid |
| | | * 单体电压:maint_type_id |
| | | * 单体温度:maint_done
|
| | | * 单体内阻:maint_close |
| | | * 连接条阻抗:master_id
|
| | | * */
|
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
| | | Date date1 = sdf.parse("2000-01-01 00:00:00");
|
| | | Date date2 = sdf.parse("2020-01-01 00:00:00");
|
| | | |
| | | |
| | | BattInf binf = new BattInf();
|
| | | binf.setNum(0);
|
| | | binf.setStationName("");
|
| | | binf.setStationName1("");
|
| | | binf.setStationName2("");
|
| | | binf.setStationName3("");
|
| | | binf.setStationId("");
|
| | | binf.setBattGroupNum(1);
|
| | | binf.setBattInUseDate(ActionUtil.getSimpDate(date1));
|
| | | binf.setBattInUseDate1(ActionUtil.getSimpDate(date2));
|
| | | |
| | | User_inf uinf=new User_inf();
|
| | | uinf.setUId(1002);
|
| | | Batt_Maint_Dealarm bmd = new Batt_Maint_Dealarm();
|
| | | bmd.setPage(p);
|
| | | bmd.setBinf(binf);
|
| | | bmd.setUinf(uinf);
|
| | | List<Bts_station_event> list=bimpl.serchByCondition(binf);
|
| | | System.out.println(list.size());
|
| | | for (Bts_station_event b : list) {
|
| | | System.out.println(b.getNote()+" "+b.getDev_id()+" "+b.getStation_event_type_poff()+" "+b.getStation_event_type_xuhang()+" "+b.getStation_event_type_fadian()+" "+b.getStation_event_type_diaozhan()+" "+b.getStation_event_type_dooropen()+" "+b.getStation_event_type_tempup()+" "+b.getStation_event_type_templow()+" "+b.getStation_event_type_dampup()+" "+b.getStation_event_type_damplow()+" "+b.getStationName());
|
| | | }
|
| | | }
|
| | |
|
| | | }
|