作者 tangxvhui

修正数据更新方式

@@ -603,17 +603,25 @@ func (srv *SummaryEvaluationService) AfterCompletedEvaluationSelf(param *domain. @@ -603,17 +603,25 @@ func (srv *SummaryEvaluationService) AfterCompletedEvaluationSelf(param *domain.
603 if err != nil { 603 if err != nil {
604 return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 604 return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
605 } 605 }
  606 +
606 nowTime := time.Now() 607 nowTime := time.Now()
  608 + updatedId := []int{}
607 // 变更360评估/人资评估/上级评估的开始时间 609 // 变更360评估/人资评估/上级评估的开始时间
608 for _, v := range evaluationList { 610 for _, v := range evaluationList {
609 if v.BeginTime.After(nowTime) { 611 if v.BeginTime.After(nowTime) {
610 v.BeginTime = nowTime 612 v.BeginTime = nowTime
  613 + updatedId = append(updatedId, v.Id)
  614 + }
611 } 615 }
612 - err = evaluationRepo.Save(v) 616 + evaluationDao := dao.NewSummaryEvaluationDao(map[string]interface{}{
  617 + "transactionContext": transactionContext,
  618 + })
  619 +
  620 + err = evaluationDao.UpdateBeginTime(updatedId, nowTime)
613 if err != nil { 621 if err != nil {
614 return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 622 return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
615 } 623 }
616 - } 624 +
617 if err := transactionContext.CommitTransaction(); err != nil { 625 if err := transactionContext.CommitTransaction(); err != nil {
618 return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 626 return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
619 } 627 }
@@ -666,16 +674,21 @@ func (srv *SummaryEvaluationService) AfterCompletedEvaluation360Hrbp(param *doma @@ -666,16 +674,21 @@ func (srv *SummaryEvaluationService) AfterCompletedEvaluation360Hrbp(param *doma
666 return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 674 return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
667 } 675 }
668 nowTime := time.Now() 676 nowTime := time.Now()
  677 + updatedId := []int{}
669 // 变更上级评估的开始时间 678 // 变更上级评估的开始时间
670 for _, v := range evaluationList { 679 for _, v := range evaluationList {
671 if v.BeginTime.After(nowTime) { 680 if v.BeginTime.After(nowTime) {
672 v.BeginTime = nowTime 681 v.BeginTime = nowTime
  682 + updatedId = append(updatedId, v.Id)
  683 + }
673 } 684 }
674 - err = evaluationRepo.Save(v) 685 + evaluationDao := dao.NewSummaryEvaluationDao(map[string]interface{}{
  686 + "transactionContext": transactionContext,
  687 + })
  688 + err = evaluationDao.UpdateBeginTime(updatedId, nowTime)
675 if err != nil { 689 if err != nil {
676 return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 690 return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
677 } 691 }
678 - }  
679 if err := transactionContext.CommitTransaction(); err != nil { 692 if err := transactionContext.CommitTransaction(); err != nil {
680 return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 693 return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
681 } 694 }
@@ -134,3 +134,17 @@ func (d *SummaryEvaluationDao) CountTargetUserCycleList(executorId int, evaluati @@ -134,3 +134,17 @@ func (d *SummaryEvaluationDao) CountTargetUserCycleList(executorId int, evaluati
134 _, err := tx.QueryOne(pg.Scan(&cnt), sqlStr, condition...) 134 _, err := tx.QueryOne(pg.Scan(&cnt), sqlStr, condition...)
135 return cnt, err 135 return cnt, err
136 } 136 }
  137 +
  138 +func (d *SummaryEvaluationDao) UpdateBeginTime(ids []int, beginTime time.Time) error {
  139 + if len(ids) == 0 {
  140 + return nil
  141 + }
  142 + sqlStr := `update summary_evaluation set begin_time =?
  143 + where summary_evaluation.id in(?) `
  144 + condition := []interface{}{
  145 + beginTime, pg.In(ids),
  146 + }
  147 + tx := d.transactionContext.PgTx
  148 + _, err := tx.ExecOne(sqlStr, condition...)
  149 + return err
  150 +}