package com.fgkj.mapper.impl;
|
|
import java.util.List;
|
import java.util.Map;
|
|
import com.fgkj.dto.*;
|
import org.apache.ibatis.annotations.Select;
|
import org.springframework.stereotype.Repository;
|
|
public interface Batt_rtstateMapper{
|
|
//实时监测
|
public List<Batt_rtdata> serchByCondition(Batt_rtstate obj);
|
|
//测试数据——实时查询中左下角的充放电统计(旧)
|
public List serchDisOrChargr();
|
|
// @Select(" SELECT distinct db_ram_db.tb_batt_rtstate.battgroupid "
|
// + ",batt_test_type,stationid,fbsdeviceid,stationName,stationName1,stationName2,stationName3,stationName4,stationName5 " +
|
// " from db_ram_db.tb_batt_rtstate,db_battinf.tb_battinf ")
|
//测试数据——实时查询中左下角的充放电统计(用户管理的机房)
|
@Select(" SELECT distinct db_ram_db.tb_batt_rtstate.battgroupid "
|
+ ",batt_test_type,stationid,fbsdeviceid,stationName,stationName1,stationName2,stationName3,stationName4,stationName5 " +
|
" from db_ram_db.tb_batt_rtstate,db_battinf.tb_battinf " +
|
" where batt_test_type IN(2,3) " +
|
" and db_ram_db.tb_batt_rtstate.battgroupid=db_battinf.tb_battinf.BattGroupId " +
|
" and db_ram_db.tb_batt_rtstate.BattGroupId in(select distinct db_battinf.tb_battinf.battgroupid " +
|
" from db_battinf.tb_battinf,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr,db_user.tb_user_inf " +
|
" where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId " +
|
" and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id " +
|
" and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid " +
|
" and db_user.tb_user_inf.uid=#{uId} ) " +
|
" ORDER BY db_ram_db.tb_batt_rtstate.battgroupid")
|
public List<Batt_rtstate> serchDisOrChargrNew(User_inf obj);
|
|
//根据电池组id查询该电池组(电池续航能力)
|
public List<Batt_State> serchByInfo(BattInf obj);
|
|
//查询单体编号实时数据(电池单体实时信息)
|
public List<Batt_State> serchMons(BattInf obj);
|
|
//查询电池组的实时状态(电池状态查询<放电,充电>)
|
/*
|
* 电池状态放在:binf的num中*/
|
/*public List serchBattState(Object obj){
|
Batt_Maint_Dealarm bmd=(Batt_Maint_Dealarm) obj;
|
BattInf binf=bmd.getBinf();
|
Page page=bmd.getPage();
|
String sql="";
|
String numberSql=" SELECT FOUND_ROWS() number";
|
Connection conn=DBUtil.getConn(IDatabaseName.DB_RAM_DB);
|
String baseSql="SELECT SQL_CALC_FOUND_ROWS DISTINCT db_battinf.tb_battinf.BattGroupId, rec_datetime,batt_state" +
|
",db_battinf.tb_battinf.StationName1,db_battinf.tb_battinf.StationName,db_battinf.tb_battinf.BattGroupName,db_battinf.tb_battinf.deviceName " +
|
" FROM tb_batt_rtstate,db_battinf.tb_battinf " +
|
" WHERE tb_batt_rtstate.BattGroupId=db_battinf.tb_battinf.BattGroupId " +
|
" AND db_battinf.tb_battinf.StationName LIKE ? " +
|
" AND db_battinf.tb_battinf.StationName1 LIKE ? ";
|
//选取电池组
|
String idSqlT=" AND db_battinf.tb_battinf.BattGroupId=? ";
|
String idSqlF=" AND db_battinf.tb_battinf.BattGroupId!=? ";
|
|
if(binf.getBattGroupId()==0){
|
baseSql+=idSqlF;
|
}else{
|
baseSql+=idSqlT;
|
}
|
//电池状态
|
String stateSqlT=" AND batt_state=? ";
|
String stateSqlF=" AND batt_state!=? ";
|
if(binf.getNum()==100){
|
baseSql+=stateSqlF;
|
}else{
|
baseSql+=stateSqlT;
|
}
|
|
//按照电池组升序排序
|
String endSql=" ORDER BY db_battinf.tb_battinf.BattGroupId ASC ";
|
//分页
|
String limitSql=" limit ?,? ";
|
|
sql=baseSql+endSql+limitSql;
|
//System.out.println(sql);
|
List<BattInf> list = DateUtil.executeQueryLimit(sql, conn, new Object[]{"%"+binf.getStationName()+"%","%"+binf.getStationName1()+"%",binf.getBattGroupId(),binf.getNum()
|
,(page.getPageCurr() - 1)*page.getPageSize(),
|
page.getPageSize()}, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
BattInf binf=new BattInf();
|
binf.setBattGroupId(rs.getInt("battGroupId"));
|
binf.setStationName(rs.getString("stationName"));
|
binf.setStationName1(rs.getString("stationName1"));
|
binf.setBattGroupName(rs.getString("battGroupName"));
|
//电池组状态
|
binf.setNum(rs.getInt("batt_state"));
|
binf.setStationName9(BattTestData.battState(rs.getInt("batt_state")));
|
binf.setBattProductDate(rs.getTimestamp("rec_datetime"));
|
|
list.add(binf);
|
}
|
} catch (SQLException e) {
|
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
//去掉limit条件后的总数
|
int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql);
|
//System.out.println("number: "+number);
|
if(list!=null&&list.size()>0){
|
list.get(list.size()-1).setMonNum(number);
|
}
|
return list;
|
}*/
|
//首页上饼状图电池状态比例
|
/*public List serchBattStateRate(){
|
String sql=" SELECT DISTINCT tb_batt_rtstate.BattGroupId,batt_state, " +
|
" COUNT(tb_batt_rtstate.BattGroupId) as stateNum " +
|
" FROM db_ram_db.tb_batt_rtstate " +
|
" GROUP BY batt_state ORDER BY batt_state";
|
List list=DateUtil.executeQuery(sql, DBUtil.getConn(), null, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Batt_rtstate bstate=new Batt_rtstate();
|
bstate.setBatt_state(rs.getInt("batt_state"));
|
bstate.setNum(rs.getInt("stateNum"));
|
list.add(bstate);
|
}
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
|
}*/
|
@Select("SELECT DISTINCT tb_batt_rtstate.BattGroupId,batt_state, " +
|
"COUNT(tb_batt_rtstate.BattGroupId) as batt_count " +
|
"FROM db_ram_db.tb_batt_rtstate " +
|
"GROUP BY tb_batt_rtstate.BattGroupId,batt_state " +
|
"having db_ram_db.tb_batt_rtstate.BattGroupId in(select distinct db_battinf.tb_battinf.battgroupid " +
|
"from db_battinf.tb_battinf,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr,db_user.tb_user_inf " +
|
"where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId " +
|
"and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id " +
|
"and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid " +
|
"and db_user.tb_user_inf.uid=#{uId} ) " +
|
"ORDER BY batt_state")
|
public List<Batt_rtstate> serchBattStateRate(User_inf obj);
|
|
//电池组实时情况+实时电池续航能力查询
|
/*public List serchBattLife(Object obj) {
|
Batt_Maint_Dealarm bmd=(Batt_Maint_Dealarm) obj;
|
BattInf binf=bmd.getBinf();
|
Page page=bmd.getPage();
|
String numberSql=" SELECT FOUND_ROWS() number";
|
Connection conn=DBUtil.getConn();
|
String sql="";
|
String baseSql="select SQL_CALC_FOUND_ROWS tb_batt_rtstate.BattGroupId,batt_count,tb_batt_rtstate.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,batt_rest_power1_time,batt_rest_power2_time" +
|
",tb_batt_rtdata.BattGroupId,tb_batt_rtdata.rec_datetime,mon_num,mon_vol,mon_tmp," +
|
"mon_res,mon_ser,mon_conn_res,mon_cap" +
|
",db_battinf.tb_battinf.moncapstd,db_battinf.tb_battinf.monvolstd " +
|
",db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationname1,db_battinf.tb_battinf.BattGroupName,db_battinf.tb_battinf.deviceName " +
|
",max(binary tb_batt_rtdata.mon_vol) as maxmonvol,min(binary tb_batt_rtdata.mon_vol) as minmonvol " +
|
"FROM db_ram_db.tb_batt_rtstate " +
|
"LEFT OUTER JOIN db_ram_db.tb_batt_rtdata ON tb_batt_rtstate.BattGroupId = tb_batt_rtdata.BattGroupId " +
|
"LEFT OUTER JOIN db_battinf.tb_battinf ON tb_batt_rtstate.BattGroupId = db_battinf.tb_battinf.BattGroupId " +
|
"WHERE ";
|
//电池组的选择
|
String idSqlT=" tb_batt_rtstate.BattGroupId=? ";
|
String idSqlF=" tb_batt_rtstate.BattGroupId!=? ";
|
if(binf.getBattGroupId()==0){
|
baseSql+=idSqlF;
|
}else{
|
baseSql+=idSqlT;
|
}
|
//机房维护区选择
|
String stationSql=" AND db_battinf.tb_battinf.stationname like ? AND db_battinf.tb_battinf.stationname1 like ? ";
|
baseSql+=stationSql;
|
//电池状态
|
String stateSqlT=" AND batt_state=? ";
|
String stateSqlF=" AND batt_state!=? ";
|
if(binf.getNum()==100){
|
baseSql+=stateSqlF;
|
}else{
|
baseSql+=stateSqlT;
|
}
|
//排序
|
String endSql=" GROUP BY tb_batt_rtstate.BattGroupId ";
|
//分页
|
String limitSql=" limit ?,?";
|
sql=baseSql+endSql+limitSql;
|
//System.out.println(sql);
|
List<Batt_State> list=DateUtil.executeQueryLimit(sql, conn, new Object[]{binf.getBattGroupId(),"%"+binf.getStationName()+"%","%"+binf.getStationName1()+"%"
|
,binf.getNum(),(page.getPageCurr() - 1)*page.getPageSize(),
|
page.getPageSize()}, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Batt_State state=new Batt_State();
|
|
Batt_rtstate bstate=new Batt_rtstate();
|
bstate.setBattGroupId(rs.getInt("tb_batt_rtstate.BattGroupId"));
|
bstate.setBatt_count(rs.getInt("batt_count"));
|
bstate.setRec_datetime(rs.getTimestamp("tb_batt_rtstate.rec_datetime"));
|
bstate.setOnline_vol(rs.getFloat("online_vol"));
|
bstate.setGroup_vol(rs.getFloat("group_vol"));
|
|
bstate.setGroup_curr(rs.getFloat("group_curr"));//
|
bstate.setBatt_state(rs.getInt("batt_state"));
|
bstate.setBatt_test_type(rs.getInt("batt_test_type"));
|
bstate.setBatt_test_starttime(rs.getTimestamp("batt_test_starttime"));
|
bstate.setBatt_test_recordtime(rs.getTimestamp("batt_test_recordtime"));
|
bstate.setBatt_test_tlong(rs.getInt("batt_test_tlong"));
|
bstate.setBatt_test_cap(rs.getFloat("batt_test_cap"));
|
bstate.setBatt_real_cap(rs.getFloat("batt_real_cap"));
|
bstate.setBatt_rest_cap(rs.getFloat("batt_rest_cap"));
|
bstate.setBatt_rest_power1_time(rs.getInt("batt_rest_power1_time"));
|
bstate.setBatt_rest_power2_time(rs.getInt("batt_rest_power2_time"));
|
|
Batt_rtdata bdata=new Batt_rtdata();
|
bdata.setMon_vol(rs.getFloat("maxmonvol"));
|
bdata.setMon_tmp(rs.getFloat("minmonvol"));
|
|
|
BattInf binf=new BattInf();
|
binf.setBattGroupId(rs.getInt("battGroupId"));
|
binf.setMonCapStd(rs.getFloat("monCapStd"));
|
binf.setMonVolStd(rs.getFloat("MonVolStd"));
|
binf.setBattGroupName(rs.getString("battGroupName"));
|
binf.setDeviceName(rs.getString("deviceName"));
|
binf.setStationName(rs.getString("stationName"));
|
binf.setStationName1(rs.getString("stationName1"));
|
|
binf.setStationName9(BattTestData.battState(rs.getInt("batt_state")));
|
|
state.setBstate(bstate);
|
state.setBdata(bdata);
|
state.setBinf(binf);
|
list.add(state);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
//去掉limit条件后的总数
|
int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql);
|
//System.out.println("number: "+number);
|
if(list!=null&&list.size()>0){
|
list.get(list.size()-1).getBinf().setMonNum(number);
|
}
|
return list;
|
}*/
|
//电池组实时情况+实时电池续航能力查询
|
public List serchBattLife(Batt_Maint_Dealarm obj);
|
|
//查询出当前存在内存中最大的电池组id(很重要**********)
|
public int searchMaxBattgroupId();
|
|
//实时监测<-------跨域----------->
|
@Select("select num,BattGroupId,batt_count,rec_datetime,group_vol,online_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,batt_rest_power1_time,batt_rest_power2_time" +
|
" from db_ram_db.tb_batt_rtstate where BattGroupId=#{battGroupId}")
|
public List<Batt_rtstate> serchByCondition_ky(Batt_rtstate obj);
|
|
|
/*public static void main(String[] args) {
|
User_inf uinf=new User_inf();
|
uinf.setuId(1001);
|
Batt_rtstateDAOImpl bimpl=new Batt_rtstateDAOImpl();
|
*//*List<Batt_rtstate> list=bimpl.serchDisOrChargrNew(uinf);
|
for (Batt_rtstate b : list) {
|
System.out.println(b);
|
}*/
|
}
|