81041
2018-11-01 84e0dc4c6f2a4f79f1c39fadb2b5e3aff8263e87
gx_tieta/src/com/fgkj/dao/impl/BattInfImpl.java
@@ -25,10 +25,12 @@
import com.fgkj.db.DBUtil;
import com.fgkj.db.IDatabaseName;
import com.fgkj.dto.BattInf;
import com.fgkj.dto.BattInf_Rebuild;
import com.fgkj.dto.BattMap_information;
import com.fgkj.dto.Batt_Maint_Dealarm;
import com.fgkj.dto.Batt_maint_inf;
import com.fgkj.dto.Batt_maintenance_inf;
import com.fgkj.dto.Batttestdata;
import com.fgkj.dto.Batttestdata_inf;
import com.fgkj.dto.Batttestdatastop;
import com.fgkj.dto.Limit;
@@ -41,7 +43,7 @@
import com.fgkj.services.User_logService;
public class BattInfImpl implements BaseDAO, CallBack {
    //添加新的电池组(多个)
   //添加新的电池组(多个)
   public boolean add(Object obj) {
      List<BattInf> list=(List<BattInf>) obj;
      ArrayList<String> sql_str=new ArrayList();
@@ -66,14 +68,14 @@
            }
            binf.setBattGroupId(maxb);
            String sql = "insert into db_battinf.tb_battinf(" +
                  "StationId,StationName,StationName1,StationName2,StationName3,StationName4,StationIp,FBSDeviceId,FbsDeviceIp,FbsDeviceIp_YM,FbsDeviceIp_WG,"
                  "StationId,StationName,StationName1,StationName2,StationName3,StationName4,StationName5,StationIp,FBSDeviceId,FbsDeviceIp,FbsDeviceIp_YM,FbsDeviceIp_WG,"
                  + "FBSDeviceName,GroupIndexInFBSDevice,battgroupId,BattGroupNum,BattGroupName,FloatVolLevel,OfflineVolLevel,BattFloatCurrent" +
                  ",MonCount,MonCapStd,monVolStd,monResStd,MonSerStd,MonVolLowToAvg,BattProducer,BattModel,BattProductDate,BattInUseDate" +
                  ") values('"+binf.getStationId()+"','"+binf.getStationName()+"','"+binf.getStationName1()+"','"+binf.getStationName2()+"','"+binf.getStationName3()+"','"+binf.getStationName4()+
                  ",MonCount,MonCapStd,monVolStd,monResStd,MonSerStd,MonVolLowToAvg,BattProducer,BattModel,BattProductDate,BattInUseDate,Load_curr,DisCurrMax,station_phone" +
                  ") values('"+binf.getStationId()+"','"+binf.getStationName()+"','"+binf.getStationName1()+"','"+binf.getStationName2()+"','"+binf.getStationName3()+"','"+binf.getStationName4()+"','"+binf.getStationName5()+
                  "','"+binf.getStationIp()+"',"+binf.getFBSDeviceId()+",'"+binf.getFbsDeviceIp()+"','"+binf.getFbsDeviceIp_YM()+"','"+binf.getFbsDeviceIp_WG()+"','"+binf.getFBSDeviceName()+"',"+binf.getGroupIndexInFBSDevice()+
                  ","+binf.getBattGroupId()+","+binf.getBattGroupNum()+",'"+binf.getBattGroupName()+"',"+binf.getFloatVolLevel()+","+binf.getOfflineVolLevel()+","+binf.getBattFloatCurrent()+
                  ","+binf.getMonCount()+","+binf.getMonCapStd()+","+binf.getMonVolStd()+","+binf.getMonResStd()+","+binf.getMonSerStd()+","+binf.getMonVolLowToAvg()+
                  ",'"+binf.getBattProducer()+"','"+binf.getBattModel()+"','"+DAOHelper.sdf.format(binf.getBattProductDate())+"','"+DAOHelper.sdf.format(binf.getBattInUseDate())+"')";
                  ",'"+binf.getBattProducer()+"','"+binf.getBattModel()+"','"+DAOHelper.sdf.format(binf.getBattProductDate())+"','"+DAOHelper.sdf.format(binf.getBattInUseDate())+"',"+binf.getLoad_curr()+","+binf.getDisCurrMax()+",'"+binf.getStation_phone()+"')";
            
