package com.ym.mec.biz.service;

import com.ym.mec.biz.dal.dto.EduOrganStudentDataDto;
import com.ym.mec.biz.dal.dto.IndexBaseDto;
import com.ym.mec.biz.dal.dto.IndexErrorDataExportDto;
import com.ym.mec.biz.dal.entity.IndexBaseMonthData;
import com.ym.mec.biz.dal.entity.IndexErrInfoDto;
import com.ym.mec.biz.dal.enums.IndexDataType;
import com.ym.mec.biz.dal.enums.IndexErrorType;
import com.ym.mec.biz.dal.page.IndexDataQueryInfo;
import com.ym.mec.biz.dal.page.OrganCloudStudyStudentDataQueryInfo;
import com.ym.mec.common.page.PageInfo;
import com.ym.mec.common.service.BaseService;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface IndexBaseMonthDataService extends BaseService<Long, IndexBaseMonthData> {

    List<IndexBaseDto> getIndexBaseData(IndexDataQueryInfo indexDataQueryInfo);

    void indexBaseDataTask(Integer tenantId, String month, Set<IndexDataType> dataTypes);

    Map<String, Object> getIndexErrData(String organId, IndexErrorType errorType);

    List<IndexErrorDataExportDto> exportIndexErrData(String organIds, IndexErrorType errorType);

    /**
     * 事项提醒
     * @param organId
     * @return
     */
    List<IndexErrInfoDto> getRemindMatterData(String organId);

    /**
     * 是否有提醒事项
     * @param organId
     * @return
     */
    Map<String,Boolean> hasIndexErrData(String organId);

    PageInfo<EduOrganStudentDataDto> organStudentOverView(List<Integer> organIds, OrganCloudStudyStudentDataQueryInfo queryInfo);
}
