切换导航条
此项目
正在载入...
登录
allied-creation
/
performance
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
Your Name
2 years ago
提交
b90f28f95f798a5099153a0131158f6819997238
1 个父辈
4170283f
更新
隐藏空白字符变更
内嵌
并排对比
正在显示
1 个修改的文件
包含
99 行增加
和
31 行删除
pkg/application/staff_assess/service/service.go
pkg/application/staff_assess/service/service.go
查看文件 @
b90f28f
...
...
@@ -611,7 +611,7 @@ func (srv StaffAssessServeice) GetAssessInviteUser(param *query.GetAssessInviteU
}
// 保存某个员工360邀请的人员
func
(
srv
StaffAssessServeice
)
SaveAssessInviteUser
(
param
*
command
.
SaveAssessInvite
)
(
*
adapter
.
AssessInviteUserResp
,
error
)
{
func
(
srv
StaffAssessServeice
)
SaveAssessInviteUser
(
param
*
command
.
SaveAssessInvite
)
(
map
[
string
]
interface
{}
,
error
)
{
inviteSameSuperId
:=
[]
int
{}
InviteDiffSuperId
:=
[]
int
{}
for
_
,
v
:=
range
param
.
InviteDiffSuper
{
...
...
@@ -659,6 +659,19 @@ func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInv
return
nil
,
application
.
ThrowError
(
application
.
ARG_ERROR
,
"获取评估任务"
+
err
.
Error
())
}
//获取邀请评估的节点
var
inviteNode
*
domain
.
AssessTaskStep
for
_
,
v
:=
range
assessTaskData
.
StepList
{
if
v
.
LinkNodeType
==
domain
.
LinkNodeAllAssessment
{
cp
:=
v
inviteNode
=
&
cp
break
}
}
if
inviteNode
==
nil
{
return
nil
,
application
.
ThrowError
(
application
.
ARG_ERROR
,
"评估任务没有邀请评估的环节"
)
}
targetUser
,
err
:=
userRepo
.
FindOne
(
map
[
string
]
interface
{}{
"id"
:
param
.
TargetUserId
,
})
...
...
@@ -725,39 +738,94 @@ func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInv
return
nil
,
application
.
ThrowError
(
application
.
ARG_ERROR
,
"获取员工邀请的人"
+
err
.
Error
())
}
//比对新旧数据
_
=
assessList
_
=
targetUser
_
=
inviteSameSuper
_
=
inviteDiffSuper
_
=
targetUserDepartment
nowTime
:=
time
.
Now
()
assessMap
:=
map
[
string
]
*
domain
.
StaffAssess
{}
for
_
,
v
:=
range
assessList
{
//假设为删除
v
.
DeletedAt
=
&
nowTime
key
:=
fmt
.
Sprintf
(
"%s%d"
,
string
(
v
.
Types
),
v
.
Executor
.
UserId
)
assessMap
[
key
]
=
v
}
newAssessList
:=
[]
*
domain
.
StaffAssess
{}
//邀请同上级的员工
for
_
,
v
:=
range
inviteSameSuper
{
key
:=
fmt
.
Sprintf
(
"%s%d"
,
string
(
domain
.
AssessInviteSameSuper
),
v
.
UserId
)
if
_
,
ok
:=
assessMap
[
key
];
ok
{
assessMap
[
key
]
.
DeletedAt
=
nil
}
else
{
newAssessList
=
append
(
newAssessList
,
&
domain
.
StaffAssess
{
Id
:
0
,
CompanyId
:
assessTaskData
.
CompanyId
,
EvaluationProjectId
:
assessTaskData
.
EvaluationProjectId
,
EvaluationProjectName
:
assessTaskData
.
EvaluationProjectName
,
CycleId
:
assessTaskData
.
CycleId
,
CycleName
:
assessTaskData
.
CycleName
,
StaffAssessTaskId
:
assessTaskData
.
Id
,
TargetUser
:
domain
.
StaffDesc
{
UserId
:
int
(
targetUser
.
Id
),
Account
:
targetUser
.
Account
,
UserName
:
targetUser
.
Name
,
},
TargetDepartment
:
targetUserDepartment
,
Executor
:
v
,
Types
:
domain
.
AssessInviteSameSuper
,
LinkNodeId
:
inviteNode
.
LinkNodeId
,
LinkNodeName
:
inviteNode
.
LinkNodeName
,
Status
:
domain
.
StaffAssessUncompleted
,
BeginTime
:
inviteNode
.
BeginTime
,
EndTime
:
inviteNode
.
EndTime
,
CreatedAt
:
nowTime
,
UpdatedAt
:
nowTime
,
DeletedAt
:
nil
,
})
}
}
for
_
,
v
:=
range
inviteDiffSuper
{
key
:=
fmt
.
Sprintf
(
"%s%d"
,
string
(
domain
.
AssessInviteDiffSuper
),
v
.
UserId
)
if
_
,
ok
:=
assessMap
[
key
];
ok
{
assessMap
[
key
]
.
DeletedAt
=
nil
}
else
{
newAssessList
=
append
(
newAssessList
,
&
domain
.
StaffAssess
{
Id
:
0
,
CompanyId
:
assessTaskData
.
CompanyId
,
EvaluationProjectId
:
assessTaskData
.
EvaluationProjectId
,
EvaluationProjectName
:
assessTaskData
.
EvaluationProjectName
,
CycleId
:
assessTaskData
.
CycleId
,
CycleName
:
assessTaskData
.
CycleName
,
StaffAssessTaskId
:
assessTaskData
.
Id
,
TargetUser
:
domain
.
StaffDesc
{
UserId
:
int
(
targetUser
.
Id
),
Account
:
targetUser
.
Account
,
UserName
:
targetUser
.
Name
,
},
TargetDepartment
:
targetUserDepartment
,
Executor
:
v
,
Types
:
domain
.
AssessInviteDiffSuper
,
LinkNodeId
:
inviteNode
.
LinkNodeId
,
LinkNodeName
:
inviteNode
.
LinkNodeName
,
Status
:
domain
.
StaffAssessUncompleted
,
BeginTime
:
inviteNode
.
BeginTime
,
EndTime
:
inviteNode
.
EndTime
,
CreatedAt
:
nowTime
,
UpdatedAt
:
nowTime
,
DeletedAt
:
nil
,
})
}
}
assessList
=
append
(
assessList
,
newAssessList
...
)
for
i
:=
range
assessList
{
_
,
err
=
assessReps
.
Save
(
assessList
[
i
])
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
())
}
result
:=
adapter
.
AssessInviteUserResp
{
AssessTaskId
:
assessTaskData
.
Id
,
}
// for _, v := range assessTaskData.StepList {
// if v.LinkNodeType != domain.LinkNodeAllInvite {
// continue
// }
// result.LinkNodeId = v.LinkNodeId
// result.LinkNodeName = v.LinkNodeName
// result.BeginTime = v.BeginTime.Local().Format("2006-01-02 15:04:05")
// result.EndTime = v.EndTime.Local().Format("2006-01-02 15:04:05")
// break
// }
// for _, v := range assessList {
// if v.Types == domain.AssessInviteDiffSuper {
// result.InviteDiffSuper = append(result.InviteDiffSuper, v.Executor)
// }
// if v.Types == domain.AssessInviteSameSuper {
// result.InviteSameSuper = append(result.InviteDiffSuper, v.Executor)
// }
// }
return
&
result
,
nil
result
:=
map
[
string
]
interface
{}{
"assessTaskId"
:
assessTaskData
.
Id
,
}
return
result
,
nil
}
// 获取员工自评的评估内容详情
...
...
请
注册
或
登录
后发表评论