package com.whyc.service;
|
|
import com.whyc.mapper.CallBack;
|
import com.whyc.pojo.db_alarm.BattAlarmHistory;
|
import com.whyc.pojo.db_dis_batt.BattTestInfData;
|
import com.whyc.pojo.db_power_alarm.PowerAlarmHistory;
|
import com.whyc.util.ActionUtil;
|
import com.whyc.util.ThreadLocalUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.util.ArrayList;
|
import java.util.LinkedList;
|
import java.util.List;
|
|
@Service
|
public class SubTableService {
|
@Autowired
|
private MybatisSqlExecuteService sqlExecuteService;
|
//根据充放电记录查询单体放电历史详情
|
public List<BattTestInfData> getTDataHis(int binfId, int testRecordCount) {
|
String sql="select * from db_dis_batt.batt_test_inf_"+binfId+" " +
|
" where binf_id="+binfId+" " +
|
" and test_record_count="+testRecordCount+
|
" order by test_starttime asc ";
|
List<BattTestInfData> list=sqlExecuteService.executeQuery_call(sql, new CallBack() {
|
@Override
|
public List getResults(ResultSet rs) throws SQLException {
|
List list=new ArrayList();
|
while (rs.next()){
|
BattTestInfData data=new BattTestInfData();
|
data.setNum(rs.getInt("num"));
|
data.setBinfId(rs.getInt("binf_id"));
|
data.setTestRecordCount(rs.getInt("test_record_count"));
|
data.setTestStarttime(rs.getTimestamp("test_starttime"));
|
data.setRecordTime(rs.getTimestamp("record_time"));
|
data.setTestType(rs.getInt("test_type"));
|
data.setRecordNum(rs.getInt("record_num"));
|
data.setTestTimelong(rs.getInt("test_timelong"));
|
data.setOnlineVol(rs.getFloat("online_vol"));
|
data.setGroupVol(rs.getFloat("group_vol"));
|
data.setTestCurr(rs.getFloat("test_curr"));
|
data.setTestCap(rs.getFloat("test_cap"));
|
data.setMonNum(rs.getInt("mon_num"));
|
data.setMonVol(rs.getFloat("mon_vol"));
|
data.setMonTmp(rs.getFloat("mon_tmp"));
|
list.add(data);
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
//电池告警历史实时计算每张表查询总数
|
public int getBattHisCount(BattAlarmHistory battAlarmHistory) {
|
String sql="SELECT count(*) as number FROM db_alarm."+ battAlarmHistory.getRecordYear()+" history " +
|
" where history.binf_id="+ battAlarmHistory.getBinfId() ;
|
if(battAlarmHistory.getAlmStartTime()!=null){
|
sql+=" and alm_start_time >='"+ ThreadLocalUtil.format(battAlarmHistory.getAlmStartTime(),1)+"' ";
|
}
|
if(battAlarmHistory.getAlmEndTime()!=null){
|
sql+=" and alm_start_time <='"+ThreadLocalUtil.format(battAlarmHistory.getAlmEndTime(),1)+"' ";
|
}
|
List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
|
@Override
|
public List getResults(ResultSet rs) throws SQLException {
|
LinkedList<Object> temp = new LinkedList<>();
|
try {
|
while (rs.next())
|
temp.add(rs.getInt("number"));
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
return temp;
|
}
|
});
|
int num =0;
|
if(list!=null){
|
num= (int) list.get(0);
|
}
|
return num;
|
}
|
//电池告警历史实时
|
public List<BattAlarmHistory> getBattHisList(BattAlarmHistory battAlarmHistory) {
|
String sql="SELECT * FROM db_alarm."+ battAlarmHistory.getRecordYear()+" history " +
|
" where history.binf_id="+ battAlarmHistory.getBinfId() ;
|
if(battAlarmHistory.getAlmStartTime()!=null){
|
sql+=" and alm_start_time >='"+ ThreadLocalUtil.format(battAlarmHistory.getAlmStartTime(),1)+"' ";
|
}
|
if(battAlarmHistory.getAlmEndTime()!=null){
|
sql+=" and alm_start_time <='"+ThreadLocalUtil.format(battAlarmHistory.getAlmEndTime(),1)+"' ";
|
}
|
sql+=" ORDER BY alm_start_time asc limit "+ battAlarmHistory.getLimitStart()+","+ battAlarmHistory.getLimitEnd()+" ";
|
List<BattAlarmHistory> list=sqlExecuteService.executeQuery_call(sql, new CallBack() {
|
@Override
|
public List getResults(ResultSet rs) throws SQLException {
|
List list=new ArrayList();
|
while (rs.next()){
|
BattAlarmHistory data=new BattAlarmHistory();
|
data.setNum(rs.getInt("num"));
|
data.setBinfId(rs.getInt("binf_id"));
|
data.setAlmStartTime(rs.getTimestamp("alm_start_time"));
|
data.setAlmEndTime(rs.getTimestamp("alm_end_time"));
|
data.setMonNum(rs.getInt("mon_num"));
|
data.setAlmId(rs.getInt("alm_id"));
|
data.setAlmLevel(rs.getInt("alm_level"));
|
data.setAlmValue(rs.getInt("alm_value"));
|
list.add(data);
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
|
//电源告警历史实时计算每张表查询总数
|
public int getPowerHisCount(PowerAlarmHistory powerAlarmHistory) {
|
String sql="SELECT count(*) as number FROM db_power_alarm."+ powerAlarmHistory.getRecordYear()+" history " +
|
" where history.power_id="+ powerAlarmHistory.getPowerId() ;
|
if(powerAlarmHistory.getAlmStartTime()!=null){
|
sql+=" and alm_start_time >='"+ ThreadLocalUtil.format(powerAlarmHistory.getAlmStartTime(),1)+"' ";
|
}
|
if(powerAlarmHistory.getAlmEndTime()!=null){
|
sql+=" and alm_start_time <='"+ThreadLocalUtil.format(powerAlarmHistory.getAlmEndTime(),1)+"' ";
|
}
|
List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
|
@Override
|
public List getResults(ResultSet rs) throws SQLException {
|
LinkedList<Object> temp = new LinkedList<>();
|
try {
|
while (rs.next())
|
temp.add(rs.getInt("number"));
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
return temp;
|
}
|
});
|
int num =0;
|
if(list!=null){
|
num= (int) list.get(0);
|
}
|
return num;
|
}
|
//电源告警历史实时
|
public List<PowerAlarmHistory> getPowerHisList(PowerAlarmHistory powerAlarmHistory) {
|
String sql="SELECT * FROM db_power_alarm."+ powerAlarmHistory.getRecordYear()+" history " +
|
" where history.power_id="+ powerAlarmHistory.getPowerId() ;
|
if(powerAlarmHistory.getAlmStartTime()!=null){
|
sql+=" and alm_start_time >='"+ ThreadLocalUtil.format(powerAlarmHistory.getAlmStartTime(),1)+"' ";
|
}
|
if(powerAlarmHistory.getAlmEndTime()!=null){
|
sql+=" and alm_start_time <='"+ThreadLocalUtil.format(powerAlarmHistory.getAlmEndTime(),1)+"' ";
|
}
|
sql+=" ORDER BY alm_start_time asc limit "+ powerAlarmHistory.getLimitStart()+","+ powerAlarmHistory.getLimitEnd()+" ";
|
List<PowerAlarmHistory> list=sqlExecuteService.executeQuery_call(sql, new CallBack() {
|
@Override
|
public List getResults(ResultSet rs) throws SQLException {
|
List list=new ArrayList();
|
while (rs.next()){
|
PowerAlarmHistory data=new PowerAlarmHistory();
|
data.setNum(rs.getInt("num"));
|
data.setPowerId(rs.getInt("power_id"));
|
data.setAlmStartTime(rs.getTimestamp("alm_start_time"));
|
data.setAlmEndTime(rs.getTimestamp("alm_end_time"));
|
data.setAlmId(rs.getInt("alm_id"));
|
data.setAlmLevel(rs.getInt("alm_level"));
|
data.setAlmValue(rs.getInt("alm_value"));
|
list.add(data);
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
//取该单体最后一笔放电记录
|
public BattTestInfData getMonNumData(int binfId, Integer testRecordCount, Integer recordNum, int monNum) {
|
String sql="select * from db_dis_batt.batt_test_inf_"+binfId+" " +
|
" where binf_id="+binfId+" " +
|
" and test_record_count="+testRecordCount+
|
" and record_num="+recordNum+
|
" and mon_num="+monNum;
|
List<BattTestInfData> list=sqlExecuteService.executeQuery_call(sql, new CallBack() {
|
@Override
|
public List getResults(ResultSet rs) throws SQLException {
|
List list=new ArrayList();
|
while (rs.next()){
|
BattTestInfData data=new BattTestInfData();
|
data.setNum(rs.getInt("num"));
|
data.setBinfId(rs.getInt("binf_id"));
|
data.setTestRecordCount(rs.getInt("test_record_count"));
|
data.setTestStarttime(rs.getTimestamp("test_starttime"));
|
data.setRecordTime(rs.getTimestamp("record_time"));
|
data.setTestType(rs.getInt("test_type"));
|
data.setRecordNum(rs.getInt("record_num"));
|
data.setTestTimelong(rs.getInt("test_timelong"));
|
data.setOnlineVol(rs.getFloat("online_vol"));
|
data.setGroupVol(rs.getFloat("group_vol"));
|
data.setTestCurr(rs.getFloat("test_curr"));
|
data.setTestCap(rs.getFloat("test_cap"));
|
data.setMonNum(rs.getInt("mon_num"));
|
data.setMonVol(rs.getFloat("mon_vol"));
|
data.setMonTmp(rs.getFloat("mon_tmp"));
|
list.add(data);
|
}
|
return list;
|
}
|
});
|
return list.stream().findFirst().orElse((BattTestInfData) ActionUtil.objeNull);
|
}
|
}
|