Merge branch 'test' of http://gitlab.fjmaimaimai.com/allied-creation/performance into test
正在显示
3 个修改的文件
包含
123 行增加
和
152 行删除
| @@ -56,13 +56,15 @@ func (srv *SummaryEvaluationService) GetEvaluationFinish(param *command.QueryEva | @@ -56,13 +56,15 @@ func (srv *SummaryEvaluationService) GetEvaluationFinish(param *command.QueryEva | ||
| 56 | } | 56 | } |
| 57 | // 考核结果不存在 -> 获取上级考核 -> 获取360+HRBP+自评 | 57 | // 考核结果不存在 -> 获取上级考核 -> 获取360+HRBP+自评 |
| 58 | if len(itemValues) == 0 { | 58 | if len(itemValues) == 0 { |
| 59 | - itemValues, evaluationList, err := srv.findCycleItemValueByType(transactionContext, result.CycleId, result.TargetUser.UserId, []int{int(domain.EvaluationSuper)}) | 59 | + superValues, evaluationList, err := srv.findCycleItemValueByType(transactionContext, result.CycleId, result.TargetUser.UserId, []int{int(domain.EvaluationSuper)}) |
| 60 | if err != nil { | 60 | if err != nil { |
| 61 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 61 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 62 | } | 62 | } |
| 63 | - // 上级评估不存在(有上级考核类型时,不管分数有没有填写都算,没填写当作零) | ||
| 64 | - if len(evaluationList) == 0 { | ||
| 65 | - itemValues, _, err = srv.findCycleItemValueByType(transactionContext, result.CycleId, result.TargetUser.UserId, []int{int(domain.EvaluationSelf)}) | 63 | + // 上级评估存在(有上级考核类型时,不管分数有没有填写都算,没填写当作零) |
| 64 | + if len(evaluationList) > 0 { | ||
| 65 | + itemValues = superValues | ||
| 66 | + } else { | ||
| 67 | + selfValues, _, err := srv.findCycleItemValueByType(transactionContext, result.CycleId, result.TargetUser.UserId, []int{int(domain.EvaluationSelf)}) | ||
| 66 | if err != nil { | 68 | if err != nil { |
| 67 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 69 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 68 | } | 70 | } |
| @@ -71,7 +73,7 @@ func (srv *SummaryEvaluationService) GetEvaluationFinish(param *command.QueryEva | @@ -71,7 +73,7 @@ func (srv *SummaryEvaluationService) GetEvaluationFinish(param *command.QueryEva | ||
| 71 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 73 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 72 | } | 74 | } |
| 73 | // 自评分数 | 75 | // 自评分数 |
| 74 | - if len(itemValues) == 0 { | 76 | + if len(selfValues) == 0 { |
| 75 | itemValues = hrItemValues | 77 | itemValues = hrItemValues |
| 76 | } else { | 78 | } else { |
| 77 | // HR360分数 替换 自评分数 | 79 | // HR360分数 替换 自评分数 |
| @@ -79,13 +81,23 @@ func (srv *SummaryEvaluationService) GetEvaluationFinish(param *command.QueryEva | @@ -79,13 +81,23 @@ func (srv *SummaryEvaluationService) GetEvaluationFinish(param *command.QueryEva | ||
| 79 | for i := range hrItemValues { | 81 | for i := range hrItemValues { |
| 80 | hrItemMap[hrItemValues[i].EvaluationItemId] = hrItemValues[i] | 82 | hrItemMap[hrItemValues[i].EvaluationItemId] = hrItemValues[i] |
| 81 | } | 83 | } |
| 82 | - for i := range itemValues { | ||
| 83 | - it := itemValues[i] | 84 | + for i := range selfValues { |
| 85 | + it := selfValues[i] | ||
| 84 | if v, ok := hrItemMap[it.EvaluationItemId]; ok { | 86 | if v, ok := hrItemMap[it.EvaluationItemId]; ok { |
| 85 | - itemValues[i] = v | 87 | + selfValues[i] = v |
| 88 | + } | ||
| 86 | } | 89 | } |
| 90 | + itemValues = selfValues | ||
| 87 | } | 91 | } |
| 88 | } | 92 | } |
| 93 | + | ||
| 94 | + // 重新计算成绩 | ||
| 95 | + result.TotalRating = nil | ||
| 96 | + for i := range itemList { | ||
| 97 | + result.ResetTotalRating(itemList[i]) | ||
| 98 | + } | ||
| 99 | + if err = result.EvaluationTotalScore(itemValues); err != nil { | ||
| 100 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 89 | } | 101 | } |
| 90 | } | 102 | } |
| 91 | 103 | ||
| @@ -203,6 +215,7 @@ func (srv *SummaryEvaluationService) EditEvaluationFinish(param *command.EditEva | @@ -203,6 +215,7 @@ func (srv *SummaryEvaluationService) EditEvaluationFinish(param *command.EditEva | ||
| 203 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 215 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 204 | } | 216 | } |
| 205 | } | 217 | } |
| 218 | + | ||
| 206 | result.Status = domain.EvaluationCompleted | 219 | result.Status = domain.EvaluationCompleted |
| 207 | result.CheckResult = domain.EvaluationCheckUncompleted | 220 | result.CheckResult = domain.EvaluationCheckUncompleted |
| 208 | err = evaluationRepo.Save(result) | 221 | err = evaluationRepo.Save(result) |
| @@ -1349,7 +1349,6 @@ func (srv *SummaryEvaluationService) ConfirmScoreEvaluation(param *command.Confi | @@ -1349,7 +1349,6 @@ func (srv *SummaryEvaluationService) ConfirmScoreEvaluation(param *command.Confi | ||
| 1349 | }() | 1349 | }() |
| 1350 | 1350 | ||
| 1351 | evaluationRepo := factory.CreateSummaryEvaluationRepository(map[string]interface{}{"transactionContext": transactionContext}) | 1351 | evaluationRepo := factory.CreateSummaryEvaluationRepository(map[string]interface{}{"transactionContext": transactionContext}) |
| 1352 | - evaluationItemRepo := factory.CreateEvaluationItemUsedRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 1353 | itemValueRepo := factory.CreateSummaryEvaluationValueRepository(map[string]interface{}{"transactionContext": transactionContext}) | 1352 | itemValueRepo := factory.CreateSummaryEvaluationValueRepository(map[string]interface{}{"transactionContext": transactionContext}) |
| 1354 | 1353 | ||
| 1355 | // 考核结果 | 1354 | // 考核结果 |
| @@ -1380,6 +1379,8 @@ func (srv *SummaryEvaluationService) ConfirmScoreEvaluation(param *command.Confi | @@ -1380,6 +1379,8 @@ func (srv *SummaryEvaluationService) ConfirmScoreEvaluation(param *command.Confi | ||
| 1380 | if len(itemValues) > 0 { | 1379 | if len(itemValues) > 0 { |
| 1381 | // do nothing... | 1380 | // do nothing... |
| 1382 | } else { | 1381 | } else { |
| 1382 | + evaluationItemRepo := factory.CreateEvaluationItemUsedRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 1383 | + | ||
| 1383 | // 周期内所有评估类型 | 1384 | // 周期内所有评估类型 |
| 1384 | _, evaluationList, err := evaluationRepo.Find(map[string]interface{}{ | 1385 | _, evaluationList, err := evaluationRepo.Find(map[string]interface{}{ |
| 1385 | "companyId": result.CompanyId, | 1386 | "companyId": result.CompanyId, |
| @@ -1399,23 +1400,19 @@ func (srv *SummaryEvaluationService) ConfirmScoreEvaluation(param *command.Confi | @@ -1399,23 +1400,19 @@ func (srv *SummaryEvaluationService) ConfirmScoreEvaluation(param *command.Confi | ||
| 1399 | } | 1400 | } |
| 1400 | } | 1401 | } |
| 1401 | 1402 | ||
| 1402 | - // 评估内容和值 | ||
| 1403 | - var itemList []*domain.EvaluationItemUsed | ||
| 1404 | - var itemValues []*domain.SummaryEvaluationValue | ||
| 1405 | - | ||
| 1406 | // 获取自评模板 | 1403 | // 获取自评模板 |
| 1407 | - _, itemList, err = evaluationItemRepo.Find(map[string]interface{}{"evaluationProjectId": result.EvaluationProjectId, "nodeType": domain.LinkNodeSelfAssessment}) | 1404 | + _, itemList, err := evaluationItemRepo.Find(map[string]interface{}{"evaluationProjectId": result.EvaluationProjectId, "nodeType": domain.LinkNodeSelfAssessment}) |
| 1408 | if err != nil { | 1405 | if err != nil { |
| 1409 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 1406 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 1410 | } | 1407 | } |
| 1411 | 1408 | ||
| 1412 | if super != nil { | 1409 | if super != nil { |
| 1413 | - _, itemValues, err = itemValueRepo.Find(map[string]interface{}{"summaryEvaluationId": super.Id}) // 获取已填写的评估内容 | 1410 | + _, superValues, err := itemValueRepo.Find(map[string]interface{}{"summaryEvaluationId": super.Id}) // 获取已填写的评估内容 |
| 1414 | if err != nil { | 1411 | if err != nil { |
| 1415 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 1412 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 1416 | } | 1413 | } |
| 1417 | // 更新填写值 | 1414 | // 更新填写值 |
| 1418 | - itemValues, err = srv.updateItemValuePriority(result, itemList, itemValues, true) | 1415 | + itemValues, err = srv.updateItemValuePriority(result, itemList, superValues, true) |
| 1419 | if err != nil { | 1416 | if err != nil { |
| 1420 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 1417 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 1421 | } | 1418 | } |
| @@ -1430,13 +1427,13 @@ func (srv *SummaryEvaluationService) ConfirmScoreEvaluation(param *command.Confi | @@ -1430,13 +1427,13 @@ func (srv *SummaryEvaluationService) ConfirmScoreEvaluation(param *command.Confi | ||
| 1430 | } | 1427 | } |
| 1431 | if len(evaluationIds) > 0 { | 1428 | if len(evaluationIds) > 0 { |
| 1432 | // 已填写的评估内容 | 1429 | // 已填写的评估内容 |
| 1433 | - _, itemValues, err = itemValueRepo.Find(map[string]interface{}{"summaryEvaluationIdList": evaluationIds}) | 1430 | + _, otherValues, err := itemValueRepo.Find(map[string]interface{}{"summaryEvaluationIdList": evaluationIds}) |
| 1434 | if err != nil { | 1431 | if err != nil { |
| 1435 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 1432 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 1436 | } | 1433 | } |
| 1437 | 1434 | ||
| 1438 | // 更新填写值 | 1435 | // 更新填写值 |
| 1439 | - itemValues, err = srv.updateItemValuePriority(result, itemList, itemValues, false) | 1436 | + itemValues, err = srv.updateItemValuePriority(result, itemList, otherValues, false) |
| 1440 | if err != nil { | 1437 | if err != nil { |
| 1441 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 1438 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 1442 | } | 1439 | } |
| @@ -1559,41 +1556,41 @@ func (srv *SummaryEvaluationService) GetTargetEvaluationResult(param *command.Qu | @@ -1559,41 +1556,41 @@ func (srv *SummaryEvaluationService) GetTargetEvaluationResult(param *command.Qu | ||
| 1559 | if err != nil { | 1556 | if err != nil { |
| 1560 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 1557 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 1561 | } | 1558 | } |
| 1562 | - | ||
| 1563 | var result *domain.SummaryEvaluation // 绩效考核结果项 | 1559 | var result *domain.SummaryEvaluation // 绩效考核结果项 |
| 1564 | - var super *domain.SummaryEvaluation // 上级评估 | ||
| 1565 | for i := range evaluationList { | 1560 | for i := range evaluationList { |
| 1566 | it := evaluationList[i] | 1561 | it := evaluationList[i] |
| 1567 | if it.Types == domain.EvaluationFinish { | 1562 | if it.Types == domain.EvaluationFinish { |
| 1568 | result = it | 1563 | result = it |
| 1569 | - continue | ||
| 1570 | - } | ||
| 1571 | - if it.Types == domain.EvaluationSuper { | ||
| 1572 | - super = it | ||
| 1573 | - continue | 1564 | + break |
| 1574 | } | 1565 | } |
| 1575 | } | 1566 | } |
| 1576 | if result == nil { | 1567 | if result == nil { |
| 1577 | return &adapter.EvaluationInfoSuperAdapter{}, nil | 1568 | return &adapter.EvaluationInfoSuperAdapter{}, nil |
| 1578 | } | 1569 | } |
| 1579 | - // 评估内容和值 | ||
| 1580 | - var itemList []*domain.EvaluationItemUsed | ||
| 1581 | - var itemValues []*domain.SummaryEvaluationValue | ||
| 1582 | 1570 | ||
| 1583 | // 获取自评模板内容 | 1571 | // 获取自评模板内容 |
| 1584 | - _, itemList, err = evaluationItemRepo.Find(map[string]interface{}{"evaluationProjectId": result.EvaluationProjectId, "nodeType": domain.LinkNodeSelfAssessment}) | 1572 | + _, itemList, err := evaluationItemRepo.Find(map[string]interface{}{"evaluationProjectId": result.EvaluationProjectId, "nodeType": domain.LinkNodeSelfAssessment}) |
| 1585 | if err != nil { | 1573 | if err != nil { |
| 1586 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 1574 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 1587 | } | 1575 | } |
| 1588 | 1576 | ||
| 1589 | // 获取考核结果评分 | 1577 | // 获取考核结果评分 |
| 1590 | - _, itemValues, err = itemValueRepo.Find(map[string]interface{}{"summaryEvaluationId": result.Id}) | 1578 | + _, itemValues, err := itemValueRepo.Find(map[string]interface{}{"summaryEvaluationId": result.Id}) |
| 1591 | if err != nil { | 1579 | if err != nil { |
| 1592 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 1580 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 1593 | } | 1581 | } |
| 1594 | 1582 | ||
| 1595 | // 不存在考核结果评分时(考核评分 -> 上级评分 -> 360+HR+自评) | 1583 | // 不存在考核结果评分时(考核评分 -> 上级评分 -> 360+HR+自评) |
| 1596 | if len(itemValues) == 0 { | 1584 | if len(itemValues) == 0 { |
| 1585 | + var super *domain.SummaryEvaluation // 上级评估 | ||
| 1586 | + for i := range evaluationList { | ||
| 1587 | + it := evaluationList[i] | ||
| 1588 | + if it.Types == domain.EvaluationSuper { | ||
| 1589 | + super = it | ||
| 1590 | + break | ||
| 1591 | + } | ||
| 1592 | + } | ||
| 1593 | + | ||
| 1597 | if super != nil { | 1594 | if super != nil { |
| 1598 | _, itemValues, err = itemValueRepo.Find(map[string]interface{}{"summaryEvaluationId": super.Id}) // 获取已填写的评估内容 | 1595 | _, itemValues, err = itemValueRepo.Find(map[string]interface{}{"summaryEvaluationId": super.Id}) // 获取已填写的评估内容 |
| 1599 | if err != nil { | 1596 | if err != nil { |
| @@ -1610,27 +1607,24 @@ func (srv *SummaryEvaluationService) GetTargetEvaluationResult(param *command.Qu | @@ -1610,27 +1607,24 @@ func (srv *SummaryEvaluationService) GetTargetEvaluationResult(param *command.Qu | ||
| 1610 | } | 1607 | } |
| 1611 | if len(evaluationIds) > 0 { | 1608 | if len(evaluationIds) > 0 { |
| 1612 | // 获取已填写的评估内容 | 1609 | // 获取已填写的评估内容 |
| 1613 | - _, itemValues, err = itemValueRepo.Find(map[string]interface{}{"summaryEvaluationIdList": evaluationIds}) | 1610 | + _, otherValues, err := itemValueRepo.Find(map[string]interface{}{"summaryEvaluationIdList": evaluationIds}) |
| 1614 | if err != nil { | 1611 | if err != nil { |
| 1615 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 1612 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 1616 | } | 1613 | } |
| 1617 | 1614 | ||
| 1618 | // 更新填写值 | 1615 | // 更新填写值 |
| 1619 | - itemValues, err = srv.updateItemValuePriority(result, itemList, itemValues, false) | 1616 | + itemValues, err = srv.updateItemValuePriority(result, itemList, otherValues, false) |
| 1620 | if err != nil { | 1617 | if err != nil { |
| 1621 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 1618 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 1622 | } | 1619 | } |
| 1623 | } | 1620 | } |
| 1624 | } | 1621 | } |
| 1625 | - } | ||
| 1626 | // 未完成考核,需要重新计算分数 | 1622 | // 未完成考核,需要重新计算分数 |
| 1627 | if result.CheckResult == domain.EvaluationCheckUncompleted { | 1623 | if result.CheckResult == domain.EvaluationCheckUncompleted { |
| 1628 | result.TotalRating = nil | 1624 | result.TotalRating = nil |
| 1629 | for i := range itemList { | 1625 | for i := range itemList { |
| 1630 | result.ResetTotalRating(itemList[i]) | 1626 | result.ResetTotalRating(itemList[i]) |
| 1631 | } | 1627 | } |
| 1632 | - //存在 超级管理员直接修改填写 总分的情况,此时不重新计算总分 | ||
| 1633 | - if result.TotalScore == "0" || result.TotalScore == "" { | ||
| 1634 | if err = result.EvaluationTotalScore(itemValues); err != nil { | 1628 | if err = result.EvaluationTotalScore(itemValues); err != nil { |
| 1635 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 1629 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
| 1636 | } | 1630 | } |
| @@ -724,172 +724,136 @@ func (srv *SummaryEvaluationService) GetEvaluationHRBPComplete(param *command.Qu | @@ -724,172 +724,136 @@ func (srv *SummaryEvaluationService) GetEvaluationHRBPComplete(param *command.Qu | ||
| 724 | return &itemValuesAdapter, nil | 724 | return &itemValuesAdapter, nil |
| 725 | } | 725 | } |
| 726 | 726 | ||
| 727 | -// EditEvaluationHRBP 编辑提交人资综评 | ||
| 728 | -// func (srv *SummaryEvaluationService) EditEvaluationHRBP(param *command.EditEvaluationValue) (map[string][]adapter.EvaluationItemAdapter, error) { | ||
| 729 | -// lock := xredis.NewLockSummaryEvaluationId(param.SummaryEvaluationId) | ||
| 730 | -// err := lock.Lock() | ||
| 731 | -// if err != nil { | ||
| 732 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "未能完全提交评估内容") | ||
| 733 | -// } | ||
| 734 | -// defer func() { | ||
| 735 | -// lock.UnLock() | ||
| 736 | -// }() | 727 | +// ModifyFinishScore 修改周期考核的分数 |
| 728 | +// func (srv *SummaryEvaluationService) ModifyFinishScore(param *command.ModifyFinishScore) error { | ||
| 737 | // transactionContext, err := factory.CreateTransactionContext(nil) | 729 | // transactionContext, err := factory.CreateTransactionContext(nil) |
| 738 | // if err != nil { | 730 | // if err != nil { |
| 739 | -// return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 731 | +// return application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
| 740 | // } | 732 | // } |
| 741 | // if err := transactionContext.StartTransaction(); err != nil { | 733 | // if err := transactionContext.StartTransaction(); err != nil { |
| 742 | -// return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 734 | +// return application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
| 743 | // } | 735 | // } |
| 744 | // defer func() { | 736 | // defer func() { |
| 745 | // _ = transactionContext.RollbackTransaction() | 737 | // _ = transactionContext.RollbackTransaction() |
| 746 | // }() | 738 | // }() |
| 739 | +// // 只有超级管理员可以使用的功能 | ||
| 740 | +// superAdmin, err := roleService.GetSuperAdmin(transactionContext, param.CompanyId, param.UserId) | ||
| 741 | +// if err != nil { | ||
| 742 | +// return err | ||
| 743 | +// } | ||
| 744 | +// if superAdmin != domain.RoleTypeSuperAdmin { | ||
| 745 | +// return application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有操作权限") | ||
| 746 | +// } | ||
| 747 | 747 | ||
| 748 | -// userRepo := factory.CreateUserRepository(map[string]interface{}{"transactionContext": transactionContext}) | 748 | +// // 获取周期评估任务finish |
| 749 | // evaluationRepo := factory.CreateSummaryEvaluationRepository(map[string]interface{}{"transactionContext": transactionContext}) | 749 | // evaluationRepo := factory.CreateSummaryEvaluationRepository(map[string]interface{}{"transactionContext": transactionContext}) |
| 750 | -// itemUsedRepo := factory.CreateEvaluationItemUsedRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 751 | // itemValueRepo := factory.CreateSummaryEvaluationValueRepository(map[string]interface{}{"transactionContext": transactionContext}) | 750 | // itemValueRepo := factory.CreateSummaryEvaluationValueRepository(map[string]interface{}{"transactionContext": transactionContext}) |
| 752 | 751 | ||
| 753 | -// // 必须是HRBP权限的人才能编辑操作 | ||
| 754 | -// hrbp, err := roleService.GetHrBp(transactionContext, param.CompanyId, param.ExecutorId) | 752 | +// _, evaluationList, err := evaluationRepo.Find(map[string]interface{}{"id": []int{param.SummaryEvaluationId}, "companyId": param.CompanyId}) |
| 755 | // if err != nil { | 753 | // if err != nil { |
| 756 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 754 | +// return application.ThrowError(application.BUSINESS_ERROR, err.Error()) |
| 757 | // } | 755 | // } |
| 758 | -// if hrbp != domain.RoleTypeSystem { | ||
| 759 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有操作权限") | 756 | +// if len(evaluationList) == 0 { |
| 757 | +// return nil | ||
| 758 | +// } | ||
| 759 | +// result := evaluationList[0] | ||
| 760 | +// if result.Types != domain.EvaluationFinish { | ||
| 761 | +// return nil | ||
| 760 | // } | 762 | // } |
| 761 | 763 | ||
| 762 | -// summaryEvaluation, err := evaluationRepo.FindOne(map[string]interface{}{"id": param.SummaryEvaluationId}) | 764 | +// // 获取考核结果评分 |
| 765 | +// _, itemValues, err := itemValueRepo.Find(map[string]interface{}{"summaryEvaluationId": result.Id}) | ||
| 763 | // if err != nil { | 766 | // if err != nil { |
| 764 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 765 | -// } | ||
| 766 | -// if summaryEvaluation.Types != domain.EvaluationHrbp { | ||
| 767 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有操作权限") | ||
| 768 | -// } | ||
| 769 | -// if summaryEvaluation.CompanyId != param.CompanyId { | ||
| 770 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有操作权限") | 767 | +// return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 771 | // } | 768 | // } |
| 769 | +// // 如果已经存在考核结果分数,只更新分数(反之先默认生成考核结果,再更新分数) | ||
| 770 | +// if len(itemValues) > 0 { | ||
| 771 | +// // do nothing... | ||
| 772 | +// } else { | ||
| 773 | +// evaluationItemRepo := factory.CreateEvaluationItemUsedRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 772 | 774 | ||
| 775 | +// // 周期内所有评估类型 | ||
| 773 | // _, evaluationList, err := evaluationRepo.Find(map[string]interface{}{ | 776 | // _, evaluationList, err := evaluationRepo.Find(map[string]interface{}{ |
| 774 | -// "targetUserId": summaryEvaluation.TargetUser.UserId, | ||
| 775 | -// "typesList": []int{int(domain.EvaluationFinish)}, | ||
| 776 | -// "cycleId": summaryEvaluation.CycleId, | ||
| 777 | -// "limit": 1, | 777 | +// "companyId": result.CompanyId, |
| 778 | +// "cycleId": result.CycleId, | ||
| 779 | +// "targetUserId": result.TargetUser.UserId, | ||
| 778 | // }) | 780 | // }) |
| 779 | // if err != nil { | 781 | // if err != nil { |
| 780 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 781 | -// } | ||
| 782 | -// // 如果目标员工已经确认考核结果,就不能在进行评估编辑 | ||
| 783 | -// if len(evaluationList) > 0 && evaluationList[0].CheckResult == domain.EvaluationCheckCompleted { | ||
| 784 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "用户已经确认该周期的考核结果,不能再编辑!") | 782 | +// return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 785 | // } | 783 | // } |
| 786 | 784 | ||
| 787 | -// // 自评评估内容(自评模板、筛选项目评估人) | ||
| 788 | -// _, itemList, err := itemUsedRepo.Find(map[string]interface{}{ | ||
| 789 | -// "evaluationProjectId": summaryEvaluation.EvaluationProjectId, | ||
| 790 | -// "nodeType": domain.LinkNodeSelfAssessment, | ||
| 791 | -// "evaluatorId": -1, | ||
| 792 | -// }) | ||
| 793 | -// if err != nil { | ||
| 794 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 785 | +// var super *domain.SummaryEvaluation // 上级评估 |
| 786 | +// for i := range evaluationList { | ||
| 787 | +// it := evaluationList[i] | ||
| 788 | +// if it.Types == domain.EvaluationSuper { | ||
| 789 | +// super = it | ||
| 790 | +// break | ||
| 791 | +// } | ||
| 795 | // } | 792 | // } |
| 796 | 793 | ||
| 797 | -// // 评估内容对应的分数 | ||
| 798 | -// _, itemValueList, err := itemValueRepo.Find(map[string]interface{}{"summaryEvaluationId": summaryEvaluation.Id}) | 794 | +// // 获取自评模板 |
| 795 | +// _, itemList, err := evaluationItemRepo.Find(map[string]interface{}{"evaluationProjectId": result.EvaluationProjectId, "nodeType": domain.LinkNodeSelfAssessment}) | ||
| 799 | // if err != nil { | 796 | // if err != nil { |
| 800 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 797 | +// return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 801 | // } | 798 | // } |
| 802 | 799 | ||
| 803 | -// err = srv.editEvaluationValue(summaryEvaluation, &itemValueList, itemList, param.EvaluationItems, nil, param.IsTemporary) | 800 | +// if super != nil { |
| 801 | +// _, superValues, err := itemValueRepo.Find(map[string]interface{}{"summaryEvaluationId": super.Id}) // 获取已填写的评估内容 | ||
| 804 | // if err != nil { | 802 | // if err != nil { |
| 805 | -// return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 806 | -// } | ||
| 807 | -// if !param.IsTemporary { | ||
| 808 | -// //变更评估状态为已填写 | ||
| 809 | -// summaryEvaluation.Status = domain.EvaluationCompleted | 803 | +// return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 810 | // } | 804 | // } |
| 811 | -// //保存填写值 | ||
| 812 | -// for _, v := range itemValueList { | ||
| 813 | -// err = itemValueRepo.Save(v) | 805 | +// // 更新填写值 |
| 806 | +// itemValues, err = srv.updateItemValuePriority(result, itemList, superValues, true) | ||
| 814 | // if err != nil { | 807 | // if err != nil { |
| 815 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 808 | +// return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 816 | // } | 809 | // } |
| 810 | +// } else { | ||
| 811 | +// // 评估项ID(除考核结果和上级) | ||
| 812 | +// var evaluationIds = make([]int, 0) | ||
| 813 | +// for i := range evaluationList { | ||
| 814 | +// it := evaluationList[i] | ||
| 815 | +// if it.Types == domain.EvaluationSelf || it.Types == domain.Evaluation360 || it.Types == domain.EvaluationHrbp { | ||
| 816 | +// evaluationIds = append(evaluationIds, it.Id) | ||
| 817 | // } | 817 | // } |
| 818 | - | ||
| 819 | -// // 针对HRBP类型,更新最后一次操作的HRBP人 | ||
| 820 | -// user, err := userRepo.FindOne(map[string]interface{}{"id": param.ExecutorId}) | ||
| 821 | -// if err != nil { | ||
| 822 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 823 | // } | 818 | // } |
| 824 | -// summaryEvaluation.Executor.UserId = param.ExecutorId | ||
| 825 | -// summaryEvaluation.Executor.Account = user.Account | ||
| 826 | -// summaryEvaluation.Executor.UserName = user.Name | ||
| 827 | -// summaryEvaluation.Executor.CompanyName = "" // 暂时无用 | ||
| 828 | -// summaryEvaluation.Status = domain.EvaluationCompleted | ||
| 829 | - | ||
| 830 | -// //保存填写值 | ||
| 831 | -// err = evaluationRepo.Save(summaryEvaluation) | 819 | +// if len(evaluationIds) > 0 { |
| 820 | +// // 已填写的评估内容 | ||
| 821 | +// _, otherValues, err := itemValueRepo.Find(map[string]interface{}{"summaryEvaluationIdList": evaluationIds}) | ||
| 832 | // if err != nil { | 822 | // if err != nil { |
| 833 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 834 | -// } | ||
| 835 | -// if err := transactionContext.CommitTransaction(); err != nil { | ||
| 836 | -// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 823 | +// return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 837 | // } | 824 | // } |
| 838 | 825 | ||
| 839 | -// if !param.IsTemporary { | ||
| 840 | -// err = srv.AfterCompletedEvaluation360Hrbp(summaryEvaluation) | 826 | +// // 更新填写值 |
| 827 | +// itemValues, err = srv.updateItemValuePriority(result, itemList, otherValues, false) | ||
| 841 | // if err != nil { | 828 | // if err != nil { |
| 842 | -// return nil, err | ||
| 843 | -// } | ||
| 844 | -// } | ||
| 845 | -// itemValueAdapter := srv.buildSummaryItemValue(itemList, itemValueList) | ||
| 846 | -// return map[string][]adapter.EvaluationItemAdapter{ | ||
| 847 | -// "evaluationItems": itemValueAdapter, | ||
| 848 | -// }, nil | 829 | +// return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 849 | // } | 830 | // } |
| 850 | - | ||
| 851 | -// 修改周期考核的分数 | ||
| 852 | -// func (srv *SummaryEvaluationService) ModifyFinishScore(param *command.ModifyFinishScore) error { | ||
| 853 | -// transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 854 | -// if err != nil { | ||
| 855 | -// return application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 856 | // } | 831 | // } |
| 857 | -// if err := transactionContext.StartTransaction(); err != nil { | ||
| 858 | -// return application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 859 | // } | 832 | // } |
| 860 | -// defer func() { | ||
| 861 | -// _ = transactionContext.RollbackTransaction() | ||
| 862 | -// }() | ||
| 863 | -// // 只有超级管理员可以使用的功能 | ||
| 864 | -// superAdmin, err := roleService.GetSuperAdmin(transactionContext, param.CompanyId, param.UserId) | 833 | +// err = itemValueRepo.RemoveBySummaryEvaluationId(result.Id) |
| 865 | // if err != nil { | 834 | // if err != nil { |
| 866 | -// return err | 835 | +// return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 867 | // } | 836 | // } |
| 868 | -// if superAdmin != domain.RoleTypeSuperAdmin { | ||
| 869 | -// return application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有操作权限") | 837 | +// for i := range itemValues { |
| 838 | +// if err := itemValueRepo.Save(itemValues[i]); err != nil { | ||
| 839 | +// return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 870 | // } | 840 | // } |
| 871 | - | ||
| 872 | -// //获取周期评估任务finish | ||
| 873 | -// evaluationRepo := factory.CreateSummaryEvaluationRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 874 | -// _, evaluationList, err := evaluationRepo.Find(map[string]interface{}{ | ||
| 875 | -// "id": []int{param.SummaryEvaluationId}, | ||
| 876 | -// "companyId": param.CompanyId, | ||
| 877 | -// }) | ||
| 878 | -// if err != nil { | ||
| 879 | -// return application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 880 | // } | 841 | // } |
| 881 | -// if len(evaluationList) == 0 { | ||
| 882 | -// return nil | 842 | +// // 重置评级汇总 |
| 843 | +// result.TotalRating = nil | ||
| 844 | +// for i := range itemList { | ||
| 845 | +// result.ResetTotalRating(itemList[i]) | ||
| 883 | // } | 846 | // } |
| 884 | -// evaluationData := evaluationList[0] | ||
| 885 | -// if evaluationData.Types != domain.EvaluationFinish { | ||
| 886 | -// return nil | 847 | +// //// 计算分数 |
| 848 | +// //if err := result.EvaluationTotalScore(itemValues); err != nil { | ||
| 849 | +// // return application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 850 | +// //} | ||
| 887 | // } | 851 | // } |
| 852 | + | ||
| 888 | // scoreStr := fmt.Sprintf("%.2f", param.Score) | 853 | // scoreStr := fmt.Sprintf("%.2f", param.Score) |
| 889 | -// evaluationData.TotalScore = scoreStr | ||
| 890 | -// evaluationData.Status = domain.EvaluationCompleted | ||
| 891 | -// // evaluationData.CheckResult = domain.EvaluationCheckCompleted | ||
| 892 | -// err = evaluationRepo.Save(evaluationData) | 854 | +// result.TotalScore = scoreStr |
| 855 | +// result.Status = domain.EvaluationCompleted | ||
| 856 | +// err = evaluationRepo.Save(result) | ||
| 893 | // if err != nil { | 857 | // if err != nil { |
| 894 | // return application.ThrowError(application.BUSINESS_ERROR, "修改考核结果"+err.Error()) | 858 | // return application.ThrowError(application.BUSINESS_ERROR, "修改考核结果"+err.Error()) |
| 895 | // } | 859 | // } |
-
请 注册 或 登录 后发表评论