From a9df6151d30ea1e2053d168496763dd8f0b27a45 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期一, 23 六月 2025 09:57:00 +0800
Subject: [PATCH] 实时页面系统概论推送指定时间到当前的数据

---
 src/main/java/com/whyc/service/SubTablePageInfoService.java |   71 ++++++++++++++++++++++++++++++-----
 1 files changed, 61 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/whyc/service/SubTablePageInfoService.java b/src/main/java/com/whyc/service/SubTablePageInfoService.java
index 23f6ad1..839845b 100644
--- a/src/main/java/com/whyc/service/SubTablePageInfoService.java
+++ b/src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -593,13 +593,13 @@
         return list;
     }
     //绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍏ョ粺璁�
-    public List<PwrHisRealAcInDto> getHalfHourPwrHisAcinData(String tableName,Integer granularity,Date recordDatetime,Date recordDatetime1) {
+    public List<PwrHisRealAcInDto> getHalfHourPwrHisAcinData(String tableName,Integer granularity,Date recordDatetime,Date recordDatetime1,Integer maxRecordNum,Integer minRecordNum) {
         String sql=" select  distinct record_datetime,acin1_vola,acin1_volb,acin1_volc,acin2_vola,acin2_volb,acin2_volc " +
                 " ,acin1_curra,acin1_currb,acin1_currc,acin2_curra,acin2_currb,acin2_currc  " +
                 " from "+tableName+" where record_datetime>='"+ActionUtil.sdf.format(recordDatetime)+"'" +
                 "                    and record_datetime<='"+ActionUtil.sdf.format(recordDatetime1)+
-                "' and record_num%"+granularity+"=0 or record_num=1 or record_num=100 ";
-        sql+=" order by record_datetime asc";
+                "' and (record_num-"+minRecordNum+")%"+granularity+"=0  or record_num="+minRecordNum+" or record_num="+maxRecordNum;
+        sql+="  order by record_datetime asc";
         List<PwrHisRealAcInDto> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
             @Override
             public List getResults(ResultSet rs) throws SQLException {
@@ -627,11 +627,11 @@
         return list;
     }
 
-    public List<PwrHisRealDcoutInDto> getHalfHourPwrHisDcoutData(String tableName,Integer granularity,Date recordDatetime,Date recordDatetime1) {
+    public List<PwrHisRealDcoutInDto> getHalfHourPwrHisDcoutData(String tableName,Integer granularity,Date recordDatetime,Date recordDatetime1,Integer maxRecordNum,Integer minRecordNum) {
         String sql="select  distinct * " +
                 " from "+tableName+" where record_datetime>='"+ActionUtil.sdf.format(recordDatetime)+"'" +
                 "                    and record_datetime<='"+ActionUtil.sdf.format(recordDatetime1)+
-                "' and record_num%"+granularity+"=0 or record_num=1 or record_num=100 ";
+                "' and (record_num-"+minRecordNum+")%"+granularity+"=0 or record_num="+minRecordNum+" or record_num="+maxRecordNum;
         sql+=" order by record_datetime asc";
         List<PwrHisRealDcoutInDto> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
             @Override
@@ -796,6 +796,36 @@
         });
         return list;
     }
+
+    //绯荤粺姒傝鑾峰彇鍓峃绗旀牳瀹硅澶囦俊鎭�
+    public List<RealDateDTO> getBattDevData100(String tableName, Integer granularity, Date recordDatetime, Date recordDatetime1,Integer maxRecordNum,Integer minRecordNum) {
+        String sql=" select record_time, group_vol, online_vol,group_curr, mon_vol, mon_tmp, mon_res, mon_num,record_num  " +
+                "               from "+tableName+" " +
+                "               where record_time >= '"+ThreadLocalUtil.format(recordDatetime,1)+"' " +
+                "               and record_time <= '"+ThreadLocalUtil.format(recordDatetime1,1)+"' "+
+                "               and (record_num-"+minRecordNum+")%"+granularity+"=0 or record_num="+minRecordNum+" or record_num="+maxRecordNum ;
+        List<RealDateDTO> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
+            @Override
+            public List getResults(ResultSet rs) throws SQLException {
+                List<RealDateDTO> list=new ArrayList<>();
+                while (rs.next()){
+                    RealDateDTO ph=new RealDateDTO();
+                    ph.setRecordTime(rs.getTimestamp("record_time"));
+                    ph.setGroupVol(rs.getFloat("group_vol"));
+                    ph.setOnlineVol(rs.getFloat("online_vol"));
+                    ph.setGroupCurr(rs.getFloat("group_curr"));
+                    ph.setMonVol(rs.getFloat("mon_vol"));
+                    ph.setMonTmp(rs.getFloat("mon_tmp"));
+                    ph.setMonRes(rs.getFloat("mon_res"));
+                    ph.setMonNum(rs.getInt("mon_num"));
+                    ph.setRecordNum(rs.getInt("record_num"));
+                    list.add(ph);
+                }
+                return list;
+            }
+        });
+        return list;
+    }
     //鐢垫睜鏁版嵁鍘嗗彶瀹炴椂澶勭悊(棰勮鍒嗘瀽)
     public List<ResAnalysis> getBattHisRealInAlm(BattRealdataId realdata, Map<String,Object> battMap) {
         String result = String.join(",", battMap.keySet());
@@ -893,12 +923,12 @@
         });
         return list;
     }
