package com.fgkj.dao.impl; 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.BattTestData; import com.fgkj.dao.CallBack; import com.fgkj.dao.DAOHelper; import com.fgkj.dao.LimitNumberFactory; import com.fgkj.db.DBUtil; import com.fgkj.dto.Fbsdev_Statechange_inf; import com.fgkj.dto.Page; public class Fbsdev_Statechange_infImpl 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; } //根据设备id,时间等条件筛选设备 public List serchByCondition(Object obj) { Fbsdev_Statechange_inf state_inf=(Fbsdev_Statechange_inf) obj; Page page=state_inf.getPage(); String sql=""; String numberSql=" SELECT FOUND_ROWS() number"; Connection conn=DBUtil.getConn(); String baseSql="select SQL_CALC_FOUND_ROWS distinct dev_id,rec_time,last_stat,now_stat,state_change_reason,dev_alarm,stationName " + " from db_app_sys.tb_fbsdev_statechange_inf,db_battinf.tb_battinf " + " where db_app_sys.tb_fbsdev_statechange_inf.dev_id=db_battinf.tb_battinf.fbsdeviceid " + " and rec_time>? and rec_time list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{state_inf.getRec_time(),state_inf.getRec_time1(),state_inf.getDev_id(),state_inf.getState_change_reason(),(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Fbsdev_Statechange_inf state_inf=new Fbsdev_Statechange_inf(); state_inf.setDev_id(rs.getInt("dev_id")); state_inf.setRec_time(rs.getTimestamp("rec_time")); state_inf.setLast_stat(rs.getInt("last_stat")); state_inf.setLast_stat_name(BattTestData.getFbsdev_Statechange(rs.getInt("last_stat"))); state_inf.setNow_stat(rs.getInt("now_stat")); state_inf.setNow_stat_name(BattTestData.getFbsdev_Statechange(rs.getInt("now_stat"))); state_inf.setState_change_reason(rs.getInt("state_change_reason")); state_inf.setState_change_reason_name(BattTestData.getStopType(BattTestData.TEST_LOADER_FBS9100S, rs.getInt("state_change_reason"))); state_inf.setDev_alarm(rs.getInt("dev_alarm")); state_inf.setNote(rs.getString("stationName")); list.add(state_inf); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); //去掉limit条件后的总数 int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql); Page p=new Page(); p.setPageAll(number); if(list!=null&&list.size()>0){ list.get(list.size()-1).setPage(p); } return list; } public List serchByInfo(Object obj) { // TODO Auto-generated method stub return null; } }