From f127214ad1076769c9cb4a97963ee3ad5053e970 Mon Sep 17 00:00:00 2001 From: whycxzp <glperry@163.com> Date: 星期二, 18 三月 2025 10:15:47 +0800 Subject: [PATCH] 锂电设备A200相关代码更新 --- src/main/java/com/whyc/service/SubTableService.java | 99 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 99 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/whyc/service/SubTableService.java b/src/main/java/com/whyc/service/SubTableService.java index 8202027..d446bc7 100644 --- a/src/main/java/com/whyc/service/SubTableService.java +++ b/src/main/java/com/whyc/service/SubTableService.java @@ -1,7 +1,9 @@ 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.util.ActionUtil; @@ -210,4 +212,101 @@ }); 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<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; + } + //鏌ヨ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<DevLithiumAlarmDataYear> 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; + } + } \ No newline at end of file -- Gitblit v1.9.1