Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
Education
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄奎
Education
Commits
cd4ce271
Commit
cd4ce271
authored
Jan 08, 2021
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
OKR获取直属下级调整
parent
8f4aefd9
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
156 additions
and
136 deletions
+156
-136
OKRPeriodModule.cs
Edu.Module.OKR/OKRPeriodModule.cs
+143
-136
RB_DepartmentRepository.cs
Edu.Repository/User/RB_DepartmentRepository.cs
+13
-0
No files found.
Edu.Module.OKR/OKRPeriodModule.cs
View file @
cd4ce271
...
@@ -1980,31 +1980,7 @@ namespace Edu.Module.OKR
...
@@ -1980,31 +1980,7 @@ namespace Edu.Module.OKR
/// <returns></returns>
/// <returns></returns>
public
ApiResult
GetOKRObjectiveAuditList
(
int
PeriodId
,
int
userId
,
UserInfo
userInfo
)
public
ApiResult
GetOKRObjectiveAuditList
(
int
PeriodId
,
int
userId
,
UserInfo
userInfo
)
{
{
List
<
int
>
UserIdList
=
new
List
<
int
>();
List
<
int
>
UserIdList
=
GetMyUnderlingUserIdList
(
userInfo
);
#
region
我的直属下级
var
deptModel
=
departmentRepository
.
GetEntity
(
userInfo
.
DeptId
);
var
emList
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
DirectSupervisor
=
userInfo
.
Id
});
if
(
emList
.
Any
())
{
foreach
(
var
item
in
emList
)
{
UserIdList
.
Add
(
item
.
Id
);
}
}
//如果是部门主管 需要将部门下除自己其他人加入
//查询部门负责人 负责的所有部门
var
xjdlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
userInfo
.
Id
.
ToString
()
});
if
(
xjdlist
.
Any
())
{
//查询该部门下所有人
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QDeptIds
=
string
.
Join
(
","
,
xjdlist
.
Select
(
x
=>
x
.
DeptId
))
});
em1List
=
em1List
.
Where
(
x
=>
!
UserIdList
.
Contains
(
x
.
Id
)).
ToList
();
//排序 已存在的直接关系
foreach
(
var
item
in
em1List
)
{
UserIdList
.
Add
(
item
.
Id
);
}
}
#
endregion
if
(!
UserIdList
.
Contains
(
userId
))
if
(!
UserIdList
.
Contains
(
userId
))
{
{
return
ApiResult
.
Failed
(
"该用户不是直属下级,无法审核"
);
return
ApiResult
.
Failed
(
"该用户不是直属下级,无法审核"
);
...
@@ -2913,16 +2889,27 @@ namespace Edu.Module.OKR
...
@@ -2913,16 +2889,27 @@ namespace Edu.Module.OKR
else
else
{
{
//根据部门查询
//根据部门查询
var
deptModel
=
departmentRepository
.
GetEntity
(
userInfo
.
DeptId
);
string
ManagerIds
=
""
;
string
ManagerIds
=
""
;
if
((
","
+
deptModel
.
ManagerIds
+
","
).
Contains
(
","
+
userInfo
.
Id
+
","
))
var
sjdlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
userInfo
.
Id
.
ToString
()
});
if
(
sjdlist
.
Any
())
{
{
//说明自己是当前部门的主管 再查上级部门主管
//说明是部门主管
var
deptpModel
=
departmentRepository
.
GetEntity
(
deptModel
.
ParentId
);
foreach
(
var
ditem
in
sjdlist
.
Where
(
x
=>
x
.
ParentId
>
0
))
ManagerIds
=
deptpModel
?.
ManagerIds
??
""
;
{
var
deptpModel
=
departmentRepository
.
GetEntity
(
ditem
.
ParentId
);
if
(!
string
.
IsNullOrEmpty
(
deptpModel
?.
ManagerIds
??
""
))
{
ManagerIds
+=
(
deptpModel
?.
ManagerIds
??
""
)
+
","
;
}
if
(!
string
.
IsNullOrEmpty
(
ManagerIds
))
{
break
;
}
}
}
}
else
else
{
{
var
deptModel
=
departmentRepository
.
GetEntity
(
userInfo
.
DeptId
);
ManagerIds
=
deptModel
.
ManagerIds
;
ManagerIds
=
deptModel
.
ManagerIds
;
}
}
if
(!
string
.
IsNullOrEmpty
(
ManagerIds
))
if
(!
string
.
IsNullOrEmpty
(
ManagerIds
))
...
@@ -4150,6 +4137,8 @@ namespace Edu.Module.OKR
...
@@ -4150,6 +4137,8 @@ namespace Edu.Module.OKR
List
<
int
>
UserIdList
=
new
List
<
int
>();
List
<
int
>
UserIdList
=
new
List
<
int
>();
List
<
int
>
ParentIdList
=
new
List
<
int
>();
List
<
int
>
ParentIdList
=
new
List
<
int
>();
#
region
我的直属上级
#
region
我的直属上级
List
<
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
>
sjdlist
=
new
List
<
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
>();
bool
sjdlistSelect
=
false
;
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>
ZSList
=
new
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>();
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>
ZSList
=
new
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>();
var
accountModel
=
accountRepository
.
GetEntity
(
userInfo
.
Id
);
var
accountModel
=
accountRepository
.
GetEntity
(
userInfo
.
Id
);
if
(
accountModel
.
DirectSupervisor
>
0
)
if
(
accountModel
.
DirectSupervisor
>
0
)
...
@@ -4168,15 +4157,28 @@ namespace Edu.Module.OKR
...
@@ -4168,15 +4157,28 @@ namespace Edu.Module.OKR
else
{
else
{
//根据部门查询
//根据部门查询
string
ManagerIds
=
""
;
string
ManagerIds
=
""
;
if
((
","
+
deptModel
.
ManagerIds
+
","
).
Contains
(
","
+
userInfo
.
Id
+
","
))
sjdlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
userInfo
.
Id
.
ToString
()
});
sjdlistSelect
=
true
;
if
(
sjdlist
.
Any
())
{
{
//说明自己是当前部门的主管 再查上级部门主管
//说明是部门主管
var
deptpModel
=
departmentRepository
.
GetEntity
(
deptModel
.
ParentId
);
foreach
(
var
ditem
in
sjdlist
.
Where
(
x
=>
x
.
ParentId
>
0
))
ManagerIds
=
deptpModel
?.
ManagerIds
??
""
;
{
var
deptpModel
=
departmentRepository
.
GetEntity
(
ditem
.
ParentId
);
if
(!
string
.
IsNullOrEmpty
(
deptpModel
?.
ManagerIds
??
""
))
{
ManagerIds
+=
(
deptpModel
?.
ManagerIds
??
""
)
+
","
;
}
}
if
(!
string
.
IsNullOrEmpty
(
ManagerIds
))
{
ManagerIds
=
ManagerIds
[
0.
.^
1
];
}
}
}
else
{
else
{
ManagerIds
=
deptModel
.
ManagerIds
;
ManagerIds
=
deptModel
.
ManagerIds
;
}
}
if
(!
string
.
IsNullOrEmpty
(
ManagerIds
))
{
if
(!
string
.
IsNullOrEmpty
(
ManagerIds
))
{
var
list
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
QIds
=
ManagerIds
});
var
list
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
QIds
=
ManagerIds
});
foreach
(
var
item
in
list
)
{
foreach
(
var
item
in
list
)
{
...
@@ -4212,18 +4214,48 @@ namespace Edu.Module.OKR
...
@@ -4212,18 +4214,48 @@ namespace Edu.Module.OKR
//查询部门负责人 负责的所有部门
//查询部门负责人 负责的所有部门
var
xjdlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
userInfo
.
Id
.
ToString
()
});
var
xjdlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
userInfo
.
Id
.
ToString
()
});
if
(
xjdlist
.
Any
())
{
if
(
xjdlist
.
Any
())
{
//查询该部门下所有人
//查询该部门下所有人
(需排除所有的部门负责人)
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QDeptIds
=
string
.
Join
(
","
,
xjdlist
.
Select
(
x
=>
x
.
DeptId
))
});
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QDeptIds
=
string
.
Join
(
","
,
xjdlist
.
Select
(
x
=>
x
.
DeptId
))
});
em1List
=
em1List
.
Where
(
x
=>
!
UserIdList
.
Contains
(
x
.
Id
)
&&
x
.
DirectSupervisor
==
0
).
ToList
();
//排序 已存在的直接关系
em1List
=
em1List
.
Where
(
x
=>
!
UserIdList
.
Contains
(
x
.
Id
)
&&
x
.
DirectSupervisor
==
0
).
ToList
();
//排序 已存在的直接关系
foreach
(
var
item
in
em1List
)
if
(
em1List
.
Any
()
)
{
{
ChildList
.
Add
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
//查询全部负责人
string
AllManagerIds
=
departmentRepository
.
GetAllDepartmentManagerIds
(
userInfo
.
Group_Id
);
List
<
int
>
AllDeptManageId
=
new
List
<
int
>();
if
(!
string
.
IsNullOrEmpty
(
AllManagerIds
))
{
{
Id
=
item
.
Id
,
AllDeptManageId
=
JsonHelper
.
DeserializeObject
<
List
<
int
>>(
AllManagerIds
);
EmployeeName
=
item
.
EmployeeName
,
}
UserIcon
=
item
.
UserIcon
//对 em1List 排除负责人
});
foreach
(
var
item
in
em1List
.
Where
(
x
=>
!
AllDeptManageId
.
Contains
(
x
.
Id
)))
UserIdList
.
Add
(
item
.
Id
);
{
ChildList
.
Add
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Id
=
item
.
Id
,
EmployeeName
=
item
.
EmployeeName
,
UserIcon
=
item
.
UserIcon
});
UserIdList
.
Add
(
item
.
Id
);
}
}
//上级部门下所有子部门的负责人
var
d2list
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QParentIds
=
string
.
Join
(
","
,
xjdlist
.
Select
(
x
=>
x
.
DeptId
))
});
string
ManagerIds
=
string
.
Join
(
","
,
d2list
.
Where
(
x
=>
!
string
.
IsNullOrEmpty
(
x
.
ManagerIds
)).
Select
(
x
=>
x
.
ManagerIds
));
if
(!
string
.
IsNullOrEmpty
(
ManagerIds
))
{
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QIds
=
ManagerIds
});
em1List
=
em1List
.
Where
(
x
=>
!
UserIdList
.
Contains
(
x
.
Id
)
&&
x
.
Id
!=
userInfo
.
Id
&&
x
.
DirectSupervisor
==
0
).
ToList
();
//排序 已存在的直接关系
foreach
(
var
item
in
em1List
)
{
ChildList
.
Add
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Id
=
item
.
Id
,
EmployeeName
=
item
.
EmployeeName
,
UserIcon
=
item
.
UserIcon
});
UserIdList
.
Add
(
item
.
Id
);
}
}
}
}
}
#
endregion
#
endregion
...
@@ -4244,12 +4276,29 @@ namespace Edu.Module.OKR
...
@@ -4244,12 +4276,29 @@ namespace Edu.Module.OKR
UserIdList
.
Add
(
item
.
Id
);
UserIdList
.
Add
(
item
.
Id
);
}
}
//查询部门负责人 负责的所有部门
//查询部门负责人 负责的所
1
有部门
var
dlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
string
.
Join
(
","
,
ParentIdList
)
});
var
dlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
string
.
Join
(
","
,
ParentIdList
)
});
if
(
dlist
.
Any
())
{
if
(
dlist
.
Any
())
{
if
(!(
","
+
deptModel
.
ManagerIds
+
","
).
Contains
(
","
+
userInfo
.
Id
+
","
))
//上级所在部门下 所有的普通成员
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QDeptIds
=
string
.
Join
(
","
,
dlist
.
Select
(
x
=>
x
.
DeptId
))
});
em1List
=
em1List
.
Where
(
x
=>
!
UserIdList
.
Contains
(
x
.
Id
)
&&
x
.
Id
!=
userInfo
.
Id
&&
x
.
DirectSupervisor
==
0
).
ToList
();
//排序 已存在的直接关系
foreach
(
var
item
in
em1List
)
{
{
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QDeptIds
=
string
.
Join
(
","
,
dlist
.
Select
(
x
=>
x
.
DeptId
))
});
SiblingList
.
Add
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Id
=
item
.
Id
,
EmployeeName
=
item
.
EmployeeName
,
UserIcon
=
item
.
UserIcon
});
UserIdList
.
Add
(
item
.
Id
);
}
//上级部门下所有子部门的负责人
var
d2list
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QParentIds
=
string
.
Join
(
","
,
ZSList
.
Select
(
x
=>
x
.
Dept_Id
))
});
string
ManagerIds
=
string
.
Join
(
","
,
d2list
.
Where
(
x
=>
!
string
.
IsNullOrEmpty
(
x
.
ManagerIds
)).
Select
(
x
=>
x
.
ManagerIds
));
if
(!
string
.
IsNullOrEmpty
(
ManagerIds
))
{
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QIds
=
ManagerIds
});
em1List
=
em1List
.
Where
(
x
=>
!
UserIdList
.
Contains
(
x
.
Id
)
&&
x
.
Id
!=
userInfo
.
Id
&&
x
.
DirectSupervisor
==
0
).
ToList
();
//排序 已存在的直接关系
em1List
=
em1List
.
Where
(
x
=>
!
UserIdList
.
Contains
(
x
.
Id
)
&&
x
.
Id
!=
userInfo
.
Id
&&
x
.
DirectSupervisor
==
0
).
ToList
();
//排序 已存在的直接关系
foreach
(
var
item
in
em1List
)
foreach
(
var
item
in
em1List
)
{
{
...
@@ -4262,32 +4311,15 @@ namespace Edu.Module.OKR
...
@@ -4262,32 +4311,15 @@ namespace Edu.Module.OKR
UserIdList
.
Add
(
item
.
Id
);
UserIdList
.
Add
(
item
.
Id
);
}
}
}
}
else
{
//表示自己也是部门负责人 上级所在部门下的所有部门的负责人
var
d2list
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QParentIds
=
string
.
Join
(
","
,
ZSList
.
Select
(
x
=>
x
.
Dept_Id
))
});
string
ManagerIds
=
string
.
Join
(
","
,
d2list
.
Where
(
x
=>
!
string
.
IsNullOrEmpty
(
x
.
ManagerIds
)).
Select
(
x
=>
x
.
ManagerIds
));
if
(!
string
.
IsNullOrEmpty
(
ManagerIds
))
{
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QIds
=
ManagerIds
});
em1List
=
em1List
.
Where
(
x
=>
!
UserIdList
.
Contains
(
x
.
Id
)
&&
x
.
Id
!=
userInfo
.
Id
&&
x
.
DirectSupervisor
==
0
).
ToList
();
//排序 已存在的直接关系
foreach
(
var
item
in
em1List
)
{
SiblingList
.
Add
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Id
=
item
.
Id
,
EmployeeName
=
item
.
EmployeeName
,
UserIcon
=
item
.
UserIcon
});
UserIdList
.
Add
(
item
.
Id
);
}
}
}
}
}
}
}
else
else
{
{
if
(
sjdlistSelect
==
false
)
{
sjdlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
userInfo
.
Id
.
ToString
()
});
}
//继续查询同部门的 也算同级
//继续查询同部门的 也算同级
if
(!
(
","
+
deptModel
.
ManagerIds
+
","
).
Contains
(
","
+
userInfo
.
Id
+
","
))
if
(!
sjdlist
.
Any
(
))
{
{
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
Dept_Id
=
userInfo
.
DeptId
});
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
Dept_Id
=
userInfo
.
DeptId
});
em1List
=
em1List
.
Where
(
x
=>
!
UserIdList
.
Contains
(
x
.
Id
)
&&
x
.
Id
!=
userInfo
.
Id
&&
x
.
DirectSupervisor
==
0
).
ToList
();
//排序 已存在的直接关系
em1List
=
em1List
.
Where
(
x
=>
!
UserIdList
.
Contains
(
x
.
Id
)
&&
x
.
Id
!=
userInfo
.
Id
&&
x
.
DirectSupervisor
==
0
).
ToList
();
//排序 已存在的直接关系
...
@@ -4381,18 +4413,11 @@ namespace Edu.Module.OKR
...
@@ -4381,18 +4413,11 @@ namespace Edu.Module.OKR
public
List
<
int
>
GetMyUnderlingUserIdList
(
UserInfo
userInfo
)
{
public
List
<
int
>
GetMyUnderlingUserIdList
(
UserInfo
userInfo
)
{
List
<
int
>
UserIdList
=
new
List
<
int
>();
List
<
int
>
UserIdList
=
new
List
<
int
>();
#
region
我的直属下级
#
region
我的直属下级
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>
ChildList
=
new
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>();
var
emList
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
DirectSupervisor
=
userInfo
.
Id
});
var
emList
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
DirectSupervisor
=
userInfo
.
Id
});
if
(
emList
.
Any
())
if
(
emList
.
Any
())
{
{
foreach
(
var
item
in
emList
)
foreach
(
var
item
in
emList
)
{
{
ChildList
.
Add
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Id
=
item
.
Id
,
EmployeeName
=
item
.
EmployeeName
,
UserIcon
=
item
.
UserIcon
});
UserIdList
.
Add
(
item
.
Id
);
UserIdList
.
Add
(
item
.
Id
);
}
}
}
}
...
@@ -4404,15 +4429,33 @@ namespace Edu.Module.OKR
...
@@ -4404,15 +4429,33 @@ namespace Edu.Module.OKR
//查询该部门下所有人
//查询该部门下所有人
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QDeptIds
=
string
.
Join
(
","
,
xjdlist
.
Select
(
x
=>
x
.
DeptId
))
});
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QDeptIds
=
string
.
Join
(
","
,
xjdlist
.
Select
(
x
=>
x
.
DeptId
))
});
em1List
=
em1List
.
Where
(
x
=>
!
UserIdList
.
Contains
(
x
.
Id
)
&&
x
.
DirectSupervisor
==
0
).
ToList
();
//排序 已存在的直接关系
em1List
=
em1List
.
Where
(
x
=>
!
UserIdList
.
Contains
(
x
.
Id
)
&&
x
.
DirectSupervisor
==
0
).
ToList
();
//排序 已存在的直接关系
foreach
(
var
item
in
em1List
)
if
(
em1List
.
Any
()
)
{
{
ChildList
.
Add
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
//查询全部负责人
string
AllManagerIds
=
departmentRepository
.
GetAllDepartmentManagerIds
(
userInfo
.
Group_Id
);
List
<
int
>
AllDeptManageId
=
new
List
<
int
>();
if
(!
string
.
IsNullOrEmpty
(
AllManagerIds
))
{
{
Id
=
item
.
Id
,
AllDeptManageId
=
JsonHelper
.
DeserializeObject
<
List
<
int
>>(
AllManagerIds
);
EmployeeName
=
item
.
EmployeeName
,
}
UserIcon
=
item
.
UserIcon
//对 em1List 排除负责人
});
foreach
(
var
item
in
em1List
.
Where
(
x
=>
!
AllDeptManageId
.
Contains
(
x
.
Id
)))
UserIdList
.
Add
(
item
.
Id
);
{
UserIdList
.
Add
(
item
.
Id
);
}
}
//上级部门下所有子部门的负责人
var
d2list
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QParentIds
=
string
.
Join
(
","
,
xjdlist
.
Select
(
x
=>
x
.
DeptId
))
});
string
ManagerIds
=
string
.
Join
(
","
,
d2list
.
Where
(
x
=>
!
string
.
IsNullOrEmpty
(
x
.
ManagerIds
)).
Select
(
x
=>
x
.
ManagerIds
));
if
(!
string
.
IsNullOrEmpty
(
ManagerIds
))
{
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QIds
=
ManagerIds
});
em1List
=
em1List
.
Where
(
x
=>
!
UserIdList
.
Contains
(
x
.
Id
)
&&
x
.
Id
!=
userInfo
.
Id
&&
x
.
DirectSupervisor
==
0
).
ToList
();
//排序 已存在的直接关系
foreach
(
var
item
in
em1List
)
{
UserIdList
.
Add
(
item
.
Id
);
}
}
}
}
}
#
endregion
#
endregion
...
@@ -4427,31 +4470,8 @@ namespace Edu.Module.OKR
...
@@ -4427,31 +4470,8 @@ namespace Edu.Module.OKR
/// <returns></returns>
/// <returns></returns>
public
object
GetOKRMyEmployeeAuditList
(
int
periodId
,
UserInfo
userInfo
)
public
object
GetOKRMyEmployeeAuditList
(
int
periodId
,
UserInfo
userInfo
)
{
{
var
deptModel
=
departmentRepository
.
GetEntity
(
userInfo
.
DeptId
);
List
<
int
>
ChildIdList
=
GetMyUnderlingUserIdList
(
userInfo
);
#
region
我的直属下级
List
<
int
>
ChildIdList
=
new
List
<
int
>();
var
emList
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
DirectSupervisor
=
userInfo
.
Id
});
if
(
emList
.
Any
())
{
foreach
(
var
item
in
emList
)
{
ChildIdList
.
Add
(
item
.
Id
);
}
}
//如果是部门主管 需要将部门下除自己其他人加入
//查询部门负责人 负责的所有部门
var
xjdlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
userInfo
.
Id
.
ToString
()
});
if
(
xjdlist
.
Any
())
{
//查询该部门下所有人
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QDeptIds
=
string
.
Join
(
","
,
xjdlist
.
Select
(
x
=>
x
.
DeptId
))
});
em1List
=
em1List
.
Where
(
x
=>
!
ChildIdList
.
Contains
(
x
.
Id
)
&&
x
.
DirectSupervisor
==
0
).
ToList
();
//排序 已存在的直接关系
foreach
(
var
item
in
em1List
)
{
ChildIdList
.
Add
(
item
.
Id
);
}
}
#
endregion
#
region
我的审批
#
region
我的审批
List
<
object
>
AuditList
=
new
List
<
object
>();
List
<
object
>
AuditList
=
new
List
<
object
>();
//直接拿直属下级 待审核的
//直接拿直属下级 待审核的
...
@@ -4611,31 +4631,7 @@ namespace Edu.Module.OKR
...
@@ -4611,31 +4631,7 @@ namespace Edu.Module.OKR
var
model
=
oKR_ObjectiveRepository
.
GetEntity
(
objectiveId
);
var
model
=
oKR_ObjectiveRepository
.
GetEntity
(
objectiveId
);
if
(
model
==
null
)
{
return
"目标不存在"
;
}
if
(
model
==
null
)
{
return
"目标不存在"
;
}
if
(
model
.
Status
!=
1
)
{
return
"非待审核状态,无法审核"
;
}
if
(
model
.
Status
!=
1
)
{
return
"非待审核状态,无法审核"
;
}
List
<
int
>
UserIdList
=
new
List
<
int
>();
List
<
int
>
UserIdList
=
GetMyUnderlingUserIdList
(
userInfo
);
#
region
我的直属下级
var
deptModel
=
departmentRepository
.
GetEntity
(
userInfo
.
DeptId
);
var
emList
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
DirectSupervisor
=
userInfo
.
Id
});
if
(
emList
.
Any
())
{
foreach
(
var
item
in
emList
)
{
UserIdList
.
Add
(
item
.
Id
);
}
}
//如果是部门主管 需要将部门下除自己其他人加入
//查询部门负责人 负责的所有部门
var
xjdlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
userInfo
.
Id
.
ToString
()
});
if
(
xjdlist
.
Any
())
{
//查询该部门下所有人
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
QDeptIds
=
string
.
Join
(
","
,
xjdlist
.
Select
(
x
=>
x
.
DeptId
))
});
em1List
=
em1List
.
Where
(
x
=>
!
UserIdList
.
Contains
(
x
.
Id
)).
ToList
();
//排序 已存在的直接关系
foreach
(
var
item
in
em1List
)
{
UserIdList
.
Add
(
item
.
Id
);
}
}
#
endregion
if
(!
UserIdList
.
Contains
(
model
.
CreateBy
))
if
(!
UserIdList
.
Contains
(
model
.
CreateBy
))
{
{
return
"该目标不是直属下级目标,无法审核"
;
return
"该目标不是直属下级目标,无法审核"
;
...
@@ -4777,11 +4773,22 @@ namespace Edu.Module.OKR
...
@@ -4777,11 +4773,22 @@ namespace Edu.Module.OKR
{
{
//根据部门查询
//根据部门查询
string
ManagerIds
=
""
;
string
ManagerIds
=
""
;
if
((
","
+
deptModel
.
ManagerIds
+
","
).
Contains
(
","
+
userInfo
.
Id
+
","
))
var
sjdlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
userInfo
.
Id
.
ToString
()
});
if
(
sjdlist
.
Any
())
{
{
//说明自己是当前部门的主管 再查上级部门主管
//说明是部门主管
var
deptpModel
=
departmentRepository
.
GetEntity
(
deptModel
.
ParentId
);
foreach
(
var
ditem
in
sjdlist
.
Where
(
x
=>
x
.
ParentId
>
0
))
ManagerIds
=
deptpModel
?.
ManagerIds
??
""
;
{
var
deptpModel
=
departmentRepository
.
GetEntity
(
ditem
.
ParentId
);
if
(!
string
.
IsNullOrEmpty
(
deptpModel
?.
ManagerIds
??
""
))
{
ManagerIds
+=
(
deptpModel
?.
ManagerIds
??
""
)
+
","
;
}
}
if
(!
string
.
IsNullOrEmpty
(
ManagerIds
))
{
ManagerIds
=
ManagerIds
[
0.
.^
1
];
}
}
}
else
else
{
{
...
@@ -4815,7 +4822,7 @@ namespace Edu.Module.OKR
...
@@ -4815,7 +4822,7 @@ namespace Edu.Module.OKR
}
}
}
}
//如果是部门主管 需要将部门下除自己其他人加入
//如果是部门主管 需要将部门下除自己其他人加入
//查询部门负责人 负责的所有部门
//查询部门负责人 负责的所
1
有部门
var
xjdlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
userInfo
.
Id
.
ToString
()
});
var
xjdlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
userInfo
.
Id
.
ToString
()
});
if
(
xjdlist
.
Any
())
if
(
xjdlist
.
Any
())
{
{
...
@@ -4838,7 +4845,7 @@ namespace Edu.Module.OKR
...
@@ -4838,7 +4845,7 @@ namespace Edu.Module.OKR
UserIdList
.
Add
(
item
.
Id
);
UserIdList
.
Add
(
item
.
Id
);
}
}
//查询部门负责人 负责的所有部门
//查询部门负责人 负责的所
1
有部门
var
dlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
string
.
Join
(
","
,
ParentIdList
)
});
var
dlist
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
ManagerIds
=
string
.
Join
(
","
,
ParentIdList
)
});
if
(
dlist
.
Any
())
if
(
dlist
.
Any
())
{
{
...
...
Edu.Repository/User/RB_DepartmentRepository.cs
View file @
cd4ce271
using
Edu.Common.Enum
;
using
Edu.Common.Enum
;
using
Edu.Model.Entity.User
;
using
Edu.Model.Entity.User
;
using
Edu.Model.ViewModel.User
;
using
Edu.Model.ViewModel.User
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Data
;
using
System.Data
;
using
System.Linq
;
using
System.Linq
;
...
@@ -220,5 +221,17 @@ WHERE 1=1
...
@@ -220,5 +221,17 @@ WHERE 1=1
parameters
.
Add
(
"QDeptIds"
,
DeptId
,
direction
:
ParameterDirection
.
Input
);
parameters
.
Add
(
"QDeptIds"
,
DeptId
,
direction
:
ParameterDirection
.
Input
);
return
Get
<
RB_Department_ViewModel
>(
procName
,
parameters
,
commandType
:
CommandType
.
StoredProcedure
).
ToList
();
return
Get
<
RB_Department_ViewModel
>(
procName
,
parameters
,
commandType
:
CommandType
.
StoredProcedure
).
ToList
();
}
}
/// <summary>
/// 获取所有部门负责人
/// </summary>
/// <param name="group_Id"></param>
/// <returns></returns>
public
string
GetAllDepartmentManagerIds
(
int
group_Id
)
{
string
sql
=
$" SELECT GROUP_CONCAT(ManagerIds) AS ManagerIds FROM rb_department WHERE `Status`=0 and Group_Id =
{
group_Id
}
and ManagerIds <> '' "
;
var
obj
=
ExecuteScalar
(
sql
);
return
obj
==
null
?
""
:
obj
.
ToString
();
}
}
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment