package incheon.ags.uis.code.mapper;

import incheon.ags.uis.code.vo.CodeGroupVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@org.egovframe.rte.psl.dataaccess.mapper.Mapper @incheon.com.config.annotation.MainDB
public interface CodeGroupMapper {

    /** 코드 그룹 목록 조회 (페이징 포함) */
    List<CodeGroupVO> selectCodeGroupList(CodeGroupVO searchVO);

    /** 코드 그룹 목록 카운트 */
    int selectCodeGroupListCount(CodeGroupVO searchVO);

    /** 그룹코드로 단건 조회 */
    CodeGroupVO selectCodeGroupByCd(@Param("groupCd") String groupCd);

    /** 다음 ID (numeric(5)) 생성: MAX(id)+1 */
    Integer selectNextGroupId();

    /** 그룹 등록 */
    int insertCodeGroup(CodeGroupVO vo);

    /** 그룹 수정 */
    int updateCodeGroup(CodeGroupVO vo);

    /** 그룹 삭제 (groupCd 기준) */
    int deleteCodeGroupByCd(@Param("groupCd") String groupCd);
}
