whyclxw
2024-09-21 12c0bb25a0540d97e7c3348e31c9b25a62495390
src/main/java/com/whyc/util/SubTablePageInfoUtil.java
@@ -2,13 +2,17 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageInfo;
import com.whyc.constant.DevAlmEnum;
import com.whyc.dto.DalmDto;
import com.whyc.factory.ThreadPoolExecutorFactory;
import com.whyc.mapper.CommonMapper;
import com.whyc.mapper.DevInfMapper;
import com.whyc.pojo.db_alarm.DevalarmDataYear;
import com.whyc.pojo.db_lithium_ram_db.DevInf;
import com.whyc.pojo.db_user.UserInf;
import com.whyc.service.DevInfService;
import com.whyc.service.SubTablePageInfoService;
import com.whyc.service.UserInfService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -31,7 +35,10 @@
    private SubTablePageInfoService service;
    @Autowired(required = false)
    private DevInfMapper dinfMapper;
    private DevInfService dinfService;
    @Autowired(required = false)
    private UserInfService uinfService;
    /**按年份表分页查询*/
    public PageInfo<Object> getPageInfo(int pageNum,int pageSize,
@@ -95,26 +102,29 @@
            List<Date> queryTime = queryTimeForSubTables.get(key);
            //====== 根据不同类型类型对象对应调整 ======
            String tableName = key.equals("default") ? tablePrefix : tablePrefix + "_" + key;
           if (pojo instanceof DalmDto) {
                DalmDto dto = (DalmDto) 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(tableName);
                List<DevalarmDataYear> list =  service.getListDevAlm(dto);
               for (DevalarmDataYear year:list) {
                   int devId=year.getDevId();
                   QueryWrapper wrapper=new QueryWrapper();
                   wrapper.eq("dev_id",devId);
                   wrapper.last("limit 1");
                   DevInf dinf=dinfMapper.selectOne(wrapper);
                   year.setDevInf(dinf);
               if(!key.equals("default")){
                   DalmDto dto = (DalmDto) 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(tableName);
                   List<DevalarmDataYear> list =  service.getListDevAlm(dto);
                   for (DevalarmDataYear year:list) {
                       int devId=year.getDevId();
                       int uid=year.getConfirmedUid();
                       DevInf dinf=dinfService.getDinfByDevId(devId);
                       UserInf uinf=uinfService.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);
               }
                dataList.addAll(list);
            }
        }
        pageInfo.setList(dataList);