package com.fgkj.dao.impl;
|
|
import java.sql.Connection;
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import com.fgkj.dao.AlarmDaoFactory;
|
import com.fgkj.dao.BaseDAO;
|
import com.fgkj.dao.CallBack;
|
import com.fgkj.dao.DAOHelper;
|
import com.fgkj.dao.LimitNumberFactory;
|
import com.fgkj.db.DBUtil;
|
import com.fgkj.dto.BattInf;
|
import com.fgkj.dto.Battalarm_data;
|
import com.fgkj.dto.Page;
|
import com.fgkj.dto.User_inf;
|
|
public class Battalarm_dataImpl implements BaseDAO,CallBack{
|
|
@Override
|
public List getResults(ResultSet rs) {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
|
@Override
|
public boolean add(Object obj) {
|
// TODO Auto-generated method stub
|
return false;
|
}
|
|
@Override
|
public boolean update(Object obj) {
|
// TODO Auto-generated method stub
|
return false;
|
}
|
|
@Override
|
public boolean del(Object obj) {
|
// TODO Auto-generated method stub
|
return false;
|
}
|
//查询所有的实时告警
|
@Override
|
public List searchAll() {
|
String sql=" select distinct db_alarm.tb_battalarm_data.battgroupid,alm_start_time"
|
+ " ,FBSDeviceId,BattGroupName "
|
+ " from db_alarm.tb_battalarm_data,db_battinf.tb_battinf "
|
+ " where db_alarm.tb_battalarm_data.battGroupId=db_battinf.tb_battinf.battGroupId "
|
+ " order by alm_start_time desc ";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), null, new CallBack() {
|
|
@Override
|
public List getResults(ResultSet rs) {
|
// TODO Auto-generated method stub
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Battalarm_data adata=new Battalarm_data();
|
adata.setBattGroupId(rs.getInt("battGroupId"));
|
adata.setAlm_start_time(rs.getTimestamp("alm_start_time"));
|
adata.setNum(rs.getInt("FBSDeviceId"));
|
adata.setNote(rs.getString("BattGroupName"));
|
list.add(adata);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
//查询实时告警(分页)
|
@Override
|
public List serchByInfo(Object obj) {
|
Page page=(Page) obj;
|
Connection conn=DBUtil.getConn();
|
String numberSql=" SELECT FOUND_ROWS() number";
|
String sql=" select SQL_CALC_FOUND_ROWS distinct db_alarm.tb_battalarm_data.battgroupid,alm_start_time,alm_id,db_alarm.tb_battalarm_data.monnum,alm_signal_id,alm_level "
|
+ " ,FBSDeviceId,BattGroupName "
|
+ " from db_alarm.tb_battalarm_data,db_battinf.tb_battinf "
|
+ " where db_alarm.tb_battalarm_data.battGroupId=db_battinf.tb_battinf.battGroupId "
|
+ " and alm_id in(119001,119002,119003,119004,119005,119006,119007,119008,119010,119011) ";
|
|
//用于用户管理的电池组的筛选
|
String userSql=" and db_alarm.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=? )";
|
sql+=userSql;
|
//排序和分页
|
String endSql=" order by db_alarm.tb_battalarm_data.battgroupid asc,alm_start_time desc "
|
+ " limit ?,? ";
|
sql+=endSql;
|
List<Battalarm_data> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{page.getPageAll(),(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() {
|
|
@Override
|
public List getResults(ResultSet rs) {
|
// TODO Auto-generated method stub
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Battalarm_data adata=new Battalarm_data();
|
adata.setBattGroupId(rs.getInt("battGroupId"));
|
adata.setAlm_id(rs.getInt("alm_id"));
|
adata.setMonNum(rs.getInt("monnum"));
|
adata.setAlm_level(rs.getInt("alm_level"));
|
adata.setAlm_start_time(rs.getTimestamp("alm_start_time"));
|
adata.setNum(rs.getInt("FBSDeviceId"));
|
adata.setBattGroupName(rs.getString("BattGroupName"));
|
adata.setAlm_signal_id(rs.getInt("alm_signal_id"));
|
adata.setNote(AlarmDaoFactory.getAlarmName(adata.getAlm_signal_id()));
|
list.add(adata);
|
}
|
} 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;
|
}
|
//根据电池组id查询电池告警的详细情况
|
@Override
|
public List serchByCondition(Object obj) {
|
BattInf binf=(BattInf) obj;
|
String sql=" select num,battGroupId,MonNum,Record_Id,alm_id,alm_signal_id,alm_value,alm_level,alm_is_confirmed,alm_confirmed_time,alm_start_time,alm_end_time from db_alarm.tb_battalarm_data where battGroupId=? order by alm_start_timedesc";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getBattGroupId()}, new CallBack() {
|
|
@Override
|
public List getResults(ResultSet rs) {
|
// TODO Auto-generated method stub
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Battalarm_data adata=new Battalarm_data();
|
adata.setNum(rs.getInt("num"));
|
adata.setBattGroupId(rs.getInt("BattGroupId"));
|
adata.setMonNum(rs.getInt("MonNum"));
|
adata.setRecord_Id(rs.getLong("Record_Id"));
|
adata.setMonNum(rs.getInt("alm_id"));
|
adata.setAlm_signal_id(rs.getInt("alm_signal_id"));
|
adata.setAlm_level(rs.getInt("alm_level"));
|
adata.setAlm_start_time(rs.getTimestamp("alm_start_time"));
|
adata.setAlm_end_time(rs.getTimestamp("alm_end_time"));
|
adata.setAlm_value(rs.getFloat("alm_value"));
|
adata.setAlm_is_confirmed(rs.getInt("alm_is_confirmed"));
|
adata.setAlm_confirmed_time(rs.getTimestamp("alm_confirmed_time"));
|
list.add(adata);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
//查询实时告警的总数
|
public List searchAlarmNum(Object obj){
|
User_inf uinf=(User_inf) obj;;
|
String sql=" select count(db_alarm.tb_battalarm_data.num) as number "
|
+ " from db_alarm.tb_battalarm_data,db_battinf.tb_battinf "
|
+ " where db_alarm.tb_battalarm_data.battGroupId=db_battinf.tb_battinf.battGroupId "
|
+ " and alm_id in(119001,119002,119003,119004,119005,119006,119007,119008,119010,119011) ";
|
//用于用户管理的电池组的筛选
|
String userSql=" and db_alarm.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=? )";
|
sql+=userSql;
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId()}, new CallBack() {
|
|
@Override
|
public List getResults(ResultSet rs) {
|
// TODO Auto-generated method stub
|
List list=new ArrayList();
|
int number=0;
|
try {
|
while(rs.next()){
|
number=rs.getInt("number");
|
list.add(number);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
|
public static void main(String[] args) {
|
Battalarm_dataImpl bimpl=new Battalarm_dataImpl();
|
/*List<Battalarm_data> list=bimpl.searchAll();*/
|
Page p=new Page();
|
p.setPageAll(1002);
|
p.setPageCurr(1);
|
p.setPageSize(6);
|
/*List<Battalarm_data> list=bimpl.serchByInfo(p);
|
for (Battalarm_data b : list) {
|
System.out.println(b);
|
}
|
System.out.println(list.size());*/
|
User_inf uinf=new User_inf();
|
uinf.setUId(1002);
|
List<Integer> list=bimpl.searchAlarmNum(uinf);
|
for (Integer number : list) {
|
System.out.println(number);
|
}
|
}
|
}
|