whyclxw
2025-05-29 6c13a67934178804ba4845ed821a07145e679a0e
src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -1,14 +1,13 @@
package com.whyc.service;
import com.whyc.dto.AlmHis.BattAlarmRes;
import com.whyc.dto.AlmHis.BattAlmPar;
import com.whyc.dto.AlmHis.DevAlmPar;
import com.whyc.dto.AlmHis.PwrAlmPar;
import com.whyc.dto.Real.QuarterData;
import com.whyc.dto.Real.CompareDto;
import com.whyc.dto.Real.QuarterDto;
import com.whyc.mapper.CallBack;
import com.whyc.pojo.db_alarm.BattalarmDataHistory;
import com.whyc.pojo.db_alarm.DevalarmDataHistory;
import com.whyc.pojo.db_data_history.BattRealdataId;
import com.whyc.pojo.db_pwrdev_alarm.PwrdevAlarmHistory;
import com.whyc.util.ThreadLocalUtil;
import org.springframework.beans.factory.annotation.Autowired;
@@ -468,14 +467,14 @@
        return  list;
    }
    //获取电池组某一年月的数据
    public List<QuarterData> getBattRealHis(String tableName,String columnName) {
    public List<QuarterDto> getBattRealHis(String tableName, String columnName) {
        String sql="select  distinct mon_num,record_time,"+columnName+"  from "+tableName+" order by record_time asc";
        List<QuarterData> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
        List<QuarterDto> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
            @Override
            public List getResults(ResultSet rs) throws SQLException {
                List<QuarterData> list=new ArrayList<>();
                List<QuarterDto> list=new ArrayList<>();
                while (rs.next()){
                    QuarterData data=new QuarterData();
                    QuarterDto data=new QuarterDto();
                    data.setRecordTime(rs.getTimestamp("record_time"));
                    data.setNumValue(rs.getFloat(columnName));
                    data.setMonNum(rs.getInt("mon_num"));
@@ -486,4 +485,27 @@
        });
        return list;
    }
    //获取表中最大,最小,平均数据值
    public CompareDto getBattCompareHis(String tableName, String columnName) {
        String sql="select  max("+columnName+") as maxValue1,min("+columnName+") as minValue,avg("+columnName+") as avgValue"+"  from "+tableName;
        List<CompareDto> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
            @Override
            public List getResults(ResultSet rs) throws SQLException {
                List<CompareDto> list=new ArrayList<>();
                while (rs.next()){
                    CompareDto data=new CompareDto();
                    data.setMaxValue(rs.getFloat("maxValue1"));
                    data.setMinValue(rs.getFloat("minValue"));
                    data.setAvgValue(rs.getFloat("avgValue"));
                    list.add(data);
                }
                return list;
            }
        });
        if(list!=null&&list.size()>0){
            return list.get(0);
        }else {
            return null;
        }
    }
}