package com.fgkj.dao.impl; import java.sql.ResultSet; import java.sql.SQLException; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; import com.fgkj.dao.BaseDAO; import com.fgkj.dao.BattTestData; import com.fgkj.dao.CallBack; import com.fgkj.dao.DAOHelper; import com.fgkj.db.DBUtil; import com.fgkj.db.IDatabaseName; import com.fgkj.dto.BattInf; import com.fgkj.dto.Batt_rtdata; public class Batt_rtdataDAOImpl implements BaseDAO{ public boolean add(Object obj) { return false; } public boolean update(Object obj) { return false; } public boolean del(Object obj) { return false; } public List searchAll() { return null; } //实时监测 public List serchByCondition(Object obj) { Batt_rtdata br=(Batt_rtdata)obj; String sql="select num,BattGroupId,rec_datetime,mon_num,mon_vol,mon_tmp,mon_res,mon_ser,mon_conn_res,mon_cap,mon_JH_curr from db_ram_db.tb_batt_rtdata where BattGroupId=? order by mon_num"; return DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{br.getBattGroupId()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_rtdata rtdata=new Batt_rtdata(); rtdata.setNum(rs.getInt("num")); rtdata.setBattGroupId(rs.getInt("BattGroupId")); rtdata.setRec_datetime(rs.getDate("rec_datetime")); rtdata.setMon_num(rs.getInt("mon_num")); rtdata.setMon_vol(rs.getFloat("mon_vol")); rtdata.setMon_tmp(rs.getFloat("mon_tmp")); rtdata.setMon_res(rs.getFloat("mon_res")); rtdata.setMon_ser(rs.getFloat("mon_ser")); rtdata.setMon_conn_res(rs.getFloat("mon_conn_res")); rtdata.setMon_cap(rs.getFloat("mon_cap")); rtdata.setMon_JH_curr(rs.getFloat("mon_JH_curr")); //System.out.println(rtdata); list.add(rtdata); } } catch (SQLException e) { e.printStackTrace(); } return list; } }); } //实时监测<-------跨域-----------> public List serchByCondition_ky(Object obj) { Batt_rtdata br=(Batt_rtdata)obj; String sql="select num,BattGroupId,rec_datetime,mon_num,mon_vol,mon_tmp,mon_res,mon_ser,mon_conn_res,mon_cap,mon_JH_curr from db_ram_db.tb_batt_rtdata where BattGroupId=? order by mon_num"; return DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{br.getBattGroupId()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_rtdata rtdata=new Batt_rtdata(); rtdata.setNum(rs.getInt("num")); rtdata.setBattGroupId(rs.getInt("BattGroupId")); rtdata.setRec_datetime(rs.getDate("rec_datetime")); rtdata.setMon_num(rs.getInt("mon_num")); rtdata.setMon_vol(rs.getFloat("mon_vol")); rtdata.setMon_tmp(rs.getFloat("mon_tmp")); rtdata.setMon_res(rs.getFloat("mon_res")); rtdata.setMon_ser(rs.getFloat("mon_ser")); rtdata.setMon_conn_res(rs.getFloat("mon_conn_res")); rtdata.setMon_cap(rs.getFloat("mon_cap")); rtdata.setMon_JH_curr(rs.getFloat("mon_JH_curr")); //System.out.println(rtdata); list.add(rtdata); } } catch (SQLException e) { e.printStackTrace(); } return list; } }); } // 电池组单体最大值和最小值 public List serchByInfo(Object obj) { BattInf binf=(BattInf)obj; String sql=" SELECT battgroupid,max(binary tb_batt_rtdata.mon_vol) as maxmonvol,min(binary tb_batt_rtdata.mon_vol) as minmonvol from db_ram_db.tb_batt_rtdata where BattGroupId=? limit 1 "; List list= DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getBattGroupId()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_rtdata rtdata=new Batt_rtdata(); rtdata.setBattGroupId(rs.getInt("BattGroupId")); rtdata.setMon_vol(rs.getFloat("maxmonvol")); rtdata.setMon_tmp(rs.getFloat("minmonvol")); list.add(rtdata); } } catch (SQLException e) { e.printStackTrace(); } return list; } }); return list; } //根据电池组id查询电池组内前三的内阻数据 public List serchByThirdBatt(Object obj){ BattInf binf=(BattInf)obj; String sql="select db_ram_db.tb_batt_rtdata.battgroupid,mon_num,mon_vol,mon_tmp,mon_res,mon_ser,mon_conn_res,mon_cap " + " from db_ram_db.tb_batt_rtdata,db_battinf.tb_battinf " + " where db_ram_db.tb_batt_rtdata.BattGroupId=db_battinf.tb_battinf.battgroupid " + " and db_battinf.tb_battinf.fbsdeviceid=? and groupindexinfbsdevice=? " + " order by mon_res desc limit 0,"+BattTestData.mon_res_num; //System.out.println(sql); List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getFBSDeviceId(),binf.getGroupIndexInFBSDevice()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); //int num=0;//计数取前五 try { while(rs.next()){ /* if(num>=BattTestData.mon_res_num){ break; } */ Batt_rtdata rtdata=new Batt_rtdata(); rtdata.setBattGroupId(rs.getInt("battGroupId")); rtdata.setMon_num(rs.getInt("mon_num")); rtdata.setMon_vol(rs.getFloat("mon_vol")); rtdata.setMon_tmp(rs.getFloat("mon_tmp")); rtdata.setMon_res(rs.getFloat("mon_res")); rtdata.setMon_ser(rs.getFloat("mon_ser")); rtdata.setMon_conn_res(rs.getFloat("mon_conn_res")); rtdata.setMon_cap(rs.getFloat("mon_cap")); list.add(rtdata); //num++; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); return list; } //历史监测中查询出电池组的实时内阻并将其导出报表 public List serchResById(Object obj) { Batt_rtdata br=(Batt_rtdata)obj; String sql="select BattGroupId,mon_num,mon_res from db_ram_db.tb_batt_rtdata where BattGroupId=? order by mon_num"; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{br.getBattGroupId()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Batt_rtdata rtdata=new Batt_rtdata(); rtdata.setBattGroupId(rs.getInt("BattGroupId")); rtdata.setMon_num(rs.getInt("mon_num")); rtdata.setMon_res(rs.getFloat("mon_res")); list.add(rtdata); } } catch (SQLException e) { e.printStackTrace(); } return list; } }); return list; } public static void main(String[] args) { Batt_rtdataDAOImpl bimpl=new Batt_rtdataDAOImpl(); BattInf binf=new BattInf(); //binf.setBattGroupId(1000007); binf.setFBSDeviceId(910000001); binf.setGroupIndexInFBSDevice(0); /*List list=bimpl.serchByThirdBatt(binf); for (Batt_rtdata b : list) { System.out.println(b); }*/ Batt_rtdata br=new Batt_rtdata(); br.setBattGroupId(1002101); List list=bimpl.serchByCondition_ky(br); for (Batt_rtdata b : list) { System.out.println(b); } } }