package incheon.ags.dss.report.service;

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

import incheon.ags.dss.report.vo.SimRptpItemVO;
import incheon.ags.dss.report.vo.SimRptpMstVO;

public interface SimRptpService {
    /** 보고서 목록 조회 */
    List<SimRptpMstVO> selectSimRptpList(SimRptpMstVO vo) throws Exception;

    /** 보고서 목록 개수 조회 */
    int selectSimRptpListCnt(SimRptpMstVO vo) throws Exception;

    /** * 보고서 상세 조회 
     * (통계, 진단, 시설, 녹지, 지하 데이터 조립 포함) 
     */
    SimRptpMstVO selectSimRptpDetail(SimRptpMstVO vo) throws Exception;

    /** * 신규 보고서 생성 (Mst + Dtl 저장) 
     */
    String insertSimRptp(SimRptpMstVO vo) throws Exception;

    /** 보고서 삭제 */
    int deleteSimRptp(SimRptpMstVO vo) throws Exception;

    /** 최근 생성된 보고서 목록 (Impl에 있었음) */
    List<SimRptpMstVO> selectSimRptpRecentList(SimRptpMstVO vo) throws Exception;

    /** * [신규] 보고서 생성 팝업용 후보군 데이터 조회 
     * (통계, 진단, 시설, 녹지, 지하 목록)
     */
    Map<String, Object> selectReportCandidates(SimRptpMstVO searchVO) throws Exception;
}