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.CallBack;
|
import com.fgkj.dao.DAOHelper;
|
import com.fgkj.dao.LimitNumberFactory;
|
import com.fgkj.db.DBUtil;
|
import com.fgkj.dto.Batt_endurance;
|
import com.fgkj.dto.Page;
|
import com.mysql.fabric.xmlrpc.base.Array;
|
|
public class Batt_enduranceImpl 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) {
|
Batt_endurance bendurance=(Batt_endurance) obj;
|
Page page=bendurance.getPage();
|
Connection conn=DBUtil.getConn();
|
String numberSql=" SELECT FOUND_ROWS() number";
|
String sql="select SQL_CALC_FOUND_ROWS distinct tb_batt_endurance.num,tb_batt_endurance.deviceid,tb_batt_endurance.stationid,real_cap,tb_batt_endurance.moncapstd,real_curr,endurance_theory_timelong,endurance_actual_timelong,is_out_stand " +
|
",db_battinf.tb_battinf.StationName,db_battinf.tb_battinf.StationName1,db_battinf.tb_battinf.StationName2,db_battinf.tb_battinf.StationName5 " +
|
" from web_site.tb_batt_endurance,db_battinf.tb_battinf " +
|
" where tb_batt_endurance.stationid=db_battinf.tb_battinf.stationid "+
|
" and tb_batt_endurance.stationid in (" +
|
" select distinct db_battinf.tb_battinf.stationid " +
|
" from db_battinf.tb_battinf " +
|
" left outer join db_user.tb_user_battgroup_baojigroup_battgroup on db_user.tb_user_battgroup_baojigroup_battgroup.stationid=db_battinf.tb_battinf.stationid " +
|
" left outer join db_user.tb_user_battgroup_baojigroup_usr on db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id " +
|
" left outer join db_user.tb_user_inf on tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid " +
|
" where db_user.tb_user_inf.uid=? ) " ;
|
//机房筛选
|
String stationSql=" and db_battinf.tb_battinf.StationName like ? and db_battinf.tb_battinf.StationName1 like ? and db_battinf.tb_battinf.StationName2 like ? and db_battinf.tb_battinf.StationName5 like ?";
|
sql+=stationSql;
|
//实际续航时间
|
String timelongSqlT=" and endurance_actual_timelong<=? ";//小于某一时间
|
String timelongSqlF=" and endurance_actual_timelong>-1? ";//全部
|
if(bendurance.getEndurance_actual_timelong()==0){
|
sql+=timelongSqlF;
|
}else{
|
sql+=timelongSqlT;
|
}
|
//是否掉站
|
String is_out_standSqlT=" and is_out_stand!=? ";//全部
|
String is_out_standSqlF=" and is_out_stand=? ";
|
if(bendurance.getIs_out_stand()==100){
|
sql+=is_out_standSqlT;
|
}else{
|
sql+=is_out_standSqlF;
|
}
|
//排序时间
|
String orderSql=" order by endurance_actual_timelong,tb_batt_endurance.deviceid asc ";
|
sql+=orderSql;
|
//分页
|
String limitSql=" limit ?,? ";
|
sql+=limitSql;
|
|
|
//System.out.println(sql);
|
List<Batt_endurance> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{bendurance.getNum(),"%"+bendurance.getStationName()+"%","%"+bendurance.getStationName1()+"%","%"+bendurance.getStationName2()+"%","%"+bendurance.getStationName5()+"%",bendurance.getEndurance_actual_timelong(),bendurance.getIs_out_stand()
|
,(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Batt_endurance b=new Batt_endurance();
|
b.setNum(rs.getInt("num"));
|
b.setDeviceId(rs.getInt("deviceId"));
|
b.setStationid(rs.getString("stationid"));
|
b.setReal_cap(rs.getFloat("real_cap"));
|
b.setMoncapstd(rs.getFloat("moncapstd"));
|
b.setReal_curr(rs.getFloat("real_curr"));
|
b.setEndurance_theory_timelong(rs.getInt("endurance_theory_timelong"));
|
b.setEndurance_actual_timelong(rs.getInt("endurance_actual_timelong"));
|
b.setStationName(rs.getString("stationname"));
|
b.setStationName1(rs.getString("stationname1"));
|
b.setStationName2(rs.getString("stationname2"));
|
b.setStationName5(rs.getString("stationname5"));
|
Page p=new Page();
|
b.setPage(p);
|
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 List serchByInfo(Object obj) {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
public static void main(String[] args) {
|
Batt_enduranceImpl bimpl=new Batt_enduranceImpl();
|
Batt_endurance ben=new Batt_endurance();
|
ben.setNum(1002);
|
ben.setStationName("");
|
ben.setStationName1("");
|
ben.setStationName2("");
|
ben.setEndurance_actual_timelong(120);
|
ben.setIs_out_stand(100);
|
Page page=new Page();
|
page.setPageCurr(1);
|
page.setPageSize(10);
|
ben.setPage(page);
|
List<Batt_endurance> list=bimpl.serchByCondition(ben);
|
for (Batt_endurance b : list) {
|
System.out.println(b);
|
}
|
System.out.println(list.size());
|
}
|
|
|
}
|