81041
2018-12-05 7fdbd065db6a1d67e7649e436073675a2d0a3b6e
gx_tieta/src/com/fgkj/dao/impl/Battalarm_dataDAOImpl.java
@@ -552,6 +552,62 @@
         
         return list;
      }
   // 3.1电池告警实时查询<***********跨域专用**************>
   public List serchByCondition_ky(Object obj) {
         BattInf binf=(BattInf) obj;
         String sql="";
         String baseSql = "select  distinct db_alarm.tb_battalarm_data.BattGroupId,db_alarm.tb_battalarm_data.num,alm_signal_id,db_alarm.tb_battalarm_data.monnum,alm_value,alm_level,alm_is_confirmed,alm_confirmed_time,alm_start_time,alm_end_time  "
               + " ,stationname,stationname5,battgroupname"
               + " from db_alarm.tb_battalarm_data,db_battinf.tb_battinf  "
               + " where alm_cleared_type=0 ";
         //用于电池组条件
         String idSqlT=" and db_battinf.tb_battinf.battgroupid!=? and db_alarm.tb_battalarm_data.battgroupid=db_battinf.tb_battinf.battgroupid ";//全部
         String idSqlF=" and db_battinf.tb_battinf.battgroupid=?  and db_alarm.tb_battalarm_data.battgroupid=db_battinf.tb_battinf.battgroupid ";
          if(binf.getBattGroupId()==0){
            baseSql+=idSqlT;
         }else{
            baseSql+=idSqlF;
         }
         String endSql="order by db_alarm.tb_battalarm_data.BattGroupId,db_alarm.tb_battalarm_data.alm_start_time desc,db_alarm.tb_battalarm_data.monnum asc ";
         sql=baseSql+endSql;
         List  list = DAOHelper.executeQuery(sql,DBUtil.getConn(),new Object[] {binf.getBattGroupId()}, new CallBack() {
                  public List getResults(ResultSet rs) {
                     List list = new ArrayList();
                     try {
                        while (rs.next()) {
                           String name="未知";         //存放告警名称
                           String type="未知";         //存放告警等级
                           Battalarm_data adata = new Battalarm_data();
                           adata.setNum(rs.getInt("num"));
                           adata.setBattGroupId(rs.getInt("battGroupId"));
                           adata.setAlm_signal_id(rs.getInt("alm_signal_id"));
                           adata.setMonNum(rs.getInt("monNum"));
                           adata.setAlm_value(rs.getFloat("alm_value"));
                           adata.setAlm_level(rs.getInt("alm_level"));
                           adata.setAlm_is_confirmed(rs.getInt("alm_is_confirmed"));
                           adata.setAlm_confirmed_time(rs.getTimestamp("alm_confirmed_time"));
                           adata.setAlm_start_time(rs.getTimestamp("alm_start_time"));
                           adata.setAlm_end_time(rs.getTimestamp("alm_end_time"));
                           adata.setStationname(rs.getString("stationName"));
                           adata.setBattGroupName(rs.getString("battGroupName"));
                           //battinf中的StationName8,StationName9存放告警名称和等级
                           name=AlarmDaoFactory.getAlarmName(adata.getAlm_signal_id());
                           adata.setAlarmname(name);
                           type=AlarmDaoFactory.getAlarmType(adata.getAlm_level());
                           adata.setAlarmtype(type);
                           list.add(adata);
                        }
                     } catch (SQLException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                     }
                     return list;
                  }
               });
         return list;
      }
   // 3.2电池告警
      /*
    * 条件所存放的位置前台:tb_batt_maint_inf 
@@ -1296,25 +1352,21 @@
      return list;   
   }*/
   public List serchAlm(Object obj){
      Batt_Maint_Dealarm bmd=(Batt_Maint_Dealarm) obj;
      Battalarm_data adata=bmd.getAdata();
      BattInf binf=bmd.getBinf();
      User_inf uinf=bmd.getUinf();
      User_inf uinf=(User_inf) obj;
      String sql="select count(num) as number,alm_id " +
            "from db_alarm.tb_battalarm_data  " +
            "where  " +
            "alm_cleared_type=0  " ;
        //根据城市选取
      String citySql=" and tb_battalarm_data.BattGroupId in (select distinct db_battinf.tb_battinf.battgroupid " +
            " 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=? and db_battinf.tb_battinf.stationname like ? and tb_battinf.station_install=1  )  " +
      String citySql=" and tb_battalarm_data.BattGroupId in ( select distinct db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId " +
            " 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 tb_battalarm_data.BattGroupId in (select distinct db_battinf.tb_battinf.BattGroupId  from db_battinf.tb_battinf where  station_install=1) " +
            " GROUP BY(alm_id) ";
      sql+=citySql;
      //System.out.println(sql);
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId(),"%"+binf.getStationName()+"%"}, new CallBack() {
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId()}, new CallBack() {
         
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
@@ -1898,7 +1950,36 @@
      return list;
   }
   //查询存在电池告警的机房个数
   public int  searchAlarmInStation(Object obj){
      User_inf uinf=(User_inf) obj;
      String sql=" select count(distinct db_battinf.tb_battinf.stationid) as nums from db_battinf.tb_battinf where  station_install=1 " +
            " and db_battinf.tb_battinf.battgroupid in (select distinct db_alarm.tb_battalarm_data.battgroupid from db_alarm.tb_battalarm_data) " +
            " and db_battinf.tb_battinf.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=? ) " ;
      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()){
                  list.add(rs.getInt("nums"));
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      int nums=0;//最后的结果
      if(list!=null&&list.size()>0){
         nums=(Integer) list.get(list.size()-1);
      }
      return nums;
   }
   
   public static void main(String[] args) throws ParseException {
      Battalarm_dataDAOImpl bimp = new Battalarm_dataDAOImpl();
@@ -1970,7 +2051,13 @@
        for (int num : list) {
         System.out.println(num);
      }*/
        List list=bimp.serchIn30(uinf);
        System.out.println(list.size());
        //List list=bimp.serchIn30(uinf);
        //System.out.println(list.size());
        /*int nums=bimp.searchAlarmInStation(uinf);
        System.out.println(nums);*/
        List<Battalarm_data> list = bimp.serchByCondition_ky(binf);
        for (Battalarm_data b : list) {
         System.out.println(b);
      }
   }
}