package incheon.ags.dss.facility.service;

import java.util.List;
import java.util.Map;
import incheon.ags.dss.facility.vo.SafetyInspectionVO;

/**
 * 외부 연동: 안전진단 이력(20p) 기능 대표 서비스 (R-Only)
 */
public interface FacHistoryService {

    /**
     * 안전진단 '연도 목록' 조회 (1.1 드롭다운용)
     * @param searchVO (searchKeyword=bldgPk)
     * @return List<String> (예: ["2024", "2022", "2020"])
     */
    List<String> selectSafetyInspectionYearList(SafetyInspectionVO searchVO) throws Exception;

    /**
     * '특정 연도'의 안전진단 '상세' 정보 조회 (1.2)
     * @param searchVO (searchKeyword=bldgPk, searchCondition=year)
     * @return SafetyInspectionVO (단일 안전진단 상세 정보)
     */
    SafetyInspectionVO selectSafetyInspectionDetail(SafetyInspectionVO searchVO) throws Exception;

    /**
     * BLCM(건축물대장) 안전진단 이력 페이지 호출을 위한 파라미터 조회
     * @param pnu 지번 PNU
     */
    List<Map<String, Object>> selectBlcmHistTargetListByPnu(String pnu) throws Exception;

    /**
     * BLCM(건축물대장) 안전진단 이력 페이지 호출을 위한 파라미터 조회
     * @param longitude 경도(EPSG:4326)
     * @param latitude 위도(EPSG:4326)
     */
    List<Map<String, Object>> selectBlcmHistTargetListByCoord(double longitude, double latitude) throws Exception;
}