81041
2018-11-14 bc8eacc7f4412a274f64c79d79b702bca588ee8e
gx_tieta/src/com/fgkj/dao/impl/ram/Fbs9100_stateImpl.java
@@ -312,6 +312,73 @@
      }
      return list;
   }
   //11.1FBS9100设备通信状态查询<-------跨域----------->
   public List serchByCondition_ky() {
      String sql="";
      String baseSql="select  distinct tb_fbs9100_state.num,tb_fbs9100_state.dev_ip,tb_fbs9100_state.dev_version,record_datetime,tb_fbs9100_state.dev_id,op_cmd,dev_datetime,dev_testtype,dev_testgroupnum," +
            "dev_workstate,dev_alarmstate,dev_res_test_state,dev_onlinevollow,dev_eachgroup_battsum,dev_captest_onlinevol,dev_captest_groupvol,dev_captest_curr," +
            "dev_captest_cap,dev_captest_timelong,dev_restest_moncount,dev_restest_monindex,dev_commcount,dev_errcommcount,db_ram_db.tb_fbs9100_state.dev_61850alarms,dev_last_captest_stop_type, " +
            "db_battinf.tb_battinf.StationName,db_battinf.tb_battinf.FbsDeviceName," +
            "COUNT(DISTINCT db_battinf.tb_battinf.BattGroupId) as cnt," +
            "group_CONCAT(db_ram_db.tb_batt_rtstate.online_vol ORDER BY db_ram_db.tb_batt_rtstate.BattGroupId separator '/') as online_vols,group_CONCAT(db_ram_db.tb_batt_rtstate.group_vol ORDER BY db_ram_db.tb_batt_rtstate.BattGroupId separator '/') as group_vols,group_CONCAT(db_ram_db.tb_batt_rtstate.group_curr ORDER BY db_ram_db.tb_batt_rtstate.BattGroupId separator '/') as group_currs  " +
            "from db_ram_db.tb_Fbs9100_state " +
            "left outer join db_battinf.tb_battinf ON tb_fbs9100_state.dev_id=db_battinf.tb_battinf.FBSDeviceId  " +
            "LEFT OUTER JOIN db_ram_db.tb_batt_rtstate ON db_battinf.tb_battinf.battgroupid=db_ram_db.tb_batt_rtstate.battgroupid ";
      //分组
      String groupSql=" GROUP BY tb_fbs9100_state.dev_id ";
      //最后结果
      sql=baseSql+groupSql;
      //System.out.println(sql);
      List<Fbs9100_state> list=DAOHelper.executeQueryLimit(sql, DBUtil.getConn(), null, new CallBack() {
         List list=new ArrayList();
         public List getResults(ResultSet rs) {
            try {
               while(rs.next()){
                  Fbs9100_state fstate=new Fbs9100_state();
                  fstate.setNum(rs.getInt("cnt"));//关联电池组个数
                  fstate.setDev_ip(rs.getString("dev_ip"));
                  fstate.setDev_version(rs.getString("dev_version"));
                  fstate.setDev_id(rs.getInt("dev_id"));
                  fstate.setOp_cmd(rs.getInt("op_cmd"));
                  fstate.setRecord_datetime(rs.getString("record_datetime"));
                  fstate.setDev_datetime(rs.getString("dev_datetime"));
                  fstate.setDev_testtype(rs.getInt("dev_testtype"));
                  fstate.setDev_testgroupnum(rs.getInt("dev_testgroupnum"));
                  fstate.setDev_workstate(rs.getInt("dev_workstate"));
                  fstate.setDev_alarmstate(rs.getInt("dev_alarmstate"));
                  fstate.setDev_res_test_state(rs.getInt("dev_res_test_state"));
                  fstate.setDev_onlinevollow(rs.getInt("dev_onlinevollow"));
                  fstate.setDev_eachgroup_battsum(rs.getInt("dev_eachgroup_battsum"));
                  fstate.setDev_captest_onlinevol(rs.getFloat("dev_captest_onlinevol"));
                  fstate.setDev_captest_groupvol(rs.getFloat("dev_captest_groupvol"));
                  fstate.setDev_captest_curr(rs.getFloat("dev_captest_curr"));
                  fstate.setDev_captest_cap(rs.getFloat("dev_captest_cap"));
                  fstate.setDev_captest_timelong(rs.getInt("dev_captest_timelong"));
                  fstate.setDev_restest_moncount(rs.getInt("dev_restest_moncount"));
                  fstate.setDev_restest_monindex(rs.getInt("dev_restest_monindex"));
                  fstate.setDev_commcount(rs.getInt("dev_commcount"));
                  fstate.setDev_errcommcount(rs.getInt("dev_errcommcount"));
                  fstate.setStationName(rs.getString("stationName"));
                  fstate.setDeviceName(rs.getString("FbsDeviceName"));
                  fstate.setOnline_vols(rs.getString("online_vols"));
                  fstate.setGroup_vols(rs.getString("group_vols"));
                  fstate.setGroup_currs(rs.getString("group_currs"));
                  fstate.setDev_61850alarms(rs.getString("dev_61850alarms"));
                  fstate.setDev_last_captest_stop_type(rs.getInt("dev_last_captest_stop_type"));
                  //System.out.println(fstate);
                  list.add(fstate);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      return list;
   }
   //判断机房实时数据中该机房有没有连接到服务器
   public int judgeSatationInState(int dev_id) {
      String sql=" SELECT count(num) as nums from db_ram_db.tb_fbs9100_state where dev_id=? LIMIT 1 ";
@@ -345,7 +412,7 @@
    //实时监测界面根据dev_alarmstate状态判断接触器状态
   public List serchContactorState(Object obj) {
      Fbs9100_state fs=(Fbs9100_state) obj;
      String sql="select dev_id,dev_alarmstate,dev_workstate,record_datetime,dev_temp,dev_res_test_state,dev_testtype,dev_testgroupnum,dev_conresist,dev_concurr,dev_condvoldp,dev_condcurr,dev_61850alarms,dev_last_captest_stop_type,batt_online_state  from db_ram_db.tb_fbs9100_state where dev_id=? limit 1";
      String sql="select dev_id,dev_alarmstate,dev_workstate,record_datetime,dev_temp,dev_res_test_state,dev_testtype,dev_testgroupnum,dev_conresist,dev_concurr,dev_condvoldp,dev_condcurr,dev_61850alarms,dev_last_captest_stop_type,batt_online_state,dev_commcount,dev_errcommcount  from db_ram_db.tb_fbs9100_state where dev_id=? limit 1";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{fs.getDev_id()},new CallBack() {
         
         public List getResults(ResultSet rs) {
@@ -380,6 +447,8 @@
                  fstate.setDev_last_captest_stop_type(rs.getInt("dev_last_captest_stop_type"));
                  fstate.setDev_temp(rs.getFloat("dev_temp"));
                  fstate.setBatt_online_state(rs.getInt("batt_online_state"));
                  fstate.setDev_commcount(rs.getInt("dev_commcount"));
                  fstate.setDev_errcommcount(rs.getInt("dev_errcommcount"));
                  list.add(fstate);
               }
            } catch (SQLException e) {
@@ -743,6 +812,79 @@
      
      return list;
   }
   //导航上实时查询bts处于放电测试的数据的设备
   public List seachNuclear_cap(Object obj){
      User_inf uinf=(User_inf) obj;
      String sql="select distinct dev_id,dev_alarmstate,dev_workstate,dev_temp,dev_res_test_state,dev_testtype,dev_testgroupnum " +
                " ,dev_captest_onlinevol,dev_captest_groupvol,dev_captest_curr,dev_captest_cap,dev_captest_timelong" +
                " ,dev_conresist,dev_concurr,dev_condvoldp,dev_condcurr,dev_61850alarms,dev_last_captest_stop_type  " +
                " ,db_battinf.tb_battinf.StationName,db_battinf.tb_battinf.FbsDeviceName   " +
                //" ,db_ram_db.tb_batt_rtstate.batt_test_tlong   " +
                " from db_ram_db.tb_fbs9100_state,db_battinf.tb_battinf  " +//,db_ram_db.tb_batt_rtstate
                " where   dev_workstate="+FBS9100_ComBase.DISCHARGE+"  "+
                " and db_battinf.tb_battinf.fbsdeviceId=db_ram_db.tb_fbs9100_state.dev_id  " +
                //" and db_battinf.tb_battinf.battgroupid=db_ram_db.tb_batt_rtstate.battgroupid " +
                " and db_battinf.tb_battinf.fbsdeviceId in(select distinct db_battinf.tb_battinf.fbsdeviceId  from db_battinf.tb_battinf,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr,db_user.tb_user_inf    where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId    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=? )  " +
                " " ;
      //System.err.println(sql);
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId()}, new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            try {
               while(rs.next()){
                  Fbs9100_state fstate=new Fbs9100_state();
                  int dev_alarmstate=rs.getInt("dev_alarmstate");
                  String ContactorState="开关闭合";
                  if(dev_alarmstate==1 ||
                     dev_alarmstate==2 ||
                     dev_alarmstate==3 ||
                     dev_alarmstate==4 ||
                     dev_alarmstate==6 ){
                     ContactorState="开关断开";
                  }else{
                     ContactorState="开关闭合";
                  }
                  fstate.setDev_testgroupnum(rs.getInt("dev_testgroupnum"));         //被测电池组号
                  fstate.setDev_alarmstate(rs.getInt("dev_alarmstate"));
                  fstate.setDev_res_test_state(rs.getInt("dev_res_test_state"));
                  fstate.setDev_testtype(rs.getInt("dev_testtype"));
                  fstate.setNote(ContactorState);
                  fstate.setDev_workstate(rs.getInt("dev_workstate"));
                  fstate.setDev_id(rs.getInt("dev_id"));
                  fstate.setDev_captest_onlinevol(rs.getFloat("dev_captest_onlinevol"));
                  fstate.setDev_captest_groupvol(rs.getFloat("dev_captest_groupvol"));
                  fstate.setDev_captest_curr(rs.getFloat("dev_captest_curr"));
                  fstate.setDev_captest_cap(rs.getFloat("dev_captest_cap"));
                  fstate.setDev_captest_timelong(rs.getInt("dev_captest_timelong"));
                  fstate.setDev_conresist(rs.getFloat("dev_conresist"));
                  fstate.setDev_concurr(rs.getFloat("dev_concurr"));
                  fstate.setDev_condcurr(rs.getFloat("dev_condcurr"));
                  fstate.setDev_condvoldp(rs.getFloat("dev_condvoldp"));
                  fstate.setDev_61850alarms(rs.getString("dev_61850alarms"));
                  fstate.setDev_last_captest_stop_type(rs.getInt("dev_last_captest_stop_type"));
                  fstate.setDev_temp(rs.getFloat("dev_temp"));
                  fstate.setStationName(rs.getString("stationName"));
                  fstate.setDeviceName(rs.getString("FbsDeviceName"));
                  /*fstate.setOnline_vols(((Float)rs.getFloat("online_vol")).toString());
                  fstate.setGroup_vols(((Float)rs.getFloat("group_vol")).toString());
                  fstate.setGroup_currs(((Float)rs.getFloat("group_curr")).toString());*/
                  //fstate.setNum(rs.getInt("batt_test_tlong"));
                  list.add(fstate);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      return list;
   }
   public static void main(String[] args) {
       Fbs9100_stateImpl fi=new Fbs9100_stateImpl();
       /*List<Fbs9100_state> list=fi.searchAll();
@@ -764,6 +906,11 @@
      for(Fbs9100_state f:list){
         System.out.println(f);
      }*/
       List<Fbs9100_state> list=fi.serchByCondition_ky();
      System.out.println(list.size());
      for(Fbs9100_state f:list){
         System.out.println(f);
      }
       /*BattInf binf=new BattInf();
       binf.setBattGroupId(1005069);
       List list=fi.serchByInfo(binf);
@@ -771,12 +918,13 @@
       User_inf uinf=new User_inf();
       uinf.setUId(1002);
      //List<Fbs9100_state> list=fi.searchByUid(uinf);
       List<Fbs9100_state> list=fi.searchDevWorkstate(fs);
      // List<Fbs9100_state> list=fi.searchDevWorkstate(fs);
      // List<Fbs9100_state> list=fi.seach6185Nuclear_cap(uinf);
      /* List<Fbs9100_state> list=fi.seachNuclear_cap(uinf);
      System.out.println(list.size());
      for(Fbs9100_state f:list){
         System.out.println(f);
      }
      }*/
   }
}