package com.takensoft.cms.dept.service; import com.takensoft.cms.dept.vo.DeptAuthrtVO; import com.takensoft.cms.dept.vo.DeptMbrVO; import com.takensoft.cms.dept.vo.DeptVO; import com.takensoft.common.HierachyVO; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author takensoft * @since 2024.04.09 * @modification * since | author | description * 2024.04.09 | takensoft | 최초 등록 * 2024.05.10 | 박정하 | updateList, updateChildNode 추가 * 2025.03.14 | 방선주 | 코드 리펙토링 * * 부서 정보 관련 인터페이스 */ public interface DeptService { /** * @param deptVO - 부서 정보 * @return int - 등록 성공 여부 * * 부서 등록 */ HashMap deptSave(DeptVO deptVO); /** * @param deptMbrVO - 부서 사용자 정보 * @return int - 등록 성공 여부 * * 부서 사용자 등록 */ int deptMbrSave(DeptMbrVO deptMbrVO); /************************************** Hierachy 전용 **************************************/ /** * @param * @return List - 최상위 부서 목록 * * 최상위 부서 조회 */ List findByTopNode(); /** * @param id - 상위 부서 ID * @return List - 하위 부서 목록 * * 하위 부서 조회 */ List findChildNode(String id); /************************************** Hierachy 전용 **************************************/ /** * @param params - 부서 정보 * @return Map - 부서 정보 * * 부서 정보 조회 */ Map findByDept(Map params); /** * @param deptVO - 부서 정보 * @return int - 수정 성공 여부 * * 부서 정보 수정 */ int deptUpdate(DeptVO deptVO); /** * @param deptVO - 부서 정보 * @return int - 삭제 성공 여부 * * 부서 정보 삭제 */ int deptDelete(DeptVO deptVO); /** * @param deptMbrList - 부서 사용자 정보 * @return int - 삭제 성공 여부 * * 부서 사용자 삭제 */ int deptMbrDelete(List deptMbrList); /** * @param params - 부서 사용자 정보 * @return Map - 부서에 등록되지 않는 사용자 정보 * * 부서에 등록되지 않는 사용자 조회 */ Map findByMbr(Map params); /** * @param deptList - 부서 목록 * @return int - 수정 성공 여부 * * 부서 목록 수정 */ int updateList(List deptList); /** * @param childList - 하위 부서 목록 * @param upDeptVO - 상위 부서 정보 * @return int - 수정 성공 여부 * * 하위 부서 수정 */ int updateChildNode(List childList, DeptVO upDeptVO); /** * @param authrtCd - 권한 코드 * @return List - 부서 권한 정보 목록 * * 부서 권한 목록 조회 (권한 코드로 조회) */ List findDeptAuthrtByAuthrtCd(String authrtCd); }