package incheon.ags.ias.tmap.mapper;

import incheon.ags.ias.tmap.vo.TmapSearchVO;
import incheon.ags.ias.tmap.vo.TmapVO;
import incheon.com.config.annotation.MainDB;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

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

/**
 * 주제도 관리 Mapper
 * 테이블: iccom.TMAP
 */
@Mapper
@MainDB
public interface TmapMapper {

    /**
     * 주제도 목록 조회 (페이징)
     * @param searchVO 검색 조건 및 페이징 정보
     * @return 주제도 목록
     */
    List<Map<String, Object>> selectTmapList(TmapSearchVO searchVO);

    /**
     * 주제도 총 개수 조회 (검색 조건 적용)
     * @param searchVO 검색 조건
     * @return 전체 주제도 수
     */
    int selectTmapListCnt(TmapSearchVO searchVO);

    /**
     * 주제도 상세 조회
     * @param tmapSn 주제도일련번호
     * @return 주제도 상세 정보
     */
    TmapVO selectTmapDetail(Long tmapSn);

    /**
     * 주제도 등록
     * @param tmapVO 주제도 정보
     * @return 등록 건수
     */
    int insertTmap(TmapVO tmapVO);

    /**
     * 주제도 수정
     * @param tmapVO 주제도 정보
     * @return 수정 건수
     */
    int updateTmap(TmapVO tmapVO);

    /**
     * 주제도 삭제
     * @param tmapSn 주제도일련번호
     * @return 삭제 건수
     */
    int deleteTmap(Long tmapSn);
}
