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,eve_type,module_num,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<? ";
|
//机房筛选
|
String devSqlT=" and dev_id=? ";
|
String devSqlF=" and dev_id!=? ";
|
if(state_inf.getDev_id()!=0){
|
baseSql+=devSqlT;
|
}else{
|
baseSql+=devSqlF;
|
}
|
//变更原因
|
String reaSqlT=" and state_change_reason=?";
|
String reaSqlF=" and state_change_reason!=?";
|
if(state_inf.getState_change_reason()!=-1){
|
baseSql+=reaSqlT;
|
}else{
|
baseSql+=reaSqlF;
|
}
|
//排序分页
|
String endSql=" order by rec_time desc limit ?,? ";
|
sql=baseSql+endSql;
|
//System.out.println(sql);
|
List<Fbsdev_Statechange_inf> 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("eve_type"),rs.getInt("last_stat")));
|
state_inf.setNow_stat(rs.getInt("now_stat"));
|
state_inf.setNow_stat_name(BattTestData.getFbsdev_Statechange(rs.getInt("eve_type"),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.setEve_type(rs.getInt("eve_type"));
|
state_inf.setEve_type_name(BattTestData.getEve_type_name(rs.getInt("eve_type")));
|
state_inf.setModule_num(rs.getInt("module_num"));
|
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;
|
}
|
|
}
|