package incheon.ags.pss.commission.service;

import incheon.ags.pss.commission.vo.ScAgndMstVO;
import incheon.ags.pss.commission.vo.ScCmtMstVO;
import java.util.List;
import java.util.Map;

public interface CommissionService {

    /**
     * [갱신] 위원회 및 안건 데이터 수집 (크롤링)
     */
    void renewCommissionData() throws Exception;

    /**
     * 위원회 목록 조회
     */
    List<ScCmtMstVO> selectCommitteeList(ScCmtMstVO vo) throws Exception;

    /**
     * 위원회 총 갯수 조회
     */
    int selectCommitteeListCnt(ScCmtMstVO vo) throws Exception;
    
    /**
     * 위원회 단건 조회
     */
    ScCmtMstVO selectCommittee(int cmtId) throws Exception;

    /**
     * 안건 목록 조회
     */
    List<ScAgndMstVO> selectAgendaList(ScAgndMstVO vo) throws Exception;

    /**
     * [수동] 위원회 등록/수정
     */
    void saveManualCommittee(ScCmtMstVO vo) throws Exception;

    /**
     * [수동] 위원회 삭제 (하위 안건 포함)
     */
    void deleteCommittee(int cmtId) throws Exception;

    /**
     * [수동] 안건 등록/수정
     */
    void saveManualAgenda(ScAgndMstVO vo) throws Exception;

    /**
     * [수동] 안건 삭제
     */
    void deleteAgenda(int agndId) throws Exception;
}