81041
2018-11-01 bc08da69b44c9893cf29e1549e917e8bf527b85b
gx_tieta/src/com/fgkj/dao/impl/ram/Bts_station_stateImpl.java
@@ -51,19 +51,76 @@
      String numberSql="SELECT FOUND_ROWS() number";//存放总数
      String sql="select SQL_CALC_FOUND_ROWS distinct station_id,dev_id,record_datetime,station_stat,station_poff_start_time,station_fadian_start_time" +
               " ,station_diaozhan_start_time,station_temp,station_damp,station_dooropen_start_time,station_xuhang_start_time" +
               " ,tb_battinf.stationname,tb_battinf.stationname1,tb_battinf.stationname2,tb_battinf.stationname3 " +
               " ,tb_battinf.stationname,tb_battinf.stationname1,tb_battinf.stationname2,tb_battinf.stationname3,tb_battinf.stationname5 " +
               " from db_ram_db.tb_bts_station_state,db_battinf.tb_battinf  " +
               " where  tb_bts_station_state.dev_id=db_battinf.tb_battinf.FBSDeviceId  " +
               "  and tb_bts_station_state.station_id in (" +
               " and tb_battinf.stationname1 like ? and tb_battinf.stationname2 like ? and tb_battinf.stationname3 like ?  and tb_battinf.stationname5 like ?   " +
               " and stationid like ? " ;
               /*"  and tb_bts_station_state.station_id 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=?  ) " +
               " and tb_battinf.stationname1 like ? and tb_battinf.stationname2 like ? and tb_battinf.stationname3 like ? " +
               " and stationid like ?  limit ? ,? ";
      List<Bts_station_state> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{binf.getNum(),"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName3()+"%","%"+binf.getStationId()+"%",(p.getPageCurr()-1)*p.getPageSize(),p.getPageSize()},new CallBack() {
               "  where db_user.tb_user_inf.uid=?  and tb_battinf.stationname1 like ? and tb_battinf.stationname2 like ? and tb_battinf.stationname3 like ? ) " +
               " and stationid 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;
      if(binf.getBattGroupNum()>1){
         sql+=" and ( ";
      }
      //掉站
      String diaozhanSql="  ((station_stat&32)>1) ";
      if((binf.getBattGroupNum()&32)>1){
         sql+=diaozhanSql;
      }
      if((binf.getBattGroupNum()&16)>1&&(binf.getBattGroupNum()>32)){
         sql+=" or ";
      }
      //开门
      String dooropenSql="  ((station_stat&16)>1) ";
      if((binf.getBattGroupNum()&16)>1){
         sql+=dooropenSql;
      }
      if((binf.getBattGroupNum()&8)>1&&(binf.getBattGroupNum()>16)){
         sql+=" or ";
      }
      //发电
      String fadianSql="  ((station_stat&8)>1) ";
      if((binf.getBattGroupNum()&8)>1){
         sql+=fadianSql;
      }
      if((binf.getBattGroupNum()&4)>1&&(binf.getBattGroupNum()>8)){
         sql+=" or ";
      }
      //续航
      String xuhangSql="  ((station_stat&4)>1) ";
      if((binf.getBattGroupNum()&4)>1){
         sql+=xuhangSql;
      }
      if((binf.getBattGroupNum()&2)>1&&(binf.getBattGroupNum()>4)){
         sql+=" or ";
      }
      //停电
      String poffSql="  ((station_stat&2)>1) ";
      if((binf.getBattGroupNum()&2)>1){
         sql+=poffSql;
      }
      if(binf.getBattGroupNum()>1){
         sql+=" ) ";
      }
      if(binf.getBattGroupNum()==0){
         sql+=" and station_stat<0 ";         //当没有选择想要查看的机房异常状态是筛选
      }
      //分页
      String orderSql=" limit ? ,? ";
      sql+=orderSql;
      //System.out.println(sql);
      List<Bts_station_state> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName3()+"%","%"+binf.getStationName5()+"%","%"+binf.getStationId()+"%",binf.getNum(),(p.getPageCurr()-1)*p.getPageSize(),p.getPageSize()},new CallBack() {
         
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
@@ -100,6 +157,7 @@
                  b.setStationName1(rs.getString("stationName1"));
                  b.setStationName2(rs.getString("stationName2"));
                  b.setStationName3(rs.getString("stationName3"));
                  b.setStationName5(rs.getString("stationName5"));
                  Page page=new Page();
                  b.setPage(page);
                  list.add(b);
@@ -163,11 +221,12 @@
      binf.setStationName2("");
      binf.setStationName3("");
      binf.setStationId("");
      binf.setBattGroupNum(36);
      User_inf uinf=new User_inf();
      uinf.setUId(1002);
      Page p=new Page();
      p.setPageCurr(1);
      p.setPageSize(1);
      p.setPageSize(10);
      binf.setPage(p);
      List<Bts_station_state> list=bimpl.serchByCondition(binf);
      for (Bts_station_state bs : list) {