切换导航条
此项目
正在载入...
登录
allied-creation
/
performance
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
郑周
2 years ago
提交
87f25834e5ebe2bd2e0767372200926b5218c6c4
1 个父辈
d579f068
1. 考核结果 回填值优化
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
40 行增加
和
174 行删除
pkg/application/summary_evaluation/service/service.go
pkg/application/summary_evaluation/service/service2.go
pkg/application/summary_evaluation/service/service.go
查看文件 @
87f2583
...
...
@@ -1484,6 +1484,11 @@ func (srv *SummaryEvaluationService) ConfirmScoreEvaluation(param *command.Confi
if
err
!=
nil
{
return
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
// 更新填写值
itemValues
,
err
=
srv
.
updateItemValuePriority
(
result
,
itemList
,
itemValues
,
true
)
if
err
!=
nil
{
return
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
}
else
{
// 评估项ID(除考核结果和上级)
var
evaluationIds
=
make
([]
int
,
0
)
...
...
@@ -1501,28 +1506,25 @@ func (srv *SummaryEvaluationService) ConfirmScoreEvaluation(param *command.Confi
}
// 更新填写值
itemValues
,
err
=
srv
.
updateItemValuePriority
(
result
,
itemList
,
itemValues
)
itemValues
,
err
=
srv
.
updateItemValuePriority
(
result
,
itemList
,
itemValues
,
false
)
if
err
!=
nil
{
return
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
}
}
for
i
:=
range
itemValues
{
err
=
itemValueRepo
.
Save
(
itemValues
[
i
])
if
err
!=
nil
{
return
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
}
for
i
:=
range
itemValues
{
if
err
:=
itemValueRepo
.
Save
(
itemValues
[
i
]);
err
!=
nil
{
return
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
}
err
=
result
.
EvaluationTotalScore
(
itemValues
)
if
err
!=
nil
{
if
err
:=
result
.
EvaluationTotalScore
(
itemValues
);
err
!=
nil
{
return
application
.
ThrowError
(
application
.
TRANSACTION_ERROR
,
err
.
Error
())
}
result
.
CheckResult
=
domain
.
EvaluationCheckCompleted
err
=
evaluationRepo
.
Save
(
result
)
if
err
!=
nil
{
if
err
:=
evaluationRepo
.
Save
(
result
);
err
!=
nil
{
return
application
.
ThrowError
(
application
.
TRANSACTION_ERROR
,
err
.
Error
())
}
if
err
:=
transactionContext
.
CommitTransaction
();
err
!=
nil
{
...
...
@@ -1531,121 +1533,18 @@ func (srv *SummaryEvaluationService) ConfirmScoreEvaluation(param *command.Confi
return
nil
}
//// 按评估项优先级顺序(已确认考核结果 ->上级评估 ->HR或360评估 ->自评)
//func (srv *SummaryEvaluationService) getEvaluationResult(list []*domain.SummaryEvaluation) (*domain.SummaryEvaluation, []*domain.SummaryEvaluation) {
// var finish *domain.SummaryEvaluation // 绩效考核结果项(已完成确认)
// var result *domain.SummaryEvaluation // 绩效考核结果项
// var super *domain.SummaryEvaluation // 上级评估
// var self *domain.SummaryEvaluation // 我的自评
// var hr360 = make([]*domain.SummaryEvaluation, 0) // 评估项
//
// for i := range list {
// it := list[i]
//
// if it.Types == domain.EvaluationFinish {
// result = it
// if it.CheckResult == domain.EvaluationCheckCompleted { // 绩效结果已确认
// finish = it
// break
// }
// } else if it.Types == domain.EvaluationSuper {
// super = it
// } else if it.Types == domain.EvaluationSelf {
// self = it
// } else if it.Types == domain.Evaluation360 || it.Types == domain.EvaluationHrbp {
// hr360 = append(hr360, it)
// }
// }
// if finish != nil {
// return result, []*domain.SummaryEvaluation{finish}
// }
//
// if super != nil {
// return result, []*domain.SummaryEvaluation{super}
// }
//
// if len(hr360) > 0 {
// return result, hr360
// }
//
// if self != nil {
// return result, []*domain.SummaryEvaluation{self}
// }
//
// return result, []*domain.SummaryEvaluation{}
//}
//func (srv *SummaryEvaluationService) findSummaryEvaluationByType(
// repo domain.SummaryEvaluationRepository,
// param *command.QueryEvaluation,
// eType domain.EvaluationType) ([]*domain.SummaryEvaluation, error) {
// p := map[string]interface{}{
// "companyId": param.CompanyId,
// "cycleId": param.CycleId,
// "targetUserId": param.TargetUserId,
// }
// if eType == domain.EvaluationFinish || eType == domain.EvaluationSuper || eType == domain.EvaluationSelf {
// p["types"] = eType
// p["limit"] = 1
// } else if eType == domain.Evaluation360 || eType == domain.EvaluationHrbp {
// p["typesList"] = []int{int(domain.Evaluation360), int(domain.EvaluationHrbp)}
// }
// _, list, err := repo.Find(p)
// if err != nil {
// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
// }
// return list, nil
//}
//func (srv *SummaryEvaluationService) findEvaluationItemValue(
// repo domain.SummaryEvaluationRepository,
// valueRepo domain.SummaryEvaluationValueRepository,
// param *command.QueryEvaluation) (domain.EvaluationType, []*domain.SummaryEvaluationValue, error) {
// var eType = domain.EvaluationSuper
// list, err := srv.findSummaryEvaluationByType(repo, param, eType)
// if err != nil {
// return eType, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
// }
// if len(list) == 0 {
// eType = domain.Evaluation360
// list, err = srv.findSummaryEvaluationByType(repo, param, eType)
// if err != nil {
// return eType, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
// }
// }
// if len(list) == 0 {
// eType = domain.EvaluationSelf
// list, err = srv.findSummaryEvaluationByType(repo, param, eType)
// if err != nil {
// return eType, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
// }
// }
// if len(list) == 0 {
// return eType, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有找到符合条件的数据")
// }
//
// evaluationIds := make([]int, 0)
// for _, v := range list {
// evaluationIds = append(evaluationIds, v.Id)
// }
// // 获取已填写的评估内容
// _, itemValues, err := valueRepo.Find(map[string]interface{}{"summaryEvaluationIdList": evaluationIds})
// if err != nil {
// return eType, nil, err
// }
// return eType, itemValues, nil
//}
//
// 处理优先级
func
(
srv
*
SummaryEvaluationService
)
updateItemValuePriority
(
result
*
domain
.
SummaryEvaluation
,
itemList
[]
*
domain
.
EvaluationItemUsed
,
itemValues
[]
*
domain
.
SummaryEvaluationValue
)
([]
*
domain
.
SummaryEvaluationValue
,
error
)
{
itemValues
[]
*
domain
.
SummaryEvaluationValue
,
superior
bool
)
([]
*
domain
.
SummaryEvaluationValue
,
error
)
{
tempSelf
:=
map
[
int
]
*
domain
.
SummaryEvaluationValue
{}
temp360
:=
map
[
int
]
*
domain
.
SummaryEvaluationValue
{}
tempHRBP
:=
map
[
int
]
*
domain
.
SummaryEvaluationValue
{}
tempSuperior
:=
map
[
int
]
*
domain
.
SummaryEvaluationValue
{}
for
i
:=
range
itemValues
{
it
:=
itemValues
[
i
]
if
it
.
Types
==
domain
.
EvaluationSelf
{
...
...
@@ -1654,6 +1553,8 @@ func (srv *SummaryEvaluationService) updateItemValuePriority(
temp360
[
it
.
EvaluationItemId
]
=
it
}
else
if
it
.
Types
==
domain
.
EvaluationHrbp
{
tempHRBP
[
it
.
EvaluationItemId
]
=
it
}
else
if
it
.
Types
==
domain
.
EvaluationSuper
{
tempSuperior
[
it
.
EvaluationItemId
]
=
it
}
}
nowTime
:=
time
.
Now
()
...
...
@@ -1664,24 +1565,31 @@ func (srv *SummaryEvaluationService) updateItemValuePriority(
var
tempValue
domain
.
SummaryEvaluationValue
tempValue
.
SetBlankValue
(
result
,
it
)
if
it
.
EvaluatorId
==
0
{
if
v
,
ok
:=
tempSelf
[
it
.
Id
];
ok
{
tempValue
=
*
v
}
tempValue
.
Types
=
domain
.
EvaluationSelf
}
else
if
it
.
EvaluatorId
==
-
1
{
if
v
,
ok
:=
tempHRBP
[
it
.
Id
];
ok
{
if
superior
/* 上级数据 */
{
if
v
,
ok
:=
tempSuperior
[
it
.
Id
];
ok
{
tempValue
=
*
v
}
tempValue
.
Types
=
domain
.
EvaluationHrbp
}
else
if
it
.
EvaluatorId
>
0
{
if
v
,
ok
:=
temp360
[
it
.
Id
];
ok
{
tempValue
=
*
v
tempValue
.
Types
=
domain
.
EvaluationSuper
}
else
/* 其它数据 */
{
if
it
.
EvaluatorId
==
0
{
if
v
,
ok
:=
tempSelf
[
it
.
Id
];
ok
{
tempValue
=
*
v
}
tempValue
.
Types
=
domain
.
EvaluationSelf
}
else
if
it
.
EvaluatorId
==
-
1
{
if
v
,
ok
:=
tempHRBP
[
it
.
Id
];
ok
{
tempValue
=
*
v
}
tempValue
.
Types
=
domain
.
EvaluationHrbp
}
else
if
it
.
EvaluatorId
>
0
{
if
v
,
ok
:=
temp360
[
it
.
Id
];
ok
{
tempValue
=
*
v
}
tempValue
.
Types
=
domain
.
Evaluation360
}
tempValue
.
Types
=
domain
.
Evaluation360
}
//
清理ID
//
ID置空
tempValue
.
Id
=
0
tempValue
.
CreatedAt
=
nowTime
tempValue
.
UpdatedAt
=
nowTime
...
...
@@ -1771,7 +1679,7 @@ func (srv *SummaryEvaluationService) GetTargetUserEvaluationSuper(param *command
}
// 更新填写值
itemValues
,
err
=
srv
.
updateItemValuePriority
(
result
,
itemList
,
itemValues
)
itemValues
,
err
=
srv
.
updateItemValuePriority
(
result
,
itemList
,
itemValues
,
false
)
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
...
...
pkg/application/summary_evaluation/service/service2.go
查看文件 @
87f2583
...
...
@@ -803,45 +803,3 @@ func (srv *SummaryEvaluationService) EditEvaluationHRBP(param *command.EditEvalu
"evaluationItems"
:
itemValueAdapter
,
},
nil
}
func
(
srv
*
SummaryEvaluationService
)
SummaryEvaluationFinishNotUseSuper
(
evaluation
domain
.
SummaryEvaluation
,
items
[]
*
domain
.
EvaluationItemUsed
,
itemValue
[]
*
domain
.
SummaryEvaluationValue
,
)
[]
*
domain
.
SummaryEvaluationValue
{
typeSelf
:=
map
[
int
]
*
domain
.
SummaryEvaluationValue
{}
typeHrbp360
:=
map
[
int
]
*
domain
.
SummaryEvaluationValue
{}
for
_
,
v
:=
range
itemValue
{
switch
v
.
Types
{
case
domain
.
EvaluationSelf
:
typeSelf
[
v
.
EvaluationItemId
]
=
v
case
domain
.
Evaluation360
,
domain
.
EvaluationHrbp
:
typeHrbp360
[
v
.
EvaluationItemId
]
=
v
}
}
newItemValue
:=
[]
*
domain
.
SummaryEvaluationValue
{}
nowTime
:=
time
.
Now
()
for
_
,
v
:=
range
items
{
var
itemValueTemp
domain
.
SummaryEvaluationValue
if
v
.
EvaluatorId
==
0
{
if
v2
,
ok
:=
typeSelf
[
v
.
Id
];
ok
{
itemValueTemp
=
*
v2
}
}
else
{
if
v2
,
ok
:=
typeHrbp360
[
v
.
Id
];
ok
{
itemValueTemp
=
*
v2
}
}
if
itemValueTemp
.
Id
==
0
{
//360 hrbp,或者自评 都没有填写过
itemValueTemp
.
SetBlankValue
(
&
evaluation
,
v
)
}
//清理id信息
itemValueTemp
.
Id
=
0
itemValueTemp
.
CreatedAt
=
nowTime
itemValueTemp
.
UpdatedAt
=
nowTime
newItemValue
=
append
(
newItemValue
,
&
itemValueTemp
)
}
return
newItemValue
}
...
...
请
注册
或
登录
后发表评论