package com.qmth.themis.business.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qmth.themis.business.bean.admin.OrgSummaryBean;
import com.qmth.themis.business.entity.TEOrgSummary;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 超管统计表 Mapper 接口
 * </p>
 *
 * @author wangliang
 * @since 2023-10-27
 */
public interface TEOrgSummaryMapper extends BaseMapper<TEOrgSummary> {

    /**
     * 机构统计考试次数和考试人数信息
     *
     * @param orgId
     * @param examIdSet
     * @param all
     * @return
     */
    OrgSummaryBean orgSummary(@Param("orgId") Long orgId, @Param("examIdSet") List<Long> examIdSet, boolean all);

    /**
     * 统计全局考试科次
     *
     * @param examIdSet
     * @return
     */
    Integer orgSummaryByFinishCount(@Param("orgId") Long orgId, @Param("examIdSet") List<Long> examIdSet);

    /**
     * 统计全局考生完成数
     *
     * @param examIdSet
     * @return
     */
    Integer orgSummaryByFinishStudentCount(@Param("orgId") Long orgId, @Param("examIdSet") List<Long> examIdSet);

    /**
     * 保存机构统计信息
     *
     * @param fieldName
     * @param fieldValue
     * @return
     */
    Boolean saveOrgSummary(@Param("fieldName") String fieldName, @Param("fieldValue") String fieldValue);

    /**
     * 更新机构统计信息
     *
     * @param orgId
     * @param fieldValue
     * @return
     */
    Boolean updateOrgSummary(@Param("orgId") Long orgId, @Param("fieldValue") String fieldValue);

    /**
     * 查询机构统计信息count
     *
     * @param orgId
     * @return
     */
    int selectOrgSummaryCount(@Param("orgId") Long orgId);

    /**
     * 更新全局机构考试完成数量和考生完成数量
     *
     * @param finishStudentCount
     */
    public void updateOrgZeroSummary(@Param("orgId") Long orgId, @Param("finishStudentCount") Integer finishStudentCount);
}
