package incheon.ags.uis.dept.mapper;

import incheon.ags.uis.dept.vo.DeptMappingVO;
import org.apache.ibatis.annotations.Param;
import org.egovframe.rte.psl.dataaccess.util.EgovMap;

import java.util.List;

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

    /** 부서 매핑 목록 조회 (페이징 포함) */
    List<DeptMappingVO> selectDeptMappingList(DeptMappingVO searchVO);

    /** 부서 매핑 목록 카운트 */
    int selectDeptMappingListCount(DeptMappingVO searchVO);

    /** 관리기관 목록 조회 */
    List<EgovMap> selectMngtList();

    /** 부서 매핑 상세 조회 */
    DeptMappingVO selectDeptMappingDetail(DeptMappingVO searchVO);

    /** 부서 조회 (매핑 여부 포함) */
    List<EgovMap> selectDeptListForMapping(DeptMappingVO searchVO);

    /** 부서 조회 카운트 */
    int selectDeptListForMappingCount(DeptMappingVO searchVO);

    /** 부서 매핑 등록 */
    void insertDeptMapping(DeptMappingVO deptMappingVO);

    /** 부서 매핑 수정 */
    void updateDeptMapping(DeptMappingVO deptMappingVO);

    /** 부서 매핑 삭제 (논리 삭제 - use_yn을 'N'으로 변경) */
    void deleteDeptMapping(DeptMappingVO deptMappingVO);
}