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.CallBack;
|
import com.fgkj.dao.DAOHelper;
|
import com.fgkj.db.DBUtil;
|
import com.fgkj.dto.BattInf;
|
import com.fgkj.dto.Batt_rtstate;
|
|
public class Batt_rtstateImpl 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;
|
}
|
//根据电池组信息查询组端信息
|
@Override
|
public List serchByCondition(Object obj) {
|
BattInf binf=(BattInf) obj;
|
String sql=" select * from db_ram_db.tb_batt_rtstate where BattGroupId=? ";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(),new Object[]{binf.getBattGroupId()}, new CallBack() {
|
|
@Override
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Batt_rtstate rt=new Batt_rtstate();
|
rt.setBattGroupId(rs.getInt("battGroupId"));
|
rt.setBatt_count(rs.getInt("batt_count"));
|
rt.setRec_datetime(rs.getTimestamp("rec_datetime"));
|
rt.setOnline_vol(rs.getFloat("online_vol"));
|
rt.setGroup_vol(rs.getFloat("group_vol"));
|
rt.setGroup_curr(rs.getFloat("group_curr"));
|
rt.setBatt_state(rs.getInt("batt_state"));
|
rt.setBatt_test_type(rs.getInt("batt_test_type"));
|
rt.setBatt_test_starttime(rs.getTimestamp("batt_test_starttime"));
|
rt.setBatt_test_recordtime(rs.getTimestamp("batt_test_recordtime"));
|
rt.setBatt_test_tlong(rs.getInt("batt_test_tlong"));
|
rt.setBatt_test_cap(rs.getFloat("batt_test_cap"));
|
rt.setBatt_real_cap(rs.getFloat("batt_real_cap"));
|
rt.setBatt_rest_cap(rs.getFloat("batt_rest_cap"));
|
list.add(rt);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
//测试数据——实时查询充放电统计
|
public List serchDisOrChargrNew(Object obj){
|
BattInf binf=(BattInf) obj;
|
String sql=" select sum(if(batt_test_type=2,1,0)) as charge,sum(if(batt_test_type=3,1,0)) as discharge "
|
+ " from db_ram_db.tb_batt_rtstate,db_battinf.tb_battinf "
|
+ " where db_alarm.tb_battalarm_data.battGroupId=db_battinf.tb_battinf.battGroupId "
|
+ " and batt_test_type IN(2,3) "
|
+ " and db_battinf.tb_battinf.FBSDeviceId=? "
|
+ " GROUP BY batt_test_type ";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(),new Object[]{binf.getFBSDeviceId()}, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
int charge=0;
|
int dischar=0;
|
try {
|
while(rs.next()){
|
if(rs.getInt("charge")!=0){
|
charge=rs.getInt("charge");
|
}
|
if(rs.getInt("discharge")!=0){
|
dischar=rs.getInt("discharge");
|
}
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
list.add(charge);
|
list.add(dischar);
|
return list;
|
}
|
});
|
return list;
|
}
|
//查看实时充放电信息
|
@Override
|
public List serchByInfo(Object obj) {
|
BattInf binf=(BattInf) obj;
|
String sql=" select db_ram_db.tb_batt_rtstate.battGroupId,batt_count,rec_datetime,online_vol,group_vol,group_curr"
|
+ " ,batt_state,batt_test_type,batt_test_starttime,batt_test_recordtime,batt_test_tlong,batt_test_cap,batt_real_cap,batt_rest_cap"
|
+ " ,FBSDeviceId,BattGroupName "
|
+ " from db_ram_db.tb_batt_rtstate,db_battinf.tb_battinf "
|
+ " where db_ram_db.tb_batt_rtstate.battGroupId=db_battinf.tb_battinf.battGroupId "
|
+ " and db_battinf.tb_battinf.FBSDeviceId=? ";
|
//判断是充电还是放电
|
String chargeSqlT=" and batt_state!=? ";
|
String chargeSqlF=" and batt_state=? ";
|
if(binf.getNum()==100){
|
sql+=chargeSqlT;
|
}else{
|
sql+=chargeSqlF;
|
}
|
String endsql=" order by batt_test_starttime desc";
|
sql+=endsql;
|
//System.out.println(sql);
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getFBSDeviceId(),binf.getNum()}, new CallBack() {
|
|
@Override
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Batt_rtstate rt=new Batt_rtstate();
|
rt.setBattGroupId(rs.getInt("battGroupId"));
|
rt.setBatt_count(rs.getInt("batt_count"));
|
rt.setRec_datetime(rs.getTimestamp("rec_datetime"));
|
rt.setOnline_vol(rs.getFloat("online_vol"));
|
rt.setGroup_vol(rs.getFloat("group_vol"));
|
rt.setGroup_curr(rs.getFloat("group_curr"));
|
rt.setBatt_state(rs.getInt("batt_state"));
|
rt.setBatt_test_type(rs.getInt("batt_test_type"));
|
rt.setBatt_test_starttime(rs.getTimestamp("batt_test_starttime"));
|
rt.setBatt_test_recordtime(rs.getTimestamp("batt_test_recordtime"));
|
rt.setBatt_test_tlong(rs.getInt("batt_test_tlong"));
|
rt.setBatt_test_cap(rs.getFloat("batt_test_cap"));
|
rt.setBatt_real_cap(rs.getFloat("batt_real_cap"));
|
rt.setBatt_rest_cap(rs.getFloat("batt_rest_cap"));
|
rt.setNum(rs.getInt("FBSDeviceId"));
|
rt.setNote(rs.getString("BattGroupName"));
|
list.add(rt);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
|
public static void main(String[] args) {
|
Batt_rtstateImpl bimpl=new Batt_rtstateImpl();
|
BattInf binf=new BattInf();
|
binf.setNum(100);
|
List<Integer> list=bimpl.serchDisOrChargrNew(binf);
|
for (Integer num : list) {
|
System.out.println(num);
|
}
|
}
|
}
|