whycxzp
2025-03-18 f127214ad1076769c9cb4a97963ee3ad5053e970
src/main/java/com/whyc/util/SubTablePageInfoUtil.java
@@ -1,12 +1,18 @@
package com.whyc.util;
import com.github.pagehelper.PageInfo;
import com.whyc.constant.DevAlmEnum;
import com.whyc.dto.DevA200AlarmDto;
import com.whyc.factory.ThreadPoolExecutorFactory;
import com.whyc.mapper.CommonMapper;
import com.whyc.pojo.db_alarm.BattAlarmHistory;
import com.whyc.pojo.db_power_alarm.PowerAlarm;
import com.whyc.pojo.db_alarm.DevLithiumAlarmDataYear;
import com.whyc.pojo.db_lithium_ram_db.DevLithiumInf;
import com.whyc.pojo.db_power_alarm.PowerAlarmHistory;
import com.whyc.pojo.db_user.UserInf;
import com.whyc.service.DevLithiumInfService;
import com.whyc.service.SubTableService;
import com.whyc.service.UserInfService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -17,6 +23,7 @@
import java.util.concurrent.ThreadPoolExecutor;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
 * 数据量极大的表,按照年份分表,分页查询时获取数据
 */
@@ -27,6 +34,12 @@
    @Autowired
    private SubTableService service;
    @Autowired
    private DevLithiumInfService devLithiumInfService;
    @Autowired
    private UserInfService userInfService;
    //按年月分表
    /**按年份表分页查询*/
@@ -64,6 +77,14 @@
                powerAlarmHistory.setAlmEndTime(queryTime.get(1));
                powerAlarmHistory.setRecordYear(tableName);
                int currentCount = service.getPowerHisCount(powerAlarmHistory);
                queryCountMap.put(tableYear, currentCount);
            }
            else if (pojo instanceof DevA200AlarmDto) {
                DevA200AlarmDto dto = (DevA200AlarmDto) pojo;
                dto.setStartTime(queryTime.get(0));
                dto.setEndTime(queryTime.get(1));
                dto.setTableName(tableName);
                int currentCount = service.getCountForDevAlm(dto);
                queryCountMap.put(tableYear, currentCount);
            }
@@ -121,6 +142,30 @@
                List<PowerAlarmHistory> list =  service.getPowerHisList(powerAlarmHistory);
                dataList.addAll(list);
            }
            else if (pojo instanceof DevA200AlarmDto) {
                if(!key.equals("default")){
                    DevA200AlarmDto dto = (DevA200AlarmDto) pojo;
                    dto.setStartTime(queryTime.get(0));
                    dto.setEndTime(queryTime.get(1));
                    List<Integer> limitList = tableAndLimitMap.get(key);
                    dto.setLimitStart(limitList.get(0));
                    dto.setLimitEnd(limitList.get(1));
                    dto.setTableName(recordYear);
                    List<DevLithiumAlarmDataYear> list =  service.getListDevAlm(dto);
                    for (DevLithiumAlarmDataYear year:list) {
                        int devId=year.getDevId();
                        int uid=year.getConfirmedUid();
                        DevLithiumInf dinf=devLithiumInfService.getDinfByDevId(devId);
                        UserInf uinf= userInfService.getUinfByUId(uid);
                        int almId=year.getAlmId();
                        String almName= DevAlmEnum.getValue(almId);
                        year.setAlmName(almName!=null?almName:"");
                        year.setDevInf(dinf);
                        year.setConfirmedUname(uinf!=null?uinf.getUname():"");
                    }
                    dataList.addAll(list);
                }
            }
        }
        pageInfo.setList(dataList);
        return pageInfo;