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<Battresdata> list=bstd.serchByCondition(bst); for(Battresdata
|
* b:list){ System.out.println(b); }
|
*/
|
//List<Battresdata> list = bstd.searchAll(bst);
|
BattInf binf=new BattInf();
|
binf.setBattGroupId(100000);
|
binf.setMonNum(1);
|
List<Battresdata> list = bstd.serchByMonHistory(binf);
|
for (Battresdata b : list) {
|
System.out.println(b);
|
}
|
}
|
|
public List searchAll() {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
|
}
|