package com.fgkj.dao.impl;
|
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
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.dto.Batttestdata;
|
|
public class BatttestdataImpl 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) {
|
Batttestdata btd=(Batttestdata)obj;
|
int number=btd.getRecord_num();//总数
|
int roteN=0;
|
int endN=BattTestData.RC_NUM_PARAM;//总笔数
|
if(number<=endN){
|
roteN=1;
|
}else{
|
if(number%endN==0){
|
roteN=number/endN;
|
}else{
|
roteN=number/endN+1;
|
}
|
}
|
String sql="select num,BattGroupId,test_record_count,test_type,data_new,data_available,record_num,test_starttime,record_time,test_timelong,online_vol,group_vol,test_curr,test_cap,mon_num,mon_vol,mon_tmp " +
|
" from db_batt_testdata.tb_batttestdata_"+btd.getBattGroupId()+"" +
|
" where test_record_count=? and (record_num%"+roteN+"=0 or test_timelong>=? or test_timelong<= ? or record_num>=("+number+"-100)) " +
|
" and db_batt_testdata.tb_batttestdata_"+btd.getBattGroupId()+".data_available=1 ";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(),new Object[]{btd.getTest_record_count(),btd.getNum(),btd.getTest_type()}, new CallBack() {
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Batttestdata b=new Batttestdata();
|
b.setNum(rs.getInt("num"));
|
b.setBattGroupId(rs.getInt("BattGroupId"));
|
b.setTest_record_count(rs.getInt("test_record_count"));
|
b.setTest_type(rs.getInt("test_type"));
|
b.setData_new(rs.getInt("data_new"));
|
b.setData_available(rs.getInt("data_available"));
|
b.setRecord_num(rs.getInt("record_num"));
|
b.setTest_starttime(rs.getTimestamp("test_starttime"));
|
b.setRecord_time(rs.getTimestamp("record_time"));
|
b.setTest_timelong(rs.getInt("test_timelong"));
|
b.setOnline_vol(rs.getFloat("online_vol"));
|
b.setGroup_vol(rs.getFloat("group_vol"));
|
b.setTest_curr(rs.getFloat("test_curr"));
|
b.setTest_cap(rs.getFloat("test_cap"));
|
b.setMon_num(rs.getInt("mon_num"));
|
b.setMon_vol(rs.getFloat("mon_vol"));
|
b.setMon_tmp(rs.getFloat("mon_tmp"));
|
list.add(b);
|
}
|
}catch (SQLException e) {
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
//查询某一次测试中的最大一次的测试时长和最短时长<历史监测>
|
public List serchMaxAndMintime(Object obj){
|
Batttestdata btb=(Batttestdata) obj;
|
String sql=" SELECT MAX(record_num) number,MAX(test_timelong) as maxtime,MIN(test_timelong) as mintime FROM db_batt_testdata.tb_batttestdata_"+btb.getBattGroupId()+
|
" WHERE test_record_count=? and db_batt_testdata.tb_batttestdata_"+btb.getBattGroupId()+".data_available=1 LIMIT 1";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{btb.getTest_record_count()}, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Batttestdata btb=new Batttestdata();
|
btb.setNum(rs.getInt("maxtime"));
|
btb.setTest_type(rs.getInt("mintime"));
|
btb.setRecord_num(rs.getInt("number"));
|
list.add(btb);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
@Override
|
public List serchByInfo(Object obj) {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
|
}
|