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.BattInf; import com.fgkj.dto.Batt_Maint_Dealarm; import com.fgkj.dto.Batt_attention; import com.fgkj.dto.Batt_maint_inf; import com.fgkj.dto.Page; public class Batt_attentionImpl implements BaseDAO,CallBack{ public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_attention batt=new Batt_attention(); batt.setNum(rs.getInt("num")); batt.setBattGroupId(rs.getInt("battGroupId")); batt.setMonNum(rs.getInt("monNum")); batt.setUid(rs.getInt("uid")); batt.setNote(rs.getString("note")); list.add(batt); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } //添加关注 public boolean add(Object obj) { Batt_attention batt=(Batt_attention) obj; String sql="insert into web_site.tb_batt_attention(battGroupId,monNum,uid) values(?,?,?)"; Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{batt.getBattGroupId(),batt.getMonNum(),batt.getUid()}); return bl; } public boolean update(Object obj) { // TODO Auto-generated method stub return false; } //取消关注 public boolean del(Object obj) { Batt_attention batt=(Batt_attention) obj; String sql="delete from web_site.tb_batt_attention where battgroupid=? and monnum=? and uid=?"; Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{batt.getBattGroupId(),batt.getMonNum(),batt.getUid()}); return bl; } public List searchAll() { // TODO Auto-generated method stub return null; } //根据电池组的筛选条件,查询单体的实际电压 public List serchByCondition(Object obj) { Batt_Maint_Dealarm bmd=(Batt_Maint_Dealarm) obj; BattInf binf = bmd.getBinf(); Page page=bmd.getPage(); Connection conn=DBUtil.getConn(); String numberSql=" SELECT FOUND_ROWS() number"; String sql=""; String baseSql=" select SQL_CALC_FOUND_ROWS web_site.tb_batt_attention.battgroupid,web_site.tb_batt_attention.monnum" + ",db_battinf.tb_battinf.battgroupid,db_battinf.tb_battinf.stationid,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationname1,db_battinf.tb_battinf.stationname2,db_battinf.tb_battinf.stationname5,db_battinf.tb_battinf.battgroupname,db_battinf.tb_battinf.moncapstd,db_battinf.tb_battinf.monvolstd " + ",db_ram_db.tb_batt_rtdata.mon_vol "+ " from web_site.tb_batt_attention,db_battinf.tb_battinf,db_ram_db.tb_batt_rtdata " + " where web_site.tb_batt_attention.battgroupid=db_battinf.tb_battinf.battgroupid " + " and web_site.tb_batt_attention.battgroupid=db_ram_db.tb_batt_rtdata.battgroupid " + " and web_site.tb_batt_attention.monnum=db_ram_db.tb_batt_rtdata.mon_num " + " and web_site.tb_batt_attention.uid=? " ; //用于维护区 String station1SqlT=" and stationname1!=? ";//全部 String station1SqlF=" and stationname1=? "; if(binf.getStationName1().equals("")){ baseSql+=station1SqlT; }else{ baseSql+=station1SqlF; } //用于市级筛选 String station2SqlT=" and stationname2!=? ";//全部 String station2SqlF=" and stationname2=? "; if(binf.getStationName2().equals("")){ baseSql+=station2SqlT; }else{ baseSql+=station2SqlF; } //用于区县筛选 String station5SqlT=" and stationname5!=? ";//全部 String station5SqlF=" and stationname5=? "; if(binf.getStationName5().equals("")){ baseSql+=station5SqlT; }else{ baseSql+=station5SqlF; } //用于机房站点 String stationSqlT=" and stationname!=? ";//全部 String stationSqlF=" and stationname=? "; if(binf.getStationName().equals("")){ baseSql+=stationSqlT; }else{ baseSql+=stationSqlF; } //用于电池组条件 String idSqlT=" and db_battinf.tb_battinf.BattGroupId!=? ";//全部 String idSqlF=" and db_battinf.tb_battinf.BattGroupId=? "; if(binf.getBattGroupId()==0){ baseSql+=idSqlT; }else{ baseSql+=idSqlF; } //用于单体编号 String countSqlT=" and web_site.tb_batt_attention.monnum!=? ";//全部 String countSqlF=" and web_site.tb_batt_attention.monnum=? " ; if(binf.getMonNum()==0){ baseSql+=countSqlT; }else{ baseSql+=countSqlF; } //排序 String endSql=" order by web_site.tb_batt_attention.battgroupid "; //分页 String limitSql=" limit ?,? "; sql=baseSql+endSql+limitSql; //System.out.println(sql); List list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{ binf.getNum() ,binf.getStationName1(),binf.getStationName2(),binf.getStationName5(),binf.getStationName(),binf.getBattGroupId(),binf.getMonNum() ,(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ BattInf binf=new BattInf(); binf.setBattGroupId(rs.getInt("battGroupId")); binf.setStationId(rs.getString("stationId")); binf.setStationName(rs.getString("stationName")); binf.setStationName1(rs.getString("stationName1")); binf.setStationName2(rs.getString("stationName2")); binf.setStationName5(rs.getString("stationName5")); binf.setBattGroupName(rs.getString("battGroupName")); binf.setMonCapStd(rs.getFloat("monCapStd")); binf.setMonVolStd(rs.getFloat("monVolStd")); binf.setMonVolLowToAvg(rs.getFloat("mon_vol"));//实时电压 binf.setMonNum(rs.getInt("monNum"));//单体 list.add(binf); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); //去掉limit条件后的总数 int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql); if(list!=null&&list.size()>0){ list.get(list.size()-1).setSize(number); } return list; } //关注之前识别是否关注过 public int judgeInOrNot(Object obj) { Batt_attention batt=(Batt_attention) obj; String sql="select count(num) as nums from web_site.tb_batt_attention where battgroupid=? and monnum=? and uid=? limit 1"; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{batt.getBattGroupId(),batt.getMonNum(),batt.getUid()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ int nums=rs.getInt("nums"); if(nums>0){ list.add(nums); } } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); //System.out.println(list); int flag=0;//标识符 if(list!=null&&list.size()>0){ flag=1; }else{ flag=0; } return flag; } public static void main(String[] args) { Batt_attentionImpl bimpl=new Batt_attentionImpl(); BattInf binf=new BattInf(); binf.setStationName(""); binf.setStationName1(""); binf.setBattGroupId(0); binf.setMonNum(0); binf.setNum(1002); Page page=new Page(); page.setPageCurr(1); page.setPageSize(10); Batt_Maint_Dealarm bmd=new Batt_Maint_Dealarm(); bmd.setBinf(binf); bmd.setPage(page); List list=bimpl.serchByCondition(bmd); System.out.println(list); } public List serchByInfo(Object obj) { // TODO Auto-generated method stub return null; } }