package com.fgkj.dao.impl;
|
|
import java.sql.Connection;
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import com.fgkj.actions.ActionUtil;
|
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.Batt_Maint_Dealarm;
|
import com.fgkj.dto.Batt_devalarm_data;
|
import com.fgkj.dto.Batt_devalarm_data_history;
|
import com.fgkj.dto.Batt_maint_inf;
|
import com.fgkj.dto.Battalarm_data_history;
|
import com.fgkj.dto.Page;
|
import com.fgkj.dto.User_inf;
|
|
public class Batt_devalarm_data_historyImpl implements BaseDAO,CallBack{
|
|
public List getResults(ResultSet rs) {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
|
public boolean add(Object obj) {
|
// TODO Auto-generated method stub
|
return false;
|
}
|
|
public boolean update(Object obj) {
|
// TODO Auto-generated method stub
|
return false;
|
}
|
|
public boolean del(Object obj) {
|
// TODO Auto-generated method stub
|
return false;
|
}
|
//3.4设备历史告警(删除告警)<多数据删除>
|
public String delPro(Object obj) {
|
Batt_devalarm_data_history ddata=(Batt_devalarm_data_history) obj;
|
String sql=" DELETE FROM db_alarm.tb_devalarm_data_history WHERE num="+ddata.getNum();
|
return sql;
|
}
|
|
public List searchAll() {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
//3.4设备告警历史记录查询
|
/*时间段放在binf的getBattProductDate中*/
|
public List serchByCondition(Object obj) {
|
Batt_Maint_Dealarm bmd=(Batt_Maint_Dealarm) obj;
|
User_inf uinf=bmd.getUinf();
|
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_history.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_history,(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_history.dev_id=DISTINCTbinf.FbsDeviceId " +
|
" AND alm_start_time>=? and alm_start_time<=? ";
|
|
/*//历史告警
|
String alarmTypeSql=" AND alm_cleared_type!=0";
|
baseSql+=alarmTypeSql;*/
|
//判断是否为管理的机房
|
String stationSql=" and db_alarm.tb_devalarm_data_history.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=? )";
|
baseSql+=stationSql;
|
|
//排序
|
String endSql=" ORDER BY alm_start_time DESC ";
|
//分页
|
String limitSql=" LIMIT ?,? ";
|
|
sql=baseSql+endSql+limitSql;
|
|
List<Batt_devalarm_data_history> list=DAOHelper.executeQueryLimit(sql, conn,new Object[]{"%"+binf.getStationName()+"%","%"+binf.getStationName1()+"%",binf.getBattProductDate(),binf.getBattProductDate1()
|
,uinf.getUId(),(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_history ddata=new Batt_devalarm_data_history();
|
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) {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
public static void main(String[] args) throws ParseException {
|
Batt_devalarm_data_historyImpl bimpl=new Batt_devalarm_data_historyImpl();
|
Page p = new Page();
|
p.setPageCurr(1);
|
p.setPageSize(10);
|
/*条件所存放的位置前台:tb_batt_maint_inf
|
* 在线电压:usr_id
|
* 组端电压:fault_type_id
|
* 充电电流:fault_level
|
* 放电电流:record_uid
|
* 单体电压:maint_type_id
|
* 单体温度:maint_done
|
* 单体内阻:maint_close
|
* 连接条阻抗:master_id
|
* */
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
Date date1 = sdf.parse("2000-01-01");
|
Date date2 = sdf.parse("2020-01-01");
|
|
|
BattInf binf = new BattInf();
|
|
binf.setStationName("");
|
binf.setStationName1("");
|
binf.setBattProductDate(ActionUtil.getSimpDate(date1));
|
binf.setBattProductDate1(ActionUtil.getSimpDate(date2));
|
|
User_inf uinf=new User_inf();
|
uinf.setUId(1002);
|
Batt_Maint_Dealarm bmd = new Batt_Maint_Dealarm();
|
bmd.setPage(p);
|
bmd.setBinf(binf);
|
bmd.setUinf(uinf);
|
List<Batt_devalarm_data_history> list=bimpl.serchByCondition(bmd);
|
for (Batt_devalarm_data_history b : list) {
|
System.out.println(b);
|
}
|
}
|
}
|