From 0a174808148c1ae8409f9d10cb4c7a5f6d8ad029 Mon Sep 17 00:00:00 2001 From: tangxvhui <you@example.com> Date: Fri, 17 Feb 2023 11:27:35 +0800 Subject: [PATCH] 修正一些错误 --- pkg/application/staff_assess/service/service.go | 200 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------- pkg/application/summary_evaluation/adapter/evaluation_info.go | 2 ++ pkg/application/summary_evaluation/service/service.go | 25 ++++++++++++++++++++++--- pkg/domain/summary_evaluation.go | 2 +- 4 files changed, 125 insertions(+), 104 deletions(-) diff --git a/pkg/application/staff_assess/service/service.go b/pkg/application/staff_assess/service/service.go index 64cce84..85f3ba4 100644 --- a/pkg/application/staff_assess/service/service.go +++ b/pkg/application/staff_assess/service/service.go @@ -828,106 +828,106 @@ func (srv StaffAssessServeice) getAssessSelfInfoUncompleted(transactionContext a } // 选择员工评估可邀请的用户 -func (srv StaffAssessServeice) SelectAssessInviteUser(param *query.SelectAssessInviteUser) (map[string]interface{}, error) { - transactionContext, err := factory.CreateTransactionContext(nil) - if err != nil { - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) - } - if err := transactionContext.StartTransaction(); err != nil { - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) - } - defer func() { - _ = transactionContext.RollbackTransaction() - }() - //获取被评估的目标用户 - userRepo := factory.CreateUserRepository(map[string]interface{}{ - "transactionContext": transactionContext, - }) - //获取公司信息 - companyRepo := factory.CreateCompanyRepository(map[string]interface{}{ - "transactionContext": transactionContext, - }) - companyInfo, _ := companyRepo.FindOne(map[string]interface{}{ - "id": param.CompanyId, - }) - targetUser, err := userRepo.FindOne(map[string]interface{}{ - "id": param.TargetUserId, - }) - if err != nil { - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取员工信息"+err.Error()) - } - //获取被评估的目标用户的部门 - departmentRepo := factory.CreateDepartmentRepository(map[string]interface{}{ - "transactionContext": transactionContext, - }) - var targetUserDepartment []*domain.Department - if len(targetUser.DepartmentId) > 0 { - _, targetUserDepartment, err = departmentRepo.Find(map[string]interface{}{ - "ids": targetUser.DepartmentId, - }) - if err != nil { - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取部门信息"+err.Error()) - } - } - //获取部门主管的id - targetUserCharge := map[int64]struct{}{} - for _, v := range targetUserDepartment { - for _, vv := range v.ChargeUserIds { - targetUserCharge[vv] = struct{}{} - } - } - // - targetUserDepartmentMap := map[int64]struct{}{} - for _, v := range targetUserDepartment { - targetUserDepartmentMap[v.Id] = struct{}{} - } - //查询员工数据 - condition := map[string]interface{}{ - "companyId": param.CompanyId, - "name": param.InviteUserName, - "limit": 20, - "status": 1, - } - if param.PageSize > 0 { - condition["limit"] = param.PageSize - } - offset := (param.PageNumber - 1) * param.PageSize - if offset > 0 { - condition["offset"] = offset - } - cnt, userList, err := userRepo.Find(condition) - if err != nil { - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取员工列表信息"+err.Error()) - } - if err := transactionContext.CommitTransaction(); err != nil { - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) - } - listData := []adapter.SelectInviteUser{} - companyName := "" - if companyInfo != nil { - companyName = companyInfo.Name - } - for _, v := range userList { - item := adapter.SelectInviteUser{ - UserId: int(v.Id), - UserName: v.Name, - CompanyName: companyName, - IsSupper: false, - Types: 2, //默认是不同上级 - } - if _, ok := targetUserCharge[v.Id]; ok { - item.IsSupper = true - } - for _, vv := range v.DepartmentId { - if _, ok := targetUserDepartmentMap[int64(vv)]; ok { - item.Types = 1 //设为相同上级 - break - } - } - listData = append(listData, item) - } - return tool_funs.SimpleWrapGridMap(int64(cnt), listData), nil -} +// func (srv StaffAssessServeice) SelectAssessInviteUser(param *query.SelectAssessInviteUser) (map[string]interface{}, error) { +// transactionContext, err := factory.CreateTransactionContext(nil) +// if err != nil { +// return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) +// } +// if err := transactionContext.StartTransaction(); err != nil { +// return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) +// } +// defer func() { +// _ = transactionContext.RollbackTransaction() +// }() +// //获取被评估的目标用户 +// userRepo := factory.CreateUserRepository(map[string]interface{}{ +// "transactionContext": transactionContext, +// }) +// //获取公司信息 +// companyRepo := factory.CreateCompanyRepository(map[string]interface{}{ +// "transactionContext": transactionContext, +// }) +// companyInfo, _ := companyRepo.FindOne(map[string]interface{}{ +// "id": param.CompanyId, +// }) +// targetUser, err := userRepo.FindOne(map[string]interface{}{ +// "id": param.TargetUserId, +// }) +// if err != nil { +// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取员工信息"+err.Error()) +// } +// //获取被评估的目标用户的部门 +// departmentRepo := factory.CreateDepartmentRepository(map[string]interface{}{ +// "transactionContext": transactionContext, +// }) +// var targetUserDepartment []*domain.Department +// if len(targetUser.DepartmentId) > 0 { +// _, targetUserDepartment, err = departmentRepo.Find(map[string]interface{}{ +// "ids": targetUser.DepartmentId, +// }) +// if err != nil { +// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取部门信息"+err.Error()) +// } +// } +// //获取部门主管的id +// targetUserCharge := map[int64]struct{}{} +// for _, v := range targetUserDepartment { +// for _, vv := range v.ChargeUserIds { +// targetUserCharge[vv] = struct{}{} +// } +// } +// // +// targetUserDepartmentMap := map[int64]struct{}{} +// for _, v := range targetUserDepartment { +// targetUserDepartmentMap[v.Id] = struct{}{} +// } +// //查询员工数据 +// condition := map[string]interface{}{ +// "companyId": param.CompanyId, +// "name": param.InviteUserName, +// "limit": 20, +// "status": 1, +// } +// if param.PageSize > 0 { +// condition["limit"] = param.PageSize +// } +// offset := (param.PageNumber - 1) * param.PageSize +// if offset > 0 { +// condition["offset"] = offset +// } +// cnt, userList, err := userRepo.Find(condition) +// if err != nil { +// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取员工列表信息"+err.Error()) +// } +// if err := transactionContext.CommitTransaction(); err != nil { +// return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) +// } +// listData := []adapter.SelectInviteUser{} +// companyName := "" +// if companyInfo != nil { +// companyName = companyInfo.Name +// } +// for _, v := range userList { +// item := adapter.SelectInviteUser{ +// UserId: int(v.Id), +// UserName: v.Name, +// CompanyName: companyName, +// IsSupper: false, +// Types: 2, //默认是不同上级 +// } +// if _, ok := targetUserCharge[v.Id]; ok { +// item.IsSupper = true +// } +// for _, vv := range v.DepartmentId { +// if _, ok := targetUserDepartmentMap[int64(vv)]; ok { +// item.Types = 1 //设为相同上级 +// break +// } +// } +// listData = append(listData, item) +// } +// return tool_funs.SimpleWrapGridMap(int64(cnt), listData), nil +// } // 根据staffAssessId 获取评估的填写信息 func (srv StaffAssessServeice) GetAssessInfo(param *query.AssessInfoQuery) (*adapter.AssessInfoResp, error) { diff --git a/pkg/application/summary_evaluation/adapter/evaluation_info.go b/pkg/application/summary_evaluation/adapter/evaluation_info.go index e058186..f53a5b9 100644 --- a/pkg/application/summary_evaluation/adapter/evaluation_info.go +++ b/pkg/application/summary_evaluation/adapter/evaluation_info.go @@ -32,4 +32,6 @@ type EvaluationItemAdapter struct { Value string `json:"value"` //评估填写的评分 Score string `json:"score"` //计算的评定得分 Remark string `json:"remark"` //填写的内容反馈 + // + // } diff --git a/pkg/application/summary_evaluation/service/service.go b/pkg/application/summary_evaluation/service/service.go index 5dd295a..c241158 100644 --- a/pkg/application/summary_evaluation/service/service.go +++ b/pkg/application/summary_evaluation/service/service.go @@ -416,19 +416,38 @@ func (srv *SummaryEvaluationServeice) EditEvaluationSelf(param *command.EditEval for _, v := range param.EvaluationItems { updatedData, ok := evaluationValueMap[v.EvaluationItemId] if !ok { - updatedData.UpdatedAt = nowTime - updatedData.Value = v.Value - updatedData.Remark = v.Remark + continue + } + updatedData.UpdatedAt = nowTime + updatedData.Value = v.Value + updatedData.Remark = v.Remark + //计算得分 + err = updatedData.SummaryEvaluationScore() + if err != nil { + return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) } } + evaluationValueList := []*domain.SummaryEvaluationValue{} for _, v := range evaluationValueMap { + //保存填写值 err = itemValueRepo.Save(v) if err != nil { return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) } evaluationValueList = append(evaluationValueList, v) } + //计算总得分 + err = evaluationData.EvaluationTotalScore(evaluationValueList) + if err != nil { + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) + } + evaluationData.UpdatedAt = nowTime + //保存填写值 + err = evaluationRepo.Save(evaluationData) + if err != nil { + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) + } if err := transactionContext.CommitTransaction(); err != nil { return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) } diff --git a/pkg/domain/summary_evaluation.go b/pkg/domain/summary_evaluation.go index d6bad0b..7fba9f6 100644 --- a/pkg/domain/summary_evaluation.go +++ b/pkg/domain/summary_evaluation.go @@ -71,6 +71,6 @@ func (evaluation *SummaryEvaluation) EvaluationTotalScore(valueList []*SummaryEv totalScore += score } - evaluation.TotalScore = fmt.Sprintf("%.2f", totalScore) + evaluation.TotalScore = fmt.Sprintf("%.1f", totalScore) return nil } -- libgit2 0.24.0