package incheon.ags.dss.status.service;

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

public interface AnaZoneStatService {
    // 리턴 타입 변경: List -> Map (yearList와 lgdFrmNo를 같이 리턴하기 위함)
    Map<String, Object> runStatusAnalysis(int tareNo) throws Exception;
    
    List<Map<String, Object>> selectBasicStats(int tareNo, String baye) throws Exception;

    List<Map<String, Object>> selectWeightValYearList() throws Exception;
    
//    // 파라미터 추가: cmprYr(비교년도), lgdFrmNo(범례ID)
//    List<Map<String, Object>> calculateAndGetMapStats(int tareNo, String crtrYr, String cmprYr, int lgdFrmNo) throws Exception;

    // Gap 분석
    List<Map<String, Object>> selectGapAnalysis(int tareNo, String baye, String idctId) throws Exception;

    // Gap 분석 (전체)
    List<Map<String, Object>> selectGapAnalysisAll(int tareNo, String baye) throws Exception;

    // [신규] 분석된 연도 목록 조회 (단독 호출용)
    List<Map<String, Object>> selectAnalyzedYearList(int tareNo) throws Exception;
    
	/**
	 * [통합 로직] 지표 분석 및 지도 데이터 생성
	 * 1. 통계 지도 설정 저장 (MST)
	 * 2. 지표값 계산 및 적재 (DTL)
	 * 3. Gap 분석 결과 조회 (SELECT)
	 */
	Map<String, Object> processIndicatorAnalysis(Map<String, Object> params) throws Exception;

    boolean checkStatusCompletion(int tareNo) throws Exception;
}