lyh
2025-01-17 ea704e018a27c26ef6deeaea4adc8a28b4d0b27e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
package org.jeecg.modules.dnc.service;
 
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.dnc.response.CommonJsonTree;
import org.jeecg.modules.dnc.response.DepartmentTreeModel;
import org.jeecg.modules.dnc.response.QueryPageResponseResult;
import org.jeecg.modules.dnc.ucenter.Department;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.dnc.request.DepartmentRequest;
import org.jeecg.modules.system.model.SysDepartTreeModel;
 
import java.util.List;
import java.util.Map;
 
public interface IDepartmentService extends IService<Department> {
    /**
     * 添加部门信息
     * @param department
     * @return
     */
    boolean addDepartment(Department department);
 
    /**
     * 修改部门
     * @param id
     * @param department
     * @return
     */
    boolean editDepartment(String id,Department department);
 
    /**
     * 根据部门编号查找部门
     * @param departCode
     * @param  departId null 表示只根据departCode查, 非null 表示排除该departId
     * @return
     */
    Department getByDepartCode(String departCode, String departId);
 
    /**
     * 获取用户未分配的部门列表
     * @param userId
     * @return
     */
    List<Department> getUserNonPermDepart(String userId);
 
    /**
     * 获取用户已分配的部门列表
     * @param userId
     * @return
     */
    List<Department> getUserPermDepart(String userId);
 
    /**
     * 分页查询
     * @param page
     * @param size
     * @param requestParams
     * @return
     */
    QueryPageResponseResult<Department> findPageList(int page, int size, DepartmentRequest requestParams);
 
    /**
     * 删除 部门
     * @param id
     * @return
     */
    boolean deleteDepartmentById(String id);
 
 
    /**
     * 根据父ID 查询数据
     * @param parentId
     * @return
     */
    List<Department> findSunLint(String parentId);
 
    /**
     * 获取所有列表,按层级
     * @return
     */
    List<CommonJsonTree> loadTree();
 
    /**
     * 获取用户所在的部门
     * @param userId
     * @return
     */
    Map<String, Department> getMapByUserId(String userId);
 
    /**
     * 获取部门未指定的审批人
     * @param departId
     * @return
     */
    List<SysUser> getUserNonApproveDepart(String departId);
 
    /**
     * 获取部门已指定的审批人
     * @param departId
     * @return
     */
    List<SysUser> getUserApproveDepart(String departId);
 
    /**
     * 增加部门审批人
     * @param departId
     * @param relativeFlag
     * @param userIds
     * @return
     */
    boolean assignAddApproveUser(String departId, Integer relativeFlag, String[] userIds);
 
    /**
     * 移除部门审批人
     * @param departId
     * @param relativeFlag
     * @param userIds
     * @return
     */
    boolean assignRemoveApproveUser(String departId, Integer relativeFlag, String[] userIds);
 
    /**
     * 查询所有部门信息,并分节点进行显示
     * @return
     */
    List<DepartmentTreeModel> queryTreeList();
 
 
    /**
     * 查询所有部门信息,并分节点进行显示
     * @param ids 多个部门id
     * @return
     */
    List<DepartmentTreeModel> queryTreeList(String ids);
 
 
    /**
     * 根据关键字搜索相关的部门数据
     * @param keyWord
     * @param myDeptSearch
     * @param departIds 多个部门id
     * @return
     */
    List<DepartmentTreeModel> searchByKeyWord(String keyWord,String myDeptSearch,String departIds);
}