| | |
| | | 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.Ac230v_ups; |
| | | import com.fgkj.partinsystem.dto.Battery_monitor; |
| | | |
| | | public class Battery_monitorImpl implements BaseDAO,CallBack{ |
| | |
| | | |
| | | return list; |
| | | } |
| | | |
| | | //设备实时数据显示(前100笔数据服务器的时间) |
| | | @Override |
| | | public List serchByInfo(Object obj) { |
| | | // TODO Auto-generated method stub |
| | | return null; |
| | | Battery_monitor bm=(Battery_monitor) obj; |
| | | Date date=new Date(); |
| | | String table=DAOHelper.sdf_withOut.format(date); |
| | | String sql="select * from db_partinsystem_history.battery_monitor_"+bm.getDev_id()+"_"+table+" where dev_id=? limit 0,100"; |
| | | List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[bm.getDev_id()], new CallBack() { |
| | | |
| | | @Override |
| | | public List getResults(ResultSet rs) { |
| | | List list=new ArrayList(); |
| | | try { |
| | | while(rs.next()){ |
| | | Battery_monitor b=new Battery_monitor(); |
| | | b.setDev_id(rs.getInt("dev_id")); |
| | | b.setRecord_time(rs.getTimestamp("record_time")); |
| | | b.setGroup_vol(rs.getFloat("group_vol")); |
| | | b.setGroup_curr(rs.getFloat("group_curr")); |
| | | b.setMax_vol(rs.getFloat("max_vol")); |
| | | b.setMin_vol(rs.getFloat("min_vol")); |
| | | b.setMax_tmp(rs.getFloat("max_tmp")); |
| | | b.setMax_vol_count(rs.getInt("max_vol_count")); |
| | | b.setMin_vol_count(rs.getInt("min_vol_count")); |
| | | b.setMax_tmp_count(rs.getInt("max_tmp_count")); |
| | | b.setAvg_vol(rs.getFloat("avg_vol")); |
| | | b.setAvg_tmp(rs.getFloat("avg_tmp")); |
| | | b.setFault_alm(rs.getInt("fault_alm")); |
| | | b.setSwitch_state(rs.getInt("switch_state")); |
| | | b.setLighting_state(rs.getInt("lighting_state")); |
| | | b.setVol_hall_state(rs.getInt("vol_hall_state")); |
| | | b.setCurr_hall_state(rs.getInt("curr_hall_state")); |
| | | b.setChager_state(rs.getInt("chager_state")); |
| | | b.setChager_type(rs.getInt("chager_type")); |
| | | |
| | | float[] mon_vols=new float[Battery_monitor.MAX_MON_COUNT]; |
| | | float[] mon_tmps=new float[Battery_monitor.MAX_MON_COUNT]; |
| | | for(int i=0;i<Battery_monitor.MAX_MON_COUNT;i++){ |
| | | mon_vols[i]=rs.getFloat("mon_vol"+String.valueOf(i+1)); |
| | | mon_tmps[i]=rs.getFloat("mon_tmp"+String.valueOf(i+1)); |
| | | } |
| | | b.setMon_vols(mon_vols); |
| | | b.setMon_tmps(mon_tmps); |
| | | |
| | | list.add(b); |
| | | } |
| | | } catch (SQLException e) { |
| | | // TODO Auto-generated catch block |
| | | e.printStackTrace(); |
| | | } |
| | | return list; |
| | | } |
| | | }); |
| | | |
| | | return list; |
| | | } |
| | | |
| | | //设备历史数据查询 |
| | | public List serchHistory(Object obj) { |
| | | Battery_monitor bm=(Battery_monitor) obj; |
| | | String table=DAOHelper.sdf_withOut.format(bm.getRecord_time()); |
| | | String sql=" select * from db_partinsystem_history.battery_monitor_"+bm.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[]{bm.getDev_id(),bm.getRecord_time(),bm.getRecord_time1()}, new CallBack() { |
| | | |
| | | @Override |
| | | public List getResults(ResultSet rs) { |
| | | List list=new ArrayList(); |
| | | try { |
| | | while(rs.next()){ |
| | | Battery_monitor b=new Battery_monitor(); |
| | | b.setDev_id(rs.getInt("dev_id")); |
| | | b.setRecord_time(rs.getTimestamp("record_time")); |
| | | b.setGroup_vol(rs.getFloat("group_vol")); |
| | | b.setGroup_curr(rs.getFloat("group_curr")); |
| | | b.setMax_vol(rs.getFloat("max_vol")); |
| | | b.setMin_vol(rs.getFloat("min_vol")); |
| | | b.setMax_tmp(rs.getFloat("max_tmp")); |
| | | b.setMax_vol_count(rs.getInt("max_vol_count")); |
| | | b.setMin_vol_count(rs.getInt("min_vol_count")); |
| | | b.setMax_tmp_count(rs.getInt("max_tmp_count")); |
| | | b.setAvg_vol(rs.getFloat("avg_vol")); |
| | | b.setAvg_tmp(rs.getFloat("avg_tmp")); |
| | | b.setFault_alm(rs.getInt("fault_alm")); |
| | | b.setSwitch_state(rs.getInt("switch_state")); |
| | | b.setLighting_state(rs.getInt("lighting_state")); |
| | | b.setVol_hall_state(rs.getInt("vol_hall_state")); |
| | | b.setCurr_hall_state(rs.getInt("curr_hall_state")); |
| | | b.setChager_state(rs.getInt("chager_state")); |
| | | b.setChager_type(rs.getInt("chager_type")); |
| | | |
| | | float[] mon_vols=new float[Battery_monitor.MAX_MON_COUNT]; |
| | | float[] mon_tmps=new float[Battery_monitor.MAX_MON_COUNT]; |
| | | for(int i=0;i<Battery_monitor.MAX_MON_COUNT;i++){ |
| | | mon_vols[i]=rs.getFloat("mon_vol"+String.valueOf(i+1)); |
| | | mon_tmps[i]=rs.getFloat("mon_tmp"+String.valueOf(i+1)); |
| | | } |
| | | b.setMon_vols(mon_vols); |
| | | b.setMon_tmps(mon_tmps); |
| | | |
| | | list.add(b); |
| | | } |
| | | } catch (SQLException e) { |
| | | // TODO Auto-generated catch block |
| | | e.printStackTrace(); |
| | | } |
| | | return list; |
| | | } |
| | | }); |
| | | return list; |
| | | } |
| | | //文件导出时的历史查询 |
| | | public List serchCSV(Object obj) { |
| | | final Battery_monitor bm=(Battery_monitor) obj; |
| | | String tablists=bm.getNote()+",record_time"; |
| | | String table=DAOHelper.sdf_withOut.format(bm.getRecord_time()); |
| | | String table1=DAOHelper.sdf_withOut.format(bm.getRecord_time1()); |
| | | |
| | | String SqlAll=""; |
| | | String sql=" (select "+tablists+" from db_partinsystem_history.battery_monitor_"+bm.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.battery_monitor_"+bm.getDev_id()+"_"+table1+" " |
| | | + " where record_time >= ? and record_time <= ? order by record_time asc )"; |
| | | |
| | | Object[] strarr=null; |
| | | List list=new ArrayList(); |
| | | String st=bm.getDev_id()+"_"+table; |
| | | String st1=bm.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(bm.getRecord_time()),DAOHelper.sdf.format(bm.getRecord_time1())}; |
| | | |
| | | }else{ |
| | | SqlAll=sql+sql_union+sql1; |
| | | strarr=new Object[]{DAOHelper.sdf.format(bm.getRecord_time()),DAOHelper.sdfwithOut.format(bm.getRecord_time())+" 23:59:59",DAOHelper.sdfwithOut.format(bm.getRecord_time())+" 00:00:00",DAOHelper.sdf.format(bm.getRecord_time1())}; |
| | | } |
| | | } |
| | | //存在一个表 |
| | | if(size>0&&size1<=0){ |
| | | SqlAll=sql; |
| | | strarr=new Object[]{DAOHelper.sdf.format(bm.getRecord_time()),DAOHelper.sdfwithOut.format(bm.getRecord_time())+" 23:59:59"}; |
| | | |
| | | } |
| | | if(size<=0&&size1>0){ |
| | | SqlAll=sql1; |
| | | strarr=new Object[]{DAOHelper.sdfwithOut.format(bm.getRecord_time1())+" 00:00:00",DAOHelper.sdf.format(bm.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=bm.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; |
| | | } |
| | | } |