切换导航条
此项目
正在载入...
登录
allied-creation
/
performance
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
tangxvhui
2 years ago
提交
c915370248412032a5c028923577a3946d1eb0e9
1 个父辈
146c4cbe
更新 周期列表菜单
隐藏空白字符变更
内嵌
并排对比
正在显示
11 个修改的文件
包含
357 行增加
和
27 行删除
pkg/application/summary_evaluation/adapter/cycle_list.go
pkg/application/summary_evaluation/adapter/menu_list.go
pkg/application/summary_evaluation/command/query_cycle_list.go
pkg/application/summary_evaluation/command/query_menu.go
pkg/application/summary_evaluation/service/service.go
pkg/domain/summary_evaluation.go
pkg/infrastructure/dao/summary_evaluation_dao.go
pkg/infrastructure/pg/init.go
pkg/infrastructure/pg/models/summary_evaluation.go
pkg/infrastructure/pg/models/summary_evaluation_value.go
pkg/infrastructure/repository/pg_summary_evaluation_repository.go
pkg/application/summary_evaluation/adapter/cycle_list.go
查看文件 @
c915370
...
...
@@ -3,6 +3,7 @@ package adapter
//综合评估的周期列表
type
CycleList
struct
{
CycleId
int
`json:"cycleId,string"`
//周期id
CycleName
string
`json:"cycleName"`
//
CycleId
string
`json:"cycleId"`
//周期id
CycleName
string
`json:"cycleName"`
//
ExecutorId
string
`json:"executorId "`
}
...
...
pkg/application/summary_evaluation/adapter/menu_list.go
0 → 100644
查看文件 @
c915370
package
adapter
type
MenuList
struct
{
CycleId
int
`json:"cycleId,string"`
NodeName
string
`json:"nodeName"`
StatusName
string
`json:"statusName"`
Types
string
`json:"types"`
Child
[]
MenuList
`json:"child"`
}
...
...
pkg/application/summary_evaluation/command/query_cycle_list.go
0 → 100644
查看文件 @
c915370
package
command
// 获取周期列表
type
QueryCycleList
struct
{
UserId
int
`json:"userId,string"`
PageSize
int
`json:"pageSize"`
PageNumber
int
`json:"pageNumber"`
}
...
...
pkg/application/summary_evaluation/command/query_menu.go
0 → 100644
查看文件 @
c915370
package
command
// QueryMenuCommand
type
QueryMenu
struct
{
CycleId
int
`json:"cycleId,string"`
UserId
int
`json:"userId,string"`
}
...
...
pkg/application/summary_evaluation/service/service.go
查看文件 @
c915370
package
service
import
(
"github.com/linmadan/egglib-go/core/application"
"github.com/linmadan/egglib-go/utils/tool_funs"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/summary_evaluation/adapter"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/summary_evaluation/command"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/infrastructure/dao"
)
type
SummaryEvaluationServeice
struct
{
}
...
...
@@ -8,9 +18,218 @@ func NewStaffAssessServeice() *SummaryEvaluationServeice {
return
newService
}
// GetCycleList
// 获取周期列表
func
(
srv
SummaryEvaluationServeice
)
GetCycleList
()
(
map
[
string
]
interface
{},
error
)
{
return
nil
,
nil
func
(
srv
*
SummaryEvaluationServeice
)
GetCycleList
(
param
*
command
.
QueryCycleList
)
(
map
[
string
]
interface
{},
error
)
{
transactionContext
,
err
:=
factory
.
CreateTransactionContext
(
nil
)
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
TRANSACTION_ERROR
,
err
.
Error
())
}
if
err
:=
transactionContext
.
StartTransaction
();
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
TRANSACTION_ERROR
,
err
.
Error
())
}
defer
func
()
{
_
=
transactionContext
.
RollbackTransaction
()
}()
evaluationDao
:=
dao
.
NewSummaryEvaluationDao
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
,
})
limit
:=
300
offset
:=
0
if
param
.
PageSize
>
0
{
limit
=
param
.
PageSize
}
if
param
.
PageNumber
>
0
{
offset
=
(
param
.
PageNumber
-
1
)
*
param
.
PageSize
}
cycleData
,
err
:=
evaluationDao
.
GetPersonalCycleList
(
param
.
UserId
,
offset
,
limit
)
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
"获取周期列表"
+
err
.
Error
())
}
cnt
,
err
:=
evaluationDao
.
CountPersonalCycleList
(
param
.
UserId
)
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
())
}
cycleList
:=
[]
adapter
.
CycleList
{}
for
_
,
v
:=
range
cycleData
{
m
:=
adapter
.
CycleList
{
CycleId
:
v
.
CycleId
,
CycleName
:
v
.
CycleName
,
ExecutorId
:
v
.
ExecutorId
,
}
cycleList
=
append
(
cycleList
,
m
)
}
return
tool_funs
.
SimpleWrapGridMap
(
int64
(
cnt
),
cycleList
),
nil
}
// 获取自评信息
// GetMenu
// 根据周期获取菜单显示
func
(
srv
*
SummaryEvaluationServeice
)
GetMenu
(
param
*
command
.
QueryMenu
)
(
map
[
string
]
interface
{},
error
)
{
transactionContext
,
err
:=
factory
.
CreateTransactionContext
(
nil
)
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
TRANSACTION_ERROR
,
err
.
Error
())
}
if
err
:=
transactionContext
.
StartTransaction
();
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
TRANSACTION_ERROR
,
err
.
Error
())
}
defer
func
()
{
_
=
transactionContext
.
RollbackTransaction
()
}()
evaluationRepo
:=
factory
.
CreateSummaryEvaluationRepository
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
,
})
//查找我的绩效
_
,
selfEvaluation
,
err
:=
evaluationRepo
.
Find
(
map
[
string
]
interface
{}{
"types"
:
int
(
domain
.
EvaluationSelf
),
"executorId"
:
param
.
UserId
,
"limit"
:
1
,
})
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
//查找360评估,统计未完成的
cnt360
,
_
,
err
:=
evaluationRepo
.
Find
(
map
[
string
]
interface
{}{
"types"
:
int
(
domain
.
Evaluation360
),
"executorId"
:
param
.
UserId
,
"limit"
:
1
,
"status"
:
string
(
domain
.
EvaluationUncompleted
),
})
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
//查询上级评估,统计未完成
cntSuper
,
_
,
err
:=
evaluationRepo
.
Find
(
map
[
string
]
interface
{}{
"types"
:
int
(
domain
.
EvaluationSelf
),
"executorId"
:
param
.
UserId
,
"limit"
:
1
,
"status"
:
string
(
domain
.
EvaluationUncompleted
),
})
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
//查询人资评估,统计未完成
cntHrbp
,
_
,
err
:=
evaluationRepo
.
Find
(
map
[
string
]
interface
{}{
"types"
:
int
(
domain
.
EvaluationHrbp
),
"executorId"
:
param
.
UserId
,
"limit"
:
1
,
"status"
:
string
(
domain
.
EvaluationUncompleted
),
})
if
err
:=
transactionContext
.
CommitTransaction
();
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
menuList
:=
[]
adapter
.
MenuList
{}
//模块-我的绩效
menu1
:=
adapter
.
MenuList
{
CycleId
:
0
,
NodeName
:
"我的绩效"
,
StatusName
:
""
,
Types
:
""
,
Child
:
[]
adapter
.
MenuList
{},
}
menu1_1
:=
adapter
.
MenuList
{
CycleId
:
param
.
CycleId
,
NodeName
:
"填写综合自评"
,
StatusName
:
""
,
Types
:
"填写综合自评"
,
}
menu1_2
:=
adapter
.
MenuList
{
CycleId
:
param
.
CycleId
,
NodeName
:
"查看综合自评"
,
StatusName
:
""
,
Types
:
"查看综合自评"
,
}
if
len
(
selfEvaluation
)
>
0
{
if
selfEvaluation
[
0
]
.
Status
==
domain
.
EvaluationCompleted
{
menu1_1
.
StatusName
=
"已完成"
}
else
{
menu1_1
.
StatusName
=
"未完成"
}
if
selfEvaluation
[
0
]
.
CheckResult
==
domain
.
EvaluationCheckCompleted
{
menu1_2
.
StatusName
=
"已完成"
}
else
{
menu1_2
.
StatusName
=
"未完成"
}
}
menu1
.
Child
=
append
(
menu1
.
Child
,
menu1_1
,
menu1_2
)
menuList
=
append
(
menuList
,
menu1
)
menu2
:=
adapter
.
MenuList
{
CycleId
:
0
,
NodeName
:
"给他人评估"
,
StatusName
:
""
,
Types
:
""
,
Child
:
[]
adapter
.
MenuList
{},
}
menu2_1
:=
adapter
.
MenuList
{
CycleId
:
param
.
CycleId
,
NodeName
:
"360综评"
,
StatusName
:
""
,
Types
:
"360综评"
,
}
if
cnt360
>
0
{
menu2_1
.
StatusName
=
"未完成"
}
else
{
menu2_1
.
StatusName
=
"已完成"
}
menu2
.
Child
=
append
(
menu2
.
Child
,
menu2_1
)
menuList
=
append
(
menuList
,
menu2
)
menu3
:=
adapter
.
MenuList
{
CycleId
:
0
,
NodeName
:
"人资评估"
,
StatusName
:
""
,
Types
:
""
,
Child
:
[]
adapter
.
MenuList
{},
}
menu3_1
:=
adapter
.
MenuList
{
CycleId
:
param
.
CycleId
,
NodeName
:
"上级综评"
,
StatusName
:
""
,
Types
:
"上级综评"
,
}
if
cntHrbp
>
0
{
menu3_1
.
StatusName
=
"未完成"
}
else
{
menu3_1
.
StatusName
=
"已完成"
}
menu3
.
Child
=
append
(
menu3
.
Child
,
menu3_1
)
menuList
=
append
(
menuList
,
menu3
)
menu4
:=
adapter
.
MenuList
{
CycleId
:
0
,
NodeName
:
"我的团队绩效"
,
StatusName
:
""
,
Types
:
""
,
Child
:
[]
adapter
.
MenuList
{},
}
menu4_1
:=
adapter
.
MenuList
{
CycleId
:
param
.
CycleId
,
NodeName
:
"上级综评"
,
StatusName
:
""
,
Types
:
"上级综评"
,
}
if
cntSuper
>
0
{
menu4_1
.
StatusName
=
"未完成"
}
else
{
menu4_1
.
StatusName
=
"已完成"
}
menu4
.
Child
=
append
(
menu4
.
Child
,
menu4_1
)
menuList
=
append
(
menuList
,
menu4
)
result
:=
map
[
string
]
interface
{}{
"menus"
:
menuList
,
}
return
result
,
nil
}
// 获取综合自评详情
func
(
srv
*
SummaryEvaluationServeice
)
GetEvaluationSelf
()
{}
// 编辑综合自评详情
func
(
srv
*
SummaryEvaluationServeice
)
EditEvaluationSelf
()
{}
...
...
pkg/domain/summary_evaluation.go
查看文件 @
c915370
...
...
@@ -5,23 +5,23 @@ import "time"
// 周综合评估
type
SummaryEvaluation
struct
{
Id
int
CompanyId
int
//公司id
EvaluationProjectId
int
//对应的项目id
EvaluationProjectName
string
//对应的项目名称
CycleId
int64
//对应的周期id
CycleName
string
//对应的周期名称
TargetUser
StaffDesc
//被评估的目标用户,被执行的
TargetDepartment
[]
StaffDepartment
//被评估的目标用户所在的部门
Executor
StaffDesc
//填写评估的用户,执行人
Types
EvaluationType
//评估类型
Status
EvaluationStatus
//评估的填写状态
CheckResult
int
//被执行的人确认评估结果
BeginTime
time
.
Time
//开始时间
EndTime
time
.
Time
//截止时间
TotalScore
string
//最终上级评估得分.
CreatedAt
time
.
Time
//数据创建时间
UpdatedAt
time
.
Time
//数据更新时间
DeletedAt
*
time
.
Time
//数据删除时间
CompanyId
int
//公司id
EvaluationProjectId
int
//对应的项目id
EvaluationProjectName
string
//对应的项目名称
CycleId
int64
//对应的周期id
CycleName
string
//对应的周期名称
TargetUser
StaffDesc
//被评估的目标用户,被执行的
TargetDepartment
[]
StaffDepartment
//被评估的目标用户所在的部门
Executor
StaffDesc
//填写评估的用户,执行人
Types
EvaluationType
//评估类型
Status
EvaluationStatus
//评估的填写状态
CheckResult
EvaluationCheckResult
//被执行的人确认评估结果
BeginTime
time
.
Time
//开始时间
EndTime
time
.
Time
//截止时间
TotalScore
string
//最终上级评估得分.
CreatedAt
time
.
Time
//数据创建时间
UpdatedAt
time
.
Time
//数据更新时间
DeletedAt
*
time
.
Time
//数据删除时间
}
type
EvaluationType
int
//综合评估类型
...
...
pkg/infrastructure/dao/summary_evaluation_dao.go
0 → 100644
查看文件 @
c915370
package
dao
import
(
"github.com/go-pg/pg/v10"
pgTransaction
"github.com/linmadan/egglib-go/transaction/pg"
)
type
SummaryEvaluationDao
struct
{
transactionContext
*
pgTransaction
.
TransactionContext
}
func
NewSummaryEvaluationDao
(
options
map
[
string
]
interface
{})
*
SummaryEvaluationDao
{
var
transactionContext
*
pgTransaction
.
TransactionContext
if
value
,
ok
:=
options
[
"transactionContext"
];
ok
{
transactionContext
=
value
.
(
*
pgTransaction
.
TransactionContext
)
}
return
&
SummaryEvaluationDao
{
transactionContext
:
transactionContext
,
}
}
type
PersonalCycle
struct
{
ExecutorId
string
`pg:"executor_id" `
//
CycleId
string
`pg:"cycle_id" `
//
CycleName
string
`pg:"cycle_name"`
//
}
// GetPersonalCycleList 获取执行人拥有的周期列表
func
(
d
*
SummaryEvaluationDao
)
GetPersonalCycleList
(
executorId
int
,
offset
int
,
limit
int
)
([]
PersonalCycle
,
error
)
{
sqlStr
:=
`select
distinct
summary_evaluation.cycle_id ,
summary_evaluation.cycle_name ,
summary_evaluation.executor ->>'userId' as executor_id
from summary_evaluation
where summary_evaluation.executor ->>'userId'='?'
offset ? limit ?`
tx
:=
d
.
transactionContext
.
PgTx
condition
:=
[]
interface
{}{
executorId
,
offset
,
limit
,
}
result
:=
[]
PersonalCycle
{}
_
,
err
:=
tx
.
Query
(
&
result
,
sqlStr
,
condition
...
)
return
result
,
err
}
// CountPersonalCycleList 统计执行人拥有的周期列表
func
(
d
*
SummaryEvaluationDao
)
CountPersonalCycleList
(
executorId
int
)
(
int
,
error
)
{
sqlStr
:=
`select count(
distinct summary_evaluation.cycle_id
) as cnt
from summary_evaluation
where summary_evaluation.executor ->>'userId'='?' `
tx
:=
d
.
transactionContext
.
PgTx
condition
:=
[]
interface
{}{
executorId
,
}
var
cnt
int
_
,
err
:=
tx
.
QueryOne
(
pg
.
Scan
(
&
cnt
),
sqlStr
,
condition
...
)
return
cnt
,
err
}
...
...
pkg/infrastructure/pg/init.go
查看文件 @
c915370
...
...
@@ -46,6 +46,9 @@ func init() {
&
models
.
StaffAssessTask
{},
&
models
.
StaffAssessContent
{},
&
models
.
StaffAssessCache
{},
&
models
.
EvaluationItemUsed
{},
&
models
.
SummaryEvaluation
{},
&
models
.
SummaryEvaluationValue
{},
}
for
_
,
model
:=
range
tables
{
err
:=
DB
.
Model
(
model
)
.
CreateTable
(
&
orm
.
CreateTableOptions
{
...
...
pkg/infrastructure/pg/models/summary_evaluation.go
查看文件 @
c915370
...
...
@@ -20,7 +20,7 @@ type SummaryEvaluation struct {
Executor
domain
.
StaffDesc
//填写评估的用户,执行人
Types
int
//评估类型
Status
string
//评估的填写状态
CheckResult
int
//被执行的人确认评估结果
CheckResult
string
//被执行的人确认评估结果
BeginTime
time
.
Time
//开始时间
EndTime
time
.
Time
//截止时间
TotalScore
string
//最终上级评估得分.
...
...
pkg/infrastructure/pg/models/summary_evaluation_value.go
查看文件 @
c915370
...
...
@@ -4,7 +4,7 @@ import "time"
// 周期综合评估填写的内容
type
SummaryEvaluationValue
struct
{
tableName
struct
{}
`comment:"周期综合评估填写的内容" pg:"summary_evaluation"`
tableName
struct
{}
`comment:"周期综合评估填写的内容" pg:"summary_evaluation
_value
"`
Id
int
//
EvaluationItemId
int
//评估条目的id
SummaryEvaluationId
int
//综合评估任务(SummaryEvaluation)的id
...
...
pkg/infrastructure/repository/pg_summary_evaluation_repository.go
查看文件 @
c915370
...
...
@@ -34,7 +34,7 @@ func (repo *SummaryEvaluationRepository) TransformToDomain(d *models.SummaryEval
Executor
:
d
.
Executor
,
Types
:
domain
.
EvaluationType
(
d
.
Types
),
Status
:
domain
.
EvaluationStatus
(
d
.
Status
),
CheckResult
:
d
.
CheckResult
,
CheckResult
:
d
omain
.
EvaluationCheckResult
(
d
.
CheckResult
)
,
BeginTime
:
d
.
BeginTime
,
EndTime
:
d
.
EndTime
,
TotalScore
:
d
.
TotalScore
,
...
...
@@ -57,7 +57,7 @@ func (repo *SummaryEvaluationRepository) Save(param *domain.SummaryEvaluation) e
Executor
:
param
.
Executor
,
Types
:
int
(
param
.
Types
),
Status
:
string
(
param
.
Status
),
CheckResult
:
param
.
CheckResult
,
CheckResult
:
string
(
param
.
CheckResult
)
,
BeginTime
:
param
.
BeginTime
,
EndTime
:
param
.
EndTime
,
TotalScore
:
param
.
TotalScore
,
...
...
@@ -114,13 +114,33 @@ func (repo *SummaryEvaluationRepository) Find(queryOptions map[string]interface{
tx
:=
repo
.
transactionContext
.
PgTx
var
m
[]
*
models
.
SummaryEvaluation
query
:=
tx
.
Model
(
&
m
)
.
Where
(
"deleted_at isnull"
)
.
Limit
(
20
)
Where
(
"deleted_at isnull"
)
.
Limit
(
20
)
if
v
,
ok
:=
queryOptions
[
"limit"
]
.
(
int
);
ok
{
query
.
Limit
(
v
)
}
if
v
,
ok
:=
queryOptions
[
"offset"
]
.
(
int
);
ok
{
query
.
Offset
(
v
)
}
if
v
,
ok
:=
queryOptions
[
"types"
];
ok
{
query
.
Where
(
"types=?"
,
v
)
}
if
v
,
ok
:=
queryOptions
[
"status"
];
ok
{
query
.
Where
(
"status=?"
,
v
)
}
if
v
,
ok
:=
queryOptions
[
"targetUserId"
];
ok
{
query
.
Where
(
`summary_evaluation.target_user->>'userId'='?'`
,
v
)
}
if
v
,
ok
:=
queryOptions
[
"executorId"
];
ok
{
query
.
Where
(
`summary_evaluation.executor->>'userId'='?'`
,
v
)
}
query
.
Order
(
"id desc"
)
count
,
err
:=
query
.
SelectAndCount
()
if
err
!=
nil
{
return
0
,
nil
,
err
...
...
请
注册
或
登录
后发表评论