package com.fgkj.dao.impl.ram; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; 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.dto.BattInf; import com.fgkj.dto.Page; import com.fgkj.dto.ram.Bts_station_state; public class Bts_station_stateImpl 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) { BattInf binf=(BattInf) obj; Page p=binf.getPage(); Connection conn=DBUtil.getConn(); String numberSql="SELECT FOUND_ROWS() number";//存放总数 String sql="select SQL_CALC_FOUND_ROWS distinct station_id,dev_id,record_datetime,station_stat,station_poff_start_time,station_fadian_start_time" + " ,station_diaozhan_start_time,station_temp,station_damp,station_dooropen_start_time,station_xuhang_start_time" + " ,tb_battinf.stationname,tb_battinf.stationname1,tb_battinf.stationname2,tb_battinf.stationname3 " + " from db_ram_db.tb_bts_station_state,db_battinf.tb_battinf " + " where tb_bts_station_state.dev_id=db_battinf.tb_battinf.FBSDeviceId " + " and tb_bts_station_state.station_id=db_battinf.tb_battinf.StationId " + " and tb_battinf.stationname1 like ? and tb_battinf.stationname2 like ? and tb_battinf.stationname3 like ? " + " and stationid like ? limit ? ,? "; List list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName3()+"%","%"+binf.getStationId()+"%",(p.getPageCurr()-1)*p.getPageSize(),p.getPageSize()},new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Bts_station_state b=new Bts_station_state(); b.setStation_id(rs.getString("station_id")); b.setDev_id(rs.getInt("dev_id")); b.setRecord_datetime(rs.getTimestamp("record_datetime")); b.setStation_stat(rs.getInt("station_stat")); if(((b.getStation_stat()>>5)&1)==1){ b.setStation_stat_diaozhan(1);//掉站 } if(((b.getStation_stat()>>4)&1)==1){ b.setStation_stat_dooropen(1);//开门 } if(((b.getStation_stat()>>3)&1)==1){ b.setStation_stat_fadian(1); //发电 } if(((b.getStation_stat()>>2)&1)==1){ b.setStation_stat_xuhang(1);//续航 } if(((b.getStation_stat()>>1)&1)==1){ b.setStation_stat_poff(1); //停电 } b.setStation_poff_start_time(rs.getTimestamp("station_poff_start_time")); b.setStation_fadian_start_time(rs.getTimestamp("station_fadian_start_time")); b.setStation_diaozhan_start_time(rs.getTimestamp("station_diaozhan_start_time")); b.setStation_temp(rs.getFloat("station_temp")); b.setStation_damp(rs.getFloat("station_damp")); b.setStation_dooropen_start_time(rs.getTimestamp("station_dooropen_start_time")); b.setStation_xuhang_start_time(rs.getTimestamp("station_xuhang_start_time")); b.setStationName(rs.getString("stationName")); b.setStationName1(rs.getString("stationName1")); b.setStationName2(rs.getString("stationName2")); b.setStationName3(rs.getString("stationName3")); Page page=new Page(); b.setPage(page); list.add(b); } } 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).getPage().setPageAll(number); } return list; } //查询当前机房停电数 public int serchByState() { String sql=" select count(*) as nums from db_ram_db.tb_bts_station_state where station_stat&2>1 "; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), null, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ list.add(rs.getInt("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 List serchByInfo(Object obj) { // TODO Auto-generated method stub return null; } public static void main(String[] args) { Bts_station_stateImpl bimpl=new Bts_station_stateImpl(); BattInf binf=new BattInf(); binf.setStationName1(""); binf.setStationName2(""); binf.setStationName3(""); binf.setStationId(""); Page p=new Page(); p.setPageCurr(1); p.setPageSize(1); binf.setPage(p); /*List list=bimpl.serchByCondition(binf); for (Bts_station_state bs : list) { //System.out.println(bs.getStation_stat_diaozhan()+" "+bs.getStation_stat_dooropen()+" "+bs.getStation_stat_fadian()+" "+bs.getStation_stat_xuhang()+" "+bs.getStation_stat_poff()); System.out.println(bs); }*/ int nums=bimpl.serchByState(); System.out.println(nums); } }