-    //鑾峰彇鎸囧畾鏃堕棿娈靛唴鏈�澶ф渶灏弐ecordNum纭繚鏁版嵁鐨勫畬鏁�
-    public List getMaxAndMinRecordNum(BattRealdataId realdata) {
+    //鑾峰彇鐢垫睜缁勬寚瀹氭椂闂存鍐呮渶澶ф渶灏弐ecordNum纭繚鏁版嵁鐨勫畬鏁�
+    public List getBattMaxAndMinRecordNum(String tableName,  Date recordDatetime, Date recordDatetime1) {
         String sql="select max(record_num) as maxRecordNum,min(record_num) as minRecordNum " +
-                " from db_data_history.tb_batt_realdata_" + realdata.getTableName()+" " +
-                " where record_time >= '"+ThreadLocalUtil.format(realdata.getRecordTime(),1)+"' " +
-                " and record_time <= '"+ThreadLocalUtil.format(realdata.getRecordTime1(),1)+"'  " +
+                " from " + tableName+" " +
+                " where record_time >= '"+ThreadLocalUtil.format(recordDatetime,1)+"' " +
+                " and record_time <= '"+ThreadLocalUtil.format(recordDatetime1,1)+"'  " +
                 " limit 1";
         List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
             @Override
@@ -912,6 +942,26 @@
             }
            });
          return list;
+    }
+    //鑾峰彇鐢垫簮鎸囧畾鏃堕棿娈靛唴鏈�澶ф渶灏弐ecordNum纭繚鏁版嵁鐨勫畬鏁�
+    public List getPwrMaxAndMinRecordNum(String tableName,  Date recordDatetime, Date recordDatetime1) {
+        String sql="select max(record_num) as maxRecordNum,min(record_num) as minRecordNum " +
+                " from " + tableName+" " +
+                " where record_datetime >= '"+ThreadLocalUtil.format(recordDatetime,1)+"' " +
+                " and record_datetime <= '"+ThreadLocalUtil.format(recordDatetime1,1)+"'  " +
+                " limit 1";
+        List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
+            @Override
+            public List getResults(ResultSet rs) throws SQLException {
+                List list = new ArrayList<>();
+                while (rs.next()) {
+                    list.add(rs.getInt("maxRecordNum"));
+                    list.add(rs.getInt("minRecordNum"));
+                }
+                return list;
+            }
+        });
+        return list;
     }
     //1.2.7浼樿壇鐢垫簮缁熻涓婁竴瀛e害鐨勭數婧愭煇涓�灞炴�у拰鍙傛暟闃堝�艰秴杩囩殑娆℃暟
     public List<PwrdevHistorydataId> getPwrQuarter7(String tableName,List<String> propertyNameList) {
@@ -982,4 +1032,5 @@
         });
         return list;
     }
+
 }

--
Gitblit v1.9.1