正在显示
14 个修改的文件
包含
189 行增加
和
117 行删除
| 1 | -package adapter | ||
| 2 | - | ||
| 3 | -import "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" | ||
| 4 | - | ||
| 5 | -//评估内容详情 | ||
| 6 | -type AssessInfoResp struct { | ||
| 7 | - AssessId int `json:"assessId"` | ||
| 8 | - CycleId int64 `json:"cycleId,string"` //周期id | ||
| 9 | - CycleName string `json:"cycleName"` //周期名称 | ||
| 10 | - EvaluationProjectId int `json:"evaluationProjectId,string"` //项目id | ||
| 11 | - EvaluationProjectName string `json:"evaluationProjectName"` //项目名称 | ||
| 12 | - LinkNodeId int `json:"linkNodeId,string"` //评估环节id | ||
| 13 | - LinkNodeName string `json:"linkNodeName"` //评估环节名称 | ||
| 14 | - BeginTime string `json:"beginTime"` //开始时间 2006-01-02 15:04:05 | ||
| 15 | - EndTime string `json:"endTime"` //结束时间 2006-01-02 15:04:05 | ||
| 16 | - Status string `json:"status"` //完成状态 | ||
| 17 | - TargetUserId int `json:"targetUserId,string"` //目标用户 | ||
| 18 | - TargetUserName string `json:"targetUserName"` //目标用户名称 | ||
| 19 | - CompanyId int `json:"companyId,string,"` //公司id | ||
| 20 | - CompanyLogo string `json:"companyLogo,string,"` //公司logo | ||
| 21 | - CompanyName string `json:"companyName"` //公司名称 | ||
| 22 | - SupperUser string `json:"superUser"` //目标用户的上级 | ||
| 23 | - DutyTime string `json:"dutyTime"` //入职时间 // | ||
| 24 | - AssessContent []*domain.StaffAssessContent `json:"assessContent"` //评估内容 | ||
| 25 | -} | ||
| 26 | - | ||
| 27 | -// 周期内的每日自评小结 | ||
| 28 | -type AssessCountLevelResp struct { | ||
| 29 | - CycleId int64 `json:"cycleId,string"` //周期id | ||
| 30 | - CycleName string `json:"cycleName"` //周期名称 | ||
| 31 | - EvaluationProjectId int `json:"evaluationProjectId,string"` //项目id | ||
| 32 | - EvaluationProjectName string `json:"evaluationProjectName"` //项目名称 | ||
| 33 | - TargetUserId int `json:"targetUserId,string"` //被评估的目标用户,被执行的 | ||
| 34 | - TargetUserName string `json:"targetUserName"` // | ||
| 35 | - CompanyLogo string `json:"companyLogo,"` //公司logo | ||
| 36 | - CompanyName string `json:"companyName"` //公司名称 | ||
| 37 | - SupperUser string `json:"superUser"` //目标用户的上级 | ||
| 38 | - DutyTime string `json:"dutyTime"` //入职时间 | ||
| 39 | - EvaluationItems []AssessCountLeveltItem `json:"evaluationItems"` //评估项 | ||
| 40 | -} | ||
| 41 | - | ||
| 42 | -// 周期内的每日自评小结 评估项 | ||
| 43 | -type AssessCountLeveltItem struct { | ||
| 44 | - EvaluationItemId int `json:"evaluationItemId,string"` //评估条目的id | ||
| 45 | - SortBy int `json:"sortBy"` //排序 | ||
| 46 | - Category string `json:"category"` //类别 | ||
| 47 | - Name string `json:"name"` //名称 | ||
| 48 | - PromptTitle string `json:"promptTitle"` //提示项标题 | ||
| 49 | - PromptText string `json:"promptText"` //提示项正文 | ||
| 50 | - EntryItems []*domain.EntryItem `json:"entryItems"` //填写的反馈 | ||
| 51 | - RuleType int `json:"ruleType"` //评估方式(0评级、1评分) | ||
| 52 | - Rule domain.EvaluationRule `json:"rule"` //评估的选项规则 | ||
| 53 | - Weight float64 `json:"weight"` //"权重" | ||
| 54 | - Remark string `json:"remark"` //填写的内容反馈 | ||
| 55 | - EvaluatorId int `json:"evaluatorId"` //评估人id | ||
| 56 | - LevelCount []LevalCodeCount `json:"levelCount"` //周期内每次评估的等级数量统计 | ||
| 57 | -} | ||
| 58 | - | ||
| 59 | -// 周期内的每日自评小结 评估项 评级数量 | ||
| 60 | -type LevalCodeCount struct { | ||
| 61 | - Code string `json:"code"` //评级代码 | ||
| 62 | - Number int `json:"number"` //数量 | ||
| 63 | -} | 1 | +package adapter |
| 2 | + | ||
| 3 | +import "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" | ||
| 4 | + | ||
| 5 | +//评估内容详情 | ||
| 6 | +type AssessInfoResp struct { | ||
| 7 | + AssessId int `json:"assessId"` | ||
| 8 | + CycleId int64 `json:"cycleId,string"` //周期id | ||
| 9 | + CycleName string `json:"cycleName"` //周期名称 | ||
| 10 | + EvaluationProjectId int `json:"evaluationProjectId,string"` //项目id | ||
| 11 | + EvaluationProjectName string `json:"evaluationProjectName"` //项目名称 | ||
| 12 | + LinkNodeId int `json:"linkNodeId,string"` //评估环节id | ||
| 13 | + LinkNodeName string `json:"linkNodeName"` //评估环节名称 | ||
| 14 | + BeginTime string `json:"beginTime"` //开始时间 2006-01-02 15:04:05 | ||
| 15 | + EndTime string `json:"endTime"` //结束时间 2006-01-02 15:04:05 | ||
| 16 | + Status string `json:"status"` //完成状态 | ||
| 17 | + TargetUserId int `json:"targetUserId,string"` //目标用户 | ||
| 18 | + TargetUserName string `json:"targetUserName"` //目标用户名称 | ||
| 19 | + CompanyId int `json:"companyId,string,"` //公司id | ||
| 20 | + CompanyLogo string `json:"companyLogo,string,"` //公司logo | ||
| 21 | + CompanyName string `json:"companyName"` //公司名称 | ||
| 22 | + SupperUser string `json:"superUser"` //目标用户的上级 | ||
| 23 | + DutyTime string `json:"dutyTime"` //入职时间 | ||
| 24 | + AssessContent []*domain.StaffAssessContent `json:"assessContent"` //评估内容 | ||
| 25 | + TaskRecords []*domain.TaskRecord `json:"taskRecords"` //里程碑内容 | ||
| 26 | +} | ||
| 27 | + | ||
| 28 | +// 周期内的每日自评小结 | ||
| 29 | +type AssessCountLevelResp struct { | ||
| 30 | + CycleId int64 `json:"cycleId,string"` //周期id | ||
| 31 | + CycleName string `json:"cycleName"` //周期名称 | ||
| 32 | + EvaluationProjectId int `json:"evaluationProjectId,string"` //项目id | ||
| 33 | + EvaluationProjectName string `json:"evaluationProjectName"` //项目名称 | ||
| 34 | + TargetUserId int `json:"targetUserId,string"` //被评估的目标用户,被执行的 | ||
| 35 | + TargetUserName string `json:"targetUserName"` // | ||
| 36 | + CompanyLogo string `json:"companyLogo,"` //公司logo | ||
| 37 | + CompanyName string `json:"companyName"` //公司名称 | ||
| 38 | + SupperUser string `json:"superUser"` //目标用户的上级 | ||
| 39 | + DutyTime string `json:"dutyTime"` //入职时间 | ||
| 40 | + EvaluationItems []AssessCountLeveltItem `json:"evaluationItems"` //评估项 | ||
| 41 | +} | ||
| 42 | + | ||
| 43 | +// 周期内的每日自评小结 评估项 | ||
| 44 | +type AssessCountLeveltItem struct { | ||
| 45 | + EvaluationItemId int `json:"evaluationItemId,string"` //评估条目的id | ||
| 46 | + SortBy int `json:"sortBy"` //排序 | ||
| 47 | + Category string `json:"category"` //类别 | ||
| 48 | + Name string `json:"name"` //名称 | ||
| 49 | + PromptTitle string `json:"promptTitle"` //提示项标题 | ||
| 50 | + PromptText string `json:"promptText"` //提示项正文 | ||
| 51 | + EntryItems []*domain.EntryItem `json:"entryItems"` //填写的反馈 | ||
| 52 | + RuleType int `json:"ruleType"` //评估方式(0评级、1评分) | ||
| 53 | + Rule domain.EvaluationRule `json:"rule"` //评估的选项规则 | ||
| 54 | + Weight float64 `json:"weight"` //"权重" | ||
| 55 | + Remark string `json:"remark"` //填写的内容反馈 | ||
| 56 | + EvaluatorId int `json:"evaluatorId"` //评估人id | ||
| 57 | + LevelCount []LevalCodeCount `json:"levelCount"` //周期内每次评估的等级数量统计 | ||
| 58 | +} | ||
| 59 | + | ||
| 60 | +// 周期内的每日自评小结 评估项 评级数量 | ||
| 61 | +type LevalCodeCount struct { | ||
| 62 | + Code string `json:"code"` //评级代码 | ||
| 63 | + Number int `json:"number"` //数量 | ||
| 64 | +} |
| @@ -7,8 +7,9 @@ import ( | @@ -7,8 +7,9 @@ import ( | ||
| 7 | 7 | ||
| 8 | // SaveAssessCacheCommand 保存待提交的评估数据(缓存) | 8 | // SaveAssessCacheCommand 保存待提交的评估数据(缓存) |
| 9 | type SaveAssessCacheCommand struct { | 9 | type SaveAssessCacheCommand struct { |
| 10 | - AssessId int64 `cname:"评估项ID" json:"assessId,string"` | ||
| 11 | - AssessContent []domain.AssessContent `cname:"评估数据" json:"assessContent"` | 10 | + AssessId int64 `cname:"评估项ID" json:"assessId,string"` |
| 11 | + AssessContent []domain.AssessContent `cname:"评估数据" json:"assessContent"` | ||
| 12 | + AssessTaskStages []domain.AssessTaskStage `cname:"里程碑内容" json:"assessTaskStages"` | ||
| 12 | } | 13 | } |
| 13 | 14 | ||
| 14 | func (in *SaveAssessCacheCommand) Valid(validation *validation.Validation) { | 15 | func (in *SaveAssessCacheCommand) Valid(validation *validation.Validation) { |
| @@ -30,14 +30,16 @@ func (srv StaffAssessCacheService) SaveAssessCache(in *command.SaveAssessCacheCo | @@ -30,14 +30,16 @@ func (srv StaffAssessCacheService) SaveAssessCache(in *command.SaveAssessCacheCo | ||
| 30 | } | 30 | } |
| 31 | var cache *domain.StaffAssessCache | 31 | var cache *domain.StaffAssessCache |
| 32 | if len(caches) == 0 { | 32 | if len(caches) == 0 { |
| 33 | - cache = &domain.StaffAssessCache{} | ||
| 34 | - cache.Id = 0 | ||
| 35 | - cache.AssessId = in.AssessId | ||
| 36 | - cache.AssessContent = in.AssessContent | 33 | + cache = &domain.StaffAssessCache{ |
| 34 | + Id: 0, | ||
| 35 | + AssessId: in.AssessId, | ||
| 36 | + } | ||
| 37 | } else { | 37 | } else { |
| 38 | cache = caches[0] | 38 | cache = caches[0] |
| 39 | - cache.AssessContent = in.AssessContent | ||
| 40 | } | 39 | } |
| 40 | + cache.AssessContent = in.AssessContent | ||
| 41 | + cache.AssessTaskStages = in.AssessTaskStages | ||
| 42 | + | ||
| 41 | if _, err = cacheRepository.Save(cache); err != nil { | 43 | if _, err = cacheRepository.Save(cache); err != nil { |
| 42 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 44 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 43 | } | 45 | } |
| @@ -1232,7 +1232,7 @@ func (srv StaffAssessServeice) SaveSelfAssess(in *command.SaveSelfAssessCommand) | @@ -1232,7 +1232,7 @@ func (srv StaffAssessServeice) SaveSelfAssess(in *command.SaveSelfAssessCommand) | ||
| 1232 | } | 1232 | } |
| 1233 | // 任务负责人才能提交里程碑数据 | 1233 | // 任务负责人才能提交里程碑数据 |
| 1234 | if project.PrincipalId != strconv.Itoa(in.ExecutorId) { | 1234 | if project.PrincipalId != strconv.Itoa(in.ExecutorId) { |
| 1235 | - return nil, application.ThrowError(application.BUSINESS_ERROR, "当前用户不能提交里程碑完成情况") | 1235 | + return nil, application.ThrowError(application.BUSINESS_ERROR, "当前用户没有里程碑提交权限") |
| 1236 | } | 1236 | } |
| 1237 | 1237 | ||
| 1238 | recordMap := map[int]domain.AssessTaskStage{} | 1238 | recordMap := map[int]domain.AssessTaskStage{} |
| @@ -1312,11 +1312,14 @@ func (srv StaffAssessServeice) getStaffSuper(transactionContext application.Tran | @@ -1312,11 +1312,14 @@ func (srv StaffAssessServeice) getStaffSuper(transactionContext application.Tran | ||
| 1312 | return userData, nil | 1312 | return userData, nil |
| 1313 | } | 1313 | } |
| 1314 | 1314 | ||
| 1315 | -func (srv StaffAssessServeice) recoverAssessCache(context application.TransactionContext, assessId int, dataArray []*domain.StaffAssessContent) { | 1315 | +func (srv StaffAssessServeice) recoverAssessCache(context application.TransactionContext, assessId int, dataArray []*domain.StaffAssessContent) *domain.StaffAssessCache { |
| 1316 | cacheRepository := factory.CreateStaffAssessCacheRepository(map[string]interface{}{"transactionContext": context}) | 1316 | cacheRepository := factory.CreateStaffAssessCacheRepository(map[string]interface{}{"transactionContext": context}) |
| 1317 | _, caches, err := cacheRepository.Find(map[string]interface{}{"assessId": assessId, "limit": 1}) | 1317 | _, caches, err := cacheRepository.Find(map[string]interface{}{"assessId": assessId, "limit": 1}) |
| 1318 | - if err != nil || len(caches) == 0 { | ||
| 1319 | - return | 1318 | + if err != nil { |
| 1319 | + return nil | ||
| 1320 | + } | ||
| 1321 | + if len(caches) == 0 { | ||
| 1322 | + return nil | ||
| 1320 | } | 1323 | } |
| 1321 | cacheArray := caches[0].AssessContent | 1324 | cacheArray := caches[0].AssessContent |
| 1322 | cacheLen := len(cacheArray) | 1325 | cacheLen := len(cacheArray) |
| @@ -1336,6 +1339,27 @@ func (srv StaffAssessServeice) recoverAssessCache(context application.Transactio | @@ -1336,6 +1339,27 @@ func (srv StaffAssessServeice) recoverAssessCache(context application.Transactio | ||
| 1336 | } | 1339 | } |
| 1337 | } | 1340 | } |
| 1338 | } | 1341 | } |
| 1342 | + return caches[0] | ||
| 1343 | +} | ||
| 1344 | + | ||
| 1345 | +func (srv StaffAssessServeice) recoverCacheWithTaskRecord(cache *domain.StaffAssessCache, dataArray []*domain.TaskRecord) { | ||
| 1346 | + if cache == nil || len(cache.AssessTaskStages) == 0 || len(dataArray) == 0 { | ||
| 1347 | + return | ||
| 1348 | + } | ||
| 1349 | + cacheArray := cache.AssessTaskStages | ||
| 1350 | + cacheMap := map[int]domain.AssessTaskStage{} | ||
| 1351 | + for i := range cacheArray { | ||
| 1352 | + it := cacheArray[i] | ||
| 1353 | + cacheMap[it.TaskRecordId] = it | ||
| 1354 | + } | ||
| 1355 | + | ||
| 1356 | + for i := range dataArray { | ||
| 1357 | + it := dataArray[i] | ||
| 1358 | + if item, ok := cacheMap[it.Id]; ok { | ||
| 1359 | + it.AssistLevel = item.AssistLevel | ||
| 1360 | + it.AssistContent = item.AssistContent | ||
| 1361 | + } | ||
| 1362 | + } | ||
| 1339 | } | 1363 | } |
| 1340 | 1364 | ||
| 1341 | // 获取目标员工自评周期列表 | 1365 | // 获取目标员工自评周期列表 |
| @@ -719,9 +719,8 @@ func (srv StaffAssessServeice) GetAssessSelfInfoV2(param *query.GetExecutorSelfA | @@ -719,9 +719,8 @@ func (srv StaffAssessServeice) GetAssessSelfInfoV2(param *query.GetExecutorSelfA | ||
| 719 | defer func() { | 719 | defer func() { |
| 720 | _ = transactionContext.RollbackTransaction() | 720 | _ = transactionContext.RollbackTransaction() |
| 721 | }() | 721 | }() |
| 722 | - assessReps := factory.CreateStaffAssessRepository(map[string]interface{}{ | ||
| 723 | - "transactionContext": transactionContext, | ||
| 724 | - }) | 722 | + |
| 723 | + assessReps := factory.CreateStaffAssessRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 725 | // 获取员工的评估 | 724 | // 获取员工的评估 |
| 726 | _, assessList, err := assessReps.Find(map[string]interface{}{ | 725 | _, assessList, err := assessReps.Find(map[string]interface{}{ |
| 727 | "companyId": param.CompanyId, | 726 | "companyId": param.CompanyId, |
| @@ -739,15 +738,11 @@ func (srv StaffAssessServeice) GetAssessSelfInfoV2(param *query.GetExecutorSelfA | @@ -739,15 +738,11 @@ func (srv StaffAssessServeice) GetAssessSelfInfoV2(param *query.GetExecutorSelfA | ||
| 739 | } | 738 | } |
| 740 | assessData := assessList[0] | 739 | assessData := assessList[0] |
| 741 | 740 | ||
| 742 | - assessContentList := []*domain.StaffAssessContent{} | 741 | + var assessContentList []*domain.StaffAssessContent |
| 743 | if assessData.Status == domain.StaffAssessCompleted { | 742 | if assessData.Status == domain.StaffAssessCompleted { |
| 744 | //已完成 | 743 | //已完成 |
| 745 | - assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{ | ||
| 746 | - "transactionContext": transactionContext, | ||
| 747 | - }) | ||
| 748 | - _, assessContentList, err = assessContentRepo.Find(map[string]interface{}{ | ||
| 749 | - "staffAssessId": assessData.Id, | ||
| 750 | - }) | 744 | + assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{"transactionContext": transactionContext}) |
| 745 | + _, assessContentList, err = assessContentRepo.Find(map[string]interface{}{"staffAssessId": assessData.Id}) | ||
| 751 | if err != nil { | 746 | if err != nil { |
| 752 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) | 747 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error()) |
| 753 | } | 748 | } |
| @@ -759,13 +754,37 @@ func (srv StaffAssessServeice) GetAssessSelfInfoV2(param *query.GetExecutorSelfA | @@ -759,13 +754,37 @@ func (srv StaffAssessServeice) GetAssessSelfInfoV2(param *query.GetExecutorSelfA | ||
| 759 | } | 754 | } |
| 760 | } | 755 | } |
| 761 | 756 | ||
| 762 | - // 恢复缓存数据 | 757 | + //获取员工描述 |
| 758 | + staffDesc, _ := srv.getStaffDescrip(transactionContext, int64(param.TargetUserId)) | ||
| 759 | + | ||
| 760 | + var cache *domain.StaffAssessCache | ||
| 761 | + // 恢复缓存数据(填写内容) | ||
| 763 | if param.AcquireCache != 0 { | 762 | if param.AcquireCache != 0 { |
| 764 | - srv.recoverAssessCache(transactionContext, assessData.Id, assessContentList) | 763 | + cache = srv.recoverAssessCache(transactionContext, assessData.Id, assessContentList) |
| 764 | + } | ||
| 765 | + // 获取项目信息 | ||
| 766 | + projectRepository := factory.CreateEvaluationProjectRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 767 | + project, err := projectRepository.FindOne(map[string]interface{}{"id": assessData.EvaluationProjectId}) | ||
| 768 | + if err != nil { | ||
| 769 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目错误:"+err.Error()) | ||
| 770 | + } | ||
| 771 | + | ||
| 772 | + taskRecords := make([]*domain.TaskRecord, 0) | ||
| 773 | + // 任务负责人才能显示里程碑数据 | ||
| 774 | + if project.PrincipalId == strconv.Itoa(param.TargetUserId) { | ||
| 775 | + // 获取里程碑数据 | ||
| 776 | + taskRecordRepository := factory.CreateTaskRecordRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 777 | + _, taskRecords, err = taskRecordRepository.Find(map[string]interface{}{"staffAssessId": assessData.Id}) | ||
| 778 | + if err != nil { | ||
| 779 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取里程碑数据:"+err.Error()) | ||
| 780 | + } | ||
| 781 | + | ||
| 782 | + // 恢复缓存数据(里程碑记录) | ||
| 783 | + if param.AcquireCache != 0 { | ||
| 784 | + srv.recoverCacheWithTaskRecord(cache, taskRecords) | ||
| 785 | + } | ||
| 765 | } | 786 | } |
| 766 | 787 | ||
| 767 | - //获取员工描述 | ||
| 768 | - staffDesc, _ := srv.getStaffDescrip(transactionContext, int64(param.TargetUserId)) | ||
| 769 | if err := transactionContext.CommitTransaction(); err != nil { | 788 | if err := transactionContext.CommitTransaction(); err != nil { |
| 770 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 789 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 771 | } | 790 | } |
| @@ -788,6 +807,7 @@ func (srv StaffAssessServeice) GetAssessSelfInfoV2(param *query.GetExecutorSelfA | @@ -788,6 +807,7 @@ func (srv StaffAssessServeice) GetAssessSelfInfoV2(param *query.GetExecutorSelfA | ||
| 788 | SupperUser: "", | 807 | SupperUser: "", |
| 789 | DutyTime: "", | 808 | DutyTime: "", |
| 790 | AssessContent: assessContentList, | 809 | AssessContent: assessContentList, |
| 810 | + TaskRecords: taskRecords, | ||
| 791 | } | 811 | } |
| 792 | if staffDesc != nil { | 812 | if staffDesc != nil { |
| 793 | result.CompanyName = staffDesc.CompanyName | 813 | result.CompanyName = staffDesc.CompanyName |
| @@ -14,7 +14,7 @@ type StaffAssessCache struct { | @@ -14,7 +14,7 @@ type StaffAssessCache struct { | ||
| 14 | Id int64 `json:"id,string" comment:"ID"` | 14 | Id int64 `json:"id,string" comment:"ID"` |
| 15 | AssessId int64 `json:"assessId,string" comment:"评估项ID"` | 15 | AssessId int64 `json:"assessId,string" comment:"评估项ID"` |
| 16 | AssessContent []AssessContent `json:"assessContent" comment:"评估项提交数据"` | 16 | AssessContent []AssessContent `json:"assessContent" comment:"评估项提交数据"` |
| 17 | - AssessTaskStages []AssessTaskStage `json:"assessTaskStages" comment:"里程碑内容"` | 17 | + AssessTaskStages []AssessTaskStage `json:"assessTaskStages" comment:"任务里程碑内容"` |
| 18 | CreatedAt time.Time `json:"createdAt" comment:"创建时间"` | 18 | CreatedAt time.Time `json:"createdAt" comment:"创建时间"` |
| 19 | UpdatedAt time.Time `json:"updatedAt" comment:"更新时间"` | 19 | UpdatedAt time.Time `json:"updatedAt" comment:"更新时间"` |
| 20 | DeletedAt *time.Time `json:"deletedAt" comment:"删除时间"` | 20 | DeletedAt *time.Time `json:"deletedAt" comment:"删除时间"` |
| @@ -33,10 +33,8 @@ type RemarkText struct { | @@ -33,10 +33,8 @@ type RemarkText struct { | ||
| 33 | } | 33 | } |
| 34 | 34 | ||
| 35 | type AssessTaskStage struct { | 35 | type AssessTaskStage struct { |
| 36 | - Category string `json:"category"` | ||
| 37 | - Name string `json:"name"` | ||
| 38 | - TaskRecordId int `json:"taskRecordId" comment:"任务记录ID"` | ||
| 39 | - TaskStageId int `json:"taskStageId" comment:"里程碑ID"` | 36 | + TaskRecordId int `json:"taskRecordId,string" comment:"任务记录ID"` |
| 37 | + TaskStageId int `json:"taskStageId,string" comment:"里程碑ID"` | ||
| 40 | Check TaskStageCheck `json:"check" comment:"里程碑完成情况"` | 38 | Check TaskStageCheck `json:"check" comment:"里程碑完成情况"` |
| 41 | AssistLevel int `json:"assistLevel" comment:"上级辅导情况"` | 39 | AssistLevel int `json:"assistLevel" comment:"上级辅导情况"` |
| 42 | AssistContent string `json:"assistContent" comment:"上级辅导内容"` | 40 | AssistContent string `json:"assistContent" comment:"上级辅导内容"` |
| @@ -11,10 +11,11 @@ const ( | @@ -11,10 +11,11 @@ const ( | ||
| 11 | 11 | ||
| 12 | // TaskRecord 任务反馈情况记录 | 12 | // TaskRecord 任务反馈情况记录 |
| 13 | type TaskRecord struct { | 13 | 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 | + TaskCategory string `json:"taskCategory" comment:"任务类别"` | ||
| 18 | TaskName string `json:"taskName" comment:"任务名称"` | 19 | TaskName string `json:"taskName" comment:"任务名称"` |
| 19 | TaskAlias string `json:"taskAlias" comment:"任务别名"` | 20 | TaskAlias string `json:"taskAlias" comment:"任务别名"` |
| 20 | TaskLeader TaskLeader `json:"taskLeader" comment:"任务负责人"` | 21 | TaskLeader TaskLeader `json:"taskLeader" comment:"任务负责人"` |
| @@ -12,8 +12,8 @@ import "time" | @@ -12,8 +12,8 @@ import "time" | ||
| 12 | 12 | ||
| 13 | // 任务阶段 | 13 | // 任务阶段 |
| 14 | type TaskStage struct { | 14 | type TaskStage struct { |
| 15 | - Id int `json:"id"` | ||
| 16 | - TaskId int `json:"taskId"` | 15 | + Id int `json:"id,string"` |
| 16 | + TaskId int `json:"taskId,string"` | ||
| 17 | CreatedAt time.Time `json:"createdAt"` | 17 | CreatedAt time.Time `json:"createdAt"` |
| 18 | UpdatedAt time.Time `json:"updatedAt"` | 18 | UpdatedAt time.Time `json:"updatedAt"` |
| 19 | DeletedAt *time.Time `json:"deletedAt"` | 19 | DeletedAt *time.Time `json:"deletedAt"` |
| @@ -12,6 +12,7 @@ type TaskRecord struct { | @@ -12,6 +12,7 @@ type TaskRecord struct { | ||
| 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 | + TaskCategory string `comment:"任务类别"` | ||
| 15 | TaskName string `comment:"任务名称"` | 16 | TaskName string `comment:"任务名称"` |
| 16 | TaskAlias string `comment:"任务别名"` | 17 | TaskAlias string `comment:"任务别名"` |
| 17 | TaskLeader domain.TaskLeader `comment:"任务负责人"` | 18 | TaskLeader domain.TaskLeader `comment:"任务负责人"` |
| @@ -25,6 +25,7 @@ func (repo *TaskRecordRepository) TransformToDomain(m *models.TaskRecord) domain | @@ -25,6 +25,7 @@ func (repo *TaskRecordRepository) TransformToDomain(m *models.TaskRecord) domain | ||
| 25 | CompanyId: m.CompanyId, | 25 | CompanyId: m.CompanyId, |
| 26 | StaffAssessId: m.StaffAssessId, | 26 | StaffAssessId: m.StaffAssessId, |
| 27 | TaskId: m.TaskId, | 27 | TaskId: m.TaskId, |
| 28 | + TaskCategory: m.TaskCategory, | ||
| 28 | TaskName: m.TaskName, | 29 | TaskName: m.TaskName, |
| 29 | TaskAlias: m.TaskAlias, | 30 | TaskAlias: m.TaskAlias, |
| 30 | TaskLeader: m.TaskLeader, | 31 | TaskLeader: m.TaskLeader, |
| @@ -44,6 +45,7 @@ func (repo *TaskRecordRepository) TransformToModel(d *domain.TaskRecord) models. | @@ -44,6 +45,7 @@ func (repo *TaskRecordRepository) TransformToModel(d *domain.TaskRecord) models. | ||
| 44 | CompanyId: d.CompanyId, | 45 | CompanyId: d.CompanyId, |
| 45 | StaffAssessId: d.StaffAssessId, | 46 | StaffAssessId: d.StaffAssessId, |
| 46 | TaskId: d.TaskId, | 47 | TaskId: d.TaskId, |
| 48 | + TaskCategory: d.TaskCategory, | ||
| 47 | TaskName: d.TaskName, | 49 | TaskName: d.TaskName, |
| 48 | TaskAlias: d.TaskAlias, | 50 | TaskAlias: d.TaskAlias, |
| 49 | TaskLeader: d.TaskLeader, | 51 | TaskLeader: d.TaskLeader, |
| @@ -140,9 +142,9 @@ func (repo *TaskRecordRepository) Find(queryOptions map[string]interface{}) (int | @@ -140,9 +142,9 @@ func (repo *TaskRecordRepository) Find(queryOptions map[string]interface{}) (int | ||
| 140 | query.Where("company_id = ?", v) | 142 | query.Where("company_id = ?", v) |
| 141 | } | 143 | } |
| 142 | 144 | ||
| 143 | - //if v, ok := queryOptions["state"]; ok && v.(int) >= 0 { | ||
| 144 | - // query.Where("state = ?", v) | ||
| 145 | - //} | 145 | + if v, ok := queryOptions["staffAssessId"]; ok { |
| 146 | + query.Where("staff_assess_id = ?", v) | ||
| 147 | + } | ||
| 146 | 148 | ||
| 147 | if v, ok := queryOptions["limit"].(int64); ok { | 149 | if v, ok := queryOptions["limit"].(int64); ok { |
| 148 | query.Limit(int(v)) | 150 | query.Limit(int(v)) |
| @@ -114,6 +114,23 @@ func (c *StaffAssessController) SaveAssessInfo() { | @@ -114,6 +114,23 @@ func (c *StaffAssessController) SaveAssessInfo() { | ||
| 114 | c.Response(data, err) | 114 | c.Response(data, err) |
| 115 | } | 115 | } |
| 116 | 116 | ||
| 117 | +// SaveSelfAssess 提交自评反馈-当前登录用户 | ||
| 118 | +func (c *StaffAssessController) SaveSelfAssess() { | ||
| 119 | + srv := service.NewStaffAssessServeice() | ||
| 120 | + paramReq := &command.SaveSelfAssessCommand{} | ||
| 121 | + err := c.BindJSON(paramReq) | ||
| 122 | + if err != nil { | ||
| 123 | + e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error()) | ||
| 124 | + c.Response(nil, e) | ||
| 125 | + return | ||
| 126 | + } | ||
| 127 | + userReq := middlewares.GetUser(c.Ctx) | ||
| 128 | + paramReq.ExecutorId = int(userReq.UserId) | ||
| 129 | + paramReq.CompanyId = int(userReq.CompanyId) | ||
| 130 | + data, err := srv.SaveSelfAssess(paramReq) | ||
| 131 | + c.Response(data, err) | ||
| 132 | +} | ||
| 133 | + | ||
| 117 | // 获取周期列表 | 134 | // 获取周期列表 |
| 118 | func (c *StaffAssessController) ListAssessCycle() { | 135 | func (c *StaffAssessController) ListAssessCycle() { |
| 119 | srv := service.NewStaffAssessServeice() | 136 | srv := service.NewStaffAssessServeice() |
| @@ -100,7 +100,7 @@ func (c *StaffAssessControllerV2) GetAssessMeInviteUser() { | @@ -100,7 +100,7 @@ func (c *StaffAssessControllerV2) GetAssessMeInviteUser() { | ||
| 100 | c.Response(data, err) | 100 | c.Response(data, err) |
| 101 | } | 101 | } |
| 102 | 102 | ||
| 103 | -// 获取当前登录员工自评详情 | 103 | +// GetAssessSelfMeInfo 获取自评详情-目标是登录员工 |
| 104 | func (c *StaffAssessControllerV2) GetAssessSelfMeInfo() { | 104 | func (c *StaffAssessControllerV2) GetAssessSelfMeInfo() { |
| 105 | srv := service.NewStaffAssessServeice() | 105 | srv := service.NewStaffAssessServeice() |
| 106 | paramReq := &query.GetExecutorSelfAssessQuery{} | 106 | paramReq := &query.GetExecutorSelfAssessQuery{} |
| @@ -117,25 +117,24 @@ func (c *StaffAssessControllerV2) GetAssessSelfMeInfo() { | @@ -117,25 +117,24 @@ func (c *StaffAssessControllerV2) GetAssessSelfMeInfo() { | ||
| 117 | c.Response(data, err) | 117 | c.Response(data, err) |
| 118 | } | 118 | } |
| 119 | 119 | ||
| 120 | -// 被评估的员工的评估列表-360评估 | ||
| 121 | -func (c *StaffAssessControllerV2) ListTargetUserInviteAssess() { | 120 | +// GetAssessTargetUserSelfInfo 获取自评详情-目标是员工 |
| 121 | +func (c *StaffAssessControllerV2) GetAssessTargetUserSelfInfo() { | ||
| 122 | srv := service.NewStaffAssessServeice() | 122 | srv := service.NewStaffAssessServeice() |
| 123 | - paramReq := &query.ListTargetAssessQuery{} | 123 | + paramReq := &query.GetExecutorSelfAssessQuery{} |
| 124 | err := c.BindJSON(paramReq) | 124 | err := c.BindJSON(paramReq) |
| 125 | if err != nil { | 125 | if err != nil { |
| 126 | e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error()) | 126 | e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error()) |
| 127 | c.Response(nil, e) | 127 | c.Response(nil, e) |
| 128 | return | 128 | return |
| 129 | } | 129 | } |
| 130 | - | ||
| 131 | userReq := middlewares.GetUser(c.Ctx) | 130 | userReq := middlewares.GetUser(c.Ctx) |
| 132 | paramReq.CompanyId = int(userReq.CompanyId) | 131 | paramReq.CompanyId = int(userReq.CompanyId) |
| 133 | - data, err := srv.ListTargetUserInviteAssess(paramReq) | 132 | + data, err := srv.GetAssessSelfInfoV2(paramReq) |
| 134 | c.Response(data, err) | 133 | c.Response(data, err) |
| 135 | } | 134 | } |
| 136 | 135 | ||
| 137 | -// 被评估的员工的评估列表-当前登录用户-上级评估 | ||
| 138 | -func (c *StaffAssessControllerV2) ListTargetUserMeSupperAssess() { | 136 | +// 被评估的员工的评估列表-360评估 |
| 137 | +func (c *StaffAssessControllerV2) ListTargetUserInviteAssess() { | ||
| 139 | srv := service.NewStaffAssessServeice() | 138 | srv := service.NewStaffAssessServeice() |
| 140 | paramReq := &query.ListTargetAssessQuery{} | 139 | paramReq := &query.ListTargetAssessQuery{} |
| 141 | err := c.BindJSON(paramReq) | 140 | err := c.BindJSON(paramReq) |
| @@ -144,16 +143,15 @@ func (c *StaffAssessControllerV2) ListTargetUserMeSupperAssess() { | @@ -144,16 +143,15 @@ func (c *StaffAssessControllerV2) ListTargetUserMeSupperAssess() { | ||
| 144 | c.Response(nil, e) | 143 | c.Response(nil, e) |
| 145 | return | 144 | return |
| 146 | } | 145 | } |
| 147 | - paramReq.CompanyId = 1 | 146 | + |
| 148 | userReq := middlewares.GetUser(c.Ctx) | 147 | userReq := middlewares.GetUser(c.Ctx) |
| 149 | paramReq.CompanyId = int(userReq.CompanyId) | 148 | paramReq.CompanyId = int(userReq.CompanyId) |
| 150 | - paramReq.TargetUserId = int(userReq.UserId) | ||
| 151 | - data, err := srv.ListTargetUserSuperAssess(paramReq) | 149 | + data, err := srv.ListTargetUserInviteAssess(paramReq) |
| 152 | c.Response(data, err) | 150 | c.Response(data, err) |
| 153 | } | 151 | } |
| 154 | 152 | ||
| 155 | -// 被评估的员工的评估列表-上级评估 | ||
| 156 | -func (c *StaffAssessControllerV2) ListTargetUserSupperAssess() { | 153 | +// 被评估的员工的评估列表-当前登录用户-上级评估 |
| 154 | +func (c *StaffAssessControllerV2) ListTargetUserMeSupperAssess() { | ||
| 157 | srv := service.NewStaffAssessServeice() | 155 | srv := service.NewStaffAssessServeice() |
| 158 | paramReq := &query.ListTargetAssessQuery{} | 156 | paramReq := &query.ListTargetAssessQuery{} |
| 159 | err := c.BindJSON(paramReq) | 157 | err := c.BindJSON(paramReq) |
| @@ -165,23 +163,25 @@ func (c *StaffAssessControllerV2) ListTargetUserSupperAssess() { | @@ -165,23 +163,25 @@ func (c *StaffAssessControllerV2) ListTargetUserSupperAssess() { | ||
| 165 | paramReq.CompanyId = 1 | 163 | paramReq.CompanyId = 1 |
| 166 | userReq := middlewares.GetUser(c.Ctx) | 164 | userReq := middlewares.GetUser(c.Ctx) |
| 167 | paramReq.CompanyId = int(userReq.CompanyId) | 165 | paramReq.CompanyId = int(userReq.CompanyId) |
| 166 | + paramReq.TargetUserId = int(userReq.UserId) | ||
| 168 | data, err := srv.ListTargetUserSuperAssess(paramReq) | 167 | data, err := srv.ListTargetUserSuperAssess(paramReq) |
| 169 | c.Response(data, err) | 168 | c.Response(data, err) |
| 170 | } | 169 | } |
| 171 | 170 | ||
| 172 | -// 获取员工自评详情 | ||
| 173 | -func (c *StaffAssessControllerV2) GetAssessTargetUserSelfInfo() { | 171 | +// 被评估的员工的评估列表-上级评估 |
| 172 | +func (c *StaffAssessControllerV2) ListTargetUserSupperAssess() { | ||
| 174 | srv := service.NewStaffAssessServeice() | 173 | srv := service.NewStaffAssessServeice() |
| 175 | - paramReq := &query.GetExecutorSelfAssessQuery{} | 174 | + paramReq := &query.ListTargetAssessQuery{} |
| 176 | err := c.BindJSON(paramReq) | 175 | err := c.BindJSON(paramReq) |
| 177 | if err != nil { | 176 | if err != nil { |
| 178 | e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error()) | 177 | e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error()) |
| 179 | c.Response(nil, e) | 178 | c.Response(nil, e) |
| 180 | return | 179 | return |
| 181 | } | 180 | } |
| 181 | + paramReq.CompanyId = 1 | ||
| 182 | userReq := middlewares.GetUser(c.Ctx) | 182 | userReq := middlewares.GetUser(c.Ctx) |
| 183 | paramReq.CompanyId = int(userReq.CompanyId) | 183 | paramReq.CompanyId = int(userReq.CompanyId) |
| 184 | - data, err := srv.GetAssessSelfInfoV2(paramReq) | 184 | + data, err := srv.ListTargetUserSuperAssess(paramReq) |
| 185 | c.Response(data, err) | 185 | c.Response(data, err) |
| 186 | } | 186 | } |
| 187 | 187 |
| @@ -29,6 +29,7 @@ func init() { | @@ -29,6 +29,7 @@ func init() { | ||
| 29 | web.NSCtrlPost("/me/invite-user/select", (*controllers.StaffAssessController).SelectAssessInviteUser), //选择我邀请的员工 | 29 | web.NSCtrlPost("/me/invite-user/select", (*controllers.StaffAssessController).SelectAssessInviteUser), //选择我邀请的员工 |
| 30 | web.NSCtrlPost("/info", (*controllers.StaffAssessController).GetAssessInfo), //通用获取员工评估的详情 | 30 | web.NSCtrlPost("/info", (*controllers.StaffAssessController).GetAssessInfo), //通用获取员工评估的详情 |
| 31 | web.NSCtrlPut("/info", (*controllers.StaffAssessController).SaveAssessInfo), //通用保存员工评估的详情 | 31 | web.NSCtrlPut("/info", (*controllers.StaffAssessController).SaveAssessInfo), //通用保存员工评估的详情 |
| 32 | + web.NSCtrlPut("/info-self", (*controllers.StaffAssessController).SaveSelfAssess), //提交自评反馈-当前登录用户 | ||
| 32 | web.NSCtrlPut("/info-cache", (*controllers.StaffAssessController).SaveAssessCache), //通用保存员工评估的详情(缓存) | 33 | web.NSCtrlPut("/info-cache", (*controllers.StaffAssessController).SaveAssessCache), //通用保存员工评估的详情(缓存) |
| 33 | web.NSCtrlPost("/summary", (*controllers.StaffAssessController).QuerySummary), //员工绩效-项目管理-总览 | 34 | web.NSCtrlPost("/summary", (*controllers.StaffAssessController).QuerySummary), //员工绩效-项目管理-总览 |
| 34 | web.NSCtrlPost("/summary/users", (*controllers.StaffAssessController).QueryMemberSummary), //员工绩效-综合管理-成员列表 | 35 | web.NSCtrlPost("/summary/users", (*controllers.StaffAssessController).QueryMemberSummary), //员工绩效-综合管理-成员列表 |
| @@ -5,4 +5,8 @@ COMMENT ON COLUMN public.evaluation_item_used.indicator_type IS '指标类型'; | @@ -5,4 +5,8 @@ COMMENT ON COLUMN public.evaluation_item_used.indicator_type IS '指标类型'; | ||
| 5 | 5 | ||
| 6 | -- 增加项目表-任务负责人ID | 6 | -- 增加项目表-任务负责人ID |
| 7 | ALTER TABLE public.evaluation_project ADD principal_id text NULL; | 7 | ALTER TABLE public.evaluation_project ADD principal_id text NULL; |
| 8 | -COMMENT ON COLUMN public.evaluation_project.principal_id IS '任务负责人ID'; | ||
| 8 | +COMMENT ON COLUMN public.evaluation_project.principal_id IS '任务负责人ID'; | ||
| 9 | + | ||
| 10 | +-- 增加评估Cache数据缓存表-任务里程碑JSON | ||
| 11 | +ALTER TABLE public.staff_assess_cache ADD assess_task_stages jsonb NULL; | ||
| 12 | +COMMENT ON COLUMN public.staff_assess_cache.assess_task_stages IS '任务里程碑内容'; |
-
请 注册 或 登录 后发表评论