package com.fgkj.dao.impl; import java.sql.ResultSet; import java.sql.SQLException; import java.text.ParseException; import java.util.ArrayList; import java.util.List; import com.fgkj.dao.BaseDAO; 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.Battresdata; import com.fgkj.dto.Batttestdatastop; public class BattresdataDAOImpl implements BaseDAO, CallBack { public List getResults(ResultSet rs) { List list = new ArrayList(); try { while (rs.next()) { Battresdata br = new Battresdata(); br.setNum(rs.getInt("num")); br.setBattGroupId(rs.getInt("BattGroupId")); br.setTest_record_count(rs.getInt("test_record_count")); br.setTest_type(rs.getInt("test_type")); br.setData_new(rs.getInt("data_new")); br.setData_available(rs.getInt("data_available")); br.setTest_starttime(rs.getTimestamp("test_starttime")); br.setGroup_vol(rs.getFloat("group_vol")); br.setTest_curr(rs.getFloat("test_curr")); br.setMon_num(rs.getInt("mon_num")); br.setMon_vol(rs.getFloat("mon_vol")); br.setMon_tmp(rs.getFloat("mon_tmp")); br.setMon_res(rs.getFloat("mon_res")); br.setMon_ser(rs.getFloat("mon_ser")); br.setConn_res(rs.getFloat("conn_res")); list.add(br); // System.out.println(b); } } catch (SQLException e) { e.printStackTrace(); } return list; } public boolean add(Object obj) { Battresdata btd = (Battresdata) obj; String sql = "inset into db_batt_testdata.tb_battresdata_" + btd.getBattGroupId() + "(BattGroupId,test_record_count,test_type,data_new,data_available,test_starttime,group_vol,test_curr,mon_num," + "mon_vol,mon_tmp,mon_res,mon_ser,conn_res) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; Boolean bl = DAOHelper.executeUpdate( DBUtil.getConn(), sql, new Object[] { btd.getBattGroupId(), btd.getTest_record_count(), btd.getTest_type(), btd.getData_new(), btd.getData_available(), btd.getTest_starttime(), btd.getGroup_vol(), btd.getTest_curr(), btd.getMon_num(), btd.getMon_vol(), btd.getMon_tmp(), btd.getMon_res(), btd.getMon_ser(), btd.getConn_res() }); return bl; } public boolean update(Object obj) { Battresdata btd = (Battresdata) obj; String sql = "update db_batt_testdata.tb_battresdata_" + btd.getBattGroupId() + "set BattGroupId=?,test_record_count=?,test_type=?,data_new=?,data_available=?,test_starttime=?,group_vol=?,test_curr=?,mon_num=?," + "mon_vol?,mon_tmp=?,mon_res=?,mon_ser=?,conn_res=? where num=?"; Boolean bl = DAOHelper.executeUpdate( DBUtil.getConn(), sql, new Object[] { btd.getBattGroupId(), btd.getTest_record_count(), btd.getTest_type(), btd.getData_new(), btd.getData_available(), btd.getTest_starttime(), btd.getGroup_vol(), btd.getTest_curr(), btd.getMon_num(), btd.getMon_vol(), btd.getMon_tmp(), btd.getMon_res(), btd.getMon_ser(), btd.getConn_res(), btd.getNum() }); return bl; } //6.1电池充放电管理删除操作 public boolean del(Object obj) { Battresdata rdata = (Battresdata) obj; String sql = "delete from db_batt_testdata.tb_battresdata_" + rdata.getBattGroupId() + " where battgroupid=? and test_record_count=? "; Boolean bl = DAOHelper.executeUpdate( DBUtil.getConn(), sql, new Object[] { rdata.getBattGroupId(),rdata.getTest_record_count() }); return bl; } //电池充/放电数据管理删除 public String delPro(Object obj) { Battresdata btd = (Battresdata) obj; String sql = "delete from db_batt_testdata.tb_battresdata_" + btd.getBattGroupId() + " where test_record_count="+btd.getTest_record_count(); return sql; } public List searchAll(Object obj) { Battresdata btd = (Battresdata) obj; String sql = "select * from db_batt_testdata.tb_battresdata_" + btd.getBattGroupId() + ""; List list = DAOHelper.executeQuery(sql, DBUtil.getConn(), null, new BattresdataDAOImpl()); return list; } public List serchByCondition(Object obj) { Battresdata btd = (Battresdata) obj; String sql = "select num,BattGroupId,test_record_count,test_type,data_new,data_available,test_starttime,group_vol,test_curr,mon_num,mon_vol,mon_tmp,mon_res,mon_ser,conn_res from db_batt_testdata.tb_battresdata_" + btd.getBattGroupId() + "" + " where test_record_count=?"; return DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[] { btd.getTest_record_count() }, new BattresdataDAOImpl()); } //根据电池组id和单体id查询内阻历史信息 public List serchByMonHistory(Object obj){ BattInf binf=(BattInf) obj; String sql="select num,BattGroupId,test_record_count,test_type,data_new,data_available,test_starttime,group_vol,test_curr,mon_num,mon_vol,mon_tmp,mon_res,mon_ser,conn_res " + " from db_batt_testdata.tb_battresdata_"+ binf.getBattGroupId() + " " + " where mon_num=?"; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(),new Object[]{binf.getMonNum()}, new CallBack() { public List getResults(ResultSet rs) { List list = new ArrayList(); try { while (rs.next()) { Battresdata br = new Battresdata(); br.setNum(rs.getInt("num")); br.setBattGroupId(rs.getInt("BattGroupId")); br.setTest_record_count(rs.getInt("test_record_count")); br.setTest_type(rs.getInt("test_type")); br.setData_new(rs.getInt("data_new")); br.setData_available(rs.getInt("data_available")); br.setTest_starttime(rs.getTimestamp("test_starttime")); br.setGroup_vol(rs.getFloat("group_vol")); br.setTest_curr(rs.getFloat("test_curr")); br.setMon_num(rs.getInt("mon_num")); br.setMon_vol(rs.getFloat("mon_vol")); br.setMon_tmp(rs.getFloat("mon_tmp")); br.setMon_res(rs.getFloat("mon_res")); br.setMon_ser(rs.getFloat("mon_ser")); br.setConn_res(rs.getFloat("conn_res")); list.add(br); // System.out.println(b); } } catch (SQLException e) { e.printStackTrace(); } return list; } }); return list; } //得到电阻/内阻测试信息 public List serchByMonNum(Object obj) { Battresdata btd = (Battresdata) obj; String sql=null; if(btd.getMon_num()==0){ sql = "select num,BattGroupId,test_record_count,test_type,data_new,data_available,test_starttime,group_vol,test_curr,mon_num,mon_vol,mon_tmp,mon_res,mon_ser,conn_res from db_batt_testdata.tb_battresdata_" + btd.getBattGroupId() + "" + " where battgroupid=? and mon_num!=?"; }else{ sql = "select num,BattGroupId,test_record_count,test_type,data_new,data_available,test_starttime,group_vol,test_curr,mon_num,mon_vol,mon_tmp,mon_res,mon_ser,conn_res from db_batt_testdata.tb_battresdata_" + btd.getBattGroupId() + "" + " where battgroupid=? and mon_num=?"; } return DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[] { btd.getBattGroupId(),btd.getMon_num() }, new BattresdataDAOImpl()); } //1.3求电导平均值 public List serchByInfo(Object obj) { Battresdata btd = (Battresdata) obj; //System.out.println(btd); String sql = "select avg(mon_ser) as mon_avg from db_batt_testdata.tb_battresdata_" + btd.getBattGroupId()+ " where battgroupid=? and test_record_count=?"; return DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[] { btd.getBattGroupId(),btd.getTest_record_count() }, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Battresdata br = new Battresdata(); br.setMon_avg(rs.getFloat("mon_avg")); list.add(br); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); } //截止平均电压值 public List serch(Object obj){ Battresdata btd=(Battresdata)obj; // System.out.println(btd.getBattGroupId()+" "+btd.getLowC()); String sql="select avg(binary mon_vol) as mon_avg from db_batt_testdata.tb_battresdata_"+btd.getBattGroupId()+" where test_record_count=? order by battgroupid"; //System.out.println(sql); return DAOHelper.executeQuery(sql, DBUtil.getConn(),new Object[]{btd.getTest_record_count()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Battresdata bs=new Battresdata(); bs.setMon_avg(rs.getFloat("mon_avg")); list.add(bs); } } catch (SQLException e) { e.printStackTrace(); } return list; } }); } //最低单体电压和编号 public List serchNum(Object obj){ Battresdata btd=(Battresdata)obj; // System.out.println(btd.getBattGroupId()+" "+btd.getLowC()); String sql="select distinct(mon_num),mon_vol from db_batt_testdata.tb_battresdata_"+btd.getBattGroupId()+" where mon_vol=(select min(mon_vol) from db_batt_testdata.tb_battresdata_"+btd.getBattGroupId()+" where test_record_count=? ) "; //System.out.println(sql); return DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{btd.getTest_record_count()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Battresdata bs=new Battresdata(); bs.setMon_num(rs.getInt("mon_num")); bs.setMon_vol(rs.getFloat("mon_vol")); list.add(bs); //System.out.println(b); } } catch (SQLException e) { e.printStackTrace(); } return list; } }); } //6.4.3根据条件查询符合条件的测试完成的电池组(蓄电池电导合格率) public List serchSer(Object obj){ Battresdata rdata=(Battresdata)obj; String sql="select mon_num from db_batt_testdata.tb_battresdata_"+rdata.getBattGroupId()+" where test_starttime=? and test_record_count=? and mon_ser>=?"; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{rdata.getTest_starttime(),rdata.getTest_record_count(),rdata.getMon_ser()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Battresdata rdata=new Battresdata(); rdata.setMon_num(rs.getInt("mon_num")); list.add(rdata); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); return list; } public static void main(String[] args) { BattresdataDAOImpl bstd = new BattresdataDAOImpl(); Battresdata bst = new Battresdata(); bst.setBattGroupId(1001795); /* bst.setTest_record_count(2); */ /* * List list=bstd.serchByCondition(bst); for(Battresdata * b:list){ System.out.println(b); } */ //List list = bstd.searchAll(bst); BattInf binf=new BattInf(); binf.setBattGroupId(100000); binf.setMonNum(1); List list = bstd.serchByMonHistory(binf); for (Battresdata b : list) { System.out.println(b); } } public List searchAll() { // TODO Auto-generated method stub return null; } }