package com.whyc.service;
|
|
import com.whyc.dto.BreakAlarmDto;
|
import com.whyc.dto.DevAlarmHisDto;
|
import com.whyc.mapper.CallBack;
|
import com.whyc.pojo.db_ckpwrdev_alarm.CKPowerDevAlarmHistory;
|
import com.whyc.pojo.db_ckpwrdev_break_alarm.CKPowerDevBreakAlarmHistory;
|
import com.whyc.util.DateUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.util.ArrayList;
|
import java.util.LinkedList;
|
import java.util.List;
|
@Service
|
public class SubTablePageInfoService {
|
@Autowired
|
private MybatisSqlExecuteService sqlExecuteService;
|
//查询DevAlm历史告警数量
|
public int getCountForDevAlm(DevAlarmHisDto alm) {
|
String sql="select count(distinct num) as number from db_ckpwrdev_alarm." +alm.getRecordYear()
|
+" where 1=1 ";
|
|
if(alm.getAlmStartTime()!=null){
|
sql+=" and alm_starttime >='"+ DateUtil.format_YYYY_MM_DD_HH_MM_SS(alm.getAlmStartTime())+"' ";
|
}
|
if(alm.getAlmEndTime()!=null){
|
sql+=" and alm_endtime <='"+DateUtil.format_YYYY_MM_DD_HH_MM_SS(alm.getAlmEndTime())+"' ";
|
}
|
if(alm.getDevType()!=0){
|
sql+=" and dev_type="+alm.getDevType();
|
}
|
if(alm.getAlmLevel()!=0){
|
sql+=" and alm_level="+alm.getAlmLevel();
|
}
|
List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
|
@Override
|
public List getResults(ResultSet rs) throws SQLException {
|
LinkedList<Object> temp = new LinkedList<>();
|
try {
|
while (rs.next())
|
temp.add(rs.getInt("number"));
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
return temp;
|
}
|
});
|
int num =0;
|
if(list!=null){
|
num= (int) list.get(0);
|
}
|
return num;
|
}
|
//查询devalm历史告警
|
public List getListDevAlm(DevAlarmHisDto alm){
|
String sql="select * from db_ckpwrdev_alarm." +alm.getRecordYear()
|
+" where 1=1 ";
|
if(alm.getAlmStartTime()!=null){
|
sql+=" and alm_starttime >='"+ DateUtil.format_YYYY_MM_DD_HH_MM_SS(alm.getAlmStartTime())+"' ";
|
}
|
if(alm.getAlmEndTime()!=null){
|
sql+=" and alm_endtime <='"+DateUtil.format_YYYY_MM_DD_HH_MM_SS(alm.getAlmEndTime())+"' ";
|
}
|
if(alm.getDevType()!=0){
|
sql+=" and dev_type="+alm.getDevType();
|
}
|
if(alm.getAlmLevel()!=0){
|
sql+=" and alm_level="+alm.getAlmLevel();
|
}
|
sql+=" ORDER BY alm_starttime desc limit "+alm.getLimitStart()+","+alm.getLimitEnd()+" ";
|
List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
|
@Override
|
public List getResults(ResultSet rs) throws SQLException {
|
List<CKPowerDevAlarmHistory> list=new ArrayList<>();
|
while (rs.next()){
|
CKPowerDevAlarmHistory ph=new CKPowerDevAlarmHistory();
|
ph.setNum(rs.getLong("num"));
|
ph.setPowerDeviceId(rs.getInt("power_device_id"));
|
ph.setAlmId(rs.getInt("alm_id"));
|
ph.setAlmName(rs.getString("alm_name"));
|
ph.setDevType(rs.getInt("dev_type"));
|
ph.setAlmLevel(rs.getInt("alm_level"));
|
ph.setAlmStartTime(rs.getTimestamp("alm_starttime"));
|
ph.setAlmEndTime(rs.getTimestamp("alm_endtime"));
|
ph.setAlmIsConfirmed(rs.getInt("alm_is_confirmed"));
|
ph.setAlmConfirmedTime(rs.getTimestamp("alm_confirmed_time"));
|
ph.setAlmClearedType(rs.getInt("alm_cleared_type"));
|
list.add(ph);
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
//查询所有的历史时间表
|
public List getDevAlmHisList() {
|
String sql="SELECT table_name FROM information_schema.tables WHERE table_name LIKE 'tb_ckpowerdev_alarm_history_%'";
|
List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
|
@Override
|
public List getResults(ResultSet rs) throws SQLException {
|
List<String> list=new ArrayList<>();
|
while (rs.next()){
|
list.add(rs.getString("table_name"));
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
//统计按照等级的告警信息
|
public List<CKPowerDevAlarmHistory> selectLevelCountList(String tableYear) {
|
String sql="select alm_level,dev_type from db_ckpwrdev_alarm." +tableYear;
|
List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
|
@Override
|
public List getResults(ResultSet rs) throws SQLException {
|
List<CKPowerDevAlarmHistory> list=new ArrayList<>();
|
while (rs.next()){
|
CKPowerDevAlarmHistory ph=new CKPowerDevAlarmHistory();
|
ph.setAlmLevel(rs.getInt("alm_level"));
|
ph.setDevType(rs.getInt("dev_type"));
|
list.add(ph);
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
|
//查询break历史告警数量
|
public int getCountForBreakAlm(BreakAlarmDto alm) {
|
String sql="select count(distinct breakAlarm.num) as number from db_ckpwrdev_break_alarm." +alm.getRecordYear()+" breakAlarm ,db_ckpwrdev_break_alarm.tb_ckpowerdev_break_alarm_config,db_ckpwrdev_inf.tb_breaker_inf"
|
+" where breakAlarm.alm_id=tb_ckpowerdev_break_alarm_config.alm_id " +
|
" and tb_ckpowerdev_break_alarm_config.break_id=tb_breaker_inf.breaker_id ";
|
if(alm.getAlmStarttime()!=null){
|
sql+=" and alm_starttime >='"+ DateUtil.format_YYYY_MM_DD_HH_MM_SS(alm.getAlmStarttime())+"' ";
|
}
|
if(alm.getAlmEndTime()!=null){
|
sql+=" and alm_endtime <='"+DateUtil.format_YYYY_MM_DD_HH_MM_SS(alm.getAlmEndTime())+"' ";
|
}
|
if(alm.getAlmName()!=null){
|
sql+=" and breakAlarm.alm_name='"+alm.getAlmName()+"'";
|
}
|
if(alm.getBreakerType()!=null){
|
sql+=" and tb_breaker_inf.breaker_type='"+alm.getBreakerType()+"'";
|
}
|
if(alm.getBreakerName()!=null){
|
sql+=" and tb_breaker_inf.breaker_name='"+alm.getBreakerName()+"'";
|
}
|
List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
|
@Override
|
public List getResults(ResultSet rs) throws SQLException {
|
LinkedList<Object> temp = new LinkedList<>();
|
try {
|
while (rs.next())
|
temp.add(rs.getInt("number"));
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
return temp;
|
}
|
});
|
int num =0;
|
if(list!=null){
|
num= (int) list.get(0);
|
}
|
return num;
|
}
|
|
//查询break历史告警数量
|
public List getListBreakAlm(BreakAlarmDto alm){
|
String sql="select breakAlarm.*,breaker_type,breaker_name,breaker_addr from db_ckpwrdev_break_alarm." +alm.getRecordYear()+" breakAlarm,db_ckpwrdev_break_alarm.tb_ckpowerdev_break_alarm_config,db_ckpwrdev_inf.tb_breaker_inf"
|
+" where breakAlarm.alm_id=tb_ckpowerdev_break_alarm_config.alm_id " +
|
" and tb_ckpowerdev_break_alarm_config.break_id=tb_breaker_inf.breaker_id ";
|
if(alm.getAlmStarttime()!=null){
|
sql+=" and alm_starttime >='"+ DateUtil.format_YYYY_MM_DD_HH_MM_SS(alm.getAlmStarttime())+"' ";
|
}
|
if(alm.getAlmEndTime()!=null){
|
sql+=" and alm_endtime <='"+DateUtil.format_YYYY_MM_DD_HH_MM_SS(alm.getAlmEndTime())+"' ";
|
}
|
if(alm.getAlmName()!=null){
|
sql+=" and breakAlarm.alm_name='"+alm.getAlmName()+"'";
|
}
|
if(alm.getBreakerType()!=null){
|
sql+=" and tb_breaker_inf.breaker_type='"+alm.getBreakerType()+"'";
|
}
|
if(alm.getBreakerName()!=null){
|
sql+=" and tb_breaker_inf.breaker_name='"+alm.getBreakerName()+"'";
|
}
|
sql+=" ORDER BY alm_starttime desc limit "+alm.getLimitStart()+","+alm.getLimitEnd()+" ";
|
List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
|
@Override
|
public List getResults(ResultSet rs) throws SQLException {
|
List<CKPowerDevBreakAlarmHistory> list=new ArrayList<>();
|
while (rs.next()){
|
CKPowerDevBreakAlarmHistory ph=new CKPowerDevBreakAlarmHistory();
|
ph.setNum(rs.getLong("num"));
|
ph.setPowerDeviceId(rs.getInt("power_device_id"));
|
ph.setAlmId(rs.getInt("alm_id"));
|
ph.setAlmName(rs.getString("alm_name"));
|
ph.setAlmLevel(rs.getInt("alm_level"));
|
ph.setAlmStarttime(rs.getTimestamp("alm_starttime"));
|
ph.setAlmEndtime(rs.getTimestamp("alm_endtime"));
|
ph.setAlmIsConfirmed(rs.getInt("alm_is_confirmed"));
|
ph.setAlmConfirmedTime(rs.getTimestamp("alm_confirmed_time"));
|
ph.setAlmClearedType(rs.getInt("alm_cleared_type"));
|
ph.setBreakerType(rs.getString("breaker_type"));
|
ph.setBreakerName(rs.getString("breaker_name"));
|
ph.setBreakerAddr(rs.getString("breaker_addr"));
|
list.add(ph);
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
|
//查询所有的历史时间表
|
public List getBreakAlmHisList() {
|
String sql="SELECT table_name FROM information_schema.tables WHERE table_name LIKE 'tb_ckpowerdev_break_alarm_history%'";
|
List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
|
@Override
|
public List getResults(ResultSet rs) throws SQLException {
|
List<String> list=new ArrayList<>();
|
while (rs.next()){
|
list.add(rs.getString("table_name"));
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
//统计按照等级的告警信息
|
public List<CKPowerDevBreakAlarmHistory> selectBreakLevelCountList(String tableYear) {
|
String sql="select alm_level from db_ckpwrdev_break_alarm." +tableYear;
|
List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
|
@Override
|
public List getResults(ResultSet rs) throws SQLException {
|
List<CKPowerDevBreakAlarmHistory> list=new ArrayList<>();
|
while (rs.next()){
|
CKPowerDevBreakAlarmHistory ph=new CKPowerDevBreakAlarmHistory();
|
ph.setAlmLevel(rs.getInt("alm_level"));
|
list.add(ph);
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
}
|