package com.fgkj.partinsystem.impl;
|
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
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.db.DBUtil;
|
import com.fgkj.partinsystem.dto.Battery_monitor;
|
import com.fgkj.partinsystem.dto.Switch_board;
|
|
public class Switch_boardImpl 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() {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
//根据参试设备id查询设备的实时数据
|
@Override
|
public List serchByCondition(Object obj) {
|
Switch_board sb=(Switch_board) obj;
|
String sql="select * from db_partinsystem.switch_board where dev_id=? ";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{sb.getDev_id()}, new CallBack() {
|
|
@Override
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Switch_board s=new Switch_board();
|
s.setDev_id(rs.getInt("dev_id"));
|
s.setRecord_time(rs.getTimestamp("record_time"));
|
|
int[] timing_data=new int[Switch_board.MAX_MON_COUNT];
|
int[] event_data=new int[Switch_board.MAX_MON_COUNT];
|
for(int i=0;i<Switch_board.MAX_MON_COUNT;i++){
|
timing_data[i]=rs.getInt("timing_data"+String.valueOf(i+1));
|
event_data[i]=rs.getInt("event_data"+String.valueOf(i+1));
|
}
|
s.setTiming_data(timing_data);
|
s.setEvent_data(event_data);
|
|
list.add(s);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
|
return list;
|
}
|
//设备实时数据显示(前100笔数据服务器的时间)
|
@Override
|
public List serchByInfo(Object obj) {
|
Switch_board sb=(Switch_board) obj;
|
Date date=new Date();
|
String table=DAOHelper.sdf_withOut.format(date);
|
String sql="select * from db_partinsystem_history.switch_board_"+sb.getDev_id()+"_"+table+" where dev_id=? limit 0,100";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{sb.getDev_id()}, new CallBack() {
|
|
@Override
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Switch_board s=new Switch_board();
|
s.setDev_id(rs.getInt("dev_id"));
|
s.setRecord_time(rs.getTimestamp("record_time"));
|
|
int[] timing_data=new int[Switch_board.MAX_MON_COUNT];
|
int[] event_data=new int[Switch_board.MAX_MON_COUNT];
|
for(int i=0;i<Switch_board.MAX_MON_COUNT;i++){
|
timing_data[i]=rs.getInt("timing_data"+String.valueOf(i+1));
|
event_data[i]=rs.getInt("event_data"+String.valueOf(i+1));
|
}
|
s.setTiming_data(timing_data);
|
s.setEvent_data(event_data);
|
|
list.add(s);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
|
return list;
|
}
|
//设备历史数据查询
|
public List serchHistory(Object obj) {
|
Switch_board sb=(Switch_board) obj;
|
String table=DAOHelper.sdf_withOut.format(sb.getRecord_time());
|
String sql="select * from db_partinsystem_history.switch_board_"+sb.getDev_id()+"_"+table+" where dev_id=? and record_time >= ? and record_time <= ? order by record_time asc";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{sb.getDev_id(),sb.getRecord_time(),sb.getRecord_time1()}, new CallBack() {
|
|
@Override
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Switch_board s=new Switch_board();
|
s.setDev_id(rs.getInt("dev_id"));
|
s.setRecord_time(rs.getTimestamp("record_time"));
|
|
int[] timing_data=new int[Switch_board.MAX_MON_COUNT];
|
int[] event_data=new int[Switch_board.MAX_MON_COUNT];
|
for(int i=0;i<Switch_board.MAX_MON_COUNT;i++){
|
timing_data[i]=rs.getInt("timing_data"+String.valueOf(i+1));
|
event_data[i]=rs.getInt("event_data"+String.valueOf(i+1));
|
}
|
s.setTiming_data(timing_data);
|
s.setEvent_data(event_data);
|
|
list.add(s);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
|
return list;
|
}
|
//文件导出时的历史查询
|
public List serchCSV(Object obj) {
|
final Switch_board sb=(Switch_board) obj;
|
String tablists=sb.getNote()+",record_time";
|
String table=DAOHelper.sdf_withOut.format(sb.getRecord_time());
|
String table1=DAOHelper.sdf_withOut.format(sb.getRecord_time1());
|
|
String SqlAll="";
|
String sql=" (select "+tablists+" from db_partinsystem_history.switch_board_"+sb.getDev_id()+"_"+table+" "
|
+ " where record_time >= ? and record_time <= ? order by record_time asc )";
|
String sql_union=" union all ";
|
|
String sql1= " (select "+tablists+" from db_partinsystem_history.switch_board_"+sb.getDev_id()+"_"+table1+" "
|
+ " where record_time >= ? and record_time <= ? order by record_time asc )";
|
|
Object[] strarr=null;
|
List list=new ArrayList();
|
String st=sb.getDev_id()+"_"+table;
|
String st1=sb.getDev_id()+"_"+table1;
|
|
int size=DAOHelper.serchTable(st);
|
int size1=DAOHelper.serchTable(st1);
|
|
//表都存在
|
if(size>0&&size1>0){
|
if(table.equals(table1)){
|
SqlAll=sql;
|
strarr=new Object[]{DAOHelper.sdf.format(sb.getRecord_time()),DAOHelper.sdf.format(sb.getRecord_time1())};
|
|
}else{
|
SqlAll=sql+sql_union+sql1;
|
strarr=new Object[]{DAOHelper.sdf.format(sb.getRecord_time()),DAOHelper.sdfwithOut.format(sb.getRecord_time())+" 23:59:59",DAOHelper.sdfwithOut.format(sb.getRecord_time())+" 00:00:00",DAOHelper.sdf.format(sb.getRecord_time1())};
|
}
|
}
|
//存在一个表
|
if(size>0&&size1<=0){
|
SqlAll=sql;
|
strarr=new Object[]{DAOHelper.sdf.format(sb.getRecord_time()),DAOHelper.sdfwithOut.format(sb.getRecord_time())+" 23:59:59"};
|
|
}
|
if(size<=0&&size1>0){
|
SqlAll=sql1;
|
strarr=new Object[]{DAOHelper.sdfwithOut.format(sb.getRecord_time1())+" 00:00:00",DAOHelper.sdf.format(sb.getRecord_time1())};
|
|
}
|
//表都不存在
|
if(size<=0&&size1<=0){
|
return list;
|
}
|
list=DAOHelper.executeQuery(SqlAll, DBUtil.getConn(), strarr, new CallBack() {
|
|
@Override
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
String[] state=sb.getNote().split(",");
|
try {
|
while(rs.next()){
|
List row=new ArrayList();
|
row.add(ActionUtil.chageDateToString(rs.getTimestamp("record_time"), ActionUtil.time_yyyyMMddHHmmss).trim());
|
for (int i = 0; i < state.length; i++) {
|
row.add(rs.getFloat(state[i]));
|
}
|
list.add(row);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
}
|