package incheon.ags.ias.dataHoprReg.mapper;

import incheon.ags.ias.dept.vo.DeptVO;
import incheon.com.config.annotation.MainDB;
import org.apache.ibatis.annotations.Param;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

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

/**
 * 부서 동기화 Mapper
 */
@Mapper
@MainDB
public interface DeptSyncMapper {

    List<DeptVO> selectAllDepts();

    DeptVO selectDeptByCd(@Param("deptCd") String deptCd);

    /**
     * 부서 정보 조회 (대표기관, 도로관리기관, 시설관리기관)
     */
    Map<String, Object> selectDeptInfo(@Param("deptCd") String deptCd);

    int insertDept(DeptVO deptVO);

    int updateDept(DeptVO deptVO);

    int updateDeptSyncFields(DeptVO deptVO);

    int deleteDept(@Param("deptCd") String deptCd);

    void insertDeptHistory(Map<String, Object> param);

    List<Map<String, Object>> selectDeptHstryList(Map<String, Object> param);

    int selectDeptHstryCnt(Map<String, Object> param);

    Map<String, Object> selectDeptHstryDetail(@Param("deptHstrySn") Long deptHstrySn);
}
