正在显示
5 个修改的文件
包含
88 行增加
和
40 行删除
| @@ -7,7 +7,7 @@ type AssessInfoResp struct { | @@ -7,7 +7,7 @@ type AssessInfoResp struct { | ||
| 7 | AssessId int `json:"assessId"` | 7 | AssessId int `json:"assessId"` |
| 8 | CycleId int64 `json:"cycleId,string"` //周期id | 8 | CycleId int64 `json:"cycleId,string"` //周期id |
| 9 | CycleName string `json:"cycleName"` //周期名称 | 9 | CycleName string `json:"cycleName"` //周期名称 |
| 10 | - EvaluationProjectId int `json:"evaluationProjectId"` //项目id | 10 | + EvaluationProjectId int `json:"evaluationProjectId,string"` //项目id |
| 11 | EvaluationProjectName string `json:"evaluationProjectName"` //项目名称 | 11 | EvaluationProjectName string `json:"evaluationProjectName"` //项目名称 |
| 12 | LinkNodeId int `json:"linkNodeId,string"` //评估环节id | 12 | LinkNodeId int `json:"linkNodeId,string"` //评估环节id |
| 13 | LinkNodeName string `json:"linkNodeName"` //评估环节名称 | 13 | LinkNodeName string `json:"linkNodeName"` //评估环节名称 |
| @@ -906,8 +906,8 @@ func (srv StaffAssessServeice) GetAssessInfo(param *query.AssessInfoQuery) (*ada | @@ -906,8 +906,8 @@ func (srv StaffAssessServeice) GetAssessInfo(param *query.AssessInfoQuery) (*ada | ||
| 906 | return &adapter.AssessInfoResp{}, nil | 906 | return &adapter.AssessInfoResp{}, nil |
| 907 | } | 907 | } |
| 908 | assessData := assessList[0] | 908 | assessData := assessList[0] |
| 909 | - assessContentList := []*domain.StaffAssessContent{} | ||
| 910 | - if assessData.Status == domain.StaffAssessCompleted { | 909 | + var assessContentList []*domain.StaffAssessContent |
| 910 | + | ||
| 911 | //已完成 | 911 | //已完成 |
| 912 | assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{ | 912 | assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{ |
| 913 | "transactionContext": transactionContext, | 913 | "transactionContext": transactionContext, |
| @@ -918,8 +918,8 @@ func (srv StaffAssessServeice) GetAssessInfo(param *query.AssessInfoQuery) (*ada | @@ -918,8 +918,8 @@ func (srv StaffAssessServeice) GetAssessInfo(param *query.AssessInfoQuery) (*ada | ||
| 918 | if err != nil { | 918 | if err != nil { |
| 919 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) | 919 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) |
| 920 | } | 920 | } |
| 921 | - } else if assessData.Status == domain.StaffAssessUncompleted { | ||
| 922 | - //未完成 | 921 | + if len(assessContentList) == 0 { |
| 922 | + // 未完成 | ||
| 923 | assessContentList, err = srv.getAssessInfoUncompletedV2(transactionContext, assessData) | 923 | assessContentList, err = srv.getAssessInfoUncompletedV2(transactionContext, assessData) |
| 924 | if err != nil { | 924 | if err != nil { |
| 925 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) | 925 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) |
| @@ -1048,8 +1048,7 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma | @@ -1048,8 +1048,7 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma | ||
| 1048 | "transactionContext": transactionContext, | 1048 | "transactionContext": transactionContext, |
| 1049 | }) | 1049 | }) |
| 1050 | //待更新的评估填写信息 | 1050 | //待更新的评估填写信息 |
| 1051 | - assessContentList := []*domain.StaffAssessContent{} | ||
| 1052 | - if assessData.Status == domain.StaffAssessCompleted { | 1051 | + var assessContentList []*domain.StaffAssessContent |
| 1053 | //已完成 | 1052 | //已完成 |
| 1054 | _, assessContentList, err = assessContentRepo.Find(map[string]interface{}{ | 1053 | _, assessContentList, err = assessContentRepo.Find(map[string]interface{}{ |
| 1055 | "staffAssessId": assessData.Id, | 1054 | "staffAssessId": assessData.Id, |
| @@ -1057,8 +1056,9 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma | @@ -1057,8 +1056,9 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma | ||
| 1057 | if err != nil { | 1056 | if err != nil { |
| 1058 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) | 1057 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) |
| 1059 | } | 1058 | } |
| 1060 | - } else if assessData.Status == domain.StaffAssessUncompleted { | ||
| 1061 | - //未完成 | 1059 | + |
| 1060 | + if len(assessContentList) == 0 { | ||
| 1061 | + // 未完成 | ||
| 1062 | assessContentList, err = srv.getAssessInfoUncompletedV2(transactionContext, assessData) | 1062 | assessContentList, err = srv.getAssessInfoUncompletedV2(transactionContext, assessData) |
| 1063 | if err != nil { | 1063 | if err != nil { |
| 1064 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) | 1064 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) |
| @@ -1102,19 +1102,14 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma | @@ -1102,19 +1102,14 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma | ||
| 1102 | } | 1102 | } |
| 1103 | } | 1103 | } |
| 1104 | //保存信息 | 1104 | //保存信息 |
| 1105 | - hasValue := false //评估是否有填写值 | 1105 | + |
| 1106 | for i := range assessContentList { | 1106 | for i := range assessContentList { |
| 1107 | _, err = assessContentRepo.Save(assessContentList[i]) | 1107 | _, err = assessContentRepo.Save(assessContentList[i]) |
| 1108 | if err != nil { | 1108 | if err != nil { |
| 1109 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存评估填写内容"+err.Error()) | 1109 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存评估填写内容"+err.Error()) |
| 1110 | } | 1110 | } |
| 1111 | - if len(assessContentList[i].Value) > 0 { | ||
| 1112 | - hasValue = true | ||
| 1113 | - } | ||
| 1114 | } | 1111 | } |
| 1115 | - if hasValue { | ||
| 1116 | assessData.Status = domain.StaffAssessCompleted | 1112 | assessData.Status = domain.StaffAssessCompleted |
| 1117 | - } | ||
| 1118 | assessData.UpdatedAt = time.Now() | 1113 | assessData.UpdatedAt = time.Now() |
| 1119 | _, err = assessReps.Save(assessData) | 1114 | _, err = assessReps.Save(assessData) |
| 1120 | if err != nil { | 1115 | if err != nil { |
| @@ -37,6 +37,9 @@ func (srv StaffAssessServeice) SearchAssessTaskMeV2(param *query.SearchAssessMeQ | @@ -37,6 +37,9 @@ func (srv StaffAssessServeice) SearchAssessTaskMeV2(param *query.SearchAssessMeQ | ||
| 37 | if param.PageSize > 0 { | 37 | if param.PageSize > 0 { |
| 38 | limit = param.PageSize | 38 | limit = param.PageSize |
| 39 | } | 39 | } |
| 40 | + if param.PageNumber <= 0 { | ||
| 41 | + param.PageNumber = 1 | ||
| 42 | + } | ||
| 40 | offset = (param.PageNumber - 1) * param.PageSize | 43 | offset = (param.PageNumber - 1) * param.PageSize |
| 41 | 44 | ||
| 42 | assessCycleList, cnt, err := staffAssessDao.SearchExecutorAssessBeforeNow(param.UserId, param.CompanyId, limit, offset) | 45 | assessCycleList, cnt, err := staffAssessDao.SearchExecutorAssessBeforeNow(param.UserId, param.CompanyId, limit, offset) |
| @@ -1217,8 +1220,7 @@ func (srv StaffAssessServeice) getStaffAssessBeforeEdit(param *query.AssessInfoQ | @@ -1217,8 +1220,7 @@ func (srv StaffAssessServeice) getStaffAssessBeforeEdit(param *query.AssessInfoQ | ||
| 1217 | return &adapter.AssessInfoResp{}, nil | 1220 | return &adapter.AssessInfoResp{}, nil |
| 1218 | } | 1221 | } |
| 1219 | assessData := assessList[0] | 1222 | assessData := assessList[0] |
| 1220 | - assessContentList := []*domain.StaffAssessContent{} | ||
| 1221 | - if assessData.Status == domain.StaffAssessCompleted { | 1223 | + var assessContentList []*domain.StaffAssessContent |
| 1222 | //已完成 | 1224 | //已完成 |
| 1223 | assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{ | 1225 | assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{ |
| 1224 | "transactionContext": transactionContext, | 1226 | "transactionContext": transactionContext, |
| @@ -1229,12 +1231,13 @@ func (srv StaffAssessServeice) getStaffAssessBeforeEdit(param *query.AssessInfoQ | @@ -1229,12 +1231,13 @@ func (srv StaffAssessServeice) getStaffAssessBeforeEdit(param *query.AssessInfoQ | ||
| 1229 | if err != nil { | 1231 | if err != nil { |
| 1230 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) | 1232 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) |
| 1231 | } | 1233 | } |
| 1232 | - } else if assessData.Status == domain.StaffAssessUncompleted { | 1234 | + if len(assessContentList) == 0 { |
| 1233 | //未完成 | 1235 | //未完成 |
| 1234 | assessContentList, err = srv.getAssessInfoUncompletedV2(transactionContext, assessData) | 1236 | assessContentList, err = srv.getAssessInfoUncompletedV2(transactionContext, assessData) |
| 1235 | if err != nil { | 1237 | if err != nil { |
| 1236 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) | 1238 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) |
| 1237 | } | 1239 | } |
| 1240 | + | ||
| 1238 | } | 1241 | } |
| 1239 | // 恢复缓存数据 | 1242 | // 恢复缓存数据 |
| 1240 | srv.recoverAssessCache(transactionContext, assessData.Id, assessContentList) | 1243 | srv.recoverAssessCache(transactionContext, assessData.Id, assessContentList) |
| @@ -1306,7 +1306,7 @@ func (d *StaffAssessDao) SearchExecutorAssessBeforeNow(executorId int, companyId | @@ -1306,7 +1306,7 @@ func (d *StaffAssessDao) SearchExecutorAssessBeforeNow(executorId int, companyId | ||
| 1306 | and staff_assess.deleted_at isnull | 1306 | and staff_assess.deleted_at isnull |
| 1307 | and staff_assess_task.deleted_at isnull | 1307 | and staff_assess_task.deleted_at isnull |
| 1308 | and ( | 1308 | and ( |
| 1309 | - staff_assess.end_time < now() or staff_assess.status ='completed' | 1309 | + staff_assess.end_time < now() |
| 1310 | ) | 1310 | ) |
| 1311 | and staff_assess.executor ->> 'userId'='?' | 1311 | and staff_assess.executor ->> 'userId'='?' |
| 1312 | order by begin_day desc | 1312 | order by begin_day desc |
| @@ -1325,7 +1325,7 @@ func (d *StaffAssessDao) SearchExecutorAssessBeforeNow(executorId int, companyId | @@ -1325,7 +1325,7 @@ func (d *StaffAssessDao) SearchExecutorAssessBeforeNow(executorId int, companyId | ||
| 1325 | WHERE staff_assess.company_id=? | 1325 | WHERE staff_assess.company_id=? |
| 1326 | and staff_assess.deleted_at isnull | 1326 | and staff_assess.deleted_at isnull |
| 1327 | and ( | 1327 | and ( |
| 1328 | - staff_assess.end_time < now() or staff_assess.status ='completed' | 1328 | + staff_assess.end_time < now() |
| 1329 | ) | 1329 | ) |
| 1330 | and staff_assess_task.deleted_at isnull | 1330 | and staff_assess_task.deleted_at isnull |
| 1331 | and staff_assess.executor ->> 'userId'='?' | 1331 | and staff_assess.executor ->> 'userId'='?' |
| @@ -1362,7 +1362,7 @@ func (d *StaffAssessDao) SearchExecutorAssessAfterNow(executorId int, companyId | @@ -1362,7 +1362,7 @@ func (d *StaffAssessDao) SearchExecutorAssessAfterNow(executorId int, companyId | ||
| 1362 | WHERE staff_assess.company_id=? | 1362 | WHERE staff_assess.company_id=? |
| 1363 | and staff_assess.deleted_at isnull | 1363 | and staff_assess.deleted_at isnull |
| 1364 | and ( | 1364 | and ( |
| 1365 | - staff_assess.end_time >= now() and staff_assess.status ='uncompleted' | 1365 | + staff_assess.end_time >= now() |
| 1366 | ) | 1366 | ) |
| 1367 | and staff_assess_task.deleted_at isnull | 1367 | and staff_assess_task.deleted_at isnull |
| 1368 | and staff_assess.executor ->> 'userId'='?' | 1368 | and staff_assess.executor ->> 'userId'='?' |
| @@ -299,21 +299,37 @@ func (d *StaffAssessDao) ListTargetUserNoInvite(companyId int, cycleId int, begi | @@ -299,21 +299,37 @@ func (d *StaffAssessDao) ListTargetUserNoInvite(companyId int, cycleId int, begi | ||
| 299 | } | 299 | } |
| 300 | 300 | ||
| 301 | type UserSelfStaffAssess struct { | 301 | type UserSelfStaffAssess struct { |
| 302 | - CycleId string `` | ||
| 303 | - AssessId string `` | ||
| 304 | - TargetUserId string `` | ||
| 305 | - TargetUserName string `` | 302 | + CycleId string `pg:"cycle_id"` |
| 303 | + AssessId string `pg:"assess_id"` | ||
| 304 | + TargetUserId string `pg:"target_user_id"` | ||
| 305 | + TargetUserName string `pg:"target_user_name"` | ||
| 306 | + EvaluationProjectId string `pg:"evaluation_project_id"` | ||
| 307 | + EvaluationProjectName string `pg:"evaluation_project_name"` | ||
| 308 | + CompanyId string `pg:"company_id"` | ||
| 309 | + BeginDay string `pg:"begin_day"` | ||
| 310 | +} | ||
| 311 | + | ||
| 312 | +type SearchConditin3 struct { | ||
| 313 | + CompanyId int //公司id | ||
| 314 | + CycleId int //周期id | ||
| 315 | + BeginDay string //评估的日期 | ||
| 316 | + TargetUserName string //被评估人的名称 | ||
| 317 | + Limit int //分页 | ||
| 318 | + Offset int //分页 | ||
| 319 | + OperaterId int //用户的id是谁在搜索数据 | ||
| 320 | + Hrbp int // | ||
| 321 | + Status string // 评估完成状态 | ||
| 306 | } | 322 | } |
| 307 | 323 | ||
| 308 | // 根据周期的id和日期获取员工评估的评估任务。有进行查看权限过滤 | 324 | // 根据周期的id和日期获取员工评估的评估任务。有进行查看权限过滤 |
| 309 | -// companyId int 公司id | ||
| 310 | -// cycleId int, 评估周期id | 325 | +// companyId int 公司id ,必填 |
| 326 | +// cycleId int, 评估周期id, 必填 | ||
| 311 | // userId int, 用户id,谁要查看数据 | 327 | // userId int, 用户id,谁要查看数据 |
| 312 | // beginDay string, 周期中执行项目的时间 | 328 | // beginDay string, 周期中执行项目的时间 |
| 313 | // hrbp 是否搜索HRBP角色的用户可以查看,1:是;-1:否 | 329 | // hrbp 是否搜索HRBP角色的用户可以查看,1:是;-1:否 |
| 314 | // limit int, 分页条数 | 330 | // limit int, 分页条数 |
| 315 | // offset int 分页偏移 | 331 | // offset int 分页偏移 |
| 316 | -func (d *StaffAssessDao) SearchUserSelfStaffAssess(param SearchConditin1) ([]UserAssessContent, error) { | 332 | +func (d *StaffAssessDao) SearchUserSelfStaffAssess(param SearchConditin3) ([]UserSelfStaffAssess, error) { |
| 317 | withSql := d.catchProjectIdByPermission(param.CompanyId, param.CycleId, param.OperaterId, param.Hrbp) | 333 | withSql := d.catchProjectIdByPermission(param.CompanyId, param.CycleId, param.OperaterId, param.Hrbp) |
| 318 | sqlStr := `select | 334 | sqlStr := `select |
| 319 | staff_assess.cycle_id , | 335 | staff_assess.cycle_id , |
| @@ -323,9 +339,9 @@ func (d *StaffAssessDao) SearchUserSelfStaffAssess(param SearchConditin1) ([]Use | @@ -323,9 +339,9 @@ func (d *StaffAssessDao) SearchUserSelfStaffAssess(param SearchConditin1) ([]Use | ||
| 323 | staff_assess.evaluation_project_id , | 339 | staff_assess.evaluation_project_id , |
| 324 | staff_assess.evaluation_project_name , | 340 | staff_assess.evaluation_project_name , |
| 325 | staff_assess.company_id , | 341 | staff_assess.company_id , |
| 326 | - staff_assess.begin_time | 342 | + to_char(staff_assess.begin_time at time zone 'PRC','YYYY-MM-DD') as begin_day |
| 327 | from staff_assess | 343 | from staff_assess |
| 328 | - join evaluation_project on staff_assess.evaluation_project_id =evaluation_project.id | 344 | + join t_project_4 on staff_assess.evaluation_project_id =t_project_4.project_id |
| 329 | where 1=1 | 345 | where 1=1 |
| 330 | and staff_assess.cycle_id =? | 346 | and staff_assess.cycle_id =? |
| 331 | and staff_assess.deleted_at isnull | 347 | and staff_assess.deleted_at isnull |
| @@ -339,19 +355,53 @@ func (d *StaffAssessDao) SearchUserSelfStaffAssess(param SearchConditin1) ([]Use | @@ -339,19 +355,53 @@ func (d *StaffAssessDao) SearchUserSelfStaffAssess(param SearchConditin1) ([]Use | ||
| 339 | condition = append(condition, "%"+param.TargetUserName+"%") | 355 | condition = append(condition, "%"+param.TargetUserName+"%") |
| 340 | sqlStr += ` and staff_assess.target_user ->>'userName' like ? ` | 356 | sqlStr += ` and staff_assess.target_user ->>'userName' like ? ` |
| 341 | } | 357 | } |
| 342 | - if len(param.TargetUserId) > 0 { | ||
| 343 | - condition = append(condition, pg.In(param.TargetUserId)) | ||
| 344 | - sqlStr += ` and staff_assess.target_user ->>'userId' in (?) ` | 358 | + if len(param.Status) > 0 { |
| 359 | + condition = append(condition, param.Status) | ||
| 360 | + sqlStr += ` and staff_assess.status=? ` | ||
| 345 | } | 361 | } |
| 346 | condition = append(condition, param.Limit, param.Offset) | 362 | condition = append(condition, param.Limit, param.Offset) |
| 347 | sqlStr += ` order by convert_to(staff_assess.target_user ->>'userName','GBK') limit ? offset ? ` | 363 | sqlStr += ` order by convert_to(staff_assess.target_user ->>'userName','GBK') limit ? offset ? ` |
| 348 | 364 | ||
| 349 | sqlStr2 := withSql + withSql | 365 | sqlStr2 := withSql + withSql |
| 350 | - // and to_char(staff_assess.begin_time at time zone 'PRC','YYYY-MM-DD')='2023-03-29' | ||
| 351 | - _ = sqlStr2 | ||
| 352 | - // and staff_assess.cycle_id =1639084510698016768 | ||
| 353 | - // -- and staff_assess.target_user ->>'userName' like '%陈%' | ||
| 354 | - // -- and staff_assess.target_user ->>'userId' in ('') | ||
| 355 | - // order by convert_to(staff_assess.target_user ->>'userName','GBK') | ||
| 356 | - return nil, nil | 366 | + tx := d.transactionContext.PgTx |
| 367 | + var result []UserSelfStaffAssess | ||
| 368 | + _, err := tx.Query(&result, sqlStr2, condition...) | ||
| 369 | + return result, err | ||
| 370 | +} | ||
| 371 | + | ||
| 372 | +// 根据周期的id和日期获取员工评估的评估任务数量。有进行查看权限过滤 | ||
| 373 | +// companyId int 公司id | ||
| 374 | +// cycleId int, 评估周期id | ||
| 375 | +// userId int, 用户id,谁要查看数据 | ||
| 376 | +// beginDay string, 周期中执行项目的时间 | ||
| 377 | +// hrbp 是否搜索HRBP角色的用户可以查看,1:是;-1:否 | ||
| 378 | +func (d *StaffAssessDao) CountUserSelfStaffAssess(param SearchConditin3) (int, error) { | ||
| 379 | + withSql := d.catchProjectIdByPermission(param.CompanyId, param.CycleId, param.OperaterId, param.Hrbp) | ||
| 380 | + sqlStr := `select | ||
| 381 | + count(*) | ||
| 382 | + from staff_assess | ||
| 383 | + join t_project_4 on staff_assess.evaluation_project_id =t_project_4.project_id | ||
| 384 | + where 1=1 | ||
| 385 | + and staff_assess.cycle_id =? | ||
| 386 | + and staff_assess.deleted_at isnull | ||
| 387 | + ` | ||
| 388 | + condition := []interface{}{param.CycleId} | ||
| 389 | + if len(param.BeginDay) > 0 { | ||
| 390 | + condition = append(condition, param.BeginDay) | ||
| 391 | + sqlStr += ` and to_char(staff_assess.begin_time at time zone 'PRC','YYYY-MM-DD')=? ` | ||
| 392 | + } | ||
| 393 | + if len(param.TargetUserName) > 0 { | ||
| 394 | + condition = append(condition, "%"+param.TargetUserName+"%") | ||
| 395 | + sqlStr += ` and staff_assess.target_user ->>'userName' like ? ` | ||
| 396 | + } | ||
| 397 | + if len(param.Status) > 0 { | ||
| 398 | + condition = append(condition, param.Status) | ||
| 399 | + sqlStr += ` and staff_assess.status=? ` | ||
| 400 | + } | ||
| 401 | + | ||
| 402 | + sqlStr2 := withSql + withSql | ||
| 403 | + tx := d.transactionContext.PgTx | ||
| 404 | + var result int | ||
| 405 | + _, err := tx.Query(pg.Scan(&result), sqlStr2, condition...) | ||
| 406 | + return result, err | ||
| 357 | } | 407 | } |
-
请 注册 或 登录 后发表评论