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