切换导航条
此项目
正在载入...
登录
allied-creation
/
performance
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
tangxvhui
2 years ago
提交
11fa610b52fa02e6943faf9765a6da953948d84b
1 个父辈
537f8bd3
暂存
显示空白字符变更
内嵌
并排对比
正在显示
1 个修改的文件
包含
128 行增加
和
0 行删除
pkg/application/summary_evaluation/service/modify_finish_score.go
pkg/application/summary_evaluation/service/modify_finish_score.go
0 → 100644
查看文件 @
11fa610
package
service
import
(
"fmt"
"github.com/linmadan/egglib-go/core/application"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory"
roleService
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/role"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/summary_evaluation/command"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"
)
// 超管直接修改考核结果分数
// 修改周期考核的分数
func
(
srv
*
SummaryEvaluationService
)
ModifyFinishScoreV2
(
param
*
command
.
ModifyFinishScore
)
error
{
transactionContext
,
err
:=
factory
.
CreateTransactionContext
(
nil
)
if
err
!=
nil
{
return
application
.
ThrowError
(
application
.
TRANSACTION_ERROR
,
err
.
Error
())
}
if
err
:=
transactionContext
.
StartTransaction
();
err
!=
nil
{
return
application
.
ThrowError
(
application
.
TRANSACTION_ERROR
,
err
.
Error
())
}
defer
func
()
{
_
=
transactionContext
.
RollbackTransaction
()
}()
// 只有超级管理员可以使用的功能
superAdmin
,
err
:=
roleService
.
GetSuperAdmin
(
transactionContext
,
param
.
CompanyId
,
param
.
UserId
)
if
err
!=
nil
{
return
err
}
if
superAdmin
!=
domain
.
RoleTypeSuperAdmin
{
return
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
"没有操作权限"
)
}
//获取周期评估任务finish
evaluationRepo
:=
factory
.
CreateSummaryEvaluationRepository
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
})
evaluationValueRepo
:=
factory
.
CreateSummaryEvaluationValueRepository
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
})
_
,
evaluationList
,
err
:=
evaluationRepo
.
Find
(
map
[
string
]
interface
{}{
"id"
:
[]
int
{
param
.
SummaryEvaluationId
},
"companyId"
:
param
.
CompanyId
,
})
if
err
!=
nil
{
return
application
.
ThrowError
(
application
.
BUSINESS_ERROR
,
err
.
Error
())
}
if
len
(
evaluationList
)
==
0
{
return
nil
}
evaluationFinishData
:=
evaluationList
[
0
]
if
evaluationFinishData
.
Types
!=
domain
.
EvaluationFinish
{
return
nil
}
// 获取考核评估项
var
evaluationFinishValue
[]
*
domain
.
SummaryEvaluationValue
var
saveNewValue
bool
//是否需要保存新的考核评估项评估
//尝试 获取考核结果的评估项
_
,
evaluationFinishValue
,
err
=
evaluationValueRepo
.
Find
(
map
[
string
]
interface
{}{
"summaryEvaluationId"
:
evaluationFinishData
.
Id
})
if
err
!=
nil
{
return
application
.
ThrowError
(
application
.
BUSINESS_ERROR
,
err
.
Error
())
}
if
len
(
evaluationFinishValue
)
==
0
{
saveNewValue
=
true
// 尝试获取目标人员的上级评估内容
_
,
itemValue
,
err
:=
evaluationRepo
.
Find
(
map
[
string
]
interface
{}{
"targetUserId"
:
evaluationFinishData
.
TargetUser
.
UserId
,
"cycleId"
:
evaluationFinishData
.
CycleId
,
"types"
:
domain
.
EvaluationSuper
,
})
if
err
!=
nil
{
return
application
.
ThrowError
(
application
.
BUSINESS_ERROR
,
err
.
Error
())
}
}
if
len
(
evaluationFinishValue
)
==
0
{
//尝试获取目标人员的360评估、人资评估、自评的评估内容
}
scoreStr
:=
fmt
.
Sprintf
(
"%.2f"
,
param
.
Score
)
evaluationFinishData
.
TotalScore
=
scoreStr
evaluationFinishData
.
Status
=
domain
.
EvaluationCompleted
err
=
evaluationRepo
.
Save
(
evaluationFinishData
)
if
err
!=
nil
{
return
application
.
ThrowError
(
application
.
BUSINESS_ERROR
,
"修改考核结果"
+
err
.
Error
())
}
if
saveNewValue
{
for
_
,
val
:=
range
evaluationFinishValue
{
err
=
evaluationValueRepo
.
Save
(
val
)
if
err
!=
nil
{
return
application
.
ThrowError
(
application
.
BUSINESS_ERROR
,
"修改考核结果"
+
err
.
Error
())
}
}
}
if
err
:=
transactionContext
.
CommitTransaction
();
err
!=
nil
{
return
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
return
nil
}
// buildSummaryFinishValue
// 当未能按照id直接查询到考核结果的评估项时,
// 从目标人员的上级评估 或者360评估、人资评估、自评 构建考核结果的评估项内容
func
(
srv
*
SummaryEvaluationService
)
buildSummaryFinishValue
(
transactionContext
application
.
TransactionContext
,
evaluationFinisih
*
domain
.
SummaryEvaluation
)
(
[]
*
domain
.
SummaryEvaluationValue
,
error
)
{
evaluationRepo
:=
factory
.
CreateSummaryEvaluationRepository
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
})
evaluationValueRepo
:=
factory
.
CreateSummaryEvaluationValueRepository
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
})
//尝试获取目标人员的所有评估
_
,
evaluationList
,
err
:=
evaluationRepo
.
Find
(
map
[
string
]
interface
{}{
"targetUserId"
:
evaluationFinisih
.
TargetUser
.
UserId
,
"cycleId"
:
evaluationFinisih
.
CycleId
,
})
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
BUSINESS_ERROR
,
err
.
Error
())
}
var
evaluationFinishValue
[]
*
domain
.
SummaryEvaluationValue
var
evaluationData
*
domain
.
SummaryEvaluation
//尝试获取目标人员的上级评估
for
_
,
val
:=
range
evaluationList
{
evaluationData
=
val
}
if
evaluationData
!=
nil
{
return
evaluationFinishValue
,
nil
}
return
nil
,
nil
}
...
...
请
注册
或
登录
后发表评论