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
a6b7e41d
Commit
a6b7e41d
authored
Jan 05, 2021
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
okr列表
parent
12f112d2
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
1210 additions
and
100 deletions
+1210
-100
RB_OKR_Attention.cs
Edu.Model/Entity/OKR/RB_OKR_Attention.cs
+65
-0
RB_OKR_Comment.cs
Edu.Model/Entity/OKR/RB_OKR_Comment.cs
+5
-0
RB_OKR_Objective.cs
Edu.Model/Entity/OKR/RB_OKR_Objective.cs
+15
-0
RB_OKR_Permission.cs
Edu.Model/Entity/OKR/RB_OKR_Permission.cs
+1
-1
RB_OKR_UpdateNotification.cs
Edu.Model/Entity/OKR/RB_OKR_UpdateNotification.cs
+45
-0
RB_Account.cs
Edu.Model/Entity/User/RB_Account.cs
+5
-0
RB_OKR_Attention_ViewModel.cs
Edu.Model/ViewModel/OKR/RB_OKR_Attention_ViewModel.cs
+14
-0
RB_OKR_Objective_ViewModel.cs
Edu.Model/ViewModel/OKR/RB_OKR_Objective_ViewModel.cs
+5
-0
RB_OKR_Permission_ViewModel.cs
Edu.Model/ViewModel/OKR/RB_OKR_Permission_ViewModel.cs
+5
-0
RB_OKR_UpdateNotification_ViewModel.cs
...odel/ViewModel/OKR/RB_OKR_UpdateNotification_ViewModel.cs
+22
-0
OKRPeriodModule.cs
Edu.Module.OKR/OKRPeriodModule.cs
+583
-93
RB_OKR_AttentionRepository.cs
Edu.Repository/OKR/RB_OKR_AttentionRepository.cs
+70
-0
RB_OKR_ObjectiveRelationRepository.cs
Edu.Repository/OKR/RB_OKR_ObjectiveRelationRepository.cs
+37
-0
RB_OKR_ObjectiveRepository.cs
Edu.Repository/OKR/RB_OKR_ObjectiveRepository.cs
+29
-0
RB_OKR_PermissionRepository.cs
Edu.Repository/OKR/RB_OKR_PermissionRepository.cs
+5
-5
RB_OKR_UpdateNotificationRepository.cs
Edu.Repository/OKR/RB_OKR_UpdateNotificationRepository.cs
+54
-0
RB_AccountRepository.cs
Edu.Repository/User/RB_AccountRepository.cs
+4
-0
OKRPeriodController.cs
Edu.WebApi/Controllers/OKR/OKRPeriodController.cs
+246
-1
No files found.
Edu.Model/Entity/OKR/RB_OKR_Attention.cs
0 → 100644
View file @
a6b7e41d
using
Edu.Common.Enum
;
using
Edu.Common.Enum.Course
;
using
System
;
using
VT.FW.DB
;
namespace
Edu.Model.Entity.OKR
{
/// <summary>
/// okr关注实体类
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_OKR_Attention
{
/// <summary>
/// id
/// </summary>
public
int
Id
{
get
;
set
;
}
/// <summary>
/// 账号id
/// </summary>
public
int
AccountId
{
get
;
set
;
}
/// <summary>
/// 关注人id
/// </summary>
public
int
AttentionId
{
get
;
set
;
}
/// <summary>
/// 删除状态
/// </summary>
public
int
Status
{
get
;
set
;
}
/// <summary>
/// 集团id
/// </summary>
public
int
Group_Id
{
get
;
set
;
}
/// <summary>
/// 学校id
/// </summary>
public
int
School_Id
{
get
;
set
;
}
/// <summary>
/// 创建人
/// </summary>
public
int
CreateBy
{
get
;
set
;
}
/// <summary>
/// 创建时间
/// </summary>
public
DateTime
CreateTime
{
get
;
set
;
}
/// <summary>
/// 修改人
/// </summary>
public
int
UpdateBy
{
get
;
set
;
}
/// <summary>
/// 修改时间
/// </summary>
public
DateTime
UpdateTime
{
get
;
set
;
}
}
}
Edu.Model/Entity/OKR/RB_OKR_Comment.cs
View file @
a6b7e41d
...
@@ -22,6 +22,11 @@ namespace Edu.Model.Entity.OKR
...
@@ -22,6 +22,11 @@ namespace Edu.Model.Entity.OKR
/// </summary>
/// </summary>
public
int
PeriodId
{
get
;
set
;
}
public
int
PeriodId
{
get
;
set
;
}
/// <summary>
/// 属于谁的
/// </summary>
public
int
AccountId
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 内容
/// 内容
/// </summary>
/// </summary>
...
...
Edu.Model/Entity/OKR/RB_OKR_Objective.cs
View file @
a6b7e41d
...
@@ -102,5 +102,20 @@ namespace Edu.Model.Entity.OKR
...
@@ -102,5 +102,20 @@ namespace Edu.Model.Entity.OKR
/// 分数规则id
/// 分数规则id
/// </summary>
/// </summary>
public
int
ScoreRuleId
{
get
;
set
;
}
public
int
ScoreRuleId
{
get
;
set
;
}
/// <summary>
/// 审核人
/// </summary>
public
int
AuditUserId
{
get
;
set
;
}
/// <summary>
/// 审核时间
/// </summary>
public
DateTime
?
AuditTime
{
get
;
set
;
}
/// <summary>
/// 审核备注
/// </summary>
public
string
AuditRemark
{
get
;
set
;
}
}
}
}
}
Edu.Model/Entity/OKR/RB_OKR_Permission.cs
View file @
a6b7e41d
...
@@ -24,7 +24,7 @@ namespace Edu.Model.Entity.OKR
...
@@ -24,7 +24,7 @@ namespace Edu.Model.Entity.OKR
/// <summary>
/// <summary>
/// 周期/目标/结果 的id
/// 周期/目标/结果 的id
/// </summary>
/// </summary>
public
int
Objective
Id
{
get
;
set
;
}
public
int
Target
Id
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 类型 1员工 2部门 3岗位
/// 类型 1员工 2部门 3岗位
...
...
Edu.Model/Entity/OKR/RB_OKR_UpdateNotification.cs
0 → 100644
View file @
a6b7e41d
using
Edu.Common.Enum
;
using
Edu.Common.Enum.Course
;
using
System
;
using
VT.FW.DB
;
namespace
Edu.Model.Entity.OKR
{
/// <summary>
/// okr更新通知实体类
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_OKR_UpdateNotification
{
/// <summary>
/// id
/// </summary>
public
int
Id
{
get
;
set
;
}
/// <summary>
/// 接收人id
/// </summary>
public
int
ReceiveId
{
get
;
set
;
}
/// <summary>
/// 状态 1已看 2未看
/// </summary>
public
int
State
{
get
;
set
;
}
/// <summary>
/// 集团id
/// </summary>
public
int
Group_Id
{
get
;
set
;
}
/// <summary>
/// 修改人
/// </summary>
public
int
UpdateBy
{
get
;
set
;
}
/// <summary>
/// 修改时间
/// </summary>
public
DateTime
UpdateTime
{
get
;
set
;
}
}
}
Edu.Model/Entity/User/RB_Account.cs
View file @
a6b7e41d
...
@@ -77,5 +77,10 @@ namespace Edu.Model.Entity.User
...
@@ -77,5 +77,10 @@ namespace Edu.Model.Entity.User
/// </summary>
/// </summary>
public
double
AnnualLeaveDay
{
get
;
set
;
}
public
double
AnnualLeaveDay
{
get
;
set
;
}
/// <summary>
/// 直接主管 (OKR专用)
/// </summary>
public
int
DirectSupervisor
{
get
;
set
;
}
}
}
}
}
Edu.Model/ViewModel/OKR/RB_OKR_Attention_ViewModel.cs
0 → 100644
View file @
a6b7e41d
using
System
;
using
System.Collections.Generic
;
namespace
Edu.Model.ViewModel.OKR
{
/// <summary>
/// OKR关注扩展类
/// </summary>
[
Serializable
]
public
class
RB_OKR_Attention_ViewModel
:
Model
.
Entity
.
OKR
.
RB_OKR_Attention
{
}
}
\ No newline at end of file
Edu.Model/ViewModel/OKR/RB_OKR_Objective_ViewModel.cs
View file @
a6b7e41d
...
@@ -44,6 +44,11 @@ namespace Edu.Model.ViewModel.OKR
...
@@ -44,6 +44,11 @@ namespace Edu.Model.ViewModel.OKR
/// </summary>
/// </summary>
public
int
IsLock
{
get
;
set
;
}
public
int
IsLock
{
get
;
set
;
}
/// <summary>
/// 是否已对齐
/// </summary>
public
int
IsParent
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 员工姓名
/// 员工姓名
/// </summary>
/// </summary>
...
...
Edu.Model/ViewModel/OKR/RB_OKR_Permission_ViewModel.cs
View file @
a6b7e41d
...
@@ -13,5 +13,10 @@ namespace Edu.Model.ViewModel.OKR
...
@@ -13,5 +13,10 @@ namespace Edu.Model.ViewModel.OKR
/// 目标ids
/// 目标ids
/// </summary>
/// </summary>
public
string
ObjectiveIds
{
get
;
set
;
}
public
string
ObjectiveIds
{
get
;
set
;
}
/// <summary>
/// 来源名称
/// </summary>
public
string
SourceName
{
get
;
set
;
}
}
}
}
}
\ No newline at end of file
Edu.Model/ViewModel/OKR/RB_OKR_UpdateNotification_ViewModel.cs
0 → 100644
View file @
a6b7e41d
using
System
;
using
System.Collections.Generic
;
namespace
Edu.Model.ViewModel.OKR
{
/// <summary>
/// OKR更新通知扩展类
/// </summary>
[
Serializable
]
public
class
RB_OKR_UpdateNotification_ViewModel
:
Model
.
Entity
.
OKR
.
RB_OKR_UpdateNotification
{
/// <summary>
/// 接收人ids
/// </summary>
public
string
ReceiveIds
{
get
;
set
;
}
/// <summary>
/// 发送人ids
/// </summary>
public
string
UpdateByIds
{
get
;
set
;
}
}
}
\ No newline at end of file
Edu.Module.OKR/OKRPeriodModule.cs
View file @
a6b7e41d
...
@@ -4,6 +4,7 @@ using Edu.Model.CacheModel;
...
@@ -4,6 +4,7 @@ using Edu.Model.CacheModel;
using
Edu.Model.ViewModel.OKR
;
using
Edu.Model.ViewModel.OKR
;
using
Edu.Repository.Log
;
using
Edu.Repository.Log
;
using
Edu.Repository.OKR
;
using
Edu.Repository.OKR
;
using
Edu.Repository.User
;
using
Newtonsoft.Json.Linq
;
using
Newtonsoft.Json.Linq
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
...
@@ -30,6 +31,10 @@ namespace Edu.Module.OKR
...
@@ -30,6 +31,10 @@ namespace Edu.Module.OKR
/// </summary>
/// </summary>
private
readonly
RB_OKR_ObjectiveRepository
oKR_ObjectiveRepository
=
new
RB_OKR_ObjectiveRepository
();
private
readonly
RB_OKR_ObjectiveRepository
oKR_ObjectiveRepository
=
new
RB_OKR_ObjectiveRepository
();
/// <summary>
/// <summary>
/// 对齐
/// </summary>
private
readonly
RB_OKR_ObjectiveRelationRepository
oKR_ObjectiveRelationRepository
=
new
RB_OKR_ObjectiveRelationRepository
();
/// <summary>
/// 周期配置
/// 周期配置
/// </summary>
/// </summary>
private
readonly
RB_OKR_PeriodConfigRepository
oKR_PeriodConfigRepository
=
new
RB_OKR_PeriodConfigRepository
();
private
readonly
RB_OKR_PeriodConfigRepository
oKR_PeriodConfigRepository
=
new
RB_OKR_PeriodConfigRepository
();
...
@@ -54,9 +59,29 @@ namespace Edu.Module.OKR
...
@@ -54,9 +59,29 @@ namespace Edu.Module.OKR
/// </summary>
/// </summary>
private
readonly
RB_OKR_ScoreRepository
oKR_ScoreRepository
=
new
RB_OKR_ScoreRepository
();
private
readonly
RB_OKR_ScoreRepository
oKR_ScoreRepository
=
new
RB_OKR_ScoreRepository
();
/// <summary>
/// <summary>
/// 关注
/// </summary>
private
readonly
RB_OKR_AttentionRepository
oKR_AttentionRepository
=
new
RB_OKR_AttentionRepository
();
/// <summary>
/// 用户日志
/// 用户日志
/// </summary>
/// </summary>
private
readonly
RB_User_ChangeLogRepository
changeLogRepository
=
new
RB_User_ChangeLogRepository
();
private
readonly
RB_User_ChangeLogRepository
changeLogRepository
=
new
RB_User_ChangeLogRepository
();
/// <summary>
/// 更新通知
/// </summary>
private
readonly
RB_OKR_UpdateNotificationRepository
oKR_UpdateNotificationRepository
=
new
RB_OKR_UpdateNotificationRepository
();
/// <summary>
/// 账户
/// </summary>
private
readonly
RB_AccountRepository
accountRepository
=
new
RB_AccountRepository
();
/// <summary>
/// 部门
/// </summary>
private
readonly
RB_DepartmentRepository
departmentRepository
=
new
RB_DepartmentRepository
();
/// <summary>
/// 岗位
/// </summary>
private
readonly
RB_PostRepository
postRepository
=
new
RB_PostRepository
();
#
region
基础配置
#
region
基础配置
...
@@ -569,7 +594,7 @@ namespace Edu.Module.OKR
...
@@ -569,7 +594,7 @@ namespace Edu.Module.OKR
foreach
(
var
item
in
krList
)
foreach
(
var
item
in
krList
)
{
{
item
.
IsLock
=
2
;
item
.
IsLock
=
2
;
if
(
pkrList
.
Where
(
x
=>
x
.
Objective
Id
==
item
.
Id
).
Any
())
if
(
pkrList
.
Where
(
x
=>
x
.
Target
Id
==
item
.
Id
).
Any
())
{
{
item
.
IsLock
=
1
;
item
.
IsLock
=
1
;
}
}
...
@@ -578,7 +603,7 @@ namespace Edu.Module.OKR
...
@@ -578,7 +603,7 @@ namespace Edu.Module.OKR
{
{
item
.
KeyResultList
=
krList
.
Where
(
x
=>
x
.
ObjectiveId
==
item
.
Id
).
ToList
();
item
.
KeyResultList
=
krList
.
Where
(
x
=>
x
.
ObjectiveId
==
item
.
Id
).
ToList
();
item
.
IsLock
=
2
;
item
.
IsLock
=
2
;
if
(
pList
.
Where
(
x
=>
x
.
Objective
Id
==
item
.
Id
).
Any
())
if
(
pList
.
Where
(
x
=>
x
.
Target
Id
==
item
.
Id
).
Any
())
{
{
item
.
IsLock
=
1
;
item
.
IsLock
=
1
;
}
}
...
@@ -587,14 +612,14 @@ namespace Edu.Module.OKR
...
@@ -587,14 +612,14 @@ namespace Edu.Module.OKR
{
{
item
.
KeyResultList
=
krList
.
Where
(
x
=>
x
.
ObjectiveId
==
item
.
Id
).
ToList
();
item
.
KeyResultList
=
krList
.
Where
(
x
=>
x
.
ObjectiveId
==
item
.
Id
).
ToList
();
item
.
IsLock
=
2
;
item
.
IsLock
=
2
;
if
(
pList
.
Where
(
x
=>
x
.
Objective
Id
==
item
.
Id
).
Any
())
if
(
pList
.
Where
(
x
=>
x
.
Target
Id
==
item
.
Id
).
Any
())
{
{
item
.
IsLock
=
1
;
item
.
IsLock
=
1
;
}
}
}
}
foreach
(
var
item
in
list
)
{
foreach
(
var
item
in
list
)
{
item
.
IsLock
=
2
;
item
.
IsLock
=
2
;
if
(
pList
.
Where
(
x
=>
x
.
Objective
Id
==
item
.
Id
).
Any
())
if
(
pList
.
Where
(
x
=>
x
.
Target
Id
==
item
.
Id
).
Any
())
{
{
item
.
IsLock
=
1
;
item
.
IsLock
=
1
;
}
}
...
@@ -732,9 +757,22 @@ namespace Edu.Module.OKR
...
@@ -732,9 +757,22 @@ namespace Edu.Module.OKR
/// <param name="userInfo"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
/// <returns></returns>
public
object
GetOKROthersObjectiveList
(
int
periodId
,
int
userId
,
UserInfo
userInfo
)
public
object
GetOKROthersObjectiveList
(
int
periodId
,
int
userId
,
UserInfo
userInfo
)
{
throw
new
NotImplementedException
();
}
/// <summary>
/// 获取他人的目标列表
/// </summary>
/// <param name="periodId"></param>
/// <param name="objectiveId"></param>
/// <param name="userId"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public
object
GetOKROthersObjectiveDropList
(
int
periodId
,
int
objectiveId
,
int
userId
,
UserInfo
userInfo
)
{
{
//查询是否有权限
//查询是否有权限
var
zpList
=
oKR_PermissionRepository
.
GetList
(
new
RB_OKR_Permission_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
PermissionType
=
1
,
Objective
Id
=
periodId
,
CreateBy
=
userId
});
var
zpList
=
oKR_PermissionRepository
.
GetList
(
new
RB_OKR_Permission_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
PermissionType
=
1
,
Target
Id
=
periodId
,
CreateBy
=
userId
});
if
(
zpList
.
Any
())
{
if
(
zpList
.
Any
())
{
var
NotLookList
=
zpList
.
Where
(
x
=>
x
.
State
==
2
).
ToList
();
var
NotLookList
=
zpList
.
Where
(
x
=>
x
.
State
==
2
).
ToList
();
var
LookList
=
zpList
.
Where
(
x
=>
x
.
State
==
1
).
ToList
();
var
LookList
=
zpList
.
Where
(
x
=>
x
.
State
==
1
).
ToList
();
...
@@ -781,7 +819,7 @@ namespace Edu.Module.OKR
...
@@ -781,7 +819,7 @@ namespace Edu.Module.OKR
}
}
}
}
}
}
var
list
=
oKR_ObjectiveRepository
.
GetList
(
new
RB_OKR_Objective_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
PeriodId
=
periodId
,
CreateBy
=
userId
});
var
list
=
oKR_ObjectiveRepository
.
GetList
(
new
RB_OKR_Objective_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
PeriodId
=
periodId
,
CreateBy
=
userId
,
Status
=
2
});
if
(
list
.
Any
())
if
(
list
.
Any
())
{
{
string
objectiveIds
=
string
.
Join
(
","
,
list
.
Select
(
x
=>
x
.
Id
));
string
objectiveIds
=
string
.
Join
(
","
,
list
.
Select
(
x
=>
x
.
Id
));
...
@@ -798,10 +836,10 @@ namespace Edu.Module.OKR
...
@@ -798,10 +836,10 @@ namespace Edu.Module.OKR
foreach
(
var
item
in
krList
)
foreach
(
var
item
in
krList
)
{
{
item
.
IsLock
=
2
;
item
.
IsLock
=
2
;
if
(
pkrList
.
Where
(
x
=>
x
.
Objective
Id
==
item
.
Id
).
Any
())
if
(
pkrList
.
Where
(
x
=>
x
.
Target
Id
==
item
.
Id
).
Any
())
{
{
var
NotLookList
=
pkrList
.
Where
(
x
=>
x
.
Objective
Id
==
item
.
Id
&&
x
.
State
==
2
).
ToList
();
var
NotLookList
=
pkrList
.
Where
(
x
=>
x
.
Target
Id
==
item
.
Id
&&
x
.
State
==
2
).
ToList
();
var
LookList
=
pkrList
.
Where
(
x
=>
x
.
Objective
Id
==
item
.
Id
&&
x
.
State
==
1
).
ToList
();
var
LookList
=
pkrList
.
Where
(
x
=>
x
.
Target
Id
==
item
.
Id
&&
x
.
State
==
1
).
ToList
();
if
(
NotLookList
.
Any
())
if
(
NotLookList
.
Any
())
{
{
//有不可看的
//有不可看的
...
@@ -818,27 +856,67 @@ namespace Edu.Module.OKR
...
@@ -818,27 +856,67 @@ namespace Edu.Module.OKR
item
.
IsLock
=
1
;
item
.
IsLock
=
1
;
}
}
}
}
if
(
LookList
.
Any
()
)
if
(
item
.
IsLock
==
2
)
{
{
if
(
LookList
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Employee
&&
x
.
SourceId
==
userInfo
.
Id
).
Any
()
if
(
LookList
.
Any
())
||
LookList
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Post
&&
x
.
SourceId
==
userInfo
.
PostId
).
Any
()
||
LookList
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Department
&&
x
.
SourceId
==
userInfo
.
DeptId
).
Any
())
{
{
//OK
if
(
LookList
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Employee
&&
x
.
SourceId
==
userInfo
.
Id
).
Any
()
}
||
LookList
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Post
&&
x
.
SourceId
==
userInfo
.
PostId
).
Any
()
else
||
LookList
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Department
&&
x
.
SourceId
==
userInfo
.
DeptId
).
Any
())
{
{
item
.
IsLock
=
1
;
//OK
}
else
{
item
.
IsLock
=
1
;
}
}
}
}
}
}
}
}
}
#
region
查询已对齐目标
//查询向上对齐
var
sdqList
=
oKR_ObjectiveRelationRepository
.
GetList
(
new
Model
.
Entity
.
OKR
.
RB_OKR_ObjectiveRelation
()
{
ObjectiveId
=
objectiveId
});
#
endregion
foreach
(
var
item
in
list
)
foreach
(
var
item
in
list
)
{
{
item
.
IsLock
=
2
;
item
.
IsLock
=
2
;
if
(
pList
.
Where
(
x
=>
x
.
Objective
Id
==
item
.
Id
).
Any
())
if
(
pList
.
Where
(
x
=>
x
.
Target
Id
==
item
.
Id
).
Any
())
{
{
item
.
IsLock
=
1
;
var
NotLookList
=
pList
.
Where
(
x
=>
x
.
TargetId
==
item
.
Id
&&
x
.
State
==
2
).
ToList
();
var
LookList
=
pList
.
Where
(
x
=>
x
.
TargetId
==
item
.
Id
&&
x
.
State
==
1
).
ToList
();
if
(
NotLookList
.
Any
())
{
//有不可看的
if
(
NotLookList
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Employee
&&
x
.
SourceId
==
userInfo
.
Id
).
Any
())
{
item
.
IsLock
=
1
;
}
if
(
NotLookList
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Post
&&
x
.
SourceId
==
userInfo
.
PostId
).
Any
())
{
item
.
IsLock
=
1
;
}
if
(
NotLookList
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Department
&&
x
.
SourceId
==
userInfo
.
DeptId
).
Any
())
{
item
.
IsLock
=
1
;
}
}
if
(
item
.
IsLock
==
2
)
{
if
(
LookList
.
Any
())
{
if
(
LookList
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Employee
&&
x
.
SourceId
==
userInfo
.
Id
).
Any
()
||
LookList
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Post
&&
x
.
SourceId
==
userInfo
.
PostId
).
Any
()
||
LookList
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Department
&&
x
.
SourceId
==
userInfo
.
DeptId
).
Any
())
{
//OK
}
else
{
item
.
IsLock
=
1
;
}
}
}
}
}
//结果列表
//结果列表
item
.
KeyResultList
=
krList
.
Where
(
x
=>
x
.
ObjectiveId
==
item
.
Id
).
ToList
();
item
.
KeyResultList
=
krList
.
Where
(
x
=>
x
.
ObjectiveId
==
item
.
Id
).
ToList
();
...
@@ -846,81 +924,38 @@ namespace Edu.Module.OKR
...
@@ -846,81 +924,38 @@ namespace Edu.Module.OKR
{
{
item
.
ProgressState
=
item
.
KeyResultList
.
Max
(
x
=>
x
.
ProgressState
);
item
.
ProgressState
=
item
.
KeyResultList
.
Max
(
x
=>
x
.
ProgressState
);
}
}
item
.
IsParent
=
2
;
if
(
sdqList
.
Where
(
x
=>
x
.
ParentId
==
item
.
Id
).
Any
())
{
item
.
IsParent
=
1
;
}
}
}
}
}
return
list
.
Select
(
x
=>
new
list
=
list
.
Where
(
x
=>
x
.
IsLock
==
2
).
ToList
();
return
new
{
{
x
.
Id
,
Status
=
1
,
x
.
Title
,
List
=
list
.
Select
(
x
=>
new
x
.
Sort
,
x
.
Progress
,
x
.
Weight
,
x
.
Score
,
x
.
ProgressRemark
,
x
.
IsDefaultState
,
x
.
ProgressState
,
ProgressStateName
=
x
.
ProgressState
.
ToName
(),
x
.
Status
,
x
.
IsLock
,
x
.
ScoreName
,
x
.
ScoreColor
,
KeyResultList
=
x
.
KeyResultList
.
Select
(
z
=>
new
{
z
.
Id
,
z
.
Name
,
z
.
Sort
,
z
.
Progress
,
z
.
Weight
,
z
.
Score
,
z
.
ProgressState
,
ProgressStateName
=
z
.
ProgressState
.
ToName
(),
z
.
StartValue
,
z
.
EndValue
,
z
.
CurrentValue
,
z
.
IsEasyMode
,
z
.
IsLock
,
z
.
ScoreName
,
z
.
ScoreColor
}),
ParentList
=
x
.
ParentList
.
Select
(
y
=>
new
{
{
y
.
AccountId
,
x
.
Id
,
y
.
AccountName
,
x
.
Title
,
AlignList
=
y
.
AlignList
.
Select
(
q
=>
new
x
.
Sort
,
x
.
Progress
,
x
.
ProgressState
,
ProgressStateName
=
x
.
ProgressState
.
ToName
(),
x
.
IsParent
,
KeyResultList
=
x
.
KeyResultList
.
Where
(
x
=>
x
.
IsLock
==
2
).
Select
(
z
=>
new
{
{
q
.
Id
,
z
.
Id
,
q
.
Title
,
z
.
Name
,
q
.
Sort
,
z
.
Sort
,
q
.
IsLock
,
z
.
Progress
,
KeyResultList
=
x
.
KeyResultList
.
Select
(
z
=>
new
z
.
ProgressState
,
{
ProgressStateName
=
z
.
ProgressState
.
ToName
()
z
.
Id
,
z
.
Name
,
z
.
Sort
,
z
.
IsLock
}),
})
})
}),
})
ChildList
=
x
.
ChildList
.
Select
(
y
=>
new
};
{
y
.
AccountId
,
y
.
AccountName
,
AlignList
=
y
.
AlignList
.
Select
(
q
=>
new
{
q
.
Id
,
q
.
Title
,
q
.
Sort
,
q
.
IsLock
,
KeyResultList
=
x
.
KeyResultList
.
Select
(
z
=>
new
{
z
.
Id
,
z
.
Name
,
z
.
Sort
,
z
.
IsLock
}),
})
}),
});
}
}
/// <summary>
/// <summary>
...
@@ -970,7 +1005,7 @@ namespace Edu.Module.OKR
...
@@ -970,7 +1005,7 @@ namespace Edu.Module.OKR
foreach
(
var
item
in
krList
)
foreach
(
var
item
in
krList
)
{
{
item
.
IsLock
=
2
;
item
.
IsLock
=
2
;
if
(
pkrList
.
Where
(
x
=>
x
.
Objective
Id
==
item
.
Id
).
Any
())
if
(
pkrList
.
Where
(
x
=>
x
.
Target
Id
==
item
.
Id
).
Any
())
{
{
item
.
IsLock
=
1
;
item
.
IsLock
=
1
;
}
}
...
@@ -979,7 +1014,7 @@ namespace Edu.Module.OKR
...
@@ -979,7 +1014,7 @@ namespace Edu.Module.OKR
{
{
item
.
KeyResultList
=
krList
.
Where
(
x
=>
x
.
ObjectiveId
==
item
.
Id
).
ToList
();
item
.
KeyResultList
=
krList
.
Where
(
x
=>
x
.
ObjectiveId
==
item
.
Id
).
ToList
();
item
.
IsLock
=
2
;
item
.
IsLock
=
2
;
if
(
pList
.
Where
(
x
=>
x
.
Objective
Id
==
item
.
Id
).
Any
())
if
(
pList
.
Where
(
x
=>
x
.
Target
Id
==
item
.
Id
).
Any
())
{
{
item
.
IsLock
=
1
;
item
.
IsLock
=
1
;
}
}
...
@@ -988,7 +1023,7 @@ namespace Edu.Module.OKR
...
@@ -988,7 +1023,7 @@ namespace Edu.Module.OKR
{
{
item
.
KeyResultList
=
krList
.
Where
(
x
=>
x
.
ObjectiveId
==
item
.
Id
).
ToList
();
item
.
KeyResultList
=
krList
.
Where
(
x
=>
x
.
ObjectiveId
==
item
.
Id
).
ToList
();
item
.
IsLock
=
2
;
item
.
IsLock
=
2
;
if
(
pList
.
Where
(
x
=>
x
.
Objective
Id
==
item
.
Id
).
Any
())
if
(
pList
.
Where
(
x
=>
x
.
Target
Id
==
item
.
Id
).
Any
())
{
{
item
.
IsLock
=
1
;
item
.
IsLock
=
1
;
}
}
...
@@ -996,7 +1031,7 @@ namespace Edu.Module.OKR
...
@@ -996,7 +1031,7 @@ namespace Edu.Module.OKR
foreach
(
var
item
in
list
)
foreach
(
var
item
in
list
)
{
{
item
.
IsLock
=
2
;
item
.
IsLock
=
2
;
if
(
pList
.
Where
(
x
=>
x
.
Objective
Id
==
item
.
Id
).
Any
())
if
(
pList
.
Where
(
x
=>
x
.
Target
Id
==
item
.
Id
).
Any
())
{
{
item
.
IsLock
=
1
;
item
.
IsLock
=
1
;
}
}
...
@@ -2084,6 +2119,461 @@ namespace Edu.Module.OKR
...
@@ -2084,6 +2119,461 @@ namespace Edu.Module.OKR
}
}
return
ApiResult
.
Failed
();
return
ApiResult
.
Failed
();
}
}
/// <summary>
/// 设置对齐
/// </summary>
/// <param name="objectiveId"></param>
/// <param name="parentId"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public
string
SetOKRMyObjectiveParent
(
int
objectiveId
,
int
parentId
,
UserInfo
userInfo
)
{
var
vlist
=
oKR_ObjectiveRelationRepository
.
GetList
(
new
Model
.
Entity
.
OKR
.
RB_OKR_ObjectiveRelation
()
{
ObjectiveId
=
objectiveId
,
ParentId
=
parentId
});
if
(
vlist
.
Any
())
{
return
"已存在对齐,无法再次对齐"
;
}
var
omodel
=
oKR_ObjectiveRepository
.
GetEntity
(
objectiveId
);
var
pmodel
=
oKR_ObjectiveRepository
.
GetEntity
(
parentId
);
if
(
omodel
==
null
)
{
return
"目标不存在"
;
}
if
(
pmodel
==
null
)
{
return
"对齐目标不存在"
;
}
if
(
pmodel
.
Status
!=
2
)
{
return
"未审核目标,无法对齐"
;
}
//验证是否会出现循环对齐 父级继续向上找, 当前向下找;看是否有交集
int
Id
=
oKR_ObjectiveRelationRepository
.
Insert
(
new
Model
.
Entity
.
OKR
.
RB_OKR_ObjectiveRelation
()
{
Id
=
0
,
ObjectiveId
=
objectiveId
,
ParentId
=
parentId
});
if
(
Id
>
0
)
{
//记录日志
changeLogRepository
.
Insert
(
new
Model
.
Entity
.
Log
.
RB_User_ChangeLog
()
{
Id
=
0
,
Type
=
1
,
CreateBy
=
userInfo
.
Id
,
CreateTime
=
DateTime
.
Now
,
Group_Id
=
userInfo
.
Group_Id
,
LogContent
=
"新增OKR对齐,由【"
+
objectiveId
+
"】向【"
+
parentId
+
"】对齐"
,
School_Id
=
userInfo
.
School_Id
,
SourceId
=
0
});
}
return
Id
>
0
?
""
:
"出错了,请联系管理员"
;
}
/// <summary>
/// 取消对齐
/// </summary>
/// <param name="objectiveId"></param>
/// <param name="parentId"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public
string
SgetOKRMyObjectiveParentCancel
(
int
objectiveId
,
int
parentId
,
UserInfo
userInfo
)
{
var
vlist
=
oKR_ObjectiveRelationRepository
.
GetList
(
new
Model
.
Entity
.
OKR
.
RB_OKR_ObjectiveRelation
()
{
ObjectiveId
=
objectiveId
,
ParentId
=
parentId
});
if
(
vlist
.
Any
())
{
foreach
(
var
item
in
vlist
)
{
oKR_ObjectiveRelationRepository
.
Delete
(
item
);
}
//记录日志
changeLogRepository
.
Insert
(
new
Model
.
Entity
.
Log
.
RB_User_ChangeLog
()
{
Id
=
0
,
Type
=
1
,
CreateBy
=
userInfo
.
Id
,
CreateTime
=
DateTime
.
Now
,
Group_Id
=
userInfo
.
Group_Id
,
LogContent
=
"取消OKR对齐,取消由【"
+
objectiveId
+
"】向【"
+
parentId
+
"】对齐"
,
School_Id
=
userInfo
.
School_Id
,
SourceId
=
0
});
return
""
;
}
else
{
return
""
;
}
}
/// <summary>
/// 获取权限列表
/// </summary>
/// <param name="targetId"></param>
/// <param name="type"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public
List
<
RB_OKR_Permission_ViewModel
>
GetOKRPermissionList
(
int
targetId
,
int
type
,
UserInfo
userInfo
)
{
var
list
=
oKR_PermissionRepository
.
GetList
(
new
RB_OKR_Permission_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
PermissionType
=
type
,
TargetId
=
targetId
,
CreateBy
=
userInfo
.
Id
});
if
(
list
.
Any
())
{
//人员 部门 岗位查询
string
rids
=
string
.
Join
(
","
,
list
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Employee
).
Select
(
x
=>
x
.
SourceId
));
string
bids
=
string
.
Join
(
","
,
list
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Department
).
Select
(
x
=>
x
.
SourceId
));
string
gids
=
string
.
Join
(
","
,
list
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Post
).
Select
(
x
=>
x
.
SourceId
));
var
peopleList
=
new
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>();
if
(!
string
.
IsNullOrEmpty
(
rids
))
{
peopleList
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
QIds
=
rids
});
}
var
departmentList
=
new
List
<
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
>();
if
(!
string
.
IsNullOrEmpty
(
bids
))
{
departmentList
=
departmentRepository
.
GetDepartmentListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Department_ViewModel
()
{
QDeptIds
=
bids
});
}
var
postList
=
new
List
<
Model
.
ViewModel
.
User
.
RB_Post_ViewModel
>();
if
(!
string
.
IsNullOrEmpty
(
gids
))
{
postRepository
.
GetPostListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Post_ViewModel
()
{
QPostIds
=
gids
});
}
foreach
(
var
item
in
list
)
{
if
(
item
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Employee
)
{
item
.
SourceName
=
peopleList
.
Where
(
x
=>
x
.
Id
==
item
.
SourceId
).
FirstOrDefault
()?.
EmployeeName
??
""
;
}
else
if
(
item
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Department
)
{
item
.
SourceName
=
departmentList
.
Where
(
x
=>
x
.
DeptId
==
item
.
SourceId
).
FirstOrDefault
()?.
DeptName
??
""
;
}
else
if
(
item
.
Type
==
Common
.
Enum
.
OKR
.
PermissionTypeEnum
.
Post
)
{
item
.
SourceName
=
postList
.
Where
(
x
=>
x
.
PostId
==
item
.
SourceId
).
FirstOrDefault
()?.
PostName
??
""
;
}
}
}
return
list
;
}
/// <summary>
/// 保存权限
/// </summary>
/// <param name="permissionType"></param>
/// <param name="targetId"></param>
/// <param name="list"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public
string
SgetOKRPermissionInfo
(
int
permissionType
,
int
targetId
,
List
<
RB_OKR_Permission_ViewModel
>
list
,
UserInfo
userInfo
)
{
//查询该用户是否已有该权限
var
plist
=
oKR_PermissionRepository
.
GetList
(
new
RB_OKR_Permission_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
PermissionType
=
permissionType
,
TargetId
=
targetId
,
CreateBy
=
userInfo
.
Id
});
var
trans
=
oKR_PermissionRepository
.
DbTransaction
;
try
{
if
(
list
.
Any
())
{
//没有新增 多的删除
foreach
(
var
item
in
list
)
{
var
model
=
plist
.
Where
(
x
=>
x
.
Type
==
item
.
Type
&&
x
.
SourceId
==
item
.
SourceId
).
FirstOrDefault
();
if
(
model
==
null
)
{
//新增
oKR_PermissionRepository
.
Insert
(
item
);
}
else
if
(
model
.
State
!=
item
.
State
)
{
//修改
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_OKR_Permission_ViewModel
.
State
),
item
.
State
},
{
nameof
(
RB_OKR_Permission_ViewModel
.
UpdateBy
),
userInfo
.
Id
},
{
nameof
(
RB_OKR_Permission_ViewModel
.
UpdateTime
),
DateTime
.
Now
},
};
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
(){
FiledName
=
nameof
(
RB_OKR_Permission_ViewModel
.
Id
),
FiledValue
=
model
.
Id
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
oKR_PermissionRepository
.
Update
(
keyValues
,
wheres
,
trans
);
}
}
foreach
(
var
item
in
plist
)
{
if
(!
list
.
Where
(
x
=>
x
.
Type
==
item
.
Type
&&
x
.
SourceId
==
item
.
SourceId
).
Any
())
{
oKR_PermissionRepository
.
Delete
(
item
,
trans
);
}
}
}
else
{
//删除所有权限
oKR_PermissionRepository
.
DeleteBatch
(
plist
,
trans
);
}
oKR_PermissionRepository
.
DBSession
.
Commit
();
return
""
;
}
catch
(
Exception
ex
)
{
oKR_PermissionRepository
.
DBSession
.
Rollback
();
LogHelper
.
Write
(
ex
,
"SgetOKRPermissionInfo"
);
return
"出错了,请联系管理员"
;
}
}
/// <summary>
/// 获取左边人员列表
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public
object
GetOKRMyEmployeeList
(
UserInfo
userInfo
)
{
var
deptModel
=
departmentRepository
.
GetEntity
(
userInfo
.
DeptId
);
List
<
int
>
UserIdList
=
new
List
<
int
>();
#
region
我的直属上级
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>
ZSList
=
new
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>();
var
accountModel
=
accountRepository
.
GetEntity
(
userInfo
.
Id
);
if
(
accountModel
.
DirectSupervisor
>
0
)
{
var
directModel
=
accountRepository
.
GetEmployeeInfo
(
accountModel
.
DirectSupervisor
);
ZSList
.
Add
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
{
Id
=
directModel
.
Id
,
EmployeeName
=
directModel
.
EmployeeName
,
UserIcon
=
directModel
.
UserIcon
});
UserIdList
.
Add
(
directModel
.
Id
);
}
else
{
//根据部门查询
string
ManagerIds
=
""
;
if
((
","
+
deptModel
.
ManagerIds
+
","
).
Contains
(
","
+
userInfo
.
Id
+
","
))
{
//说明自己是当前部门的主管 再查上级部门主管
var
deptpModel
=
departmentRepository
.
GetEntity
(
deptModel
.
ParentId
);
ManagerIds
=
deptpModel
?.
ManagerIds
??
""
;
}
else
{
ManagerIds
=
deptModel
.
ManagerIds
;
}
if
(!
string
.
IsNullOrEmpty
(
ManagerIds
))
{
var
list
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
QIds
=
ManagerIds
});
foreach
(
var
item
in
list
)
{
ZSList
.
Add
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Id
=
item
.
Id
,
EmployeeName
=
item
.
EmployeeName
,
UserIcon
=
item
.
UserIcon
});
UserIdList
.
Add
(
item
.
Id
);
}
}
}
#
endregion
#
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
});
if
(
emList
.
Any
())
{
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
);
}
}
//如果是部门主管 需要将部门下除自己其他人加入
if
((
","
+
deptModel
.
ManagerIds
+
","
).
Contains
(
","
+
userInfo
.
Id
+
","
))
{
//查询该部门下所有人
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
Dept_Id
=
userInfo
.
DeptId
});
em1List
=
em1List
.
Where
(
x
=>
!
emList
.
Select
(
y
=>
y
.
Id
).
Contains
(
x
.
Id
)).
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
#
region
我的同级
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>
SiblingList
=
new
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>();
if
(
accountModel
.
DirectSupervisor
>
0
)
{
var
em2List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
DirectSupervisor
=
accountModel
.
DirectSupervisor
});
em2List
=
em2List
.
Where
(
x
=>
x
.
Id
!=
userInfo
.
Id
).
ToList
();
foreach
(
var
item
in
em2List
)
{
SiblingList
.
Add
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Id
=
item
.
Id
,
EmployeeName
=
item
.
EmployeeName
,
UserIcon
=
item
.
UserIcon
});
UserIdList
.
Add
(
item
.
Id
);
}
}
//继续查询同部门的 也算同级
if
(!(
","
+
deptModel
.
ManagerIds
+
","
).
Contains
(
","
+
userInfo
.
Id
+
","
))
{
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
Dept_Id
=
userInfo
.
DeptId
});
em1List
=
em1List
.
Where
(
x
=>
!
emList
.
Select
(
y
=>
y
.
Id
).
Contains
(
x
.
Id
)
&&
x
.
Id
!=
userInfo
.
Id
).
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
#
region
我的关注
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>
AttentionList
=
new
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>();
var
alist
=
oKR_AttentionRepository
.
GetList
(
new
RB_OKR_Attention_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
AccountId
=
userInfo
.
Id
});
string
aids
=
string
.
Join
(
","
,
alist
.
Select
(
x
=>
x
.
AttentionId
));
var
em3List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
QIds
=
aids
});
foreach
(
var
item
in
em3List
)
{
AttentionList
.
Add
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Id
=
item
.
Id
,
EmployeeName
=
item
.
EmployeeName
,
UserIcon
=
item
.
UserIcon
});
UserIdList
.
Add
(
item
.
Id
);
}
#
endregion
//还差了个 是否有最新消息返回------------------------------------------------------
if
(
UserIdList
.
Any
())
{
var
list
=
oKR_UpdateNotificationRepository
.
GetList
(
new
RB_OKR_UpdateNotification_ViewModel
()
{
ReceiveId
=
userInfo
.
Id
,
UpdateByIds
=
string
.
Join
(
","
,
UserIdList
),
State
=
2
});
var
UserUpdateList
=
list
.
Select
(
x
=>
x
.
UpdateBy
).
ToList
();
ZSList
.
Where
(
x
=>
UserUpdateList
.
Contains
(
x
.
Id
)).
ToList
().
ForEach
(
x
=>
{
x
.
IsBirth
=
1
;
});
ChildList
.
Where
(
x
=>
UserUpdateList
.
Contains
(
x
.
Id
)).
ToList
().
ForEach
(
x
=>
{
x
.
IsBirth
=
1
;
});
SiblingList
.
Where
(
x
=>
UserUpdateList
.
Contains
(
x
.
Id
)).
ToList
().
ForEach
(
x
=>
{
x
.
IsBirth
=
1
;
});
AttentionList
.
Where
(
x
=>
UserUpdateList
.
Contains
(
x
.
Id
)).
ToList
().
ForEach
(
x
=>
{
x
.
IsBirth
=
1
;
});
}
return
new
{
ParentList
=
ZSList
.
Select
(
x
=>
new
{
x
.
Id
,
x
.
EmployeeName
,
x
.
UserIcon
,
IsHaveUpdate
=
x
.
IsBirth
}),
ChildList
=
ChildList
.
Select
(
x
=>
new
{
x
.
Id
,
x
.
EmployeeName
,
x
.
UserIcon
,
IsHaveUpdate
=
x
.
IsBirth
}),
SiblingList
=
SiblingList
.
Select
(
x
=>
new
{
x
.
Id
,
x
.
EmployeeName
,
x
.
UserIcon
,
IsHaveUpdate
=
x
.
IsBirth
}),
AttentionList
=
AttentionList
.
Select
(
x
=>
new
{
x
.
Id
,
x
.
EmployeeName
,
x
.
UserIcon
,
IsHaveUpdate
=
x
.
IsBirth
})
};
}
/// <summary>
/// 获取我的审核人员列表
/// </summary>
/// <param name="periodId"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public
object
GetOKRMyEmployeeAuditList
(
int
periodId
,
UserInfo
userInfo
)
{
var
deptModel
=
departmentRepository
.
GetEntity
(
userInfo
.
DeptId
);
#
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
);
}
}
//如果是部门主管 需要将部门下除自己其他人加入
if
((
","
+
deptModel
.
ManagerIds
+
","
).
Contains
(
","
+
userInfo
.
Id
+
","
))
{
//查询该部门下所有人
var
em1List
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
userInfo
.
Group_Id
,
Dept_Id
=
userInfo
.
DeptId
});
em1List
=
em1List
.
Where
(
x
=>
!
emList
.
Select
(
y
=>
y
.
Id
).
Contains
(
x
.
Id
)).
ToList
();
//排序 已存在的直接关系
foreach
(
var
item
in
em1List
)
{
ChildIdList
.
Add
(
item
.
Id
);
}
}
#
endregion
#
region
我的审批
List
<
object
>
AuditList
=
new
List
<
object
>();
//直接拿直属下级 待审核的
if
(
ChildIdList
.
Any
())
{
var
list
=
oKR_ObjectiveRepository
.
GetOKRMyEmployeeAuditList
(
userInfo
.
Group_Id
,
periodId
,
string
.
Join
(
","
,
ChildIdList
));
string
emIds
=
string
.
Join
(
","
,
list
.
Select
(
x
=>
x
.
CreateBy
));
var
emlist
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
QIds
=
emIds
});
foreach
(
var
item
in
emlist
)
{
AuditList
.
Add
(
new
{
item
.
Id
,
item
.
EmployeeName
,
item
.
UserIcon
});
}
}
#
endregion
return
AuditList
;
}
/// <summary>
/// 获取我的对齐
/// </summary>
/// <param name="periodId"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public
object
GetOKRMyEmployeeAlignList
(
int
periodId
,
UserInfo
userInfo
)
{
//查询当期目标所有对齐 , 对齐目标的所有用户
List
<
object
>
AlignList
=
new
List
<
object
>();
var
list
=
oKR_ObjectiveRepository
.
GetOKRMyEmployeeAlignList
(
userInfo
.
Group_Id
,
periodId
,
userInfo
.
Id
);
string
emIds
=
string
.
Join
(
","
,
list
.
Select
(
x
=>
x
.
CreateBy
));
var
unlist
=
oKR_UpdateNotificationRepository
.
GetList
(
new
RB_OKR_UpdateNotification_ViewModel
()
{
ReceiveId
=
userInfo
.
Id
,
UpdateByIds
=
emIds
,
State
=
2
});
var
UserUpdateList
=
list
.
Select
(
x
=>
x
.
UpdateBy
).
ToList
();
var
emlist
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
QIds
=
emIds
});
foreach
(
var
item
in
emlist
)
{
AlignList
.
Add
(
new
{
item
.
Id
,
item
.
EmployeeName
,
item
.
UserIcon
,
IsHaveUpdate
=
unlist
.
Where
(
x
=>
x
.
UpdateBy
==
item
.
Id
).
Any
()
?
1
:
0
});
}
return
AlignList
;
}
#
endregion
#
endregion
}
}
...
...
Edu.Repository/OKR/RB_OKR_AttentionRepository.cs
0 → 100644
View file @
a6b7e41d
using
Edu.Common.Enum
;
using
Edu.Model.Entity.OKR
;
using
Edu.Model.ViewModel.OKR
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
VT.FW.DB.Dapper
;
namespace
Edu.Repository.OKR
{
/// <summary>
/// OKR关注仓储层
/// </summary>
public
class
RB_OKR_AttentionRepository
:
BaseRepository
<
RB_OKR_Attention
>
{
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="demodel"></param>
/// <returns></returns>
//public List<RB_OKR_Comment_ViewModel> GetPageList(int pageIndex, int pageSize, out long rowsCount, RB_OKR_Comment_ViewModel demodel)
//{
// string where = $@" 1=1 and State <> 3";
// if (demodel.Group_Id > 0)
// {
// where += $@" and {nameof(RB_OKR_Comment_ViewModel.Group_Id)} ={demodel.Group_Id}";
// }
// if (demodel.PeriodId > 0)
// {
// where += $@" and {nameof(RB_OKR_Comment_ViewModel.PeriodId)} ={demodel.PeriodId}";
// }
// if (demodel.State > 0)
// {
// where += $@" and {nameof(RB_OKR_Comment_ViewModel.State)} ={demodel.State}";
// }
// string sql = $@" select * from RB_OKR_Comment where {where} order by Id desc";
// return GetPage<RB_OKR_Comment_ViewModel>(pageIndex, pageSize, out rowsCount, sql).ToList();
//}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public
List
<
RB_OKR_Attention_ViewModel
>
GetList
(
RB_OKR_Attention_ViewModel
demodel
)
{
string
where
=
$@" 1=1 and Status =0"
;
if
(
demodel
.
Group_Id
>
0
)
{
where
+=
$@" and
{
nameof
(
RB_OKR_Attention_ViewModel
.
Group_Id
)}
=
{
demodel
.
Group_Id
}
"
;
}
if
(
demodel
.
AccountId
>
0
)
{
where
+=
$@" and
{
nameof
(
RB_OKR_Attention_ViewModel
.
AccountId
)}
=
{
demodel
.
AccountId
}
"
;
}
if
(
demodel
.
AttentionId
>
0
)
{
where
+=
$@" and
{
nameof
(
RB_OKR_Attention_ViewModel
.
AttentionId
)}
=
{
demodel
.
AttentionId
}
"
;
}
string
sql
=
$@" select * from RB_OKR_Attention where
{
where
}
order by Id desc"
;
return
Get
<
RB_OKR_Attention_ViewModel
>(
sql
).
ToList
();
}
}
}
Edu.Repository/OKR/RB_OKR_ObjectiveRelationRepository.cs
0 → 100644
View file @
a6b7e41d
using
Edu.Common.Enum
;
using
Edu.Model.Entity.OKR
;
using
Edu.Model.ViewModel.OKR
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
VT.FW.DB.Dapper
;
namespace
Edu.Repository.OKR
{
/// <summary>
/// OKR对齐仓储层
/// </summary>
public
class
RB_OKR_ObjectiveRelationRepository
:
BaseRepository
<
RB_OKR_ObjectiveRelation
>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public
List
<
RB_OKR_ObjectiveRelation
>
GetList
(
RB_OKR_ObjectiveRelation
demodel
)
{
string
where
=
$@" 1=1 and State <> 3"
;
if
(
demodel
.
ObjectiveId
>
0
)
{
where
+=
$@" and
{
nameof
(
RB_OKR_ObjectiveRelation
.
ObjectiveId
)}
=
{
demodel
.
ObjectiveId
}
"
;
}
if
(
demodel
.
ParentId
>
0
)
{
where
+=
$@" and
{
nameof
(
RB_OKR_ObjectiveRelation
.
ParentId
)}
=
{
demodel
.
ParentId
}
"
;
}
string
sql
=
$@" select * from RB_OKR_ObjectiveRelation where
{
where
}
order by Id desc"
;
return
Get
<
RB_OKR_ObjectiveRelation
>(
sql
).
ToList
();
}
}
}
Edu.Repository/OKR/RB_OKR_ObjectiveRepository.cs
View file @
a6b7e41d
...
@@ -193,5 +193,34 @@ where {where} order by o.Id desc";
...
@@ -193,5 +193,34 @@ where {where} order by o.Id desc";
}
}
return
Execute
(
sql
)
>
0
;
return
Execute
(
sql
)
>
0
;
}
}
/// <summary>
/// 获取待审核的目标人员
/// </summary>
/// <param name="group_Id"></param>
/// <param name="periodId"></param>
/// <param name="v"></param>
/// <returns></returns>
public
List
<
RB_OKR_Objective_ViewModel
>
GetOKRMyEmployeeAuditList
(
int
group_Id
,
int
periodId
,
string
v
)
{
string
sql
=
$@" select CreateBy from RB_OKR_Objective WHERE Group_Id=
{
group_Id
}
and `Status` =1 and PeriodId =
{
periodId
}
and CreateBy in (
{
v
}
) GROUP BY CreateBy"
;
return
Get
<
RB_OKR_Objective_ViewModel
>(
sql
).
ToList
();
}
/// <summary>
/// 获取我的对齐人员
/// </summary>
/// <param name="group_Id"></param>
/// <param name="periodId"></param>
/// <param name="id"></param>
/// <returns></returns>
public
List
<
RB_OKR_Objective_ViewModel
>
GetOKRMyEmployeeAlignList
(
int
group_Id
,
int
periodId
,
int
id
)
{
string
sql
=
$@"select o2.CreateBy from RB_OKR_Objective o1
LEFT JOIN rb_okr_objectiverelation re on o1.Id = re.ObjectiveId
LEFT JOIN RB_OKR_Objective o2 on re.ParentId = o2.Id
WHERE o1.Group_Id=
{
group_Id
}
and o1.`Status` <>5 and o2.`Status` <>5 and o1.PeriodId =
{
periodId
}
and o1.CreateBy in (
{
id
}
) GROUP BY o2.CreateBy"
;
return
Get
<
RB_OKR_Objective_ViewModel
>(
sql
).
ToList
();
}
}
}
}
}
Edu.Repository/OKR/RB_OKR_PermissionRepository.cs
View file @
a6b7e41d
...
@@ -33,9 +33,9 @@ namespace Edu.Repository.OKR
...
@@ -33,9 +33,9 @@ namespace Edu.Repository.OKR
{
{
where
+=
$@" and
{
nameof
(
RB_OKR_Permission_ViewModel
.
PermissionType
)}
=
{
demodel
.
PermissionType
}
"
;
where
+=
$@" and
{
nameof
(
RB_OKR_Permission_ViewModel
.
PermissionType
)}
=
{
demodel
.
PermissionType
}
"
;
}
}
if
(
demodel
.
Objective
Id
>
0
)
if
(
demodel
.
Target
Id
>
0
)
{
{
where
+=
$@" and
{
nameof
(
RB_OKR_Permission_ViewModel
.
ObjectiveId
)}
=
{
demodel
.
Objective
Id
}
"
;
where
+=
$@" and
{
nameof
(
RB_OKR_Permission_ViewModel
.
TargetId
)}
=
{
demodel
.
Target
Id
}
"
;
}
}
if
(
demodel
.
Type
>
0
)
if
(
demodel
.
Type
>
0
)
{
{
...
@@ -70,13 +70,13 @@ namespace Edu.Repository.OKR
...
@@ -70,13 +70,13 @@ namespace Edu.Repository.OKR
{
{
where
+=
$@" and
{
nameof
(
RB_OKR_Permission_ViewModel
.
PermissionType
)}
=
{
demodel
.
PermissionType
}
"
;
where
+=
$@" and
{
nameof
(
RB_OKR_Permission_ViewModel
.
PermissionType
)}
=
{
demodel
.
PermissionType
}
"
;
}
}
if
(
demodel
.
Objective
Id
>
0
)
if
(
demodel
.
Target
Id
>
0
)
{
{
where
+=
$@" and
{
nameof
(
RB_OKR_Permission_ViewModel
.
ObjectiveId
)}
=
{
demodel
.
Objective
Id
}
"
;
where
+=
$@" and
{
nameof
(
RB_OKR_Permission_ViewModel
.
TargetId
)}
=
{
demodel
.
Target
Id
}
"
;
}
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
ObjectiveIds
))
if
(!
string
.
IsNullOrEmpty
(
demodel
.
ObjectiveIds
))
{
{
where
+=
$@" and
{
nameof
(
RB_OKR_Permission_ViewModel
.
Objective
Id
)}
in(
{
demodel
.
ObjectiveIds
}
)"
;
where
+=
$@" and
{
nameof
(
RB_OKR_Permission_ViewModel
.
Target
Id
)}
in(
{
demodel
.
ObjectiveIds
}
)"
;
}
}
if
(
demodel
.
Type
>
0
)
if
(
demodel
.
Type
>
0
)
{
{
...
...
Edu.Repository/OKR/RB_OKR_UpdateNotificationRepository.cs
0 → 100644
View file @
a6b7e41d
using
Edu.Common.Enum
;
using
Edu.Model.Entity.OKR
;
using
Edu.Model.ViewModel.OKR
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
VT.FW.DB.Dapper
;
namespace
Edu.Repository.OKR
{
/// <summary>
/// OKR更新通知仓储层
/// </summary>
public
class
RB_OKR_UpdateNotificationRepository
:
BaseRepository
<
RB_OKR_UpdateNotification
>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public
List
<
RB_OKR_UpdateNotification_ViewModel
>
GetList
(
RB_OKR_UpdateNotification_ViewModel
demodel
)
{
string
where
=
$@" 1=1 and Status =0"
;
if
(
demodel
.
Group_Id
>
0
)
{
where
+=
$@" and
{
nameof
(
RB_OKR_UpdateNotification_ViewModel
.
Group_Id
)}
=
{
demodel
.
Group_Id
}
"
;
}
if
(
demodel
.
ReceiveId
>
0
)
{
where
+=
$@" and
{
nameof
(
RB_OKR_UpdateNotification_ViewModel
.
ReceiveId
)}
=
{
demodel
.
ReceiveId
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
ReceiveIds
))
{
where
+=
$@" and
{
nameof
(
RB_OKR_UpdateNotification_ViewModel
.
ReceiveId
)}
in(
{
demodel
.
ReceiveIds
}
)"
;
}
if
(
demodel
.
UpdateBy
>
0
)
{
where
+=
$@" and
{
nameof
(
RB_OKR_UpdateNotification_ViewModel
.
UpdateBy
)}
=
{
demodel
.
UpdateBy
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
UpdateByIds
))
{
where
+=
$@" and
{
nameof
(
RB_OKR_UpdateNotification_ViewModel
.
UpdateBy
)}
in(
{
demodel
.
UpdateByIds
}
)"
;
}
if
(
demodel
.
State
>
0
)
{
where
+=
$@" and
{
nameof
(
RB_OKR_UpdateNotification_ViewModel
.
State
)}
=
{
demodel
.
State
}
"
;
}
string
sql
=
$@" select * from RB_OKR_UpdateNotification where
{
where
}
order by Id desc"
;
return
Get
<
RB_OKR_UpdateNotification_ViewModel
>(
sql
).
ToList
();
}
}
}
Edu.Repository/User/RB_AccountRepository.cs
View file @
a6b7e41d
...
@@ -229,6 +229,10 @@ WHERE 1=1 {1}
...
@@ -229,6 +229,10 @@ WHERE 1=1 {1}
{
{
where
.
AppendFormat
(
" AND A.{0}='{1}' "
,
nameof
(
Employee_ViewModel
.
Account
),
query
.
Account
.
Trim
());
where
.
AppendFormat
(
" AND A.{0}='{1}' "
,
nameof
(
Employee_ViewModel
.
Account
),
query
.
Account
.
Trim
());
}
}
if
(
query
.
DirectSupervisor
>
0
)
{
where
.
AppendFormat
(
" AND A.{0} ={1} "
,
nameof
(
Employee_ViewModel
.
Id
),
query
.
DirectSupervisor
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
QIds
))
if
(!
string
.
IsNullOrEmpty
(
query
.
QIds
))
{
{
where
.
AppendFormat
(
" AND A.{0} IN({1}) "
,
nameof
(
Employee_ViewModel
.
Id
),
query
.
QIds
);
where
.
AppendFormat
(
" AND A.{0} IN({1}) "
,
nameof
(
Employee_ViewModel
.
Id
),
query
.
QIds
);
...
...
Edu.WebApi/Controllers/OKR/OKRPeriodController.cs
View file @
a6b7e41d
...
@@ -661,10 +661,243 @@ namespace Edu.WebApi.Controllers.OKR
...
@@ -661,10 +661,243 @@ namespace Edu.WebApi.Controllers.OKR
/// <returns></returns>
/// <returns></returns>
[
HttpPost
]
[
HttpPost
]
public
ApiResult
SgetOKRMyObjectiveParent
()
{
public
ApiResult
SgetOKRMyObjectiveParent
()
{
var
userInfo
=
base
.
UserInfo
;
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
ObjectiveId
=
parms
.
GetInt
(
"ObjectiveId"
,
0
);
int
ParentId
=
parms
.
GetInt
(
"ParentId"
,
0
);
if
(
ParentId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递对齐目标id"
);
}
if
(
ObjectiveId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递当前目标id"
);
}
if
(
ObjectiveId
==
ParentId
)
{
return
ApiResult
.
ParamIsNull
();
}
string
msg
=
okrPeriodModule
.
SetOKRMyObjectiveParent
(
ObjectiveId
,
ParentId
,
userInfo
);
if
(
msg
==
""
)
{
return
ApiResult
.
Success
();
}
else
{
return
ApiResult
.
Failed
(
msg
);
}
}
/// <summary>
/// 取消对齐
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SgetOKRMyObjectiveParentCancel
()
{
var
userInfo
=
base
.
UserInfo
;
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
ObjectiveId
=
parms
.
GetInt
(
"ObjectiveId"
,
0
);
int
ParentId
=
parms
.
GetInt
(
"ParentId"
,
0
);
if
(
ParentId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递对齐目标id"
);
}
if
(
ObjectiveId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递当前目标id"
);
}
string
msg
=
okrPeriodModule
.
SgetOKRMyObjectiveParentCancel
(
ObjectiveId
,
ParentId
,
userInfo
);
if
(
msg
==
""
)
{
return
ApiResult
.
Success
();
}
else
{
return
ApiResult
.
Failed
(
msg
);
}
}
/// <summary>
/// 获取他人的目标列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetOKROthersObjectiveDropList
()
{
var
userInfo
=
base
.
UserInfo
;
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
PeriodId
=
parms
.
GetInt
(
"PeriodId"
,
0
);
//周期id
int
UserId
=
parms
.
GetInt
(
"UserId"
,
0
);
//他人id
int
ObjectiveId
=
parms
.
GetInt
(
"ObjectiveId"
,
0
);
//当前目标
if
(
PeriodId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递周期id"
);
}
if
(
UserId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递用户id"
);
}
if
(
ObjectiveId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递当前目标id"
);
}
if
(
UserId
==
userInfo
.
Id
)
{
return
ApiResult
.
Failed
(
"只能对齐他人目标"
);
}
var
list
=
okrPeriodModule
.
GetOKROthersObjectiveDropList
(
PeriodId
,
ObjectiveId
,
UserId
,
userInfo
);
return
ApiResult
.
Success
(
""
,
list
);
}
#
endregion
#
region
权限控制
/// <summary>
/// 获取权限控制列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetOKRPermissionList
()
{
var
userInfo
=
base
.
UserInfo
;
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
TargetId
=
parms
.
GetInt
(
"TargetId"
,
0
);
int
Type
=
parms
.
GetInt
(
"Type"
,
0
);
// 1周期 2目标 3关键结果
if
(
TargetId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递当前目标id"
);
}
var
list
=
okrPeriodModule
.
GetOKRPermissionList
(
TargetId
,
Type
,
userInfo
);
return
ApiResult
.
Success
(
""
,
list
.
Select
(
x
=>
new
{
x
.
Id
,
x
.
PermissionType
,
x
.
TargetId
,
x
.
Type
,
TypeName
=
x
.
Type
.
ToName
(),
x
.
SourceId
,
x
.
SourceName
,
x
.
State
}));
}
/// <summary>
/// 设置权限
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SgetOKRPermissionInfo
()
{
var
userInfo
=
base
.
UserInfo
;
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
PermissionType
=
parms
.
GetInt
(
"PermissionType"
,
0
);
int
TargetId
=
parms
.
GetInt
(
"TargetId"
,
0
);
string
List
=
parms
.
GetStringValue
(
"List"
);
if
(
PermissionType
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递权限类型"
);
}
if
(
TargetId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递目标值"
);
}
if
(
string
.
IsNullOrEmpty
(
List
))
{
return
ApiResult
.
ParamIsNull
(
"请传递列表数据"
);
}
List
<
RB_OKR_Permission_ViewModel
>
dmodel
=
JsonHelper
.
DeserializeObject
<
List
<
RB_OKR_Permission_ViewModel
>>(
List
);
foreach
(
var
item
in
dmodel
)
{
item
.
PermissionType
=
PermissionType
;
item
.
TargetId
=
TargetId
;
if
(
item
.
Type
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递类型"
);
}
if
(
item
.
SourceId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递来源id"
);
}
if
(
item
.
State
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递查看状态"
);
}
item
.
Group_Id
=
userInfo
.
Group_Id
;
item
.
School_Id
=
userInfo
.
School_Id
;
item
.
CreateBy
=
userInfo
.
Id
;
item
.
CreateTime
=
DateTime
.
Now
;
item
.
UpdateBy
=
userInfo
.
Id
;
item
.
UpdateTime
=
DateTime
.
Now
;
}
string
msg
=
okrPeriodModule
.
SgetOKRPermissionInfo
(
PermissionType
,
TargetId
,
dmodel
,
userInfo
);
if
(
msg
==
""
)
{
return
ApiResult
.
Success
();
}
else
{
return
ApiResult
.
Failed
(
msg
);
}
}
#
endregion
#
region
左边人员列表
/// <summary>
/// 获取我的人员列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetOKRMyEmployeeList
()
{
var
userInfo
=
base
.
UserInfo
;
var
obj
=
okrPeriodModule
.
GetOKRMyEmployeeList
(
userInfo
);
return
ApiResult
.
Success
(
""
,
obj
);
}
/// <summary>
/// 获取我的对齐人员列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetOKRMyEmployeeAlignList
()
{
var
userInfo
=
base
.
UserInfo
;
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
PeriodId
=
parms
.
GetInt
(
"PeriodId"
,
0
);
if
(
PeriodId
<=
0
)
{
return
ApiResult
.
ParamIsNull
();
}
var
obj
=
okrPeriodModule
.
GetOKRMyEmployeeAlignList
(
PeriodId
,
userInfo
);
return
ApiResult
.
Success
(
""
,
obj
);
}
/// <summary>
/// 获取我的审核人员列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetOKRMyEmployeeAuditList
()
{
var
userInfo
=
base
.
UserInfo
;
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
PeriodId
=
parms
.
GetInt
(
"PeriodId"
,
0
);
if
(
PeriodId
<=
0
)
{
return
ApiResult
.
ParamIsNull
();
}
return
ApiResult
.
Success
();
var
obj
=
okrPeriodModule
.
GetOKRMyEmployeeAuditList
(
PeriodId
,
userInfo
);
return
ApiResult
.
Success
(
""
,
obj
);
}
}
#
endregion
#
region
他人目标
/// <summary>
/// <summary>
/// 获取他人的目标列表
/// 获取他人的目标列表
/// </summary>
/// </summary>
...
@@ -684,9 +917,21 @@ namespace Edu.WebApi.Controllers.OKR
...
@@ -684,9 +917,21 @@ namespace Edu.WebApi.Controllers.OKR
{
{
return
ApiResult
.
ParamIsNull
(
"请传递用户id"
);
return
ApiResult
.
ParamIsNull
(
"请传递用户id"
);
}
}
if
(
UserId
==
userInfo
.
Id
)
{
return
ApiResult
.
Failed
(
"只能查看他人目标"
);
}
var
list
=
okrPeriodModule
.
GetOKROthersObjectiveList
(
PeriodId
,
UserId
,
userInfo
);
var
list
=
okrPeriodModule
.
GetOKROthersObjectiveList
(
PeriodId
,
UserId
,
userInfo
);
return
ApiResult
.
Success
(
""
,
list
);
return
ApiResult
.
Success
(
""
,
list
);
}
}
#
endregion
#
region
评论
+
关注
#
endregion
#
endregion
#
endregion
#
endregion
}
}
...
...
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