whyclxw
2025-06-07 0e098bc8867700017407c7954d8e03d9dd1b8cb4
src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -741,23 +741,13 @@
        return tableNum;
    }
    public List<RealDateDTO> serchByCondition2(BattRealdataId realdata, int granularity) {
        String sql=" select record_time, " +
                "               group_vol, " +
                "               online_vol, " +
                "               group_curr, " +
                "               mon_vol, " +
                "               mon_tmp, " +
                "               mon_res, " +
                "               mon_num " +
                "        from (select a.*, (@i:= @i+1) as number " +
                "              from (select * " +
                "                    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)+"' ) a, " +
                "                   (select @i:=0) b) c " +
                "        where c.number%"+granularity+"=0";
    //电池数据历史实时处理
    public List<RealDateDTO> getBattRealDataHis(BattRealdataId realdata, int granularity,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 db_data_history.tb_batt_realdata_"+realdata.getTableName()+" " +
                "               where record_time >= '"+ThreadLocalUtil.format(realdata.getRecordTime(),1)+"' " +
                "               and record_time <= '"+ThreadLocalUtil.format(realdata.getRecordTime1(),1)+"' "+
                "               and (record_num-"+minRecordNum+")%"+granularity+"=0 or record_num="+maxRecordNum+" or record_num="+minRecordNum ;
        List<RealDateDTO> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
            @Override
            public List getResults(ResultSet rs) throws SQLException {
@@ -772,6 +762,7 @@
                    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;
@@ -779,4 +770,24 @@
        });
        return list;
    }
    //获取指定时间段内最大最小recordNum确保数据的完整
    public List getMaxAndMinRecordNum(BattRealdataId realdata) {
        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)+"'  " +
                " 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;
    }
}