📄 departmentmanager.java
字号:
package com.lily.dap.service.organize;
import java.util.List;
import com.lily.dap.model.organize.Department;
import com.lily.dap.service.Manager;
import com.lily.dap.service.core.exception.DataHaveIncludeException;
import com.lily.dap.service.core.exception.DataNotExistException;
import com.lily.dap.service.core.exception.DataNotIncludeException;
/**
* DepartmentManager.java
*
* <br>作者: 刘鹏
*
* <br>日期: 2006-3-7
*
* <br>版权所有:淄博百合软件
*/
public interface DepartmentManager extends Manager {
/**
* <p>清除系统组织机构信息,初始化建立总公司信息
* <p>前置条件:
* <p> 1-总公司代码、名称不允许为空
* <p>后置条件:
* <p> 1-移除人员对应的岗位信息(包括人员相关用户信息、用户关联角色信息)
* <p> 2-删除岗位信息(包括岗位相关人员信息、关联角色信息)
* <p> 3-删除部门及分公司、总公司信息
* <p> 4-添加总公司信息
* <p> 5-返回添加的的总公司信息
*
* @param name 要添加的总公司名称
* @param code 要添加的总公司代码
* @param type 公司的类型
* @param des 要添加的总公司说明
* @return 返回添加的总公司信息
*/
public Department initOrganize(String code, String name, String des);
/**
* 检索根部门信息
*
* @return 返回检索到的部门信息
* @throws DataNotExistException 检索数据不存在异常
*/
public Department getRootDepartment() throws DataNotExistException;
/**
* 根据部门类型获取部门信息列表
* @param type 部门类型
* @return List{Department}
*/
public List getDepartments(int type);
/**
* 获取部门(id)的下级部门信息,只包含第一层下级部门
* <br>前置条件:
* <br>1、部门必须存在;
* <br>2、部门按照code升序排列
* @param id 部门id
* @return List{Department}
*/
public List getChildDepartments(long depart_id);
/**
* 获取父部门(包括父部门)下面的所有部门(级联子部门)
*
* @param parent_id
* @return
*/
public List getAllChildDepartments(long parent_id);
/**
* 获取部门下所有岗位(不包括子部门的岗位)信息,以岗位代码排序
*
* @param depart_id 部门id
* @return List{Post}
*/
public List getPosts(long depart_id);
/**
* 获取人员对应的岗位信息列表
*
* @param person_id 人员id
* @return List{Post}
*/
public List getPostsByPerson(long person_id);
/**
* 给岗位赋人
* 前置条件:
* 1、岗位必须存在;
* 2、人员必须存在;
* 3、人员不在这个岗位中存在,如果已经存在了,抛出DataHaveIncludeException异常
* @param post_id 岗位id
* @param person_id 人员id
*/
public void addPostPerson(long post_id, long person_id) throws DataNotExistException, DataHaveIncludeException;
/**
* 移除岗位中的人员
* <br>前置条件:
* <br>1、岗位必须存在;
* <br>2、人员必须存在;
* <br>后置条件:
* <br>1、移除人员继承的岗位权限;
* <br>2、移除岗位人员的关系
* @param post_id 岗位id
* @param person_id 人员id
* @throws DataNotExistException
* @throws DataNotIncludeException 岗位包含此人员,如果不包含,抛出DataNotIncludeException异常
*/
public void removePostPerson(long post_id, long person_id) throws DataNotExistException, DataNotIncludeException;
/**
* 指定姓名、指定部门(查询部门下所有人员,包括其下级部门)、
* <br>指定岗位(查询岗位下所有人员)
*
* @param depart_id 部门id
* @param post_id 岗位id
* @param person_name 人员姓名
* @return List{Person}
*/
public List getPersons(long depart_id, long post_id, String person_name);
/**
* 获取岗位下人员数量
* 前置条件:
* 1、department_id必须存在
* @param depart_id
* @param post_id
* @return int
*/
public long getPostPersonNum(long post_id);
/**
* 获取部门以及下级部门的人员总数
* @param depart_id 部门id
* @return int
*/
public long getDepartPersonNum(long depart_id);
/**
* 根据部门name获取部门对象
*
* @param name
* @return
*/
public Department getDepartment(String name);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -