whycrzg
2021-02-23 351b9a53cb9ecebdf8f79db0117f540d9c42c2a4
src/main/java/com/fgkj/mapper/impl/Batt_devalarm_dataMapper.java
@@ -1,5 +1,11 @@
package com.fgkj.mapper.impl;
import com.fgkj.dto.BattInf;
import com.fgkj.dto.Batt_Maint_Dealarm;
import com.fgkj.dto.Batt_devalarm_data;
import com.fgkj.dto.User_inf;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface Batt_devalarm_dataMapper{
@@ -11,269 +17,52 @@
   public boolean del(Object obj);
   
   //3.4设备实时告警(确认告警)<多数据修改>
   public String updatePro(Object obj);
   public int updatePro(List<Batt_devalarm_data> list);
   //3.4设备实时告警(取消告警)<多数据修改>
   public String cancelPro(Object obj);
   public int cancelPro(List<Batt_devalarm_data> list);
   //3.4设备实时告警/历史告警(删除告警)<多数据删除>
   public String delPro(Object obj);
   public int delPro(List<Batt_devalarm_data> list);
    //3.4设备告警历史记录查询
   /*时间段放在binf的getBattProductDate中*/
   /*public List serchByCondition(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="";
      String baseSql=" SELECT SQL_CALC_FOUND_ROWS tb_devalarm_data.num,record_id,dev_id,dev_ip,alm_type,alm_level,alm_start_time,alm_end_time," +
            " alm_is_confirmed,alm_confirmed_time,alm_cleared_type, " +
            " DISTINCTbinf.stationName,DISTINCTbinf.FbsDeviceName " +
            " FROM db_alarm.tb_devalarm_data,(SELECT DISTINCT db_battinf.tb_battinf.FbsDeviceId,db_battinf.tb_battinf.stationName,db_battinf.tb_battinf.FbsDeviceName from db_battinf.tb_battinf  where db_battinf.tb_battinf.StationName LIKE ?  AND db_battinf.tb_battinf.StationName1 LIKE ? )  as DISTINCTbinf    " +
            " WHERE  tb_devalarm_data.dev_id=DISTINCTbinf.FbsDeviceId  " +
            " AND alm_start_time>=? and alm_start_time<=? ";
      //历史告警
      String alarmTypeSql=" AND alm_cleared_type!=0";
      baseSql+=alarmTypeSql;
      //排序
      String endSql=" ORDER BY alm_start_time DESC ";
      //分页
      String limitSql=" LIMIT ?,? ";
      sql=baseSql+endSql+limitSql;
      List<Batt_devalarm_data> list=DateUtil.executeQueryLimit(sql, conn,new Object[]{"%"+binf.getStationName()+"%","%"+binf.getStationName1()+"%",binf.getBattProductDate(),binf.getBattProductDate1()
         ,(page.getPageCurr() - 1)*page.getPageSize()
         ,page.getPageSize()}, new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            try {
               while(rs.next()){
                  Batt_devalarm_data ddata=new Batt_devalarm_data();
                  ddata.setNum(rs.getInt("num"));
                  ddata.setDev_id(rs.getInt("dev_id"));
                  ddata.setDev_ip(rs.getString("dev_ip"));
                  ddata.setAlm_type(rs.getInt("alm_type"));
                  ddata.setAlm_level(rs.getInt("alm_level"));
                  ddata.setAlm_start_time(rs.getTimestamp("alm_start_time"));
                  ddata.setAlm_end_time(rs.getTimestamp("alm_end_time"));
                  ddata.setAlm_is_confirmed(rs.getInt("alm_is_confirmed"));
                  ddata.setAlm_confirmed_time(rs.getTimestamp("alm_confirmed_time"));
                  ddata.setAlm_cleared_type(rs.getInt("alm_cleared_type"));
                  ddata.setDev_name(rs.getString("FbsDeviceName"));
                  ddata.setStationName(rs.getString("stationName"));
                  list.add(ddata);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
         });
      //去掉limit条件后的总数
      int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql);
      //System.out.println("number: "+number);
      if(list!=null&&list.size()>0){
         list.get(list.size()-1).setUsr_id(number);
      }
      return list;
   }*/
   public List serchByCondition(Object obj);
   public List serchByCondition(Batt_Maint_Dealarm bmd);
   //3.3设备告警实时查询+筛选
   /*public List serchByInfo(Object obj) {
      Batt_devalarm_data ddata=(Batt_devalarm_data) obj;
      Page page=ddata.getPage();
      Connection conn=DBUtil.getConn();
      String numberSql=" SELECT FOUND_ROWS() number ";
      String sql="";
      String baseSql=" SELECT SQL_CALC_FOUND_ROWS tb_devalarm_data.num,dev_id,dev_ip,alm_type,alm_level,alm_start_time,alm_end_time," +
            " alm_is_confirmed,alm_confirmed_time,alm_cleared_type," +
            " DISTINCTbinf.stationName,DISTINCTbinf.FbsDeviceName  " +
            " FROM db_alarm.tb_devalarm_data,(SELECT DISTINCT db_battinf.tb_battinf.FbsDeviceId,db_battinf.tb_battinf.stationName,db_battinf.tb_battinf.FbsDeviceName from db_battinf.tb_battinf)  as DISTINCTbinf  " +
            " WHERE  " +
            " tb_devalarm_data.dev_id=DISTINCTbinf.FbsDeviceId " ;
      //设备实时告警
      String alarmTypeSql=" AND alm_cleared_type=0 ";
      baseSql+=alarmTypeSql;
      //排序
      String endSql=" ORDER BY alm_start_time DESC  ";
      //分页
      String limitSql=" LIMIT ?,? ";
      sql=baseSql+endSql+limitSql;
      List<Batt_devalarm_data> list=DateUtil.executeQueryLimit(sql, conn, new Object[]{(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            try {
               while(rs.next()){
                  Batt_devalarm_data ddata=new Batt_devalarm_data();
                  ddata.setNum(rs.getInt("num"));
                  ddata.setDev_id(rs.getInt("dev_id"));
                  ddata.setDev_ip(rs.getString("dev_ip"));
                  ddata.setAlm_type(rs.getInt("alm_type"));
                  ddata.setAlm_level(rs.getInt("alm_level"));
                  ddata.setAlm_start_time(rs.getTimestamp("alm_start_time"));
                  ddata.setAlm_end_time(rs.getTimestamp("alm_end_time"));
                  ddata.setAlm_is_confirmed(rs.getInt("alm_is_confirmed"));
                  ddata.setAlm_confirmed_time(rs.getTimestamp("alm_confirmed_time"));
                  ddata.setAlm_cleared_type(rs.getInt("alm_cleared_type"));
                  ddata.setDev_name(rs.getString("FbsDeviceName"));
                  ddata.setStationName(rs.getString("stationName"));
                  list.add(ddata);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      //去掉limit条件后的总数
      int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql);
      //System.out.println("number: "+number);
      if(list!=null&&list.size()>0){
         list.get(list.size()-1).setUsr_id(number);
      }
      return list;
   }*/
   public List serchByInfo(Object obj);
   public List serchByInfo(Batt_devalarm_data bdd);
   //查询设备告警总数
   /*public int searchNums() {
      String sql="select count(num) as nums  " +
            "from db_alarm.tb_devalarm_data " +
            "where alm_cleared_type=0  " +
            "and tb_devalarm_data.dev_id in (select FbsDeviceId from db_battinf.tb_battinf ) " +
            "limit 1 ";
      //System.out.println(sql);
      List list=DateUtil.executeQuery(sql, DBUtil.getConn(), null, new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            try {
               while(rs.next()){
                  int nums=rs.getInt("nums");
                  list.add(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 int searchNums(Object obj);
   public int searchNums(User_inf userInf);
   //项目下方的滚动,查询最新设备告警(旧版本)
    public List serchTopAlmInDev();
   
    //项目下方的滚动,查询最新设备告警
   /* public List serchTopDevTen(){
       String sql="select distinct db_alarm.tb_devalarm_data.dev_id,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationid,db_battinf.tb_battinf.fbsdevicename,dev_ip,alm_type,alm_start_time " +
             "  from db_alarm.tb_devalarm_data,db_battinf.tb_battinf" +
             "  where alm_cleared_type=0 " +
             "  and db_alarm.tb_devalarm_data.dev_id=db_battinf.tb_battinf.fbsdeviceid " +
             "  order by alm_start_time desc " +
             "  limit 0,5";
       List list=DateUtil.executeQuery(sql, DBUtil.getConn(), null, new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            try {
               while(rs.next()){
                  Batt_devalarm_data ddata=new Batt_devalarm_data();
                  ddata.setNum(1);//1表示设备告警
                  ddata.setDev_id(rs.getInt("dev_id"));
                  ddata.setDev_ip(rs.getString("dev_ip"));
                  ddata.setDev_name(rs.getString("fbsdevicename"));
                  ddata.setStationName(rs.getString("stationName"));
                  ddata.setStationId(rs.getString("stationId"));
                  ddata.setAlm_type(rs.getInt("alm_type"));
                  ddata.setAlm_start_time(rs.getTimestamp("alm_start_time"));
                  String ddataStr=""+ddata.getStationName()   // 机房名称
                        +"在"+ActionUtil.chageDateToString(ddata.getAlm_start_time(), ActionUtil.time_yyyyMMddHHmmss)   // 告警开始时间
                        +"出现了"+AlarmDaoFactory.getdevName(ddata.getAlm_type()) // 告警类型名称
                        +"告警!";
                  ddata.setNote(ddataStr);
                  list.add(ddata);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      return list;
    }*/
    public List serchTopDevTen(Object obj);
   @Select("select distinct db_alarm.tb_devalarm_data.dev_id,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationid,db_battinf.tb_battinf.fbsdevicename,dev_ip,alm_type,alm_start_time " +
         "  from db_alarm.tb_devalarm_data,db_battinf.tb_battinf" +
         "  where alm_cleared_type=0 " +
         "  and db_alarm.tb_devalarm_data.dev_id=db_battinf.tb_battinf.fbsdeviceid " +
         "  and  db_alarm.tb_devalarm_data.dev_id  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=#{uId})" +
         " order by alm_start_time desc " +
         "  limit 0,5")
    public List<Batt_devalarm_data> serchTopDevTen(User_inf obj);
    //项目下方的滚动,查询该设备告警的实时信息
    public List serchDev_alarm(Object obj);
    public List serchDev_alarm(Batt_devalarm_data ddata);
    //根据设备id查询设备是否存在设备告警
    public int serchlevelDev_alarm(Object obj);
   @Select("select count(num) from db_alarm.tb_devalarm_data where dev_id=#{fbsDeviceId}")
    public Integer serchlevelDev_alarm(BattInf binf);
    /**
    * 查询设备实时告警记录(跨域新增)
    * @param obj
    * @return
    */
   public List searchDevAlarm(Object obj);
   public List searchDevAlarm(Batt_devalarm_data ddata);
   //紫晶山西根据设备id和电池组id查询机房告警信息
   public int seachStationAlarm(Object obj);
   /*public static void main(String[] args) throws ParseException {
      Batt_devalarm_dataImpl dimpl = new Batt_devalarm_dataImpl();
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
      Date date1 = sdf.parse("2000-01-01");
      Date date2 = sdf.parse("2020-01-01");
      Batt_devalarm_data ddata = new Batt_devalarm_data();
      ddata.setAlm_start_time(ActionUtil.getSimpDate(date1));
      ddata.setAlm_start_time1(ActionUtil.getSimpDate(date2));
        ddata.setStationName1("");
        ddata.setStationName("");
        ddata.setAlm_type(0);
      Page page = new Page();
      page.setPageCurr(1);
      page.setPageSize(20000);
      User_inf uinf=new User_inf();
      uinf.setUId(1002);
      ddata.setPage(page);
      ddata.setUinf(uinf);
      Batt_Maint_Dealarm bmd = new Batt_Maint_Dealarm();
      BattInf binf = new BattInf();
      binf.setStationName("");
      binf.setStationName1("");
      binf.setFBSDeviceId(91000012);
      binf.setBattProductDate(ActionUtil.getSimpDate(date1));
      binf.setBattProductDate1(ActionUtil.getSimpDate(date2));
      bmd.setBinf(binf);
      bmd.setPage(page);
      bmd.setUinf(uinf);
      *//*List<Batt_devalarm_data> list=dimpl.serchByInfo(ddata);
      for (Batt_devalarm_data b : list) {
         System.out.println(b);
      }*//*
      //List<Batt_devalarm_data> list = dimpl.serchByCondition(bmd);
      //System.out.println(list.size());
      int level=dimpl.serchlevelDev_alarm(binf);
      System.out.println(level);*/
   public int seachStationAlarm(BattInf binf);
}