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.App_bts_battgroup; import com.fgkj.dto.App_bts_comm_task; import com.fgkj.dto.BattInf; import com.fgkj.dto.Page; public class App_bts_battgroupImpl implements BaseDAO,CallBack{ @Override public List getResults(ResultSet rs) { // TODO Auto-generated method stub return null; } @Override public boolean add(Object obj) { // TODO Auto-generated method stub return false; } @Override public boolean update(Object obj) { // TODO Auto-generated method stub return false; } @Override public boolean del(Object obj) { // TODO Auto-generated method stub return false; } @Override public List searchAll() { // TODO Auto-generated method stub return null; } //根据设备id查询(uid放在num中) public List serchByCondition(Object obj) { BattInf binf=(BattInf) obj; Page page=binf.getPage(); Connection conn=DBUtil.getConn(); String numberSql=" SELECT FOUND_ROWS() number"; String sql=" select SQL_CALC_FOUND_ROWS distinct dev_id,battgroup_id,battgroup_index,battgroup_mon_cnt,battgroup_float_vol,battgroup_float_curr,battgroup_register_code " + " ,stationName,stationName1,stationName2,stationName3,stationName5,StationId " + " from db_app_sys.tb_app_bts_battgroup " + " left outer join db_battinf.tb_battinf on db_app_sys.tb_app_bts_battgroup.dev_id=db_battinf.tb_battinf.fBSDeviceId " + " where "; //stationName1 like ? and stationName2 like ? and stationId like ? and stationName5 like ? " + /*" and db_app_sys.tb_app_bts_comm_task.dev_id in (" + " select distinct db_battinf.tb_battinf.fBSDeviceId " + " 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=? and db_battinf.tb_battinf.station_install=1 ) "+*/ //FBSDeviceId筛选 String dev_idT=" db_app_sys.tb_app_bts_battgroup.dev_id=? "; String dev_idF=" db_app_sys.tb_app_bts_battgroup.dev_id!=? "; if(binf.getFBSDeviceId()==0){ sql+=dev_idF; }else{ sql+=dev_idT; } String orderSql=" order by dev_id,battgroup_index asc limit ?,? "; sql+=orderSql; //System.out.println(sql); //"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationId()+"%","%"+binf.getStationName5()+"%",binf.getNum() List list=DAOHelper.executeQueryLimit(sql, conn,new Object[]{binf.getFBSDeviceId(),(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ App_bts_battgroup abattgroup=new App_bts_battgroup(); abattgroup.setDev_id(rs.getInt("dev_id")); abattgroup.setBattgroup_id(rs.getInt("battgroup_id")); abattgroup.setBattgroup_index(rs.getInt("battgroup_index")); abattgroup.setBattgroup_mon_cnt(rs.getInt("battgroup_mon_cnt")); abattgroup.setBattgroup_float_vol(rs.getFloat("battgroup_float_vol")); abattgroup.setBattgroup_float_curr(rs.getFloat("battgroup_float_curr")); abattgroup.setBattgroup_register_code(rs.getString("battgroup_register_code")); abattgroup.setStationId(rs.getString("stationId")); abattgroup.setStationName(rs.getString("stationName")); abattgroup.setStationName1(rs.getString("stationName1")); abattgroup.setStationName2(rs.getString("stationName2")); abattgroup.setStationName3(rs.getString("stationName3")); abattgroup.setStationName5(rs.getString("stationName5")); list.add(abattgroup); } } 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).setNum(number); } return list; } @Override public List serchByInfo(Object obj) { // TODO Auto-generated method stub return null; } }