package kr.itn.itnhub.dashboard;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface DashboardMapper {

    /**
     * 기관 전체를 연번순으로, 권리확인/권리처리 집계와 단계·최근변동 시각까지 붙여 한 번에 읽는다.
     *
     * @param doneStatus 권리처리 완료로 셀 상태값. 코드표에서 와야 하는데 SQL이 코드표를
     *                   참조할 방법이 없어 서비스가 읽어 넘긴다.
     */
    List<DashboardOrgRow> findOrgRows(@Param("doneStatus") String doneStatus);

    List<DistributionItem> reviewResultDistribution();
    List<DistributionItem> reviewSourceKoglDistribution();
    List<DistributionItem> reviewJudgedKoglDistribution();
    List<DistributionItem> processTypeDistribution();
    List<DistributionItem> processStatusDistribution();
    int countChangedKoglTypes();
}
