
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package com.takensoft.cms.dept.dao;
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 org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import java.util.List;
import java.util.Map;
/**
* @author : takensoft
* @since :2024.04.24
* @modification
* since | author | description
* 2024.04.24 | takensoft | 최초 등록
* 2024.05.10 | 박정하 | deptUpdateByHierachy 추가
* 2025.03.13 | 방선주 | 코드 리펙토링
*
* 부서 정보 관련 DAO
*/
@Mapper("deptDAO")
public interface DeptDAO {
/**
* @param deptVO - 부서 정보 객체
* @return int - 등록 성공 여부
*
* 부서 등록
*/
int save(DeptVO deptVO);
/**
* @param deptAuthrtVO - 부서 권한 정보 객체
* @return int - 등록 성공 여부
*
* 부서 권한 등록
*/
int authrtSave(DeptAuthrtVO deptAuthrtVO);
/**
* @param deptMbrVO - 부서 사용자 정보 객체
* @return int - 등록 성공 여부
*
* 부서 사용자 등록
*/
int deptMbrSave(DeptMbrVO deptMbrVO);
/**
* @param upDeptId - 상위 부서 ID
* @return int - 부서 깊이(레벨)
*
* 부서 깊이(레벨) 조회
*/
int findByDeptGrd(String upDeptId);
/**
* @param upDeptId - 상위 부서 ID
* @return int - 부서 순서
*
* 부서 순서 조회
*/
int findByDeptSn(String upDeptId);
/************************************** Hierachy 전용 **************************************/
/**
* @param
* @return List<HierachyVO> - 부서 정보 목록
*
* 최상위 부서 조회
*/
List<HierachyVO> findByTopNode();
/**
* @param id - 상위 부서 ID
* @return List<HierachyVO> - 하위 부서 목록
*
* 하위 부서 조회
*/
List<HierachyVO> findChildNode(String id);
/************************************** Hierachy 전용 **************************************/
/**
* @param deptId - 부서 ID
* @return DeptVO - 부서 정보 객체
*
* 부서 정보 조회
*/
DeptVO findByDept(String deptId);
/**
* @param deptVO - 부서 정보 객체
* @return int - 수정 성공 여부
*
* 부서 정보 수정
*/
int update(DeptVO deptVO);
/**
* @param deptId - 부서 ID
* @return int - 삭제 성공 여부
*
* 부서 권한 삭제
*/
int deleteAuth(String deptId);
/**
* @param params - 부서 ID, 사용자 ID
* @return int - List<DeptMbrVO> - 부서 사용자 정보 목록
*
* 부서 사용자 등록을 위한 사용자 정보 목록 조회 (부서에 등록되지 않은 사용자 목록)
*/
List<DeptMbrVO> findByMber(Map<String, String> params);
/**
* @param deptId - 부서 ID
* @return int - List<DeptMbrVO>- 부서 사용자 정보 목록
*
* 부서에 등록된 사용자 목록 조회
*/
List<DeptMbrVO> findByDeptMber(String deptId);
/**
* @param deptId - 부서 ID
* @return int - 삭제 성공 여부
*
* 상위,하위 부서 삭제
*/
int deleteDept(String deptId);
/**
* @param deptId - 부서 ID
* @return int - 삭제 성공 여부
*
* 상위, 하위 부서 삭제에 따른 부서의 사용자 삭제
*/
int deleteDeptInDeptMbr(String deptId);
/**
* @param params - 부서 ID, 사용자 ID
* @return int - 삭제 성공 여부
*
* 부서에 등록된 사용자 제거
*/
int deleteDeptMbr(Map<String, Object> params);
/**
* @param deptVO - 부서 정보 객체
* @return int - 수정 성공 여부
*
* 부서 정보 수정 (hierachyVO 사용)
*/
int deptUpdateByHierachy(DeptVO deptVO);
}