package com.fgkj.dao.impl; import java.sql.Connection; 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.dao.LimitNumberFactory; import com.fgkj.db.DBUtil; import com.fgkj.db.IDatabaseName; import com.fgkj.dto.BattInf; import com.fgkj.dto.Batt_Maint_Dealarm; import com.fgkj.dto.Batt_devalarm_data; import com.fgkj.dto.Page; import com.fgkj.dto.User_inf; import com.sun.org.apache.bcel.internal.generic.GETSTATIC; public class Batt_devalarm_dataImpl implements BaseDAO,CallBack{ public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_devalarm_data ddata=new Batt_devalarm_data(); ddata.setNum(rs.getInt("num")); ddata.setRecord_id(rs.getInt("record_id")); ddata.setDev_id(rs.getInt("dev_id")); ddata.setDev_ip(rs.getString("dev_ip")); ddata.setAlm_type(rs.getInt("alm_type")); ddata.setAlm_level(rs.getInt("alm_level")); ddata.setAlm_start_time(rs.getTimestamp("alm_start_time")); ddata.setAlm_end_time(rs.getTimestamp("alm_end_time")); ddata.setAlm_is_confirmed(rs.getInt("alm_is_confirmed")); ddata.setAlm_confirmed_time(rs.getTimestamp("alm_confirmed_time")); ddata.setAlm_cleared_type(rs.getInt("alm_cleared_type")); ddata.setUsr_id(rs.getInt("usr_id")); list.add(ddata); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } public boolean add(Object obj) { // TODO Auto-generated method stub return false; } //3.4设备实时告警(确认和取消告警) public boolean update(Object obj) { Batt_devalarm_data ddata=(Batt_devalarm_data) obj; String sql=" UPDATE db_alarm.tb_devalarm_data SET alm_is_confirmed=? WHERE num=? "; boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{ddata.getAlm_is_confirmed(),ddata.getNum()}); return bl; } //3.4设备实时告警/历史告警(删除告警) public boolean del(Object obj) { Batt_devalarm_data ddata=(Batt_devalarm_data) obj; String sql=" DELETE FROM db_alarm.db_alarm.tb_devalarm_data WHERE num=? "; boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{ddata.getNum()}); return bl; } //3.4设备实时告警(确认告警)<多数据修改> public String updatePro(Object obj) { Batt_devalarm_data ddata=(Batt_devalarm_data) obj; String sql=" UPDATE db_alarm.tb_devalarm_data SET alm_is_confirmed="+ddata.getAlm_is_confirmed()+",alm_confirmed_time='"+DAOHelper.sdf.format(ddata.getAlm_confirmed_time())+"' WHERE num="+ddata.getNum(); return sql; } //3.4设备实时告警(取消告警)<多数据修改> public String cancelPro(Object obj) { Batt_devalarm_data ddata=(Batt_devalarm_data) obj; String sql=" UPDATE db_alarm.tb_devalarm_data SET record_id="+ddata.getRecord_id()+",alm_end_time='"+DAOHelper.sdf.format(ddata.getAlm_end_time())+"',alm_cleared_type="+ddata.getAlm_cleared_type()+" WHERE num="+ddata.getNum(); return sql; } //3.4设备实时告警/历史告警(删除告警)<多数据删除> public String delPro(Object obj) { Batt_devalarm_data ddata=(Batt_devalarm_data) obj; String sql=" DELETE FROM db_alarm.tb_devalarm_data WHERE num="+ddata.getNum(); return sql; } public List searchAll() { // TODO Auto-generated method stub return null; } //3.4设备告警历史记录查询 /*时间段放在binf的getBattProductDate中*/ /*public List serchByCondition(Object obj) { Batt_Maint_Dealarm bmd=(Batt_Maint_Dealarm) obj; BattInf binf=bmd.getBinf(); Page page=bmd.getPage(); Connection conn=DBUtil.getConn(); String numberSql=" SELECT FOUND_ROWS() number"; String sql=""; String baseSql=" SELECT SQL_CALC_FOUND_ROWS tb_devalarm_data.num,record_id,dev_id,dev_ip,alm_type,alm_level,alm_start_time,alm_end_time," + " alm_is_confirmed,alm_confirmed_time,alm_cleared_type, " + " DISTINCTbinf.stationName,DISTINCTbinf.FbsDeviceName " + " FROM db_alarm.tb_devalarm_data,(SELECT DISTINCT db_battinf.tb_battinf.FbsDeviceId,db_battinf.tb_battinf.stationName,db_battinf.tb_battinf.FbsDeviceName from db_battinf.tb_battinf where db_battinf.tb_battinf.StationName LIKE ? AND db_battinf.tb_battinf.StationName1 LIKE ? ) as DISTINCTbinf " + " WHERE tb_devalarm_data.dev_id=DISTINCTbinf.FbsDeviceId " + " AND alm_start_time>=? and alm_start_time<=? "; //历史告警 String alarmTypeSql=" AND alm_cleared_type!=0"; baseSql+=alarmTypeSql; //排序 String endSql=" ORDER BY alm_start_time DESC "; //分页 String limitSql=" LIMIT ?,? "; sql=baseSql+endSql+limitSql; List list=DAOHelper.executeQueryLimit(sql, conn,new Object[]{"%"+binf.getStationName()+"%","%"+binf.getStationName1()+"%",binf.getBattProductDate(),binf.getBattProductDate1() ,(page.getPageCurr() - 1)*page.getPageSize() ,page.getPageSize()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_devalarm_data ddata=new Batt_devalarm_data(); ddata.setNum(rs.getInt("num")); ddata.setDev_id(rs.getInt("dev_id")); ddata.setDev_ip(rs.getString("dev_ip")); ddata.setAlm_type(rs.getInt("alm_type")); ddata.setAlm_level(rs.getInt("alm_level")); ddata.setAlm_start_time(rs.getTimestamp("alm_start_time")); ddata.setAlm_end_time(rs.getTimestamp("alm_end_time")); ddata.setAlm_is_confirmed(rs.getInt("alm_is_confirmed")); ddata.setAlm_confirmed_time(rs.getTimestamp("alm_confirmed_time")); ddata.setAlm_cleared_type(rs.getInt("alm_cleared_type")); ddata.setDev_name(rs.getString("FbsDeviceName")); ddata.setStationName(rs.getString("stationName")); list.add(ddata); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); //去掉limit条件后的总数 int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql); //System.out.println("number: "+number); if(list!=null&&list.size()>0){ list.get(list.size()-1).setUsr_id(number); } return list; }*/ public List serchByCondition(Object obj) { Batt_Maint_Dealarm bmd=(Batt_Maint_Dealarm) obj; User_inf uinf=bmd.getUinf(); BattInf binf=bmd.getBinf(); Page page=bmd.getPage(); Connection conn=DBUtil.getConn(); String numberSql=" SELECT FOUND_ROWS() number"; String sql=""; String baseSql=" SELECT SQL_CALC_FOUND_ROWS tb_devalarm_data.num,record_id,dev_id,dev_ip,alm_type,alm_level,alm_start_time,alm_end_time," + " alm_is_confirmed,alm_confirmed_time,alm_cleared_type, " + " DISTINCTbinf.stationName,DISTINCTbinf.FbsDeviceName " + " FROM db_alarm.tb_devalarm_data,(SELECT DISTINCT db_battinf.tb_battinf.FbsDeviceId,db_battinf.tb_battinf.stationName,db_battinf.tb_battinf.FbsDeviceName from db_battinf.tb_battinf where db_battinf.tb_battinf.StationName LIKE ? AND db_battinf.tb_battinf.StationName1 LIKE ? ) as DISTINCTbinf " + " WHERE tb_devalarm_data.dev_id=DISTINCTbinf.FbsDeviceId " + " AND alm_start_time>=? and alm_start_time<=? "; //历史告警 String alarmTypeSql=" AND alm_cleared_type!=0"; baseSql+=alarmTypeSql; //判断是否为管理的机房 String stationSql=" and db_alarm.tb_devalarm_data.dev_id 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=? )"; baseSql+=stationSql; //排序 String endSql=" ORDER BY alm_start_time DESC "; //分页 String limitSql=" LIMIT ?,? "; sql=baseSql+endSql+limitSql; List list=DAOHelper.executeQueryLimit(sql, conn,new Object[]{"%"+binf.getStationName()+"%","%"+binf.getStationName1()+"%",binf.getBattProductDate(),binf.getBattProductDate1() ,uinf.getUId(),(page.getPageCurr() - 1)*page.getPageSize() ,page.getPageSize()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_devalarm_data ddata=new Batt_devalarm_data(); ddata.setNum(rs.getInt("num")); ddata.setDev_id(rs.getInt("dev_id")); ddata.setDev_ip(rs.getString("dev_ip")); ddata.setAlm_type(rs.getInt("alm_type")); ddata.setAlm_level(rs.getInt("alm_level")); ddata.setAlm_start_time(rs.getTimestamp("alm_start_time")); ddata.setAlm_end_time(rs.getTimestamp("alm_end_time")); ddata.setAlm_is_confirmed(rs.getInt("alm_is_confirmed")); ddata.setAlm_confirmed_time(rs.getTimestamp("alm_confirmed_time")); ddata.setAlm_cleared_type(rs.getInt("alm_cleared_type")); ddata.setDev_name(rs.getString("FbsDeviceName")); ddata.setStationName(rs.getString("stationName")); list.add(ddata); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); //去掉limit条件后的总数 int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql); //System.out.println("number: "+number); if(list!=null&&list.size()>0){ list.get(list.size()-1).setUsr_id(number); } return list; } //3.3设备告警实时查询+筛选 /*public List serchByInfo(Object obj) { Batt_devalarm_data ddata=(Batt_devalarm_data) obj; Page page=ddata.getPage(); Connection conn=DBUtil.getConn(); String numberSql=" SELECT FOUND_ROWS() number "; String sql=""; String baseSql=" SELECT SQL_CALC_FOUND_ROWS tb_devalarm_data.num,dev_id,dev_ip,alm_type,alm_level,alm_start_time,alm_end_time," + " alm_is_confirmed,alm_confirmed_time,alm_cleared_type," + " DISTINCTbinf.stationName,DISTINCTbinf.FbsDeviceName " + " FROM db_alarm.tb_devalarm_data,(SELECT DISTINCT db_battinf.tb_battinf.FbsDeviceId,db_battinf.tb_battinf.stationName,db_battinf.tb_battinf.FbsDeviceName from db_battinf.tb_battinf) as DISTINCTbinf " + " WHERE " + " tb_devalarm_data.dev_id=DISTINCTbinf.FbsDeviceId " ; //设备实时告警 String alarmTypeSql=" AND alm_cleared_type=0 "; baseSql+=alarmTypeSql; //排序 String endSql=" ORDER BY alm_start_time DESC "; //分页 String limitSql=" LIMIT ?,? "; sql=baseSql+endSql+limitSql; List list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_devalarm_data ddata=new Batt_devalarm_data(); ddata.setNum(rs.getInt("num")); ddata.setDev_id(rs.getInt("dev_id")); ddata.setDev_ip(rs.getString("dev_ip")); ddata.setAlm_type(rs.getInt("alm_type")); ddata.setAlm_level(rs.getInt("alm_level")); ddata.setAlm_start_time(rs.getTimestamp("alm_start_time")); ddata.setAlm_end_time(rs.getTimestamp("alm_end_time")); ddata.setAlm_is_confirmed(rs.getInt("alm_is_confirmed")); ddata.setAlm_confirmed_time(rs.getTimestamp("alm_confirmed_time")); ddata.setAlm_cleared_type(rs.getInt("alm_cleared_type")); ddata.setDev_name(rs.getString("FbsDeviceName")); ddata.setStationName(rs.getString("stationName")); list.add(ddata); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); //去掉limit条件后的总数 int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql); //System.out.println("number: "+number); if(list!=null&&list.size()>0){ list.get(list.size()-1).setUsr_id(number); } return list; }*/ public List serchByInfo(Object obj) { Batt_devalarm_data ddata=(Batt_devalarm_data) obj; User_inf uinf=ddata.getUinf(); Page page=ddata.getPage(); Connection conn=DBUtil.getConn(); String numberSql=" SELECT FOUND_ROWS() number "; String sql=""; String baseSql=" SELECT SQL_CALC_FOUND_ROWS distinct tb_devalarm_data.num,dev_id,dev_ip,alm_type,alm_level,alm_start_time,alm_end_time," + " alm_is_confirmed,alm_confirmed_time,alm_cleared_type," + " db_battinf.tb_battinf.stationName,db_battinf.tb_battinf.FbsDeviceName " + " FROM db_alarm.tb_devalarm_data,db_battinf.tb_battinf " + " WHERE " + " tb_devalarm_data.dev_id=db_battinf.tb_battinf.FbsDeviceId " ; //设备实时告警 String alarmTypeSql=" AND alm_cleared_type=0 "; baseSql+=alarmTypeSql; //用于维护区 String station1SqlT=" and stationname1!=? ";//全部 String station1SqlF=" and stationname1=? "; if(ddata.getStationName1().equals("")){ baseSql+=station1SqlT; }else{ baseSql+=station1SqlF; } //用于机房站点 String stationSqlT=" and stationname!=? ";//全部 String stationSqlF=" and stationname=? "; if(ddata.getStationName().equals("")){ baseSql+=stationSqlT; }else{ baseSql+=stationSqlF; } //用于故障事件 String almTypeT=" and alm_type!=? ";//全部 String almTypeF=" and alm_type=? "; if(ddata.getAlm_type()==0){ baseSql+=almTypeT; }else{ baseSql+=almTypeF; } //判断是否为管理的机房 String stationSql=" and db_alarm.tb_devalarm_data.dev_id 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=?) "; baseSql+=stationSql; //排序 String endSql=" ORDER BY alm_start_time DESC "; //分页 String limitSql=" LIMIT ?,? "; sql=baseSql+endSql+limitSql; List list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{ddata.getStationName1(),ddata.getStationName(),ddata.getAlm_type(),uinf.getUId(),(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_devalarm_data ddata=new Batt_devalarm_data(); ddata.setNum(rs.getInt("num")); ddata.setDev_id(rs.getInt("dev_id")); ddata.setDev_ip(rs.getString("dev_ip")); ddata.setAlm_type(rs.getInt("alm_type")); ddata.setAlm_level(rs.getInt("alm_level")); ddata.setAlm_start_time(rs.getTimestamp("alm_start_time")); ddata.setAlm_end_time(rs.getTimestamp("alm_end_time")); ddata.setAlm_is_confirmed(rs.getInt("alm_is_confirmed")); ddata.setAlm_confirmed_time(rs.getTimestamp("alm_confirmed_time")); ddata.setAlm_cleared_type(rs.getInt("alm_cleared_type")); ddata.setDev_name(rs.getString("FbsDeviceName")); ddata.setStationName(rs.getString("stationName")); list.add(ddata); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); //去掉limit条件后的总数 int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql); //System.out.println("number: "+number); if(list!=null&&list.size()>0){ list.get(list.size()-1).setUsr_id(number); } return list; } //查询设备告警总数 /*public int searchNums() { String sql="select count(num) as nums " + "from db_alarm.tb_devalarm_data " + "where alm_cleared_type=0 " + "and tb_devalarm_data.dev_id in (select FbsDeviceId from db_battinf.tb_battinf ) " + "limit 1 "; //System.out.println(sql); List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), null, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ int nums=rs.getInt("nums"); list.add(nums); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); int nums=0;//最后的结果 if(list!=null&&list.size()>0){ nums=(Integer) list.get(list.size()-1); } return nums; }*/ public int searchNums(Object obj) { User_inf uinf=(User_inf) obj; String sql="select distinct num,dev_id,alm_start_time " + "from db_alarm.tb_devalarm_data " + "where alm_cleared_type=0 " + "and tb_devalarm_data.dev_id 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=? ) "; //System.out.println(sql); List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_devalarm_data ddata=new Batt_devalarm_data(); ddata.setNum(rs.getInt("num")); ddata.setDev_id(rs.getInt("dev_id")); ddata.setAlm_start_time(rs.getTimestamp("alm_start_time")); list.add(ddata); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); int nums=0;//最后的结果 if(list!=null&&list.size()>0){ nums=(Integer) list.size(); } return nums; } //项目下方的滚动,查询最新设备告警(旧版本) public List serchTopAlmInDev(){ String sql="select db_alarm.tb_devalarm_data.dev_id,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationid,db_battinf.tb_battinf.fbsdevicename,dev_ip,alm_type,alm_start_time " + " from db_alarm.tb_devalarm_data,db_battinf.tb_battinf" + " where alm_cleared_type=0 " + " and db_alarm.tb_devalarm_data.dev_id=db_battinf.tb_battinf.fbsdeviceid " + " order by alm_start_time desc " + " limit 1"; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), null, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_devalarm_data ddata=new Batt_devalarm_data(); ddata.setDev_id(rs.getInt("dev_id")); ddata.setDev_ip(rs.getString("dev_ip")); ddata.setDev_name(rs.getString("fbsdevicename")); ddata.setStationName(rs.getString("stationName")); ddata.setStationId(rs.getString("stationId")); ddata.setAlm_type(rs.getInt("alm_type")); ddata.setAlm_start_time(rs.getTimestamp("alm_start_time")); list.add(ddata); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); return list; } //项目下方的滚动,查询最新设备告警 /* public List serchTopDevTen(){ String sql="select distinct db_alarm.tb_devalarm_data.dev_id,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationid,db_battinf.tb_battinf.fbsdevicename,dev_ip,alm_type,alm_start_time " + " from db_alarm.tb_devalarm_data,db_battinf.tb_battinf" + " where alm_cleared_type=0 " + " and db_alarm.tb_devalarm_data.dev_id=db_battinf.tb_battinf.fbsdeviceid " + " order by alm_start_time desc " + " limit 0,5"; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), null, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_devalarm_data ddata=new Batt_devalarm_data(); ddata.setNum(1);//1表示设备告警 ddata.setDev_id(rs.getInt("dev_id")); ddata.setDev_ip(rs.getString("dev_ip")); ddata.setDev_name(rs.getString("fbsdevicename")); ddata.setStationName(rs.getString("stationName")); ddata.setStationId(rs.getString("stationId")); ddata.setAlm_type(rs.getInt("alm_type")); ddata.setAlm_start_time(rs.getTimestamp("alm_start_time")); String ddataStr=""+ddata.getStationName() // 机房名称 +"在"+ActionUtil.chageDateToString(ddata.getAlm_start_time(), ActionUtil.time_yyyyMMddHHmmss) // 告警开始时间 +"出现了"+AlarmDaoFactory.getdevName(ddata.getAlm_type()) // 告警类型名称 +"告警!"; ddata.setNote(ddataStr); list.add(ddata); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); return list; }*/ public List serchTopDevTen(Object obj){ User_inf uinf=(User_inf) obj; String sql="select distinct db_alarm.tb_devalarm_data.dev_id,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationid,db_battinf.tb_battinf.fbsdevicename,dev_ip,alm_type,alm_start_time " + " from db_alarm.tb_devalarm_data,db_battinf.tb_battinf" + " where alm_cleared_type=0 " + " and db_alarm.tb_devalarm_data.dev_id=db_battinf.tb_battinf.fbsdeviceid " + " and db_alarm.tb_devalarm_data.dev_id 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=?)" + " order by alm_start_time desc " + " limit 0,5"; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_devalarm_data ddata=new Batt_devalarm_data(); ddata.setNum(1);//1表示设备告警 ddata.setDev_id(rs.getInt("dev_id")); ddata.setDev_ip(rs.getString("dev_ip")); ddata.setDev_name(rs.getString("fbsdevicename")); ddata.setStationName(rs.getString("stationName")); ddata.setStationId(rs.getString("stationId")); ddata.setAlm_type(rs.getInt("alm_type")); ddata.setAlm_start_time(rs.getTimestamp("alm_start_time")); String ddataStr=""+ddata.getStationName() // 机房名称 +"在"+ActionUtil.chageDateToString(ddata.getAlm_start_time(), ActionUtil.time_yyyyMMddHHmmss) // 告警开始时间 +"出现了"+AlarmDaoFactory.getdevName(ddata.getAlm_type()) // 告警类型名称 +"告警!"; ddata.setNote(ddataStr); list.add(ddata); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); return list; } //项目下方的滚动,查询该设备告警的实时信息 public List serchDev_alarm(Object obj){ Batt_devalarm_data ddata=(Batt_devalarm_data) obj; String sql="select distinct db_alarm.tb_devalarm_data.dev_id,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationid,db_battinf.tb_battinf.fbsdevicename,dev_ip,alm_type,alm_start_time,alm_cleared_type " + " from db_alarm.tb_devalarm_data,db_battinf.tb_battinf " + " where db_alarm.tb_devalarm_data.dev_id=db_battinf.tb_battinf.fbsdeviceid" + " and db_alarm.tb_devalarm_data.dev_id=? and alm_type=? and alm_start_time=? "; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{ddata.getDev_id(),ddata.getAlm_type(),ddata.getAlm_start_time()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_devalarm_data ddata=new Batt_devalarm_data(); ddata.setDev_id(rs.getInt("dev_id")); ddata.setDev_ip(rs.getString("dev_ip")); ddata.setDev_name(rs.getString("fbsdevicename")); ddata.setStationName(rs.getString("stationName")); ddata.setStationId(rs.getString("stationId")); ddata.setAlm_type(rs.getInt("alm_type")); ddata.setAlm_start_time(rs.getTimestamp("alm_start_time")); ddata.setAlm_cleared_type(rs.getInt("alm_cleared_type")); list.add(ddata); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); return list; } public static void main(String[] args) throws ParseException { Batt_devalarm_dataImpl dimpl = new Batt_devalarm_dataImpl(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date1 = sdf.parse("2000-01-01"); Date date2 = sdf.parse("2020-01-01"); Batt_devalarm_data ddata = new Batt_devalarm_data(); ddata.setAlm_start_time(ActionUtil.getSimpDate(date1)); ddata.setAlm_start_time1(ActionUtil.getSimpDate(date2)); ddata.setStationName1(""); ddata.setStationName(""); ddata.setAlm_type(0); Page page = new Page(); page.setPageCurr(1); page.setPageSize(20000); User_inf uinf=new User_inf(); uinf.setUId(1002); ddata.setPage(page); ddata.setUinf(uinf); Batt_Maint_Dealarm bmd = new Batt_Maint_Dealarm(); BattInf binf = new BattInf(); binf.setStationName(""); binf.setStationName1(""); binf.setBattProductDate(ActionUtil.getSimpDate(date1)); binf.setBattProductDate1(ActionUtil.getSimpDate(date2)); bmd.setBinf(binf); bmd.setPage(page); bmd.setUinf(uinf); List list=dimpl.serchByInfo(ddata); for (Batt_devalarm_data b : list) { System.out.println(b); } //List list = dimpl.serchByCondition(bmd); System.out.println(list.size()); } }