81041
2018-10-11 5f73148bd85016ac62586e030c2a4cccccfacf47
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;
@@ -354,6 +356,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 +383,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();
@@ -3271,6 +3281,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){
@@ -3282,6 +3317,33 @@
            " ) and StationName1 like ? " +
            " ORDER BY CONVERT( StationName2 USING gbk ) COLLATE gbk_chinese_ci ASC ";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getNum(),"%"+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 serchStationName2_all(Object obj){
      BattInf binf=(BattInf) obj;
      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();
@@ -3335,6 +3397,38 @@
      } );
      return list;
   }
   //查询管理的机房(左侧导航第三层,查所有的机房)
   public List serchStationName3_all(Object obj){
      BattInf binf=(BattInf) obj;
      String sql="select DISTINCT StationName,StationName1,StationName2,StationName3,stationid,fbsdeviceid,FBSDeviceName  " +
            " 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.getStationName1()+"%","%"+binf.getStationName2()+"%"},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.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;
   }
   
   
   //根据机房id查询机房下的电池组信息(左侧导航第四层,根据机房查询下面的电池组,num中存放uid)
@@ -3352,8 +3446,59 @@
      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.getStationId()+"%",binf.getNum()},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.setStationId(rs.getString("StationId"));
                  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"));
                  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,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 ?  ";
       //机房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.getStationId()+"%"},new CallBack() {
         
         public List getResults(ResultSet rs) {
            List list = new ArrayList();
@@ -3470,15 +3615,163 @@
      return nums;
   }
    
   //电池配组管理(重要)
   public List serchMakeGroup(Object obj){
      BattInf binf=(BattInf) obj;
      String sql="SELECT distinct BattGroupId,battgroupname,stationid,stationname1,stationname2,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 ? ";
      //选中品牌一致
      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()+"%"}, 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.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,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 battgroupname like ?  and battgroupid=? ";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName3()+"%","%"+binf.getBattGroupName()+"%",binf.getBattGroupId()}, 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.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.setBattGroupId(1000001);
      binf.setStationName("");
      binf.setStationName1("");
      binf.setStationName2("");
      binf.setStationName3("武汉源暢实验室1");
      binf.setBattGroupName("");
      binf.setBattProducer("1");
      User_inf uinf=new User_inf();
      uinf.setUId(1002);
      
@@ -3503,7 +3796,8 @@
      //List<BattInf> list = biml.serchByConditionNew(bmd);
      //List<BattInf> list=biml.serchByTestType(bmd);
      //List<BattInf> list=biml.serchGroupAssess(bmd);
      List<BattInf> list=biml.serchByMonNum(binf);
      //List<BattInf> list=biml.serchMakeGroup(binf);
      List<BattInf> list=biml.serchGroupByInfor(binf);
      for (BattInf b : list) {
         System.out.println(b);
      }