切换导航条
此项目
正在载入...
登录
allied-creation
/
performance
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
tangxvhui
2 years ago
提交
35d0de0ed55ac56eaff76b3a883f168cd8e41df3
1 个父辈
e049ed89
更新 周期下拉列表的查询方式
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
129 行增加
和
64 行删除
pkg/application/staff_assess/service/service_v2.go
pkg/infrastructure/dao/staff_assess_dao.go
pkg/application/staff_assess/service/service_v2.go
查看文件 @
35d0de0
...
...
@@ -27,7 +27,7 @@ func (srv StaffAssessServeice) SearchAssessTaskMeV2(param *query.SearchAssessMeQ
_
=
transactionContext
.
RollbackTransaction
()
}()
staffAssess
TaskRep
o
:=
dao
.
NewStaffAssessDao
(
map
[
string
]
interface
{}{
staffAssess
Da
o
:=
dao
.
NewStaffAssessDao
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
,
})
var
limit
int
=
360
...
...
@@ -36,20 +36,39 @@ func (srv StaffAssessServeice) SearchAssessTaskMeV2(param *query.SearchAssessMeQ
limit
=
param
.
PageSize
}
offset
=
(
param
.
PageNumber
-
1
)
*
param
.
PageSize
assessCycleList
,
err
:=
staffAssessTaskRepo
.
SearchAssessCycleMe
(
param
.
UserId
,
param
.
CompanyId
,
limit
,
offset
)
// assessCycleList, err := staffAssessTaskRepo.SearchAssessCycleMe(param.UserId, param.CompanyId, limit, offset)
// if err != nil {
// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询评估周期"+err.Error())
// }
// cnt, err := staffAssessTaskRepo.CountAssessTaskMe(param.UserId, param.CompanyId)
// if err != nil {
// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询评估周期"+err.Error())
// }
assessCycleList
,
cnt
,
err
:=
staffAssessDao
.
SearchExecutorAssessBeforeNow
(
param
.
UserId
,
param
.
CompanyId
,
limit
,
offset
)
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
"查询评估周期"
+
err
.
Error
())
}
cnt
,
err
:=
staffAssessTaskRepo
.
CountAssessTaskMe
(
param
.
UserId
,
param
.
CompanyId
)
assessCycleList2
,
err
:=
staffAssessDao
.
SearchExecutorAssessAfterNow
(
param
.
UserId
,
param
.
CompanyId
)
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
())
}
listData
:=
make
([]
adapter
.
AssessCycleDayResp
,
0
,
len
(
assessCycleList
))
var
temp
adapter
.
AssessCycleDayResp
for
_
,
v
:=
range
assessCycleList2
{
temp
=
adapter
.
AssessCycleDayResp
{
CycleId
:
v
.
CycleId
,
CycleName
:
v
.
CycleName
,
BeginDay
:
v
.
BeginDay
,
BeginTime
:
v
.
BeginTime
,
EndTime
:
v
.
EndTime
,
}
listData
=
append
(
listData
,
temp
)
}
for
_
,
v
:=
range
assessCycleList
{
temp
=
adapter
.
AssessCycleDayResp
{
CycleId
:
v
.
CycleId
,
...
...
pkg/infrastructure/dao/staff_assess_dao.go
查看文件 @
35d0de0
...
...
@@ -115,21 +115,21 @@ func (d *StaffAssessDao) CountTargetUserInviteAssess1(userIds []int, cycleId int
// }
// 搜索 executorId 参与的评估任务
func
(
d
*
StaffAssessDao
)
CountAssessTaskMe
(
executorId
int
,
companyId
int
)
(
int
,
error
)
{
sqlStr
:=
`SELECT count( DISTINCT staff_assess_task."id") FROM staff_assess_task
JOIN staff_assess ON staff_assess_task."id" = staff_assess."staff_assess_task_id"
WHERE staff_assess.company_id=?
and staff_assess_task.deleted_at isnull
and staff_assess.executor->>'userId'='?'
`
tx
:=
d
.
transactionContext
.
PgTx
condition
:=
[]
interface
{}{
companyId
,
executorId
,
}
result
:=
0
_
,
err
:=
tx
.
QueryOne
(
pg
.
Scan
(
&
result
),
sqlStr
,
condition
...
)
return
result
,
err
}
// func (d *StaffAssessDao) CountAssessTaskMe(executorId int, companyId int) (int, error) {
// sqlStr := `SELECT count( DISTINCT staff_assess_task."id") FROM staff_assess_task
// JOIN staff_assess ON staff_assess_task."id" = staff_assess."staff_assess_task_id"
// WHERE staff_assess.company_id=?
// and staff_assess_task.deleted_at isnull
// and staff_assess.executor->>'userId'='?'
// `
// tx := d.transactionContext.PgTx
// condition := []interface{}{
// companyId, executorId,
// }
// result := 0
// _, err := tx.QueryOne(pg.Scan(&result), sqlStr, condition...)
// return result, err
// }
// 获取所以已经执行的评估周期
type
AssessCycle
struct
{
...
...
@@ -1000,45 +1000,45 @@ func (d *StaffAssessDao) ExportDataUserAssess(param SearchConditin1) ([]ExportDa
return
result
,
err
}
type
AssessCycleDayMe
struct
{
BeginDay
string
CycleId
string
CycleName
string
EndTime
string
BeginTime
string
type
AssessCycleDayExecutor
struct
{
BeginDay
string
`pg:"begin_day"`
CycleId
string
`pg:"cycle_id"`
CycleName
string
`pg:"cycle_name"`
EndTime
string
`pg:"end_time"`
BeginTime
string
`pg:"begin_time"`
}
// 根据评估的人执行人id,搜索 executorId参与的评估周期
func
(
d
*
StaffAssessDao
)
SearchAssessCycleMe
(
executorId
int
,
companyId
int
,
limit
int
,
offset
int
)
([]
AssessCycleDayMe
,
error
)
{
if
limit
<
0
{
limit
=
20
}
if
offset
<
0
{
offset
=
0
}
sqlStr
:=
`
SELECT
distinct on(staff_assess_task.cycle_id,staff_assess_task.begin_day)
staff_assess_task.cycle_id,staff_assess_task.cycle_name ,
staff_assess_task.begin_day,
to_char(staff_assess_task.end_time at time zone 'PRC','YYYY-MM-DD HH24:MI:SS') as end_time,
to_char(staff_assess_task.begin_time at time zone 'PRC','YYYY-MM-DD HH24:MI:SS') as begin_time
FROM staff_assess_task
JOIN staff_assess ON staff_assess_task."id" = staff_assess."staff_assess_task_id"
WHERE staff_assess.company_id=?
and staff_assess_task.deleted_at isnull
and staff_assess.executor->>'userId'='?'
order by staff_assess_task.begin_day desc
limit ? offset ?
`
tx
:=
d
.
transactionContext
.
PgTx
condition
:=
[]
interface
{}{
companyId
,
executorId
,
limit
,
offset
,
}
result
:=
[]
AssessCycleDayMe
{}
_
,
err
:=
tx
.
Query
(
&
result
,
sqlStr
,
condition
...
)
return
result
,
err
}
// func (d *StaffAssessDao) SearchAssessCycleMe(executorId int, companyId int, limit int, offset int) ([]AssessCycleDayExecutor, error) {
// if limit < 0 {
// limit = 20
// }
// if offset < 0 {
// offset = 0
// }
// sqlStr := `
// SELECT
// distinct on(staff_assess_task.cycle_id,staff_assess_task.begin_day)
// staff_assess_task.cycle_id,staff_assess_task.cycle_name ,
// staff_assess_task.begin_day,
// to_char(staff_assess_task.end_time at time zone 'PRC','YYYY-MM-DD HH24:MI:SS') as end_time,
// to_char(staff_assess_task.begin_time at time zone 'PRC','YYYY-MM-DD HH24:MI:SS') as begin_time
// FROM staff_assess_task
// JOIN staff_assess ON staff_assess_task."id" = staff_assess."staff_assess_task_id"
// WHERE staff_assess.company_id=?
// and staff_assess_task.deleted_at isnull
// and staff_assess.executor->>'userId'='?'
// order by staff_assess_task.begin_day desc
// limit ? offset ?
// `
// tx := d.transactionContext.PgTx
// condition := []interface{}{
// companyId, executorId, limit, offset,
// }
// result := []AssessCycleDayExecutor{}
// _, err := tx.Query(&result, sqlStr, condition...)
// return result, err
// }
// 根据评估的人执行人id,统计executorId参与的评估周期
func
(
d
*
StaffAssessDao
)
CountAssessCycleMe
(
executorId
int
,
companyId
int
)
(
int
,
error
)
{
...
...
@@ -1254,8 +1254,8 @@ func (d *StaffAssessDao) CountUncompletedSelfAssess(companyId int, projectIds []
return
result
,
err
}
// SearchAssesBeforeNow
func
(
d
*
StaffAssessDao
)
SearchAssesBeforeNow
(
executorId
int
,
companyId
int
,
limit
int
,
offset
int
)
([]
AssessCycleDayMe
,
int
,
error
)
{
// SearchExecutorAssesBeforeNow
func
(
d
*
StaffAssessDao
)
SearchExecutorAssessBeforeNow
(
executorId
int
,
companyId
int
,
limit
int
,
offset
int
)
([]
AssessCycleDayExecutor
,
int
,
error
)
{
sqlStr1
:=
`select
distinct on(cycle_id ,begin_day)
staff_assess.cycle_id ,
...
...
@@ -1269,20 +1269,66 @@ func (d *StaffAssessDao) SearchAssesBeforeNow(executorId int, companyId int, lim
and (
staff_assess.end_time < now() or staff_assess.status ='completed'
)
and staff_assess.executor ->> 'userId'=''
and staff_assess.executor ->> 'userId'='
?
'
order by begin_day desc
limit ? offset ?`
// sqlStr2 := ``
condition1
:=
[]
interface
{}{
companyId
,
executorId
,
limit
,
offset
,
}
_
=
sqlStr1
_
=
condition1
return
nil
,
0
,
nil
sqlStr2
:=
`select
count(
distinct (staff_assess.cycle_id ,to_char(staff_assess.begin_time at time zone 'PRC','YYYY-MM-DD'))
) as cnt
from staff_assess
WHERE staff_assess.company_id=?
and staff_assess.deleted_at isnull
and (
staff_assess.end_time < now() or staff_assess.status ='completed'
)
and staff_assess.executor ->> 'userId'='?'
`
condition2
:=
[]
interface
{}{
companyId
,
executorId
,
}
tx
:=
d
.
transactionContext
.
PgTx
result
:=
[]
AssessCycleDayExecutor
{}
_
,
err
:=
tx
.
Query
(
&
result
,
sqlStr1
,
condition1
...
)
if
err
!=
nil
{
return
nil
,
0
,
err
}
var
cnt
int
_
,
err
=
tx
.
QueryOne
(
pg
.
Scan
(
&
cnt
),
sqlStr2
,
condition2
...
)
if
err
!=
nil
{
return
nil
,
0
,
err
}
return
result
,
cnt
,
nil
}
func
(
d
*
StaffAssessDao
)
SearchAssessAfterNow
(
executorId
int
,
companyId
int
)
{}
// SearchExecutorAssessAfterNow SearchExecutorAssesAfterNow
func
(
d
*
StaffAssessDao
)
SearchExecutorAssessAfterNow
(
executorId
int
,
companyId
int
)
([]
AssessCycleDayExecutor
,
error
)
{
sqlStr
:=
`select
distinct on(cycle_id ,begin_day)
staff_assess.cycle_id ,
staff_assess.cycle_name ,
to_char(staff_assess.begin_time at time zone 'PRC','YYYY-MM-DD') as begin_day,
to_char(staff_assess.end_time at time zone 'PRC','YYYY-MM-DD HH24:MI:SS') as end_time,
to_char(staff_assess.begin_time at time zone 'PRC','YYYY-MM-DD HH24:MI:SS') as begin_time
from staff_assess
WHERE staff_assess.company_id=?
and staff_assess.deleted_at isnull
and (
staff_assess.end_time >= now() and staff_assess.status ='uncompleted'
)
and staff_assess.executor ->> 'userId'='?'
order by begin_day`
condition1
:=
[]
interface
{}{
companyId
,
executorId
,
}
tx
:=
d
.
transactionContext
.
PgTx
result
:=
[]
AssessCycleDayExecutor
{}
_
,
err
:=
tx
.
Query
(
&
result
,
sqlStr
,
condition1
...
)
return
result
,
err
}
...
...
请
注册
或
登录
后发表评论