正在显示
2 个修改的文件
包含
129 行增加
和
64 行删除
@@ -27,7 +27,7 @@ func (srv StaffAssessServeice) SearchAssessTaskMeV2(param *query.SearchAssessMeQ | @@ -27,7 +27,7 @@ func (srv StaffAssessServeice) SearchAssessTaskMeV2(param *query.SearchAssessMeQ | ||
27 | _ = transactionContext.RollbackTransaction() | 27 | _ = transactionContext.RollbackTransaction() |
28 | }() | 28 | }() |
29 | 29 | ||
30 | - staffAssessTaskRepo := dao.NewStaffAssessDao(map[string]interface{}{ | 30 | + staffAssessDao := dao.NewStaffAssessDao(map[string]interface{}{ |
31 | "transactionContext": transactionContext, | 31 | "transactionContext": transactionContext, |
32 | }) | 32 | }) |
33 | var limit int = 360 | 33 | var limit int = 360 |
@@ -36,20 +36,39 @@ func (srv StaffAssessServeice) SearchAssessTaskMeV2(param *query.SearchAssessMeQ | @@ -36,20 +36,39 @@ func (srv StaffAssessServeice) SearchAssessTaskMeV2(param *query.SearchAssessMeQ | ||
36 | limit = param.PageSize | 36 | limit = param.PageSize |
37 | } | 37 | } |
38 | offset = (param.PageNumber - 1) * param.PageSize | 38 | offset = (param.PageNumber - 1) * param.PageSize |
39 | - assessCycleList, err := staffAssessTaskRepo.SearchAssessCycleMe(param.UserId, param.CompanyId, limit, offset) | 39 | + // assessCycleList, err := staffAssessTaskRepo.SearchAssessCycleMe(param.UserId, param.CompanyId, limit, offset) |
40 | + // if err != nil { | ||
41 | + // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询评估周期"+err.Error()) | ||
42 | + // } | ||
43 | + // cnt, err := staffAssessTaskRepo.CountAssessTaskMe(param.UserId, param.CompanyId) | ||
44 | + // if err != nil { | ||
45 | + // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询评估周期"+err.Error()) | ||
46 | + // } | ||
47 | + | ||
48 | + assessCycleList, cnt, err := staffAssessDao.SearchExecutorAssessBeforeNow(param.UserId, param.CompanyId, limit, offset) | ||
40 | if err != nil { | 49 | if err != nil { |
41 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询评估周期"+err.Error()) | 50 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询评估周期"+err.Error()) |
42 | } | 51 | } |
43 | - cnt, err := staffAssessTaskRepo.CountAssessTaskMe(param.UserId, param.CompanyId) | 52 | + assessCycleList2, err := staffAssessDao.SearchExecutorAssessAfterNow(param.UserId, param.CompanyId) |
44 | if err != nil { | 53 | if err != nil { |
45 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询评估周期"+err.Error()) | 54 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询评估周期"+err.Error()) |
46 | } | 55 | } |
47 | - | ||
48 | if err := transactionContext.CommitTransaction(); err != nil { | 56 | if err := transactionContext.CommitTransaction(); err != nil { |
49 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 57 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
50 | } | 58 | } |
51 | listData := make([]adapter.AssessCycleDayResp, 0, len(assessCycleList)) | 59 | listData := make([]adapter.AssessCycleDayResp, 0, len(assessCycleList)) |
60 | + | ||
52 | var temp adapter.AssessCycleDayResp | 61 | var temp adapter.AssessCycleDayResp |
62 | + for _, v := range assessCycleList2 { | ||
63 | + temp = adapter.AssessCycleDayResp{ | ||
64 | + CycleId: v.CycleId, | ||
65 | + CycleName: v.CycleName, | ||
66 | + BeginDay: v.BeginDay, | ||
67 | + BeginTime: v.BeginTime, | ||
68 | + EndTime: v.EndTime, | ||
69 | + } | ||
70 | + listData = append(listData, temp) | ||
71 | + } | ||
53 | for _, v := range assessCycleList { | 72 | for _, v := range assessCycleList { |
54 | temp = adapter.AssessCycleDayResp{ | 73 | temp = adapter.AssessCycleDayResp{ |
55 | CycleId: v.CycleId, | 74 | CycleId: v.CycleId, |
@@ -115,21 +115,21 @@ func (d *StaffAssessDao) CountTargetUserInviteAssess1(userIds []int, cycleId int | @@ -115,21 +115,21 @@ func (d *StaffAssessDao) CountTargetUserInviteAssess1(userIds []int, cycleId int | ||
115 | // } | 115 | // } |
116 | 116 | ||
117 | // 搜索 executorId 参与的评估任务 | 117 | // 搜索 executorId 参与的评估任务 |
118 | -func (d *StaffAssessDao) CountAssessTaskMe(executorId int, companyId int) (int, error) { | ||
119 | - sqlStr := `SELECT count( DISTINCT staff_assess_task."id") FROM staff_assess_task | ||
120 | - JOIN staff_assess ON staff_assess_task."id" = staff_assess."staff_assess_task_id" | ||
121 | - WHERE staff_assess.company_id=? | ||
122 | - and staff_assess_task.deleted_at isnull | ||
123 | - and staff_assess.executor->>'userId'='?' | ||
124 | - ` | ||
125 | - tx := d.transactionContext.PgTx | ||
126 | - condition := []interface{}{ | ||
127 | - companyId, executorId, | ||
128 | - } | ||
129 | - result := 0 | ||
130 | - _, err := tx.QueryOne(pg.Scan(&result), sqlStr, condition...) | ||
131 | - return result, err | ||
132 | -} | 118 | +// func (d *StaffAssessDao) CountAssessTaskMe(executorId int, companyId int) (int, error) { |
119 | +// sqlStr := `SELECT count( DISTINCT staff_assess_task."id") FROM staff_assess_task | ||
120 | +// JOIN staff_assess ON staff_assess_task."id" = staff_assess."staff_assess_task_id" | ||
121 | +// WHERE staff_assess.company_id=? | ||
122 | +// and staff_assess_task.deleted_at isnull | ||
123 | +// and staff_assess.executor->>'userId'='?' | ||
124 | +// ` | ||
125 | +// tx := d.transactionContext.PgTx | ||
126 | +// condition := []interface{}{ | ||
127 | +// companyId, executorId, | ||
128 | +// } | ||
129 | +// result := 0 | ||
130 | +// _, err := tx.QueryOne(pg.Scan(&result), sqlStr, condition...) | ||
131 | +// return result, err | ||
132 | +// } | ||
133 | 133 | ||
134 | // 获取所以已经执行的评估周期 | 134 | // 获取所以已经执行的评估周期 |
135 | type AssessCycle struct { | 135 | type AssessCycle struct { |
@@ -1000,45 +1000,45 @@ func (d *StaffAssessDao) ExportDataUserAssess(param SearchConditin1) ([]ExportDa | @@ -1000,45 +1000,45 @@ func (d *StaffAssessDao) ExportDataUserAssess(param SearchConditin1) ([]ExportDa | ||
1000 | return result, err | 1000 | return result, err |
1001 | } | 1001 | } |
1002 | 1002 | ||
1003 | -type AssessCycleDayMe struct { | ||
1004 | - BeginDay string | ||
1005 | - CycleId string | ||
1006 | - CycleName string | ||
1007 | - EndTime string | ||
1008 | - BeginTime string | 1003 | +type AssessCycleDayExecutor struct { |
1004 | + BeginDay string `pg:"begin_day"` | ||
1005 | + CycleId string `pg:"cycle_id"` | ||
1006 | + CycleName string `pg:"cycle_name"` | ||
1007 | + EndTime string `pg:"end_time"` | ||
1008 | + BeginTime string `pg:"begin_time"` | ||
1009 | } | 1009 | } |
1010 | 1010 | ||
1011 | // 根据评估的人执行人id,搜索 executorId参与的评估周期 | 1011 | // 根据评估的人执行人id,搜索 executorId参与的评估周期 |
1012 | -func (d *StaffAssessDao) SearchAssessCycleMe(executorId int, companyId int, limit int, offset int) ([]AssessCycleDayMe, error) { | ||
1013 | - if limit < 0 { | ||
1014 | - limit = 20 | ||
1015 | - } | ||
1016 | - if offset < 0 { | ||
1017 | - offset = 0 | ||
1018 | - } | ||
1019 | - sqlStr := ` | ||
1020 | - SELECT | ||
1021 | - distinct on(staff_assess_task.cycle_id,staff_assess_task.begin_day) | ||
1022 | - staff_assess_task.cycle_id,staff_assess_task.cycle_name , | ||
1023 | - staff_assess_task.begin_day, | ||
1024 | - to_char(staff_assess_task.end_time at time zone 'PRC','YYYY-MM-DD HH24:MI:SS') as end_time, | ||
1025 | - to_char(staff_assess_task.begin_time at time zone 'PRC','YYYY-MM-DD HH24:MI:SS') as begin_time | ||
1026 | - FROM staff_assess_task | ||
1027 | - JOIN staff_assess ON staff_assess_task."id" = staff_assess."staff_assess_task_id" | ||
1028 | - WHERE staff_assess.company_id=? | ||
1029 | - and staff_assess_task.deleted_at isnull | ||
1030 | - and staff_assess.executor->>'userId'='?' | ||
1031 | - order by staff_assess_task.begin_day desc | ||
1032 | - limit ? offset ? | ||
1033 | - ` | ||
1034 | - tx := d.transactionContext.PgTx | ||
1035 | - condition := []interface{}{ | ||
1036 | - companyId, executorId, limit, offset, | ||
1037 | - } | ||
1038 | - result := []AssessCycleDayMe{} | ||
1039 | - _, err := tx.Query(&result, sqlStr, condition...) | ||
1040 | - return result, err | ||
1041 | -} | 1012 | +// func (d *StaffAssessDao) SearchAssessCycleMe(executorId int, companyId int, limit int, offset int) ([]AssessCycleDayExecutor, error) { |
1013 | +// if limit < 0 { | ||
1014 | +// limit = 20 | ||
1015 | +// } | ||
1016 | +// if offset < 0 { | ||
1017 | +// offset = 0 | ||
1018 | +// } | ||
1019 | +// sqlStr := ` | ||
1020 | +// SELECT | ||
1021 | +// distinct on(staff_assess_task.cycle_id,staff_assess_task.begin_day) | ||
1022 | +// staff_assess_task.cycle_id,staff_assess_task.cycle_name , | ||
1023 | +// staff_assess_task.begin_day, | ||
1024 | +// to_char(staff_assess_task.end_time at time zone 'PRC','YYYY-MM-DD HH24:MI:SS') as end_time, | ||
1025 | +// to_char(staff_assess_task.begin_time at time zone 'PRC','YYYY-MM-DD HH24:MI:SS') as begin_time | ||
1026 | +// FROM staff_assess_task | ||
1027 | +// JOIN staff_assess ON staff_assess_task."id" = staff_assess."staff_assess_task_id" | ||
1028 | +// WHERE staff_assess.company_id=? | ||
1029 | +// and staff_assess_task.deleted_at isnull | ||
1030 | +// and staff_assess.executor->>'userId'='?' | ||
1031 | +// order by staff_assess_task.begin_day desc | ||
1032 | +// limit ? offset ? | ||
1033 | +// ` | ||
1034 | +// tx := d.transactionContext.PgTx | ||
1035 | +// condition := []interface{}{ | ||
1036 | +// companyId, executorId, limit, offset, | ||
1037 | +// } | ||
1038 | +// result := []AssessCycleDayExecutor{} | ||
1039 | +// _, err := tx.Query(&result, sqlStr, condition...) | ||
1040 | +// return result, err | ||
1041 | +// } | ||
1042 | 1042 | ||
1043 | // 根据评估的人执行人id,统计executorId参与的评估周期 | 1043 | // 根据评估的人执行人id,统计executorId参与的评估周期 |
1044 | func (d *StaffAssessDao) CountAssessCycleMe(executorId int, companyId int) (int, error) { | 1044 | func (d *StaffAssessDao) CountAssessCycleMe(executorId int, companyId int) (int, error) { |
@@ -1254,8 +1254,8 @@ func (d *StaffAssessDao) CountUncompletedSelfAssess(companyId int, projectIds [] | @@ -1254,8 +1254,8 @@ func (d *StaffAssessDao) CountUncompletedSelfAssess(companyId int, projectIds [] | ||
1254 | return result, err | 1254 | return result, err |
1255 | } | 1255 | } |
1256 | 1256 | ||
1257 | -// SearchAssesBeforeNow | ||
1258 | -func (d *StaffAssessDao) SearchAssesBeforeNow(executorId int, companyId int, limit int, offset int) ([]AssessCycleDayMe, int, error) { | 1257 | +// SearchExecutorAssesBeforeNow |
1258 | +func (d *StaffAssessDao) SearchExecutorAssessBeforeNow(executorId int, companyId int, limit int, offset int) ([]AssessCycleDayExecutor, int, error) { | ||
1259 | sqlStr1 := `select | 1259 | sqlStr1 := `select |
1260 | distinct on(cycle_id ,begin_day) | 1260 | distinct on(cycle_id ,begin_day) |
1261 | staff_assess.cycle_id , | 1261 | staff_assess.cycle_id , |
@@ -1269,20 +1269,66 @@ func (d *StaffAssessDao) SearchAssesBeforeNow(executorId int, companyId int, lim | @@ -1269,20 +1269,66 @@ func (d *StaffAssessDao) SearchAssesBeforeNow(executorId int, companyId int, lim | ||
1269 | and ( | 1269 | and ( |
1270 | staff_assess.end_time < now() or staff_assess.status ='completed' | 1270 | staff_assess.end_time < now() or staff_assess.status ='completed' |
1271 | ) | 1271 | ) |
1272 | - and staff_assess.executor ->> 'userId'='' | 1272 | + and staff_assess.executor ->> 'userId'='?' |
1273 | order by begin_day desc | 1273 | order by begin_day desc |
1274 | limit ? offset ?` | 1274 | limit ? offset ?` |
1275 | 1275 | ||
1276 | - // sqlStr2 := `` | ||
1277 | - | ||
1278 | condition1 := []interface{}{ | 1276 | condition1 := []interface{}{ |
1279 | companyId, executorId, limit, offset, | 1277 | companyId, executorId, limit, offset, |
1280 | } | 1278 | } |
1281 | 1279 | ||
1282 | - _ = sqlStr1 | ||
1283 | - _ = condition1 | ||
1284 | - return nil, 0, nil | 1280 | + sqlStr2 := `select |
1281 | + count( | ||
1282 | + distinct (staff_assess.cycle_id ,to_char(staff_assess.begin_time at time zone 'PRC','YYYY-MM-DD')) | ||
1283 | + ) as cnt | ||
1284 | + from staff_assess | ||
1285 | + WHERE staff_assess.company_id=? | ||
1286 | + and staff_assess.deleted_at isnull | ||
1287 | + and ( | ||
1288 | + staff_assess.end_time < now() or staff_assess.status ='completed' | ||
1289 | + ) | ||
1290 | + and staff_assess.executor ->> 'userId'='?' | ||
1291 | + ` | ||
1292 | + condition2 := []interface{}{ | ||
1293 | + companyId, executorId, | ||
1294 | + } | ||
1295 | + tx := d.transactionContext.PgTx | ||
1296 | + result := []AssessCycleDayExecutor{} | ||
1297 | + _, err := tx.Query(&result, sqlStr1, condition1...) | ||
1298 | + if err != nil { | ||
1299 | + return nil, 0, err | ||
1300 | + } | ||
1301 | + var cnt int | ||
1302 | + _, err = tx.QueryOne(pg.Scan(&cnt), sqlStr2, condition2...) | ||
1303 | + if err != nil { | ||
1304 | + return nil, 0, err | ||
1305 | + } | ||
1306 | + return result, cnt, nil | ||
1285 | 1307 | ||
1286 | } | 1308 | } |
1287 | 1309 | ||
1288 | -func (d *StaffAssessDao) SearchAssessAfterNow(executorId int, companyId int) {} | 1310 | +// SearchExecutorAssessAfterNow SearchExecutorAssesAfterNow |
1311 | +func (d *StaffAssessDao) SearchExecutorAssessAfterNow(executorId int, companyId int) ([]AssessCycleDayExecutor, error) { | ||
1312 | + sqlStr := `select | ||
1313 | + distinct on(cycle_id ,begin_day) | ||
1314 | + staff_assess.cycle_id , | ||
1315 | + staff_assess.cycle_name , | ||
1316 | + to_char(staff_assess.begin_time at time zone 'PRC','YYYY-MM-DD') as begin_day, | ||
1317 | + to_char(staff_assess.end_time at time zone 'PRC','YYYY-MM-DD HH24:MI:SS') as end_time, | ||
1318 | + to_char(staff_assess.begin_time at time zone 'PRC','YYYY-MM-DD HH24:MI:SS') as begin_time | ||
1319 | + from staff_assess | ||
1320 | + WHERE staff_assess.company_id=? | ||
1321 | + and staff_assess.deleted_at isnull | ||
1322 | + and ( | ||
1323 | + staff_assess.end_time >= now() and staff_assess.status ='uncompleted' | ||
1324 | + ) | ||
1325 | + and staff_assess.executor ->> 'userId'='?' | ||
1326 | + order by begin_day` | ||
1327 | + condition1 := []interface{}{ | ||
1328 | + companyId, executorId, | ||
1329 | + } | ||
1330 | + tx := d.transactionContext.PgTx | ||
1331 | + result := []AssessCycleDayExecutor{} | ||
1332 | + _, err := tx.Query(&result, sqlStr, condition1...) | ||
1333 | + return result, err | ||
1334 | +} |
-
请 注册 或 登录 后发表评论