切换导航条
此项目
正在载入...
登录
allied-creation
/
performance
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
郑周
2 years ago
提交
414bf7acc2f600a14170471ee563781efb5aa59d
1 个父辈
23e795ed
master
...
dev-pushdata
dev-tangxvhui
dev-zhengzhou
test
v1.3.2-fix
v1.4.0
v2.2.0-fix
v2.2.0
v2.0.0
v1.3.2
v1.3.2-fix
v1.3.1
v1.3.0
1. 超级管理员可以重新编辑 上级评估提交流程
隐藏空白字符变更
内嵌
并排对比
正在显示
4 个修改的文件
包含
202 行增加
和
17 行删除
pkg/application/summary_evaluation/command/edit_evaluation_value.go
pkg/application/summary_evaluation/command/get_evaluation.go
pkg/application/summary_evaluation/service/service.go
pkg/port/beego/controllers/summary_evaluation_controller.go
pkg/application/summary_evaluation/command/edit_evaluation_value.go
查看文件 @
414bf7a
...
...
@@ -5,7 +5,8 @@ type EditEvaluationValue struct {
ExecutorId
int
`json:"-"`
// 执行人id
CompanyId
int
`json:"-"`
// 公司id
EvaluationItems
[]
UpdatedItemValue
`json:"evaluationItems"`
IsTemporary
bool
`json:"isTemporary"`
//是否是临时提交
IsTemporary
bool
`json:"isTemporary"`
// 是否是临时提交
Advanced
int
`json:"advanced"`
}
type
UpdatedItemValue
struct
{
...
...
pkg/application/summary_evaluation/command/get_evaluation.go
查看文件 @
414bf7a
...
...
@@ -43,4 +43,6 @@ type QueryEvaluationHRBP struct {
type
QueryEvaluationSuper
struct
{
SummaryEvaluationId
int
`json:"summaryEvaluationId,string"`
CompanyId
int
`json:"-"`
UserId
int
`json:"-"`
Advanced
int
`json:"advanced"`
}
...
...
pkg/application/summary_evaluation/service/service.go
查看文件 @
414bf7a
...
...
@@ -1091,6 +1091,79 @@ func (srv *SummaryEvaluationService) GetEvaluationSuper(param *command.QueryEval
return
&
result
,
nil
}
// GetEvaluationSuperForAdmin 根据执行人获取上级评估详情(超级管理员特殊处理)
func
(
srv
*
SummaryEvaluationService
)
GetEvaluationSuperForAdmin
(
param
*
command
.
QueryEvaluationSuper
)
(
*
adapter
.
EvaluationInfoSuperAdapter
,
error
)
{
transactionContext
,
err
:=
factory
.
StartTransaction
()
if
err
!=
nil
{
return
nil
,
err
}
defer
func
()
{
_
=
transactionContext
.
RollbackTransaction
()
}()
// 只有超级管理员可以使用的功能
superAdmin
,
err
:=
roleService
.
GetSuperAdmin
(
transactionContext
,
param
.
CompanyId
,
param
.
UserId
)
if
err
!=
nil
{
return
nil
,
err
}
if
superAdmin
!=
domain
.
RoleTypeSuperAdmin
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
"没有操作权限"
)
}
evaluationRepo
:=
factory
.
CreateSummaryEvaluationRepository
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
})
evaluationItemRepo
:=
factory
.
CreateEvaluationItemUsedRepository
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
})
itemValueRepo
:=
factory
.
CreateSummaryEvaluationValueRepository
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
})
evaluationData
,
err
:=
evaluationRepo
.
FindOne
(
map
[
string
]
interface
{}{
"id"
:
param
.
SummaryEvaluationId
})
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
if
evaluationData
.
CompanyId
!=
param
.
CompanyId
{
return
nil
,
application
.
ThrowError
(
application
.
BUSINESS_ERROR
,
"没有操作权限"
)
}
_
,
itemList
,
err
:=
evaluationItemRepo
.
Find
(
map
[
string
]
interface
{}{
"evaluationProjectId"
:
evaluationData
.
EvaluationProjectId
,
"nodeType"
:
domain
.
LinkNodeSelfAssessment
})
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
// 获取已填写的评估内容
_
,
itemValues
,
err
:=
itemValueRepo
.
Find
(
map
[
string
]
interface
{}{
"summaryEvaluationId"
:
evaluationData
.
Id
})
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
if
len
(
itemValues
)
==
0
{
// 上级还未填写评估,获取 360 ,人资评估
_
,
evaluationListOther
,
err
:=
evaluationRepo
.
Find
(
map
[
string
]
interface
{}{
"typesList"
:
[]
int
{
int
(
domain
.
Evaluation360
),
int
(
domain
.
EvaluationHrbp
)},
"targetUserId"
:
evaluationData
.
TargetUser
.
UserId
,
"cycleId"
:
evaluationData
.
CycleId
,
})
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
var
evaluationIds
[]
int
for
_
,
v
:=
range
evaluationListOther
{
evaluationIds
=
append
(
evaluationIds
,
v
.
Id
)
}
if
len
(
evaluationIds
)
>
0
{
_
,
itemValues
,
err
=
itemValueRepo
.
Find
(
map
[
string
]
interface
{}{
"summaryEvaluationIdList"
:
evaluationIds
})
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
}
}
evaluationBase
:=
srv
.
getSummaryEvaluation
(
transactionContext
,
evaluationData
)
if
err
:=
transactionContext
.
CommitTransaction
();
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
//组合 评估填写的值和评估项
itemValuesAdapter
:=
srv
.
buildSummaryItemValue
(
itemList
,
itemValues
)
result
:=
adapter
.
EvaluationInfoSuperAdapter
{
EvaluationBaseAdapter
:
evaluationBase
,
EvaluationItems
:
itemValuesAdapter
,
}
return
&
result
,
nil
}
// EditEvaluationSuper 更新上级评估内容
func
(
srv
*
SummaryEvaluationService
)
EditEvaluationSuper
(
param
*
command
.
EditEvaluationValue
)
(
interface
{},
error
)
{
lock
:=
xredis
.
NewLockSummaryEvaluationId
(
param
.
SummaryEvaluationId
)
...
...
@@ -1196,6 +1269,82 @@ func (srv *SummaryEvaluationService) EditEvaluationSuper(param *command.EditEval
},
nil
}
// EditEvaluationSuperForAdmin 更新上级评估内容(超级管理员)
func
(
srv
*
SummaryEvaluationService
)
EditEvaluationSuperForAdmin
(
param
*
command
.
EditEvaluationValue
)
(
interface
{},
error
)
{
lock
:=
xredis
.
NewLockSummaryEvaluationId
(
param
.
SummaryEvaluationId
)
err
:=
lock
.
Lock
()
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
"未能完全提交评估内容"
)
}
defer
func
()
{
lock
.
UnLock
()
}()
transactionContext
,
err
:=
factory
.
StartTransaction
()
if
err
!=
nil
{
return
nil
,
err
}
defer
func
()
{
_
=
transactionContext
.
RollbackTransaction
()
}()
// 只有超级管理员可以使用的功能
superAdmin
,
err
:=
roleService
.
GetSuperAdmin
(
transactionContext
,
param
.
CompanyId
,
param
.
ExecutorId
)
if
err
!=
nil
{
return
nil
,
err
}
if
superAdmin
!=
domain
.
RoleTypeSuperAdmin
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
"没有操作权限"
)
}
evaluationRepo
:=
factory
.
CreateSummaryEvaluationRepository
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
})
itemUsedRepo
:=
factory
.
CreateEvaluationItemUsedRepository
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
})
itemValueRepo
:=
factory
.
CreateSummaryEvaluationValueRepository
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
})
evaluationData
,
err
:=
evaluationRepo
.
FindOne
(
map
[
string
]
interface
{}{
"id"
:
param
.
SummaryEvaluationId
})
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
if
evaluationData
.
CompanyId
!=
param
.
CompanyId
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
"没有操作权限"
)
}
_
,
itemList
,
err
:=
itemUsedRepo
.
Find
(
map
[
string
]
interface
{}{
"evaluationProjectId"
:
evaluationData
.
EvaluationProjectId
,
"nodeType"
:
domain
.
LinkNodeSelfAssessment
})
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
// 获取已填写的评估内容
_
,
itemValueList
,
err
:=
itemValueRepo
.
Find
(
map
[
string
]
interface
{}{
"summaryEvaluationId"
:
evaluationData
.
Id
})
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
// 超级管理员编辑不限制截止时间
err
=
srv
.
editEvaluationValueUnlimited
(
evaluationData
,
&
itemValueList
,
itemList
,
param
.
EvaluationItems
,
nil
,
false
)
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
for
_
,
v
:=
range
itemValueList
{
err
=
itemValueRepo
.
Save
(
v
)
// 保存填写值
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
}
evaluationData
.
Status
=
domain
.
EvaluationCompleted
err
=
evaluationRepo
.
Save
(
evaluationData
)
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
if
err
:=
transactionContext
.
CommitTransaction
();
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
err
=
srv
.
AfterCompletedEvaluationSuper
(
evaluationData
)
if
err
!=
nil
{
return
nil
,
err
}
itemValueAdapter
:=
srv
.
buildSummaryItemValue
(
itemList
,
itemValueList
)
return
map
[
string
][]
adapter
.
EvaluationItemAdapter
{
"EvaluationItems"
:
itemValueAdapter
},
nil
}
// getEvaluationSuperDefaultValue
// 按照权限设置,是否获取上级评估内容的默认值
func
(
srv
*
SummaryEvaluationService
)
getEvaluationSuperDefaultValue
(
transactionContext
application
.
TransactionContext
,
evaluationData
*
domain
.
SummaryEvaluation
)
(
...
...
@@ -1873,12 +2022,7 @@ func (srv *SummaryEvaluationService) ListAllEvaluationFinish(param *command.Quer
}
// editEvaluationValue 编辑评估的填写值
// evaluationData 对应的评估任务
// evaluationItems 对应的评估项
// oldItemValue 旧的评估项填写的值
// updatedValue 新填的评估值
// defaultItemvalue 评估项保持的默认值
func
(
srv
*
SummaryEvaluationService
)
editEvaluationValue
(
func
(
srv
*
SummaryEvaluationService
)
editEvaluationValueUnlimited
(
evaluationData
*
domain
.
SummaryEvaluation
,
itemValueList
*
[]
*
domain
.
SummaryEvaluationValue
,
evaluationItems
[]
*
domain
.
EvaluationItemUsed
,
...
...
@@ -1886,14 +2030,9 @@ func (srv *SummaryEvaluationService) editEvaluationValue(
defaultItemValue
[]
*
domain
.
SummaryEvaluationValue
,
isTemporary
bool
,
)
error
{
ok
:=
evaluationData
.
EndTime
.
Before
(
time
.
Now
())
if
ok
{
return
errors
.
New
(
"评估时间已截止"
)
}
evaluationItemMap
:=
map
[
int
]
*
domain
.
EvaluationItemUsed
{}
evaluationValueMap
:=
map
[
int
]
*
domain
.
SummaryEvaluationValue
{}
evaluationValueSlice
:=
[]
*
domain
.
SummaryEvaluationValue
{}
var
evaluationValueSlice
[]
*
domain
.
SummaryEvaluationValue
evaluationData
.
TotalRating
=
nil
//清空评级数量统计
for
_
,
v
:=
range
evaluationItems
{
newValue
:=
&
domain
.
SummaryEvaluationValue
{}
...
...
@@ -1976,6 +2115,34 @@ func (srv *SummaryEvaluationService) editEvaluationValue(
return
nil
}
// editEvaluationValue 编辑评估的填写值(超过截止时间不能编辑)
// evaluationData 对应的评估任务
// evaluationItems 对应的评估项
// oldItemValue 旧的评估项填写的值
// updatedValue 新填的评估值
// defaultItemValue 评估项保持的默认值
func
(
srv
*
SummaryEvaluationService
)
editEvaluationValue
(
evaluationData
*
domain
.
SummaryEvaluation
,
itemValueList
*
[]
*
domain
.
SummaryEvaluationValue
,
evaluationItems
[]
*
domain
.
EvaluationItemUsed
,
updatedValue
[]
command
.
UpdatedItemValue
,
defaultItemValue
[]
*
domain
.
SummaryEvaluationValue
,
isTemporary
bool
,
)
error
{
ok
:=
evaluationData
.
EndTime
.
Before
(
time
.
Now
())
if
ok
{
return
errors
.
New
(
"评估时间已截止"
)
}
return
srv
.
editEvaluationValueUnlimited
(
evaluationData
,
itemValueList
,
evaluationItems
,
updatedValue
,
defaultItemValue
,
isTemporary
,
)
}
// 获取现在待执行的综合自评
func
(
srv
*
SummaryEvaluationService
)
ListExecutorNowEvaluationSelf
(
param
*
command
.
QueryExecutorEvaluationList
)
(
map
[
string
]
interface
{},
error
)
{
transactionContext
,
err
:=
factory
.
CreateTransactionContext
(
nil
)
...
...
pkg/port/beego/controllers/summary_evaluation_controller.go
查看文件 @
414bf7a
...
...
@@ -247,8 +247,16 @@ func (c *SummaryEvaluationController) GetEvaluationSuper() {
}
userReq
:=
middlewares
.
GetUser
(
c
.
Ctx
)
param
.
CompanyId
=
int
(
userReq
.
CompanyId
)
data
,
err
:=
srv
.
GetEvaluationSuper
(
param
)
c
.
Response
(
data
,
err
)
param
.
UserId
=
int
(
userReq
.
UserId
)
// 超级管理员可以修改上级评估数据
if
param
.
Advanced
==
1
{
data
,
err
:=
srv
.
GetEvaluationSuperForAdmin
(
param
)
c
.
Response
(
data
,
err
)
}
else
{
data
,
err
:=
srv
.
GetEvaluationSuper
(
param
)
c
.
Response
(
data
,
err
)
}
}
// 编辑上级评估
...
...
@@ -264,8 +272,15 @@ func (c *SummaryEvaluationController) EditEvaluationSuper() {
userReq
:=
middlewares
.
GetUser
(
c
.
Ctx
)
param
.
CompanyId
=
int
(
userReq
.
CompanyId
)
param
.
ExecutorId
=
int
(
userReq
.
UserId
)
data
,
err
:=
srv
.
EditEvaluationSuper
(
param
)
c
.
Response
(
data
,
err
)
// 超级管理员重新修改上级评估数据
if
param
.
Advanced
==
1
{
data
,
err
:=
srv
.
EditEvaluationSuperForAdmin
(
param
)
c
.
Response
(
data
,
err
)
}
else
{
data
,
err
:=
srv
.
EditEvaluationSuper
(
param
)
c
.
Response
(
data
,
err
)
}
}
// 执行人的上级评估列表
...
...
请
注册
或
登录
后发表评论