package incheon.ags.ias.dept.mapper;

import incheon.ags.ias.dept.vo.DeptVO;
import incheon.ags.ias.dept.vo.DeptSearchVO;
import incheon.com.config.annotation.MainDB;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import org.egovframe.rte.psl.dataaccess.util.EgovMap;

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

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

    List<Map<String,Object>> selectDeptList(DeptSearchVO deptSearchVO);
    int selectDeptCnt(DeptSearchVO deptSearchVO);
    DeptVO selectDeptDetail(DeptVO deptVO);
    int insertDept(DeptVO deptVO);
    int updateDept(DeptVO deptVO);
    int deleteDept(DeptVO deptVO);

    int checkDeptCdDuplicate(String deptCd);

    /**
     * 부서 이력 INSERT (변경/삭제 전 스냅샷)
     * @param param deptCd, cngypCd(C/U/D), frstRegId, lastMdfcnId
     */
    void insertDeptHistory(Map<String, Object> param);
}