正在显示
1 个修改的文件
包含
48 行增加
和
11 行删除
@@ -359,7 +359,10 @@ func (srv StaffAssessServeice) createStaffAssess(transactionContext application. | @@ -359,7 +359,10 @@ func (srv StaffAssessServeice) createStaffAssess(transactionContext application. | ||
359 | stepSelfTemp.LinkNodeId = v.LinkNodeId | 359 | stepSelfTemp.LinkNodeId = v.LinkNodeId |
360 | stepSelfTemp.LinkNodeName = v.LinkNodeName | 360 | stepSelfTemp.LinkNodeName = v.LinkNodeName |
361 | stepSelfTemp.Types = domain.AssessSelf | 361 | stepSelfTemp.Types = domain.AssessSelf |
362 | - assessListTemp := srv.createStaffAssessSelf(stepSelfTemp, userList, userDepartmentMap) | 362 | + assessListTemp, err := srv.createStaffAssessSelf(transactionContext, stepSelfTemp, userList, userDepartmentMap) |
363 | + if err != nil { | ||
364 | + return nil, err | ||
365 | + } | ||
363 | assessList = append(assessList, assessListTemp...) | 366 | assessList = append(assessList, assessListTemp...) |
364 | } | 367 | } |
365 | if v.LinkNodeType == domain.LinkNodeSuperiorAssessment { | 368 | if v.LinkNodeType == domain.LinkNodeSuperiorAssessment { |
@@ -380,10 +383,28 @@ func (srv StaffAssessServeice) createStaffAssess(transactionContext application. | @@ -380,10 +383,28 @@ func (srv StaffAssessServeice) createStaffAssess(transactionContext application. | ||
380 | } | 383 | } |
381 | 384 | ||
382 | // 构建员工自评 | 385 | // 构建员工自评 |
383 | -func (srv StaffAssessServeice) createStaffAssessSelf(assessTemp domain.StaffAssess, | ||
384 | - userList []*domain.User, userDepartmentMap map[int64][]*domain.Department) []domain.StaffAssess { | ||
385 | - result := []domain.StaffAssess{} | ||
386 | - for _, usr := range userList { | 386 | +func (srv StaffAssessServeice) createStaffAssessSelf( |
387 | + transactionContext application.TransactionContext, | ||
388 | + assessTemp domain.StaffAssess, | ||
389 | + userList []*domain.User, | ||
390 | + userDepartmentMap map[int64][]*domain.Department) ([]domain.StaffAssess, error) { | ||
391 | + assessRepo := factory.CreateStaffAssessRepository(map[string]interface{}{ | ||
392 | + "transactionContext": transactionContext, | ||
393 | + }) | ||
394 | + beginDay := assessTemp.BeginTime.Format("2006-01-02") | ||
395 | + _, assessListOld, err := assessRepo.Find(map[string]interface{}{"cycleId": assessTemp.CycleId, "beginDay": beginDay, "types": domain.AssessSelf}) | ||
396 | + if err != nil { | ||
397 | + return nil, err | ||
398 | + } | ||
399 | + userMapReal := map[int]*domain.User{} | ||
400 | + for _, val := range userList { | ||
401 | + userMapReal[int(val.Id)] = val | ||
402 | + } | ||
403 | + for _, val := range assessListOld { | ||
404 | + delete(userMapReal, val.TargetUser.UserId) | ||
405 | + } | ||
406 | + assessListNew := []domain.StaffAssess{} | ||
407 | + for _, usr := range userMapReal { | ||
387 | assessTemp.TargetUser = domain.StaffDesc{ | 408 | assessTemp.TargetUser = domain.StaffDesc{ |
388 | UserId: int(usr.Id), | 409 | UserId: int(usr.Id), |
389 | Account: usr.Account, | 410 | Account: usr.Account, |
@@ -402,9 +423,9 @@ func (srv StaffAssessServeice) createStaffAssessSelf(assessTemp domain.StaffAsse | @@ -402,9 +423,9 @@ func (srv StaffAssessServeice) createStaffAssessSelf(assessTemp domain.StaffAsse | ||
402 | }) | 423 | }) |
403 | } | 424 | } |
404 | } | 425 | } |
405 | - result = append(result, assessTemp) | 426 | + assessListNew = append(assessListNew, assessTemp) |
406 | } | 427 | } |
407 | - return result | 428 | + return assessListNew, nil |
408 | } | 429 | } |
409 | 430 | ||
410 | // 构建员工的上级评估 | 431 | // 构建员工的上级评估 |
@@ -413,8 +434,24 @@ func (srv StaffAssessServeice) createStaffAssessSupper( | @@ -413,8 +434,24 @@ func (srv StaffAssessServeice) createStaffAssessSupper( | ||
413 | assessTemp domain.StaffAssess, | 434 | assessTemp domain.StaffAssess, |
414 | userList []*domain.User, userDepartmentMap map[int64][]*domain.Department, | 435 | userList []*domain.User, userDepartmentMap map[int64][]*domain.Department, |
415 | ) ([]domain.StaffAssess, error) { | 436 | ) ([]domain.StaffAssess, error) { |
416 | - var assessList []domain.StaffAssess | ||
417 | - for _, v := range userList { | 437 | + assessRepo := factory.CreateStaffAssessRepository(map[string]interface{}{ |
438 | + "transactionContext": transactionContext, | ||
439 | + }) | ||
440 | + beginDay := assessTemp.BeginTime.Format("2006-01-02") | ||
441 | + _, assessListOld, err := assessRepo.Find(map[string]interface{}{"cycleId": assessTemp.CycleId, "beginDay": beginDay, "types": domain.AssessSuper}) | ||
442 | + if err != nil { | ||
443 | + return nil, err | ||
444 | + } | ||
445 | + userMapReal := map[int]*domain.User{} | ||
446 | + for _, val := range userList { | ||
447 | + userMapReal[int(val.Id)] = val | ||
448 | + } | ||
449 | + for _, val := range assessListOld { | ||
450 | + delete(userMapReal, val.TargetUser.UserId) | ||
451 | + } | ||
452 | + | ||
453 | + var assessListNew []domain.StaffAssess | ||
454 | + for _, v := range userMapReal { | ||
418 | //获取上级 | 455 | //获取上级 |
419 | chargeUserList, err := srv.getStaffSuper(transactionContext, *v) | 456 | chargeUserList, err := srv.getStaffSuper(transactionContext, *v) |
420 | if err != nil { | 457 | if err != nil { |
@@ -444,11 +481,11 @@ func (srv StaffAssessServeice) createStaffAssessSupper( | @@ -444,11 +481,11 @@ func (srv StaffAssessServeice) createStaffAssessSupper( | ||
444 | } | 481 | } |
445 | } | 482 | } |
446 | assessTemp.TargetDepartment = targetDepartment | 483 | assessTemp.TargetDepartment = targetDepartment |
447 | - assessList = append(assessList, assessTemp) | 484 | + assessListNew = append(assessListNew, assessTemp) |
448 | } | 485 | } |
449 | 486 | ||
450 | } | 487 | } |
451 | - return assessList, nil | 488 | + return assessListNew, nil |
452 | } | 489 | } |
453 | 490 | ||
454 | // 获取某个员工360评估邀请的人员 | 491 | // 获取某个员工360评估邀请的人员 |
-
请 注册 或 登录 后发表评论