package com.whyc.service; import com.whyc.dto.DevA200AlarmDto; import com.whyc.mapper.CallBack; import com.whyc.pojo.db_alarm.BattAlarmHistory; import com.whyc.pojo.db_alarm.DevLithiumAlarmDataYear; import com.whyc.pojo.db_dis_batt.BattTestInfData; import com.whyc.pojo.db_power_alarm.PowerAlarmHistory; import com.whyc.pojo.db_power_history.BattRealTimeDataHistory; import com.whyc.pojo.db_power_history.BattStationTempHistory; import com.whyc.pojo.db_power_history.PowerRealTimeDataHistory; 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 getByBattGroupIdAndTestRecordCount(int battGroupId, int testRecordCount) { String sql="select * from db_dis_batt.batt_test_inf_"+battGroupId+" " + " where binf_id="+battGroupId+" " + " and test_record_count="+testRecordCount+ " order by test_starttime asc "; List 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 1=1" ; if (battAlarmHistory.getAlmLevel()!=null){ sql+=" and history.alm_level="+ battAlarmHistory.getAlmLevel(); } 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 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 getBattHisList(BattAlarmHistory battAlarmHistory) { String sql="SELECT history.*,power_inf.power_name,power_inf.binf_name as battGroupName FROM db_alarm."+ battAlarmHistory.getRecordYear()+" history,db_batt.power_inf where history.binf_id=power_inf.binf_id "; if(battAlarmHistory.getAlmLevel()!=null){ sql+=" and history.alm_level="+ battAlarmHistory.getAlmLevel(); } 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 desc limit "+ battAlarmHistory.getLimitStart()+","+ battAlarmHistory.getLimitEnd()+" "; List 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.setBattGroupId(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")); data.setAlmConfirm(rs.getInt("alm_confirm")); data.setAlmConfirmTime(rs.getTimestamp("alm_confirm_time")); data.setAlmType(rs.getInt("alm_type")); data.setPowerName(rs.getString("power_name")); data.setBattGroupName(rs.getString("battGroupName")); list.add(data); } return list; } }); return list; } public int getBattStationTempHisCount(BattStationTempHistory tempHistory) { String sql="select count(id) as number from db_power_history."+tempHistory.getRecordYearMonth()+" where 1=1 "; if(tempHistory.getStartTime()!=null){ sql+=" and record_time >='"+ ThreadLocalUtil.format(tempHistory.getStartTime(),1)+"' "; } if(tempHistory.getEndTime()!=null){ sql+=" and record_time <='"+ThreadLocalUtil.format(tempHistory.getEndTime(),1)+"' "; } List list = sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { LinkedList 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 getBattStationTempHisList(BattStationTempHistory tempHistory) { String sql="select * from db_power_history."+tempHistory.getRecordYearMonth()+" where 1=1 "; if(tempHistory.getStartTime()!=null){ sql+=" and record_time >='"+ ThreadLocalUtil.format(tempHistory.getStartTime(),1)+"' "; } if(tempHistory.getEndTime()!=null){ sql+=" and record_time <='"+ThreadLocalUtil.format(tempHistory.getEndTime(),1)+"' "; } sql+=" ORDER BY record_time desc limit "+ tempHistory.getLimitStart()+","+ tempHistory.getLimitEnd()+" "; List list=sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { List list=new ArrayList(); while (rs.next()){ BattStationTempHistory data=new BattStationTempHistory(); data.setId(rs.getInt("id")); data.setBattGroupId(rs.getInt("batt_group_id")); data.setStationId(rs.getInt("station_id")); data.setCameraId(rs.getString("camera_id")); data.setPixelX(rs.getInt("pixel_x")); data.setPixelY(rs.getInt("pixel_y")); data.setMinTemp(rs.getFloat("min_temp")); data.setMaxTemp(rs.getFloat("max_temp")); data.setMinTempPoint(rs.getString("min_temp_point")); data.setMaxTempPoint(rs.getString("max_temp_point")); data.setRecordTime(rs.getTimestamp("record_time")); list.add(data); } return list; } }); return list; } public int getBattRealTimeDataHisCount(BattRealTimeDataHistory tempHistory) { String sql="select count(1) as number from db_power_history."+tempHistory.getRecordYearMonth()+" where 1=1 "; if(tempHistory.getStartTime()!=null){ sql+=" and record_time >='"+ ThreadLocalUtil.format(tempHistory.getStartTime(),1)+"' "; } if(tempHistory.getEndTime()!=null){ sql+=" and record_time <='"+ThreadLocalUtil.format(tempHistory.getEndTime(),1)+"' "; } List list = sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { LinkedList 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 int getPowerRealTimeDataHisCount(PowerRealTimeDataHistory tempHistory) { String sql="select count(1) as number from db_power_history."+tempHistory.getRecordYearMonth()+" where 1=1 "; if(tempHistory.getStartTime()!=null){ sql+=" and record_time >='"+ ThreadLocalUtil.format(tempHistory.getStartTime(),1)+"' "; } if(tempHistory.getEndTime()!=null){ sql+=" and record_time <='"+ThreadLocalUtil.format(tempHistory.getEndTime(),1)+"' "; } List list = sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { LinkedList 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 getBattRealTimeDataHisList(BattRealTimeDataHistory tempHistory) { String sql="select * from db_power_history."+tempHistory.getRecordYearMonth()+" where 1=1 "; if(tempHistory.getStartTime()!=null){ sql+=" and record_time >='"+ ThreadLocalUtil.format(tempHistory.getStartTime(),1)+"' "; } if(tempHistory.getEndTime()!=null){ sql+=" and record_time <='"+ThreadLocalUtil.format(tempHistory.getEndTime(),1)+"' "; } sql+=" ORDER BY record_time desc limit "+ tempHistory.getLimitStart()+","+ tempHistory.getLimitEnd()+" "; List list=sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { List list=new ArrayList(); while (rs.next()){ BattRealTimeDataHistory data=new BattRealTimeDataHistory(); data.setBattGroupId(rs.getInt("binf_id")); data.setRecordTime(rs.getTimestamp("record_time")); data.setOnlineVol(rs.getFloat("online_vol")); data.setGroupVol(rs.getFloat("group_vol")); data.setGroupTmp(rs.getFloat("group_tmp")); data.setGroupCurr(rs.getFloat("group_curr")); data.setBattState(rs.getInt("batt_state")); data.setTestStartTime(rs.getTimestamp("test_start_time")); data.setBattTestType(rs.getFloat("batt_test_type")); data.setBattTestLong(rs.getInt("batt_test_tlong")); data.setBattTestCap(rs.getFloat("batt_test_cap")); data.setBattRealCap(rs.getFloat("batt_real_cap")); data.setMonNum(rs.getInt("mon_num")); data.setMonVol(rs.getFloat("mon_vol")); data.setMonTmp(rs.getFloat("mon_tmp")); data.setMonRes(rs.getFloat("mon_res")); data.setMonSer(rs.getFloat("mon_ser")); data.setMonConnRes(rs.getFloat("mon_conn_res")); list.add(data); } return list; } }); return list; } public List getPowerRealTimeDataHisList(PowerRealTimeDataHistory tempHistory) { String sql="select * from db_power_history."+tempHistory.getRecordYearMonth()+" where 1=1 "; if(tempHistory.getStartTime()!=null){ sql+=" and record_time >='"+ ThreadLocalUtil.format(tempHistory.getStartTime(),1)+"' "; } if(tempHistory.getEndTime()!=null){ sql+=" and record_time <='"+ThreadLocalUtil.format(tempHistory.getEndTime(),1)+"' "; } sql+=" ORDER BY record_time desc limit "+ tempHistory.getLimitStart()+","+ tempHistory.getLimitEnd()+" "; List list=sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { List list=new ArrayList(); while (rs.next()){ PowerRealTimeDataHistory data=new PowerRealTimeDataHistory(); data.setPowerId(rs.getInt("power_id")); data.setDevType(rs.getInt("dev_type")); data.setRecordTime(rs.getTimestamp("record_time")); data.setCharOutVol(rs.getFloat("char_out_vol")); data.setCharOutCurr(rs.getFloat("char_out_curr")); data.setGroupVol(rs.getFloat("group_vol")); data.setGroupCurr(rs.getFloat("group_curr")); data.setGroupTmp(rs.getFloat("group_tmp")); data.setBusVol(rs.getFloat("bus_vol")); data.setAc1VolA(rs.getFloat("ac1_vola")); data.setAc1VolB(rs.getFloat("ac1_volb")); data.setAc1VolC(rs.getFloat("ac1_volc")); data.setAc2VolA(rs.getFloat("ac2_vola")); data.setAc2VolB(rs.getFloat("ac2_volb")); data.setAc2VolC(rs.getFloat("ac2_volc")); data.setBusVolPositive(rs.getFloat("bus_vol_positive")); data.setBusVolNegative(rs.getFloat("bus_vol_negative")); data.setBusResPositive(rs.getFloat("bus_res_positive")); data.setBusResNegative(rs.getFloat("bus_res_negative")); data.setCharJunFloat(rs.getInt("char_jun_float")); data.setCharOpenClose(rs.getInt("char_open_close")); data.setCharModelError(rs.getInt("char_model_error")); data.setCharOutOverVol(rs.getInt("char_out_overvol")); data.setCharOutLessVol(rs.getInt("char_out_lessvol")); data.setBattOverVol(rs.getInt("batt_overvol")); data.setBattLessVol(rs.getInt("batt_lessvol")); data.setBattMonOverVol(rs.getInt("batt_mon_overvol")); data.setBattMonLessVol(rs.getInt("batt_mon_lessvol")); data.setBattState(rs.getInt("batt_state")); data.setControlBusOverVol(rs.getInt("control_bus_overvol")); data.setControlBusLessVol(rs.getInt("control_bus_lessvol")); data.setInsualBusVolError(rs.getInt("insual_bus_vol_error")); data.setControlBusPositiveError(rs.getInt("control_bus_positive_error")); data.setControlBusNegativeError(rs.getInt("control_bus_negative_error")); data.setInsualBusAcVolOverVol(rs.getInt("insual_bus_acvol_overvol")); data.setBattPatrolDetectorError(rs.getInt("batt_patrol_detector_error")); data.setInsualError(rs.getInt("insual_error")); data.setAcIn1Qf11(rs.getInt("acin1_qf11")); data.setAcIn1Qf12(rs.getInt("acin1_qf12")); data.setCharOutBusDk11(rs.getInt("char_out_bus_dk11")); data.setCharOutBattDk12(rs.getInt("char_out_batt_dk12")); data.setBattOutQf1(rs.getInt("batt_out_qf1")); data.setBusSwitchN1lzk(rs.getInt("bus_switch_n1lzk")); data.setAc1Fault(rs.getInt("ac1_fault")); data.setAc2Fault(rs.getInt("ac2_fault")); data.setMainSwitchFault(rs.getInt("main_switch_fault")); data.setFeederTripFault(rs.getInt("feeder_trip_fault")); data.setThunderFault(rs.getInt("thunder_fault")); data.setFeedersCommFault(rs.getInt("feeders_comm_fault")); data.setDcFeeder7To9Switch1(rs.getInt("dc_feeder7to9_switch1")); data.setDcFeeder7Switch(rs.getInt("dc_feeder7_switch")); data.setDcFeeder7Bus1Zk11(rs.getInt("dc_feeder7_bus1_zk11")); data.setDcFeeder7Bus2Zk12(rs.getInt("dc_feeder7_bus2_zk12")); data.setDcFeeder8Switch(rs.getInt("dc_feeder8_switch")); data.setDcFeeder8Bus1Zk11(rs.getInt("dc_feeder8_bus1_zk11")); data.setDcFeeder8Bus2Zk12(rs.getInt("dc_feeder8_bus2_zk12")); data.setDcFeeder9Switch(rs.getInt("dc_feeder9_switch")); data.setDcFeeder9Bus1Zk11(rs.getInt("dc_feeder9_bus1_zk11")); data.setDcFeeder9Bus2Zk12(rs.getInt("dc_feeder9_bus2_zk12")); data.setAcFeeder7Switch(rs.getInt("ac_feeder7_switch")); data.setAcFeeder7AcIn1Q11(rs.getInt("ac_feeder7_acin1_q11")); data.setAcFeeder7AcIn2Q12(rs.getInt("ac_feeder7_acin2_q12")); data.setAcFeeder7AcIn1Fault(rs.getInt("ac_feeder7_acin1_fault")); data.setAcFeeder7AcIn2Fault(rs.getInt("ac_feeder7_acin2_fault")); data.setAcFeeder9Switch(rs.getInt("ac_feeder9_switch")); data.setAcFeeder9AcIn1Q11(rs.getInt("ac_feeder9_acin1_q11")); data.setAcFeeder9AcIn2Q12(rs.getInt("ac_feeder9_acin2_q12")); data.setAcFeeder9AcIn1Fault(rs.getInt("ac_feeder9_acin1_fault")); data.setAcFeeder9AcIn2Fault(rs.getInt("ac_feeder9_acin2_fault")); data.setInsualCommFault(rs.getInt("insual_comm_fault")); data.setInsualInsualFault(rs.getInt("insual_insual_fault")); data.setInsualMiainCommFault(rs.getInt("insual_miain_comm_fault")); data.setAcIn2Qf21(rs.getInt("acin2_qf21")); data.setAcIn2Qf22(rs.getInt("acin2_qf22")); data.setCharOutBusDk21(rs.getInt("char_out_bus_dk21")); data.setCharOutBattDk22(rs.getInt("char_out_batt_dk22")); data.setDcFeeder7Bus1Zk21(rs.getInt("dc_feeder7_bus1_zk21")); data.setDcFeeder7Bus2Zk22(rs.getInt("dc_feeder7_bus2_zk22")); data.setDcFeeder8Bus1Zk21(rs.getInt("dc_feeder8_bus1_zk21")); data.setDcFeeder8Bus2Zk22(rs.getInt("dc_feeder8_bus2_zk22")); data.setDcFeeder9Bus1Zk21(rs.getInt("dc_feeder9_bus1_zk21")); data.setDcFeeder9Bus2Zk22(rs.getInt("dc_feeder9_bus2_zk22")); data.setAcFeeder8Switch(rs.getInt("ac_feeder8_switch")); data.setAcFeeder8AcIn1Q11(rs.getInt("ac_feeder8_acin1_q11")); data.setAcFeeder8AcIn2Q12(rs.getInt("ac_feeder8_acin2_q12")); data.setAcFeeder8AcIn1Fault(rs.getInt("ac_feeder8_acin1_fault")); data.setAcFeeder8AcIn2Fault(rs.getInt("ac_feeder8_acin2_fault")); data.setAcIn3Qf31(rs.getInt("acin3_qf31")); data.setAcIn3Qf32(rs.getInt("acin3_qf32")); data.setCharOutBatt1Dk31(rs.getInt("char_out_batt1_dk31")); data.setCharOutBatt2Dk31(rs.getInt("char_out_batt2_dk31")); 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 1=1"; if(powerAlarmHistory.getAlmLevel()!=null){ sql+= " and history.alm_level="+ powerAlarmHistory.getAlmLevel(); } 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 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 getPowerHisList(PowerAlarmHistory powerAlarmHistory) { String sql="SELECT history.*,power_inf.power_name FROM db_power_alarm."+ powerAlarmHistory.getRecordYear()+" history,db_batt.power_inf where history.power_id = power_inf.power_id "; if(powerAlarmHistory.getAlmLevel()!=null){ sql+= " and history.alm_level="+ powerAlarmHistory.getAlmLevel(); } 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 desc limit "+ powerAlarmHistory.getLimitStart()+","+ powerAlarmHistory.getLimitEnd()+" "; List 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")); data.setPowerName(rs.getString("power_name")); 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 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); } //查询DevAlm历史告警数量 public int getCountForDevAlm(DevA200AlarmDto dto) { String sql="select count(distinct num) as number from db_alarm." +dto.getTableName() +" where 1=1 "; if(dto.getStartTime()!=null){ sql+=" and alm_starttime >='"+ ThreadLocalUtil.format(dto.getStartTime(),1)+"' "; } if(dto.getEndTime()!=null){ sql+=" and alm_endtime <='"+ThreadLocalUtil.format(dto.getEndTime(),1)+"' "; } if(dto.getDevType()!=null){ sql+=" and FLOOR(dev_id/100000000)="+dto.getDevType(); } if(dto.getDevId()!=null){ sql+=" and dev_id="+dto.getDevId(); } if(dto.getAlmId()!=null){ sql+=" and alm_id="+dto.getAlmId(); } sql+=" and dev_id in (" + " SELECT distinct dev_id from db_user.tb_battgroup_baojigroup,db_user.tb_battgroup_usr" + " where tb_battgroup_baojigroup.baoji_group_id=tb_battgroup_usr.baoji_group_id" + " and uid="+dto.getUid()+ ")"; sql+=" order by alm_starttime desc "; List list = sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { LinkedList 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; } //查询devalm历史告警 public List getListDevAlm(DevA200AlarmDto dto){ String sql="select * from db_alarm." +dto.getTableName() +" where 1=1 "; if(dto.getStartTime()!=null){ sql+=" and alm_starttime >='"+ ThreadLocalUtil.format(dto.getStartTime(),1)+"' "; } if(dto.getEndTime()!=null){ sql+=" and alm_endtime <='"+ThreadLocalUtil.format(dto.getEndTime(),1)+"' "; } if(dto.getDevType()!=null){ sql+=" and FLOOR(dev_id/100000000)="+dto.getDevType(); } if(dto.getDevId()!=null){ sql+=" and dev_id="+dto.getDevId(); } if(dto.getAlmId()!=null){ sql+=" and alm_id="+dto.getAlmId(); } sql+=" and dev_id in (" + " SELECT distinct dev_id from db_user.tb_battgroup_baojigroup,db_user.tb_battgroup_usr" + " where tb_battgroup_baojigroup.baoji_group_id=tb_battgroup_usr.baoji_group_id" + " and uid="+dto.getUid()+ ")"; sql+=" ORDER BY alm_starttime desc limit "+dto.getLimitStart()+","+dto.getLimitEnd()+" "; List list = sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { List list=new ArrayList<>(); while (rs.next()){ DevLithiumAlarmDataYear dataYear=new DevLithiumAlarmDataYear(); dataYear.setNum(rs.getInt("num")); dataYear.setDevId(rs.getInt("dev_id")); dataYear.setAlmId(rs.getInt("alm_id")); dataYear.setAlmSignalId(rs.getInt("alm_signal_id")); dataYear.setAlmStarttime(rs.getTimestamp("alm_starttime")); dataYear.setAlmValue(rs.getFloat("alm_value")); dataYear.setAlmIsConfirmed(rs.getInt("alm_is_confirmed")); dataYear.setConfirmedUid(rs.getInt("confirmed_uid")); dataYear.setConfirmedTime(rs.getTimestamp("confirmed_time")); dataYear.setAlmEndtime(rs.getTimestamp("alm_endtime")); dataYear.setAlmClearedType(rs.getInt("alm_cleared_type")); list.add(dataYear); } return list; } }); return list; } }