            if(binf.getStationId().equals(maxs)){
               maxs++;
@@ -112,10 +114,10 @@
                  binf.setStationId(String.valueOf(maxs));
               }
            }
            String sql = "update db_battinf.tb_battinf set StationId='"+binf.getStationId()+"',StationName='"+binf.getStationName()+"',StationName1='"+binf.getStationName1()+"',StationName2='"+binf.getStationName2()+"',StationName3='"+binf.getStationName3()+"',StationName4='"+binf.getStationName4()+"',StationIp='"+binf.getStationIp()+"',FBSDeviceId="+binf.getFBSDeviceId()+",FbsDeviceIp='"+binf.getFbsDeviceIp()+"',"
            String sql = "update db_battinf.tb_battinf set StationId='"+binf.getStationId()+"',StationName='"+binf.getStationName()+"',StationName1='"+binf.getStationName1()+"',StationName2='"+binf.getStationName2()+"',StationName3='"+binf.getStationName3()+"',StationName4='"+binf.getStationName4()+"',StationName5='"+binf.getStationName5()+"',StationIp='"+binf.getStationIp()+"',FBSDeviceId="+binf.getFBSDeviceId()+",FbsDeviceIp='"+binf.getFbsDeviceIp()+"',"
                  + "FBSDeviceName='"+binf.getFBSDeviceName()+"',GroupIndexInFBSDevice="+binf.getGroupIndexInFBSDevice()+",BattGroupNum="+binf.getBattGroupNum()+",BattGroupName='"+binf.getBattGroupName()+"',FloatVolLevel="+binf.getFloatVolLevel()+",OfflineVolLevel="+binf.getOfflineVolLevel()+",BattFloatCurrent="+binf.getBattFloatCurrent()+"," +
                    "MonCount="+binf.getMonCount()+",MonCapStd="+binf.getMonCapStd()+",monVolStd="+binf.getMonVolStd()+",monResStd="+binf.getMonResStd()+",MonSerStd="+binf.getMonSerStd()+",MonVolLowToAvg="+binf.getMonVolLowToAvg()+",BattProducer='"+binf.getBattProducer()+"',BattModel='"+binf.getBattModel()+"',BattProductDate='"+DAOHelper.sdf.format(binf.getBattProductDate())+"',BattInUseDate='"+DAOHelper.sdf.format(binf.getBattInUseDate())+"' "
                   +" where battgroupId="+binf.getBattGroupId();
                    "MonCount="+binf.getMonCount()+",MonCapStd="+binf.getMonCapStd()+",monVolStd="+binf.getMonVolStd()+",monResStd="+binf.getMonResStd()+",MonSerStd="+binf.getMonSerStd()+",MonVolLowToAvg="+binf.getMonVolLowToAvg()+",BattProducer='"+binf.getBattProducer()+"',BattModel='"+binf.getBattModel()+"',BattProductDate='"+DAOHelper.sdf.format(binf.getBattProductDate())+"',BattInUseDate='"+DAOHelper.sdf.format(binf.getBattInUseDate())+"', "
                   +" Load_curr="+binf.getLoad_curr()+",DisCurrMax="+binf.getDisCurrMax()+",station_phone='"+binf.getStation_phone()+"'  where battgroupId="+binf.getBattGroupId();
            sql_str.add(sql);
            {
               String msg="修改"+binf.getStationName()+"机房"+binf.getBattGroupId()+"电池组的信息";
@@ -157,21 +159,21 @@
      Boolean bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_str);
      return bl;
   }
    //根据维护区和机房名称查询电池组信息
    //根据维护区和机房名称查询电池组信息(电池组信息配置)
   public List searchInform(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="select SQL_CALC_FOUND_ROWS distinct(StationId),StationName1,StationName2,StationName3,StationName4,StationIp,FBSDeviceId,FbsDeviceIp_YM,FbsDeviceIp_WG,FbsDeviceIp,"
      String sql="select SQL_CALC_FOUND_ROWS distinct(StationId),StationName1,StationName2,StationName3,StationName4,StationName5,StationIp,FBSDeviceId,FbsDeviceIp_YM,FbsDeviceIp_WG,FbsDeviceIp,"
            + "FBSDeviceName,GroupIndexInFBSDevice,battgroupId,BattGroupNum,BattGroupName,FloatVolLevel,OfflineVolLevel,BattFloatCurrent" +
             ",MonCount,MonCapStd,monVolStd,monResStd,MonSerStd,MonVolLowToAvg,BattProducer,BattModel,BattProductDate,BattInUseDate " +
             ",MonCount,MonCapStd,monVolStd,monResStd,MonSerStd,MonVolLowToAvg,BattProducer,BattModel,BattProductDate,BattInUseDate,Load_curr,DisCurrMax,station_phone  " +
             " From db_battinf.tb_battinf " +
             " Where StationName like ? and StationName1 like ? and StationName2 like ?  " +
             " Where StationName like ? and StationName1 like ? and StationName2 like ?  and StationName5 like ? " +
             " order by StationId  " +
             " limit ?,?";
      List<BattInf> list=DAOHelper.executeQueryLimit(sql,conn, new Object[]{"%"+binf.getStationName()+"%","%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%",(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()},new CallBack() {
      List<BattInf> list=DAOHelper.executeQueryLimit(sql,conn, new Object[]{"%"+binf.getStationName()+"%","%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName5()+"%",(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()},new CallBack() {
         
         public List getResults(ResultSet rs) {
            List list = new ArrayList<BattInf>();
@@ -185,6 +187,7 @@
                  binf.setStationName2(rs.getString("stationName2"));
                  binf.setStationName3(rs.getString("stationName3"));
                  binf.setStationName4(rs.getString("stationName4"));
                  binf.setStationName5(rs.getString("stationName5"));
                  binf.setStationIp(rs.getString("stationIp"));
                  binf.setFBSDeviceId(rs.getInt("fBSDeviceId"));
                  
@@ -209,7 +212,51 @@
                  binf.setBattModel(rs.getString("battModel"));
                  binf.setBattProductDate(rs.getDate("battProductDate"));
                  binf.setBattInUseDate(rs.getDate("battInUseDate"));
                  binf.setLoad_curr(rs.getFloat("load_curr"));
                        binf.setDisCurrMax(rs.getFloat("disCurrMax"));
                        binf.setStation_phone(rs.getString("station_phone"));
                  list.add(binf);
               }
            } catch (SQLException e) {
               e.printStackTrace();
            }
            return list;
         }
      });
      //去掉limit条件后的总数
      int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql);
      if(list!=null&&list.size()>0){
         list.get(list.size()-1).setNum(number);
      }
      return list;
   }
   //根据维护区和机房名称查询电池组信息(电池组信息配置)
   public List searchInform1(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="select SQL_CALC_FOUND_ROWS distinct(StationId),StationId_ex,StationName1,StationName2,StationName3,StationName,FBSDeviceId  " +
             " From db_battinf.tb_battinf " +
             " limit ?,?";
      List<BattInf> list=DAOHelper.executeQueryLimit(sql,conn, new Object[]{(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()},new CallBack() {
         public List getResults(ResultSet rs) {
            List list = new ArrayList<BattInf>();
            int id=0;
            try {
               while (rs.next()) {
                  BattInf binf = new BattInf();
                  binf.setStationId(rs.getString("stationId"));
                  binf.setStationName1(rs.getString("stationName1"));
                  binf.setStationName2(rs.getString("stationName2"));
                  binf.setStationName3(rs.getString("stationName3"));
                  binf.setFBSDeviceId(rs.getInt("fBSDeviceId"));
                  binf.setStationName(rs.getString("stationName"));
                  binf.setStationId_ex(rs.getString("stationId_ex"));
                  list.add(binf);
               }
@@ -354,6 +401,14 @@
      }else{
         baseSql+=station1SqlF;
      }
      //用于维护区
      String station2SqlT=" and stationname2!=? ";//全部
      String station2SqlF=" and stationname2=? ";
      if(binf.getStationName2().equals("")){
         baseSql+=station2SqlT;
      }else{
         baseSql+=station2SqlF;
      }
      //用于机房站点
      String stationSqlT=" and stationname!=? ";//全部
      String stationSqlF=" and stationname=? ";
@@ -373,7 +428,7 @@
      String endSql=" order by stationid ";
      sql=baseSql+endSql;
      //System.out.println(sql);
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getStationName1(),binf.getStationName(),binf.getBattGroupId()}, new CallBack() {
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getStationName1(),binf.getStationName2(),binf.getStationName(),binf.getBattGroupId()}, new CallBack() {
         
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
@@ -981,7 +1036,7 @@
                  // batt.setStationName(rs.getString("StationName"));
                  batt.setBattGroupName(rs.getString("battGroupName"));
                  batt.setMonCount(rs.getInt("monCount"));
                  //batt.setMonNum(Integer.parseInt(rs.getString("signalname").split("#")[0]));
                  batt.setMonNum(Integer.parseInt(rs.getString("signalname").split("#")[0]));
                  //System.out.println(batt);
                  list.add(batt);
               }
@@ -1410,7 +1465,7 @@
            Connection conn=DBUtil.getConn();
            String numberSql=" SELECT FOUND_ROWS() number";
            String sql="";
            String baseSql="select SQL_CALC_FOUND_ROWS distinct(db_battinf.tb_battinf.BattgroupId),db_battinf.tb_battinf.stationid,StationName1,StationName,stationip,BattGroupName,BattGroupName1,battgroupnum,moncount,moncapstd,monvolstd,battproducer,battproductdate,battinusedate "
            String baseSql="select SQL_CALC_FOUND_ROWS distinct(db_battinf.tb_battinf.BattgroupId),db_battinf.tb_battinf.stationid,StationName1,StationName2,StationName5,StationName,stationip,BattGroupName,BattGroupName1,battgroupnum,moncount,moncapstd,monvolstd,battproducer,battproductdate,battinusedate "
                  + " from db_battinf.tb_battinf  "
                  + " where ";
            //选取蓄电池组条件
@@ -1428,14 +1483,14 @@
            " and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id  " +
            " and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid  " +
            " and db_user.tb_user_inf.uid=? " +
            " and db_battinf.tb_battinf.stationname1 like ? and db_battinf.tb_battinf.stationname like ?)";
            " and db_battinf.tb_battinf.stationname1 like ? and db_battinf.tb_battinf.stationname like ? and db_battinf.tb_battinf.stationname2 like ? and db_battinf.tb_battinf.stationname5 like ? )";
            baseSql+=userSql;
            String endSql=" order by StationName1 asc,db_battinf.tb_battinf.BattgroupId asc ";
            sql=baseSql+endSql;
            String limitSql=" limit ?,? ";
            sql+=limitSql;
            //System.out.println(sql);
            List<BattInf> list = DAOHelper.executeQueryLimit(sql,conn,new Object[] {binf.getBattGroupId(),uinf.getUId(),"%"+binf.getStationName1()+"%","%"+binf.getStationName()+"%",(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()},
            List<BattInf> list = DAOHelper.executeQueryLimit(sql,conn,new Object[] {binf.getBattGroupId(),uinf.getUId(),"%"+binf.getStationName1()+"%","%"+binf.getStationName()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName5()+"%",(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()},
                  new CallBack() {
                     public List getResults(ResultSet rs) {
                        List list=new ArrayList();
@@ -1446,6 +1501,8 @@
                              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.setStationIp(rs.getString("stationIp"));
                              binf.setBattGroupName(rs.getString("battGroupName"));
                              binf.setBattGroupName1(rs.getString("battGroupName1"));
@@ -1611,7 +1668,7 @@
      Connection conn=DBUtil.getConn();
      String numberSql=" SELECT FOUND_ROWS() number";
      String sql="";
      String baseSql=" select SQL_CALC_FOUND_ROWS distinct(db_battinf.tb_battinf.BattgroupId),db_battinf.tb_battinf.stationid,StationName1,StationName,stationip,BattGroupName,BattGroupName1,moncount,moncapstd,monvolstd,battproducer,battproductdate,battinusedate " +
      String baseSql=" select SQL_CALC_FOUND_ROWS distinct(db_battinf.tb_battinf.BattgroupId),db_battinf.tb_battinf.stationid,StationName1,StationName2,StationName5,StationName,stationip,BattGroupName,BattGroupName1,moncount,moncapstd,monvolstd,battproducer,battproductdate,battinusedate " +
                " from  db_battinf.tb_battinf " +
                " where  ";
      //选取蓄电池组条件
@@ -1629,7 +1686,7 @@
            " and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id  " +
            " and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid  " +
            " and db_user.tb_user_inf.uid=? " +
              " and db_battinf.tb_battinf.stationname1 like ? and db_battinf.tb_battinf.stationname like ?)";
              " and db_battinf.tb_battinf.stationname1 like ? and db_battinf.tb_battinf.stationname like ? and db_battinf.tb_battinf.stationname2 like ? and db_battinf.tb_battinf.stationname5 like ?) ";
      baseSql+=userSql;
      //排序
      String endSql=" order by db_battinf.tb_battinf.battgroupid asc ";
@@ -1639,7 +1696,7 @@
      sql=baseSql+endSql+limitSql;
      //System.out.println(sql);
        List<BattInf> list=DAOHelper.executeQueryLimit(sql,conn, new Object[]{
         binf.getBattGroupId(),uinf.getUId(),"%"+binf.getStationName1()+"%","%"+binf.getStationName()+"%",
         binf.getBattGroupId(),uinf.getUId(),"%"+binf.getStationName1()+"%","%"+binf.getStationName()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName5()+"%",
         (page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() {
         
         public List getResults(ResultSet rs) {
@@ -1651,6 +1708,8 @@
                  binf.setBattGroupId(rs.getInt("battGroupId"));
                  binf.setStationId(rs.getString("stationId"));
                  binf.setStationName1(rs.getString("stationName1"));
                  binf.setStationName2(rs.getString("stationName2"));
                  binf.setStationName5(rs.getString("stationName5"));
                  binf.setStationName(rs.getString("stationName"));
                  binf.setStationIp(rs.getString("stationIp"));
                  binf.setBattGroupName(rs.getString("battGroupName"));
@@ -1830,7 +1889,7 @@
         Page page =bmd.getPage();
         Batttestdata_inf tinf=bmd.getTdata();
         String sql="";
         String baseSql=" select  distinct(db_battinf.tb_battinf.BattgroupId),StationName1,StationName,stationip,BattGroupName,BattGroupName1,moncount,moncapstd,monvolstd,battproducer,battproductdate,battinusedate " +
         String baseSql=" select  distinct(db_battinf.tb_battinf.BattgroupId),StationName1,StationName2,StationName5,StationName,stationip,BattGroupName,BattGroupName1,moncount,moncapstd,monvolstd,battproducer,battproductdate,battinusedate " +
                   " ,db_batt_testdata.tb_batttestdata_inf.test_record_count,test_starttime " +
                   "from  db_battinf.tb_battinf,db_batt_testdata.tb_batttestdata_inf " +
                   " where db_battinf.tb_battinf.battgroupid=db_batt_testdata.tb_batttestdata_inf.battgroupid " +
@@ -1850,7 +1909,7 @@
            " and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id  " +
            " and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid  " +
            " and db_user.tb_user_inf.uid=? " +
             " and db_battinf.tb_battinf.stationname1 like ? and db_battinf.tb_battinf.stationname like ?)";
             " and db_battinf.tb_battinf.stationname1 like ? and db_battinf.tb_battinf.stationname like ? and db_battinf.tb_battinf.stationname2 like ? and db_battinf.tb_battinf.stationname5 like ?)";
         baseSql+=userSql;
         //充电放电选择
         String test_typeA="";//全部
@@ -1886,7 +1945,7 @@
         //System.out.println(sql);
           List<BattInf> list=DAOHelper.executeQuery(sql,DBUtil.getConn(), new Object[]{
            tinf.getRecord_time(),tinf.getRecord_time1()
            ,binf.getBattGroupId(),uinf.getUId(),"%"+binf.getStationName1()+"%","%"+binf.getStationName()+"%"
            ,binf.getBattGroupId(),uinf.getUId(),"%"+binf.getStationName1()+"%","%"+binf.getStationName()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName5()+"%"
            }, new CallBack() {
            
            public List getResults(ResultSet rs) {
@@ -1897,6 +1956,8 @@
                     BattInf binf=new BattInf();
                     binf.setBattGroupId(rs.getInt("battGroupId"));
                     binf.setStationName1(rs.getString("stationName1"));
                     binf.setStationName2(rs.getString("stationName2"));
                     binf.setStationName2(rs.getString("stationName5"));
                     binf.setStationName(rs.getString("stationName"));
                     binf.setStationIp(rs.getString("stationIp"));
                     binf.setBattGroupName(rs.getString("battGroupName"));
@@ -3271,6 +3332,31 @@
      } );
      return list;
   }
   //查询所有的省份(左侧导航第一层,查所有的省份)
   public List serchAllStation_all(Object obj){
      BattInf binf=(BattInf) obj;;
      String sql="select DISTINCT StationName1 " +
            " FROM db_battinf.tb_battinf " +
            " ORDER BY CONVERT( StationName1 USING gbk ) COLLATE gbk_chinese_ci ASC";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), null,new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
               try {
                  while(rs.next()){
                     BattInf batt = new BattInf();
                     batt.setStationName1(rs.getString("stationName1"));
                     list.add(batt);
                  }
               } catch (SQLException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
               }
            return list;
         }
      } );
      return list;
   }
   
   //查询管理的市(左侧导航第二层,查所有的市,num中存放uid)
   public List serchStationName2(Object obj){
@@ -3301,15 +3387,43 @@
      } );
      return list;
   }
   //查询管理的机房(左侧导航第三层,查所有的机房,num中存放uid)
   public List serchStationName3(Object obj){
   //查询管理的市(左侧导航第二层,查所有的市)
   public List serchStationName2_all(Object obj){
      BattInf binf=(BattInf) obj;
      String sql="select DISTINCT StationName1,StationName2,StationName3,stationid,fbsdeviceid  " +
      String sql="select DISTINCT StationName1,StationName2  " +
            " FROM db_battinf.tb_battinf " +
            " where StationName1 like ? " +
            " ORDER BY CONVERT( StationName2 USING gbk ) COLLATE gbk_chinese_ci ASC ";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{"%"+binf.getStationName1()+"%"},new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
               try {
                  while(rs.next()){
                     BattInf batt = new BattInf();
                     batt.setStationName1(rs.getString("stationName1"));
                     batt.setStationName2(rs.getString("stationName2"));
                     list.add(batt);
                  }
               } catch (SQLException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
               }
            return list;
         }
      } );
      return list;
   }
   //查询管理的县/区(左侧导航第三层,查所有的县/区)
   public List serchStationName5(Object obj){
      BattInf binf=(BattInf) obj;
      String sql="select DISTINCT stationName5,StationName1,StationName2   " +
            " FROM db_battinf.tb_battinf " +
            " where StationId in(" +
            " select distinct db_user.tb_user_battgroup_baojigroup_battgroup.StationId from db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id=db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id  and db_user.tb_user_battgroup_baojigroup_usr.uId=?" +
            " ) and StationName1 like ? and StationName2 like ?  " +
            " ORDER BY CONVERT( StationName3 USING gbk ) COLLATE gbk_chinese_ci ASC ";
            " ORDER BY CONVERT( StationName USING gbk ) COLLATE gbk_chinese_ci ASC ";
      //System.out.println(sql);
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getNum(),"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%"},new CallBack() {
         
         public List getResults(ResultSet rs) {
@@ -3319,8 +3433,102 @@
                     BattInf batt = new BattInf();
                     batt.setStationName1(rs.getString("stationName1"));
                     batt.setStationName2(rs.getString("stationName2"));
                     batt.setStationName5(rs.getString("stationName5"));
                     list.add(batt);
                  }
               } catch (SQLException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
               }
            return list;
         }
      } );
      return list;
   }
   //查询管理的县/区(左侧导航第三层,查所有的县/区)
   public List serchStationName5_all(Object obj){
      BattInf binf=(BattInf) obj;
      String sql="select DISTINCT stationName5,StationName1,StationName2  " +
            " FROM db_battinf.tb_battinf " +
            " where StationName1 like ? and StationName2 like ?  " +
            " ORDER BY CONVERT( StationName USING gbk ) COLLATE gbk_chinese_ci ASC ";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getNum(),"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%"},new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
               try {
                  while(rs.next()){
                     BattInf batt = new BattInf();
                     batt.setStationName1(rs.getString("stationName1"));
                     batt.setStationName2(rs.getString("stationName2"));
                     batt.setStationName5(rs.getString("stationName5"));
                     list.add(batt);
                  }
               } catch (SQLException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
               }
            return list;
         }
      } );
      return list;
   }
   //查询管理的机房(左侧导航第四层,查所有的机房,num中存放uid)
   public List serchStationName3(Object obj){
      BattInf binf=(BattInf) obj;
      String sql="select DISTINCT StationName,StationName1,StationName2,StationName3,StationName5,stationid,fbsdeviceid,FBSDeviceName  " +
            " FROM db_battinf.tb_battinf " +
            " where StationId in(" +
            " select distinct db_user.tb_user_battgroup_baojigroup_battgroup.StationId from db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id=db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id  and db_user.tb_user_battgroup_baojigroup_usr.uId=?" +
            " ) and StationName1 like ? and StationName2 like ? and StationName5 like ?  " +
            " ORDER BY CONVERT( StationName USING gbk ) COLLATE gbk_chinese_ci ASC ";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getNum(),"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName5()+"%"},new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
               try {
                  while(rs.next()){
                     BattInf batt = new BattInf();
                     batt.setStationName(rs.getString("stationName"));
                     batt.setStationName1(rs.getString("stationName1"));
                     batt.setStationName2(rs.getString("stationName2"));
                     batt.setStationName3(rs.getString("stationName3"));
                     batt.setStationName5(rs.getString("stationName5"));
                     batt.setStationId(rs.getString("stationId"));
                     batt.setFBSDeviceName(rs.getString("fBSDeviceName"));
                     batt.setFBSDeviceId(rs.getInt("fBSDeviceId"));
                     list.add(batt);
                  }
               } catch (SQLException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
               }
            return list;
         }
      } );
      return list;
   }
   //查询管理的机房(左侧导航第四层,查所有的机房)
   public List serchStationName3_all(Object obj){
      BattInf binf=(BattInf) obj;
      String sql="select DISTINCT StationName,StationName1,StationName2,StationName3,StationName5,stationid,fbsdeviceid,FBSDeviceName  " +
            " FROM db_battinf.tb_battinf " +
            " where StationName1 like ? and StationName2 like ?  and StationName5 like ? " +
            " ORDER BY CONVERT( StationName USING gbk ) COLLATE gbk_chinese_ci ASC ";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName5()+"%"},new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
               try {
                  while(rs.next()){
                     BattInf batt = new BattInf();
                     batt.setStationName(rs.getString("stationName"));
                     batt.setStationName1(rs.getString("stationName1"));
                     batt.setStationName2(rs.getString("stationName2"));
                     batt.setStationName3(rs.getString("stationName3"));
                     batt.setStationName5(rs.getString("stationName5"));
                     batt.setStationId(rs.getString("stationId"));
                     batt.setFBSDeviceName(rs.getString("fBSDeviceName"));
                     batt.setFBSDeviceId(rs.getInt("fBSDeviceId"));
                     list.add(batt);
                  }
@@ -3335,11 +3543,11 @@
   }
   
   
   //根据机房id查询机房下的电池组信息(左侧导航第四层,根据机房查询下面的电池组,num中存放uid)
   //根据机房id查询机房下的电池组信息(左侧导航第五层,根据机房查询下面的电池组,num中存放uid)
   public List serchBattByStation(Object obj){
      BattInf binf=(BattInf) obj;
      String sql="select DISTINCT StationName,StationId,StationIP,FBSDeviceId,BattGroupName,BattGroupName1,BattGroupName2,MonCount,battgroupId,MonCapStd,MonVolStd,MonResStd,MonSerStd,BattProducer,BattInUseDate,GroupIndexInFBSDevice " +
            "from db_battinf.tb_battinf  where StationName1 like ? and StationName2 like ?  and  StationName3 like ?  ";
      String sql="select DISTINCT StationName,StationName1,StationName2,StationName3,StationName5,StationId,stationid_ex,StationIP,FBSDeviceId,BattGroupName,BattGroupName1,BattGroupName2,MonCount,battgroupId,MonCapStd,MonVolStd,MonResStd,MonSerStd,BattProducer,BattInUseDate,GroupIndexInFBSDevice,Load_curr,DisCurrMax " +
            "from db_battinf.tb_battinf  where StationName1 like ? and StationName2 like ?   and  StationName like ? and StationName5 like ?  ";
       //机房id
      String idSqlT=" and  Stationid like ? ";
      sql+=idSqlT;
@@ -3350,8 +3558,9 @@
      sql+=userSql;
      //排序
      String orderSql=" ORDER BY StationName1,battgroupId ";
      sql+=orderSql;
      //System.out.println(sql);
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(),new Object[]{"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName3()+"%","%"+binf.getStationId()+"%",binf.getNum()},new CallBack() {
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(),new Object[]{"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName()+"%","%"+binf.getStationName5()+"%","%"+binf.getStationId()+"%",binf.getNum()},new CallBack() {
         
         public List getResults(ResultSet rs) {
            List list = new ArrayList();
@@ -3359,6 +3568,67 @@
               while (rs.next()) {
                  BattInf batt = new BattInf();
                  batt.setStationName(rs.getString("stationName"));
                  batt.setStationName1(rs.getString("stationName1"));
                  batt.setStationName2(rs.getString("stationName2"));
                  batt.setStationName3(rs.getString("stationName3"));
                  batt.setStationName5(rs.getString("stationName5"));
                  batt.setStationId(rs.getString("StationId"));
                  batt.setStationId_ex(rs.getString("stationId_ex"));
                  batt.setStationIp(rs.getString("StationIP"));
                  batt.setBattGroupName(rs.getString("BattGroupName").trim());
                  batt.setBattGroupName1(rs.getString("BattGroupName1").trim());
                  batt.setBattGroupName2(rs.getString("BattGroupName2").trim());
                  batt.setFBSDeviceId(rs.getInt("fBSDeviceId"));
                  batt.setMonCount(rs.getInt("MonCount"));
                  batt.setBattGroupId(rs.getInt("battgroupId"));
                  batt.setMonCapStd(rs.getFloat("monCapStd"));
                  batt.setMonVolStd(rs.getFloat("monVolStd"));
                  batt.setMonResStd(rs.getFloat("MonResStd"));
                  batt.setMonSerStd(rs.getFloat("MonSerStd"));
                  batt.setBattProducer(rs.getString("BattProducer"));
                  batt.setBattInUseDate(rs.getDate("BattInUseDate"));
                  batt.setGroupIndexInFBSDevice(rs.getInt("groupIndexInFBSDevice"));
                  batt.setLoad_curr(rs.getFloat("load_curr"));
                  batt.setDisCurrMax(rs.getFloat("disCurrMax"));
                  list.add(batt);
               }
            } catch (SQLException e) {
               e.printStackTrace();
            }
            return list;
         }
      });
      return list;
      }
   //根据机房id查询机房下的电池组信息(左侧导航第五层,根据机房查询下面的电池组,num中存放uid)
   public List serchBattByStation_all(Object obj){
      BattInf binf=(BattInf) obj;
      String sql="select DISTINCT StationName,StationName1,StationName2,StationName3,StationName4,StationName5,StationId,StationIP,FBSDeviceId,BattGroupName,BattGroupName1,BattGroupName2,MonCount,battgroupId,MonCapStd,MonVolStd,MonResStd,MonSerStd,BattProducer,BattInUseDate,GroupIndexInFBSDevice " +
            "from db_battinf.tb_battinf  where StationName1 like ? and StationName2 like ?  and  StationName like ? and StationName5 like ? ";
       //机房id
      String idSqlT=" and  Stationid like ? ";
      sql+=idSqlT;
      //用户管理
      String userSql=" and StationId in(" +
            " select distinct db_user.tb_user_battgroup_baojigroup_battgroup.StationId from db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id=db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id  and db_user.tb_user_battgroup_baojigroup_usr.uId=?" +
            " ) ";
      //sql+=userSql;
      //排序
      String orderSql=" ORDER BY StationName1,battgroupId ";
      sql+=orderSql;
      //System.out.println(sql);
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(),new Object[]{"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName()+"%","%"+binf.getStationName5()+"%","%"+binf.getStationId()+"%"},new CallBack() {
         public List getResults(ResultSet rs) {
            List list = new ArrayList();
            try {
               while (rs.next()) {
                  BattInf batt = new BattInf();
                  batt.setStationName(rs.getString("stationName"));
                  batt.setStationName1(rs.getString("stationName1"));
                  batt.setStationName2(rs.getString("stationName2"));
                  batt.setStationName3(rs.getString("stationName3"));
                  batt.setStationName5(rs.getString("stationName5"));
                  batt.setStationId(rs.getString("StationId"));
                  batt.setStationIp(rs.getString("StationIP"));
                  batt.setBattGroupName(rs.getString("BattGroupName").trim());
@@ -3468,15 +3738,176 @@
      return nums;
   }
    
   //电池配组管理(重要)
   public List serchMakeGroup(Object obj){
      BattInf binf=(BattInf) obj;
      String sql="SELECT distinct BattGroupId,battgroupname,stationid,stationname1,stationname2,stationname5,stationname,stationname3,BattProducer,MonVolStd,MonCapStd,monCount " +
            " ,battinf_re.old_stationname,old_battgroupname,old_battproducer,old_stationid,old_battgroupid,old_monum,new_stationname,new_battgroupname,new_battproducer,new_stationid,new_battgroupid,new_monum,rebuild_time,rebuild_uid,rebuild_address,rebuild_clear_type " +
            " from db_battinf.tb_battinf " +
            " left outer join (select * from db_battinf.tb_battinf_rebuild where tb_battinf_rebuild.rebuild_clear_type=1 ) as battinf_re " +
            " on BattGroupId=battinf_re.new_battgroupid or BattGroupId=battinf_re.old_battgroupid " +
            " where stationname2 like ?  stationname5 like ?  ";
      //用户管理
      String userSql=" and StationId in(" +
            " select distinct db_user.tb_user_battgroup_baojigroup_battgroup.StationId from db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id=db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id  and db_user.tb_user_battgroup_baojigroup_usr.uId=?" +
            " ) ";
      sql+=userSql;
      //选中品牌一致
      String producerSqlT=" order by BattProducer,MonCapStd,MonVolStd,BattGroupId ";//一致
      String producerSqlF=" order by MonCapStd,MonVolStd,BattGroupId ";//不一致
      if(binf.getBattProducer().equals("1")){
         sql+=producerSqlT;
      }else{
         sql+=producerSqlF;
      }
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{"%"+binf.getStationName2()+"%","%"+binf.getStationName5()+"%",binf.getNum()}, new CallBack() {
         public List getResults(ResultSet rs) {
            List<BattInf> list=new ArrayList();
            int battgroupid=0;
            try {
               while(rs.next()){
                  BattInf binf=new BattInf();
                  binf.setBattGroupId(rs.getInt("battGroupId"));
                  binf.setBattGroupName(rs.getString("battGroupName"));
                  binf.setStationId(rs.getString("stationId"));
                  binf.setStationName(rs.getString("stationName"));
                  binf.setStationName1(rs.getString("stationName1"));
                  binf.setStationName2(rs.getString("stationName2"));
                  binf.setStationName3(rs.getString("stationName3"));
                  binf.setStationName5(rs.getString("stationName5"));
                  binf.setBattProducer(rs.getString("battProducer"));
                  binf.setMonVolStd(rs.getFloat("monVolStd"));
                  binf.setMonCapStd(rs.getFloat("monCapStd"));
                  binf.setMonCount(rs.getInt("monCount"));
                  BattInf_Rebuild brinf=new BattInf_Rebuild();
                  brinf.setNew_battgroupid(rs.getInt("new_battgroupid"));
                  brinf.setNew_battgroupname(rs.getString("new_battgroupname"));
                  brinf.setNew_battproducer(rs.getString("new_battproducer"));
                  brinf.setNew_monum(rs.getInt("new_monum"));
                  brinf.setNew_stationid(rs.getString("new_stationid"));
                  brinf.setNew_stationname(rs.getString("new_stationname"));
                  brinf.setOld_battgroupid(rs.getInt("old_battgroupid"));
                  brinf.setOld_battgroupname(rs.getString("old_battgroupname"));
                  brinf.setOld_battproducer(rs.getString("old_battproducer"));
                  brinf.setOld_monum(rs.getInt("old_monum"));
                  brinf.setOld_stationid(rs.getString("old_stationid"));
                  brinf.setOld_stationname(rs.getString("old_stationname"));
                  brinf.setRebuild_address(rs.getString("rebuild_address"));
                  brinf.setRebuild_clear_type(rs.getInt("rebuild_clear_type"));
                  brinf.setRebuild_time(rs.getTimestamp("rebuild_time"));
                  brinf.setRebuild_uid(rs.getInt("rebuild_uid"));
                        if(binf.getBattGroupId()==battgroupid){
                     ((ArrayList)list.get(list.size()-1).getObj()).add(brinf);
                     continue;
                  }
                  List listr=new ArrayList();
                  listr.add(brinf);
                  binf.setObj(listr);
                  battgroupid=binf.getBattGroupId();
                  list.add(binf);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      return list;
   }
   //电池配组管理(重要)
   public List serchGroupByInfor(Object obj){
      BattInf binf=(BattInf) obj;
      String sql="SELECT distinct BattGroupId,battgroupname,stationid,stationname1,stationname2,stationname,stationname3,stationname5,BattProducer,MonVolStd,MonCapStd,monCount " +
            " ,battinf_re.old_stationname,old_battgroupname,old_battproducer,old_stationid,old_battgroupid,old_monum,new_stationname,new_battgroupname,new_battproducer,new_stationid,new_battgroupid,new_monum,rebuild_time,rebuild_uid,rebuild_address,rebuild_clear_type " +
            " from db_battinf.tb_battinf " +
            " left outer join (select * from db_battinf.tb_battinf_rebuild where tb_battinf_rebuild.rebuild_clear_type=1 ) as battinf_re " +
            " on BattGroupId=battinf_re.new_battgroupid or BattGroupId=battinf_re.old_battgroupid " +
            " where stationname1 like ? and stationname2 like ? and stationname3 like ?  and stationname5 like ? and battgroupname like ?  and battgroupid=? ";
      //用户管理
      String userSql=" and StationId in(" +
            " select distinct db_user.tb_user_battgroup_baojigroup_battgroup.StationId from db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id=db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id  and db_user.tb_user_battgroup_baojigroup_usr.uId=?" +
            " ) ";
      sql+=userSql;
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName3()+"%","%"+binf.getStationName5()+"%","%"+binf.getBattGroupName()+"%",binf.getBattGroupId(),binf.getNum()}, new CallBack() {
         public List getResults(ResultSet rs) {
            List<BattInf> list=new ArrayList();
            int battgroupid=0;
            try {
               while(rs.next()){
                  BattInf binf=new BattInf();
                  binf.setBattGroupId(rs.getInt("battGroupId"));
                  binf.setBattGroupName(rs.getString("battGroupName"));
                  binf.setStationId(rs.getString("stationId"));
                  binf.setStationName(rs.getString("stationName"));
                  binf.setStationName1(rs.getString("stationName1"));
                  binf.setStationName2(rs.getString("stationName2"));
                  binf.setStationName3(rs.getString("stationName3"));
                  binf.setStationName5(rs.getString("stationName5"));
                  binf.setBattProducer(rs.getString("battProducer"));
                  binf.setMonVolStd(rs.getFloat("monVolStd"));
                  binf.setMonCapStd(rs.getFloat("monCapStd"));
                  binf.setMonCount(rs.getInt("monCount"));
                  BattInf_Rebuild brinf=new BattInf_Rebuild();
                  brinf.setNew_battgroupid(rs.getInt("new_battgroupid"));
                  brinf.setNew_battgroupname(rs.getString("new_battgroupname"));
                  brinf.setNew_battproducer(rs.getString("new_battproducer"));
                  brinf.setNew_monum(rs.getInt("new_monum"));
                  brinf.setNew_stationid(rs.getString("new_stationid"));
                  brinf.setNew_stationname(rs.getString("new_stationname"));
                  brinf.setOld_battgroupid(rs.getInt("old_battgroupid"));
                  brinf.setOld_battgroupname(rs.getString("old_battgroupname"));
                  brinf.setOld_battproducer(rs.getString("old_battproducer"));
                  brinf.setOld_monum(rs.getInt("old_monum"));
                  brinf.setOld_stationid(rs.getString("old_stationid"));
                  brinf.setOld_stationname(rs.getString("old_stationname"));
                  brinf.setRebuild_address(rs.getString("rebuild_address"));
                  brinf.setRebuild_clear_type(rs.getInt("rebuild_clear_type"));
                  brinf.setRebuild_time(rs.getTimestamp("rebuild_time"));
                  brinf.setRebuild_uid(rs.getInt("rebuild_uid"));
                        if(binf.getBattGroupId()==battgroupid){
                     ((ArrayList)list.get(list.size()-1).getObj()).add(brinf);
                     continue;
                  }
                  List listr=new ArrayList();
                  listr.add(brinf);
                  binf.setObj(listr);
                  battgroupid=binf.getBattGroupId();
                  list.add(binf);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      return list;
   }
   public static void main(String[] args) throws ParseException {
      //new BattInfImpl().searchAll();
      
      BattInfImpl biml = new BattInfImpl();
      BattInf binf = new BattInf();
      binf.setBattGroupId(1000967);
      binf.setStationName("内蒙古");
      binf.setStationName1("内蒙古");
      binf.setNum(1002);
      binf.setBattGroupId(1000001);
      binf.setStationName("");
      binf.setStationName1("");
      binf.setStationName2("");
      binf.setStationName3("");
      binf.setBattGroupName("");
      binf.setBattProducer("1");
      User_inf uinf=new User_inf();
      uinf.setUId(1002);
      
@@ -3501,10 +3932,13 @@
      //List<BattInf> list = biml.serchByConditionNew(bmd);
      //List<BattInf> list=biml.serchByTestType(bmd);
      //List<BattInf> list=biml.serchGroupAssess(bmd);
      List<BattInf> list=biml.serchByMonNum(binf);
      for (BattInf b : list) {
      //List<BattInf> list=biml.serchMakeGroup(binf);
      //List<BattInf> list=biml.serchGroupByInfor(binf);
      //List<BattInf> list=biml.searchInform1(bmd);
      List<BattInf> list=biml.serchStationName5(binf);
      /*for (BattInf b : list) {
         System.out.println(b);
      }
      }*/
      System.out.println(list.size());
   }