package incheon.ags.dss.status.mapper;

import java.util.List;

import incheon.ags.dss.status.vo.AnaIdctDtlVO;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

@Mapper 
@incheon.com.config.annotation.MainDB 
public interface AnaIdctDtlMapper {

    /** 사용자 정의 지표 상세 항목 등록 */
    void insertAnaIdctDtl(AnaIdctDtlVO vo) throws Exception;

    /** 사용자 정의 지표 상세 항목 상세 조회 (복합키) */
    AnaIdctDtlVO selectAnaIdctDtlDetail(AnaIdctDtlVO vo) throws Exception;

    /** 사용자 정의 지표 상세 항목 수정 (복합키) */
    void updateAnaIdctDtl(AnaIdctDtlVO vo) throws Exception;

    /** 사용자 정의 지표 상세 항목 삭제 (복합키) */
    void deleteAnaIdctDtl(AnaIdctDtlVO vo) throws Exception;

    /** 사용자 정의 지표 상세 항목 목록 조회 (부모 ID 기준) */
    List<AnaIdctDtlVO> selectAnaIdctDtlList(AnaIdctDtlVO vo) throws Exception;

    /** 사용자 정의 지표 상세 항목 목록 총 개수 (부모 ID 기준) */
    int selectAnaIdctDtlListCnt(AnaIdctDtlVO vo) throws Exception;
    
    /**
     * 부모(Mst) 키로 자식(Dtl) 레코드 일괄 삭제
     * @param vo (idctId 필수)
     */
    void deleteAnaIdctDtlByMst(AnaIdctDtlVO vo) throws Exception;
}