Merge branch 'dev-tangxvhui' of http://gitlab.fjmaimaimai.com/allied-creation/pe…
…rformance into dev-tangxvhui
正在显示
6 个修改的文件
包含
66 行增加
和
25 行删除
| @@ -7,6 +7,7 @@ import ( | @@ -7,6 +7,7 @@ import ( | ||
| 7 | "time" | 7 | "time" |
| 8 | 8 | ||
| 9 | service "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/role" | 9 | service "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/role" |
| 10 | + taskService "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/task/service" | ||
| 10 | 11 | ||
| 11 | "github.com/linmadan/egglib-go/core/application" | 12 | "github.com/linmadan/egglib-go/core/application" |
| 12 | "github.com/linmadan/egglib-go/utils/tool_funs" | 13 | "github.com/linmadan/egglib-go/utils/tool_funs" |
| @@ -1146,16 +1147,13 @@ func (srv StaffAssessServeice) SaveSelfAssess(in *command.SaveSelfAssessCommand) | @@ -1146,16 +1147,13 @@ func (srv StaffAssessServeice) SaveSelfAssess(in *command.SaveSelfAssessCommand) | ||
| 1146 | } | 1147 | } |
| 1147 | assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{"transactionContext": transactionContext}) | 1148 | assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{"transactionContext": transactionContext}) |
| 1148 | 1149 | ||
| 1149 | - //待更新的评估填写信息 | ||
| 1150 | var assessContentList []*domain.StaffAssessContent | 1150 | var assessContentList []*domain.StaffAssessContent |
| 1151 | - // 已完成 | 1151 | + // 已完成会有评估内容数据 |
| 1152 | _, assessContentList, err = assessContentRepo.Find(map[string]interface{}{"staffAssessId": assessData.Id}) | 1152 | _, assessContentList, err = assessContentRepo.Find(map[string]interface{}{"staffAssessId": assessData.Id}) |
| 1153 | if err != nil { | 1153 | if err != nil { |
| 1154 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) | 1154 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) |
| 1155 | } | 1155 | } |
| 1156 | - | ||
| 1157 | - if len(assessContentList) == 0 { | ||
| 1158 | - // 未完成获取评估内容 | 1156 | + if len(assessContentList) == 0 { // 未完成获取评估内容 |
| 1159 | assessContentList, err = srv.getAssessInfoUncompletedV2(transactionContext, assessData) | 1157 | assessContentList, err = srv.getAssessInfoUncompletedV2(transactionContext, assessData) |
| 1160 | if err != nil { | 1158 | if err != nil { |
| 1161 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) | 1159 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) |
| @@ -1168,7 +1166,7 @@ func (srv StaffAssessServeice) SaveSelfAssess(in *command.SaveSelfAssessCommand) | @@ -1168,7 +1166,7 @@ func (srv StaffAssessServeice) SaveSelfAssess(in *command.SaveSelfAssessCommand) | ||
| 1168 | key := fmt.Sprintf("%s-%s", v.Category, v.Name) | 1166 | key := fmt.Sprintf("%s-%s", v.Category, v.Name) |
| 1169 | paramContentMap[key] = in.AssessContent[i] | 1167 | paramContentMap[key] = in.AssessContent[i] |
| 1170 | } | 1168 | } |
| 1171 | - //更新的评估填写信息 | 1169 | + // 更新的评估填写信息 |
| 1172 | for _, v := range assessContentList { | 1170 | for _, v := range assessContentList { |
| 1173 | key := fmt.Sprintf("%s-%s", v.Category, v.Name) | 1171 | key := fmt.Sprintf("%s-%s", v.Category, v.Name) |
| 1174 | item, ok := paramContentMap[key] | 1172 | item, ok := paramContentMap[key] |
| @@ -1184,8 +1182,7 @@ func (srv StaffAssessServeice) SaveSelfAssess(in *command.SaveSelfAssessCommand) | @@ -1184,8 +1182,7 @@ func (srv StaffAssessServeice) SaveSelfAssess(in *command.SaveSelfAssessCommand) | ||
| 1184 | 1182 | ||
| 1185 | v.Value = item.Value | 1183 | v.Value = item.Value |
| 1186 | if len(item.Value) > 0 { | 1184 | if len(item.Value) > 0 { |
| 1187 | - // 转换填入的评估值 | ||
| 1188 | - err = v.TransformValue() | 1185 | + err = v.TransformValue() // 转换评分评级填入的评估值 |
| 1189 | if err != nil { | 1186 | if err != nil { |
| 1190 | return nil, application.ThrowError(application.BUSINESS_ERROR, v.Category+"-"+v.Name+":"+err.Error()) | 1187 | return nil, application.ThrowError(application.BUSINESS_ERROR, v.Category+"-"+v.Name+":"+err.Error()) |
| 1191 | } | 1188 | } |
| @@ -1226,19 +1223,60 @@ func (srv StaffAssessServeice) SaveSelfAssess(in *command.SaveSelfAssessCommand) | @@ -1226,19 +1223,60 @@ func (srv StaffAssessServeice) SaveSelfAssess(in *command.SaveSelfAssessCommand) | ||
| 1226 | } | 1223 | } |
| 1227 | } | 1224 | } |
| 1228 | 1225 | ||
| 1226 | + // 更新里程碑数据 | ||
| 1229 | if len(in.AssessTaskStages) > 0 { | 1227 | if len(in.AssessTaskStages) > 0 { |
| 1230 | - tsIds := make([]int, 0) | ||
| 1231 | - for i := range in.AssessTaskStages { | ||
| 1232 | - tsId := in.AssessTaskStages[i].TaskStageId | ||
| 1233 | - if tsId > 0 { | ||
| 1234 | - tsIds = append(tsIds, tsId) | 1228 | + projectRepository := factory.CreateEvaluationProjectRepository(map[string]interface{}{"transactionContext": transactionContext}) |
| 1229 | + project, err := projectRepository.FindOne(map[string]interface{}{"id": assessData.EvaluationProjectId}) | ||
| 1230 | + if err != nil { | ||
| 1231 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目错误:"+err.Error()) | ||
| 1235 | } | 1232 | } |
| 1233 | + // 任务负责人才能提交里程碑数据 | ||
| 1234 | + if project.PrincipalId != strconv.Itoa(in.ExecutorId) { | ||
| 1235 | + return nil, application.ThrowError(application.BUSINESS_ERROR, "当前用户不能提交里程碑完成情况") | ||
| 1236 | } | 1236 | } |
| 1237 | 1237 | ||
| 1238 | + recordMap := map[int]domain.AssessTaskStage{} | ||
| 1239 | + recordIds := make([]int, 0) | ||
| 1240 | + for i := range in.AssessTaskStages { | ||
| 1241 | + it := in.AssessTaskStages[i] | ||
| 1242 | + recordIds = append(recordIds, it.TaskRecordId) | ||
| 1243 | + recordMap[it.TaskRecordId] = it | ||
| 1238 | } | 1244 | } |
| 1239 | // 里程碑记录 | 1245 | // 里程碑记录 |
| 1240 | - //taskRecordRepository := factory.CreateTaskRecordRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 1241 | - //taskRecordRepository.Find() | 1246 | + if len(recordIds) > 0 { |
| 1247 | + taskRecordRepository := factory.CreateTaskRecordRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 1248 | + _, taskRecords, err := taskRecordRepository.Find(map[string]interface{}{"ids": recordIds}) | ||
| 1249 | + if err != nil { | ||
| 1250 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取里程碑数据:"+err.Error()) | ||
| 1251 | + } | ||
| 1252 | + for i := range taskRecords { | ||
| 1253 | + it := taskRecords[i] | ||
| 1254 | + if v, ok := recordMap[it.Id]; ok { | ||
| 1255 | + it.AssistLevel = v.AssistLevel // 更新上级辅导情况 | ||
| 1256 | + it.AssistContent = v.AssistContent // 更新上级辅导内容 | ||
| 1257 | + if v.TaskStageId == it.TaskStageCheck.Id { // 更新里程碑状态 | ||
| 1258 | + it.TaskStageCheck.Status = v.Status | ||
| 1259 | + } | ||
| 1260 | + for j := range it.TaskStages { | ||
| 1261 | + if v.TaskStageId == it.TaskStages[j].Id { // 更新里程碑状态 | ||
| 1262 | + it.TaskStages[j].Status = v.Status | ||
| 1263 | + } | ||
| 1264 | + } | ||
| 1265 | + _, err := taskRecordRepository.Insert(it) | ||
| 1266 | + if err != nil { | ||
| 1267 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "更新里程碑记录:"+err.Error()) | ||
| 1268 | + } | ||
| 1269 | + } | ||
| 1270 | + } | ||
| 1271 | + | ||
| 1272 | + if len(taskRecords) > 0 { | ||
| 1273 | + err := taskService.NewTaskService().ReplyTaskStage(transactionContext, taskRecords) | ||
| 1274 | + if err != nil { | ||
| 1275 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "更新里程碑数据:"+err.Error()) | ||
| 1276 | + } | ||
| 1277 | + } | ||
| 1278 | + } | ||
| 1279 | + } | ||
| 1242 | 1280 | ||
| 1243 | if err := transactionContext.CommitTransaction(); err != nil { | 1281 | if err := transactionContext.CommitTransaction(); err != nil { |
| 1244 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 1282 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| @@ -554,12 +554,12 @@ func (srv TaskService) ListTask(param *command.ListTaskCommand) (map[string]inte | @@ -554,12 +554,12 @@ func (srv TaskService) ListTask(param *command.ListTaskCommand) (map[string]inte | ||
| 554 | return result, nil | 554 | return result, nil |
| 555 | } | 555 | } |
| 556 | 556 | ||
| 557 | -func (t TaskService) canUpdateTask(taskData *domain.Task, stageList []*domain.TaskStage) (bool, error) { | 557 | +func (srv TaskService) canUpdateTask(taskData *domain.Task, stageList []*domain.TaskStage) (bool, error) { |
| 558 | return true, nil | 558 | return true, nil |
| 559 | } | 559 | } |
| 560 | 560 | ||
| 561 | // CancelAttention 用户取消关注某个任务 | 561 | // CancelAttention 用户取消关注某个任务 |
| 562 | -func (t TaskService) CancelAttention(param *command.CancelAttentionCommand) error { | 562 | +func (srv TaskService) CancelAttention(param *command.CancelAttentionCommand) error { |
| 563 | transactionContext, err := factory.CreateTransactionContext(nil) | 563 | transactionContext, err := factory.CreateTransactionContext(nil) |
| 564 | if err != nil { | 564 | if err != nil { |
| 565 | return application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 565 | return application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
| @@ -590,7 +590,7 @@ func (t TaskService) CancelAttention(param *command.CancelAttentionCommand) erro | @@ -590,7 +590,7 @@ func (t TaskService) CancelAttention(param *command.CancelAttentionCommand) erro | ||
| 590 | } | 590 | } |
| 591 | 591 | ||
| 592 | // 员工绩效-任务管理-列表 | 592 | // 员工绩效-任务管理-列表 |
| 593 | -func (t TaskService) ListTask2(param *command.SearchTaskCommand) (map[string]interface{}, error) { | 593 | +func (srv TaskService) ListTask2(param *command.SearchTaskCommand) (map[string]interface{}, error) { |
| 594 | transactionContext, err := factory.CreateTransactionContext(nil) | 594 | transactionContext, err := factory.CreateTransactionContext(nil) |
| 595 | if err != nil { | 595 | if err != nil { |
| 596 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 596 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
| @@ -606,7 +606,7 @@ func (t TaskService) ListTask2(param *command.SearchTaskCommand) (map[string]int | @@ -606,7 +606,7 @@ func (t TaskService) ListTask2(param *command.SearchTaskCommand) (map[string]int | ||
| 606 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取用户的角色信息"+err.Error()) | 606 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取用户的角色信息"+err.Error()) |
| 607 | } | 607 | } |
| 608 | if hrbpFlag == domain.RoleTypeSystem { | 608 | if hrbpFlag == domain.RoleTypeSystem { |
| 609 | - listData, err := t.listTask2ForHrbp(param) | 609 | + listData, err := srv.listTask2ForHrbp(param) |
| 610 | return listData, err | 610 | return listData, err |
| 611 | } | 611 | } |
| 612 | var limit = 20 | 612 | var limit = 20 |
| @@ -693,7 +693,7 @@ func (t TaskService) ListTask2(param *command.SearchTaskCommand) (map[string]int | @@ -693,7 +693,7 @@ func (t TaskService) ListTask2(param *command.SearchTaskCommand) (map[string]int | ||
| 693 | } | 693 | } |
| 694 | 694 | ||
| 695 | // 以hrbp角色权限获取任务列表 | 695 | // 以hrbp角色权限获取任务列表 |
| 696 | -func (t TaskService) listTask2ForHrbp(param *command.SearchTaskCommand) (map[string]interface{}, error) { | 696 | +func (srv TaskService) listTask2ForHrbp(param *command.SearchTaskCommand) (map[string]interface{}, error) { |
| 697 | var limit = 20 | 697 | var limit = 20 |
| 698 | var offset = 0 | 698 | var offset = 0 |
| 699 | if param.PageSize > 0 { | 699 | if param.PageSize > 0 { |
| @@ -787,7 +787,7 @@ func (t TaskService) listTask2ForHrbp(param *command.SearchTaskCommand) (map[str | @@ -787,7 +787,7 @@ func (t TaskService) listTask2ForHrbp(param *command.SearchTaskCommand) (map[str | ||
| 787 | } | 787 | } |
| 788 | 788 | ||
| 789 | // ReplyTaskStage 根据每日的任务反馈 ,更新任务里程碑 | 789 | // ReplyTaskStage 根据每日的任务反馈 ,更新任务里程碑 |
| 790 | -func (t TaskService) ReplyTaskStage(transactionContext application.TransactionContext, param []*domain.TaskRecord) error { | 790 | +func (srv TaskService) ReplyTaskStage(transactionContext application.TransactionContext, param []*domain.TaskRecord) error { |
| 791 | taskRepo := factory.CreateTaskRepository(map[string]interface{}{ | 791 | taskRepo := factory.CreateTaskRepository(map[string]interface{}{ |
| 792 | "transactionContext": transactionContext, | 792 | "transactionContext": transactionContext, |
| 793 | }) | 793 | }) |
| @@ -28,6 +28,7 @@ type RemarkText struct { | @@ -28,6 +28,7 @@ type RemarkText struct { | ||
| 28 | type AssessTaskStage struct { | 28 | type AssessTaskStage struct { |
| 29 | Category string `json:"category"` | 29 | Category string `json:"category"` |
| 30 | Name string `json:"name"` | 30 | Name string `json:"name"` |
| 31 | + TaskRecordId int `json:"taskRecordId" comment:"任务记录ID"` | ||
| 31 | TaskStageId int `json:"taskStageId" comment:"里程碑ID"` | 32 | TaskStageId int `json:"taskStageId" comment:"里程碑ID"` |
| 32 | Status TaskStageState `json:"status" comment:"里程碑完成情况"` | 33 | Status TaskStageState `json:"status" comment:"里程碑完成情况"` |
| 33 | AssistLevel int `json:"assistLevel" comment:"上级辅导情况"` | 34 | AssistLevel int `json:"assistLevel" comment:"上级辅导情况"` |
| @@ -14,7 +14,7 @@ type TaskRecord struct { | @@ -14,7 +14,7 @@ type TaskRecord struct { | ||
| 14 | Id int `json:"id,string" comment:"ID"` | 14 | Id int `json:"id,string" comment:"ID"` |
| 15 | CompanyId int `json:"companyId,string" comment:"公司ID"` | 15 | CompanyId int `json:"companyId,string" comment:"公司ID"` |
| 16 | StaffAssessId int `json:"staffAssessId,string" comment:"每日评估的ID"` | 16 | StaffAssessId int `json:"staffAssessId,string" comment:"每日评估的ID"` |
| 17 | - TaskId int `json:"taskId,string" comment:"里程碑任务的ID"` | 17 | + TaskId int `json:"taskId,string" comment:"任务ID"` |
| 18 | TaskName string `json:"taskName" comment:"任务名称"` | 18 | TaskName string `json:"taskName" comment:"任务名称"` |
| 19 | TaskAlias string `json:"taskAlias" comment:"任务别名"` | 19 | TaskAlias string `json:"taskAlias" comment:"任务别名"` |
| 20 | TaskLeader TaskLeader `json:"taskLeader" comment:"任务负责人"` | 20 | TaskLeader TaskLeader `json:"taskLeader" comment:"任务负责人"` |
| @@ -11,7 +11,7 @@ type TaskRecord struct { | @@ -11,7 +11,7 @@ type TaskRecord struct { | ||
| 11 | Id int `comment:"ID" pg:"pk:id"` | 11 | Id int `comment:"ID" pg:"pk:id"` |
| 12 | CompanyId int `comment:"公司ID"` | 12 | CompanyId int `comment:"公司ID"` |
| 13 | StaffAssessId int `comment:"每日评估的ID"` | 13 | StaffAssessId int `comment:"每日评估的ID"` |
| 14 | - TaskId int `comment:"里程碑任务的ID"` | 14 | + TaskId int `comment:"任务ID"` |
| 15 | TaskName string `comment:"任务名称"` | 15 | TaskName string `comment:"任务名称"` |
| 16 | TaskAlias string `comment:"任务别名"` | 16 | TaskAlias string `comment:"任务别名"` |
| 17 | TaskLeader domain.TaskLeader `comment:"任务负责人"` | 17 | TaskLeader domain.TaskLeader `comment:"任务负责人"` |
| @@ -37,7 +37,8 @@ select | @@ -37,7 +37,8 @@ select | ||
| 37 | public."role" | 37 | public."role" |
| 38 | where | 38 | where |
| 39 | "role".company_id = 416 | 39 | "role".company_id = 416 |
| 40 | - and "role"."type" = 2); | 40 | + and "role"."type" = 2 |
| 41 | + and "role".deleted_at isnull); | ||
| 41 | 42 | ||
| 42 | -- 超级管理员添加关联用户(不存在时插入新数据)(注.公司ID->416 用户ID->3337322891762688) | 43 | -- 超级管理员添加关联用户(不存在时插入新数据)(注.公司ID->416 用户ID->3337322891762688) |
| 43 | with temp_role as ( | 44 | with temp_role as ( |
| @@ -75,5 +76,6 @@ where | @@ -75,5 +76,6 @@ where | ||
| 75 | where | 76 | where |
| 76 | "role_user".company_id = 416 | 77 | "role_user".company_id = 416 |
| 77 | and "role_user".user_id = 3337322891762688 | 78 | and "role_user".user_id = 3337322891762688 |
| 78 | - and "role_user".role_id = temp_role."id"); | 79 | + and "role_user".role_id = temp_role."id" |
| 80 | + and "role_user".deleted_at isnull); | ||
| 79 | -- | 81 | -- |
-
请 注册 或 登录 后发表评论