正在显示
4 个修改的文件
包含
72 行增加
和
35 行删除
| @@ -22,9 +22,12 @@ type AssessInfoResp struct { | @@ -22,9 +22,12 @@ type AssessInfoResp struct { | ||
| 22 | SupperUser string `json:"superUser"` //目标用户的上级 | 22 | SupperUser string `json:"superUser"` //目标用户的上级 |
| 23 | DutyTime string `json:"dutyTime"` //入职时间 | 23 | DutyTime string `json:"dutyTime"` //入职时间 |
| 24 | AssessContent []*domain.StaffAssessContent `json:"assessContent"` //评估内容 | 24 | AssessContent []*domain.StaffAssessContent `json:"assessContent"` //评估内容 |
| 25 | - //CategoryTaskRecords []*domain.TaskRecord `json:"categoryTaskRecords"` //类别任务反馈记录 | ||
| 26 | - //AssessTaskRecords []*domain.TaskRecord `json:"assessTaskRecords"` //评估任务反馈记录 | ||
| 27 | - TaskRecords []*domain.TaskRecord `json:"taskRecords"` //里程碑内容 | 25 | + TaskRecords []*TaskRecordAdapter `json:"taskRecords"` //里程碑内容 |
| 26 | +} | ||
| 27 | + | ||
| 28 | +type TaskRecordAdapter struct { | ||
| 29 | + *domain.TaskRecord | ||
| 30 | + EndTime int64 `json:"endTime"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间 | ||
| 28 | } | 31 | } |
| 29 | 32 | ||
| 30 | // 周期内的每日自评小结 | 33 | // 周期内的每日自评小结 |
| @@ -909,25 +909,42 @@ func (srv StaffAssessServeice) GetAssessInfo(param *query.AssessInfoQuery) (*ada | @@ -909,25 +909,42 @@ func (srv StaffAssessServeice) GetAssessInfo(param *query.AssessInfoQuery) (*ada | ||
| 909 | srv.recoverAssessCache(transactionContext, assessData.Id, assessContentList) | 909 | srv.recoverAssessCache(transactionContext, assessData.Id, assessContentList) |
| 910 | } | 910 | } |
| 911 | 911 | ||
| 912 | - taskRecords := make([]*domain.TaskRecord, 0) // 类别任务反馈记录 | ||
| 913 | - //categoryTaskRecords := make([]*domain.TaskRecord, 0) // 类别任务反馈记录 | ||
| 914 | - //assessTaskRecords := make([]*domain.TaskRecord, 0) // 评估项任务反馈记录 | 912 | + taskRecordAdapter := make([]*adapter.TaskRecordAdapter, 0) // 类别任务反馈记录 |
| 915 | // 如果评估类型为自评、目标是登录用户时,获取所有任务记录数据 | 913 | // 如果评估类型为自评、目标是登录用户时,获取所有任务记录数据 |
| 916 | if assessData.Types == domain.AssessSelf || param.UserId == assessData.TargetUser.UserId { | 914 | if assessData.Types == domain.AssessSelf || param.UserId == assessData.TargetUser.UserId { |
| 917 | taskRecordRepository := factory.CreateTaskRecordRepository(map[string]interface{}{"transactionContext": transactionContext}) | 915 | taskRecordRepository := factory.CreateTaskRecordRepository(map[string]interface{}{"transactionContext": transactionContext}) |
| 918 | - _, taskRecords, err = taskRecordRepository.Find(map[string]interface{}{"staffAssessId": assessData.Id}) | 916 | + _, taskRecords, err := taskRecordRepository.Find(map[string]interface{}{"staffAssessId": assessData.Id}) |
| 919 | if err != nil { | 917 | if err != nil { |
| 920 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取里程碑数据:"+err.Error()) | 918 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取里程碑数据:"+err.Error()) |
| 921 | } | 919 | } |
| 922 | - //// 区分任务来源分类 | ||
| 923 | - //for i := range taskRecords { | ||
| 924 | - // it := taskRecords[i] | ||
| 925 | - // if it.TaskCreatedBy == 0 { | ||
| 926 | - // categoryTaskRecords = append(categoryTaskRecords, it) | ||
| 927 | - // } else { | ||
| 928 | - // assessTaskRecords = append(assessTaskRecords, it) | ||
| 929 | - // } | ||
| 930 | - //} | 920 | + |
| 921 | + taskIdMap := map[int]int{} | ||
| 922 | + taskIdArray := make([]int, 0) | ||
| 923 | + for _, v := range taskRecords { | ||
| 924 | + taskIdMap[v.TaskId] = v.TaskId | ||
| 925 | + } | ||
| 926 | + for _, v := range taskIdMap { | ||
| 927 | + taskIdArray = append(taskIdArray, v) | ||
| 928 | + } | ||
| 929 | + taskMap := map[int]*domain.Task{} | ||
| 930 | + taskRepository := factory.CreateTaskRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 931 | + _, tasks, err := taskRepository.Find(map[string]interface{}{"ids": taskIdArray, "limit": len(taskIdArray)}) | ||
| 932 | + if err != nil { | ||
| 933 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取里程碑数据:"+err.Error()) | ||
| 934 | + } | ||
| 935 | + for i := range tasks { | ||
| 936 | + taskMap[tasks[i].Id] = tasks[i] | ||
| 937 | + } | ||
| 938 | + | ||
| 939 | + for i := range taskRecords { | ||
| 940 | + it := taskRecords[i] | ||
| 941 | + a := &adapter.TaskRecordAdapter{} | ||
| 942 | + a.TaskRecord = it | ||
| 943 | + if v, ok := taskMap[it.TaskId]; ok { | ||
| 944 | + a.EndTime = v.EndTime | ||
| 945 | + } | ||
| 946 | + taskRecordAdapter = append(taskRecordAdapter, a) | ||
| 947 | + } | ||
| 931 | } | 948 | } |
| 932 | 949 | ||
| 933 | if err := transactionContext.CommitTransaction(); err != nil { | 950 | if err := transactionContext.CommitTransaction(); err != nil { |
| @@ -952,9 +969,7 @@ func (srv StaffAssessServeice) GetAssessInfo(param *query.AssessInfoQuery) (*ada | @@ -952,9 +969,7 @@ func (srv StaffAssessServeice) GetAssessInfo(param *query.AssessInfoQuery) (*ada | ||
| 952 | SupperUser: "", | 969 | SupperUser: "", |
| 953 | DutyTime: "", | 970 | DutyTime: "", |
| 954 | AssessContent: assessContentList, | 971 | AssessContent: assessContentList, |
| 955 | - //CategoryTaskRecords: categoryTaskRecords, | ||
| 956 | - //AssessTaskRecords: assessTaskRecords, | ||
| 957 | - TaskRecords: taskRecords, | 972 | + TaskRecords: taskRecordAdapter, |
| 958 | } | 973 | } |
| 959 | if len(assessContentList) == 0 { | 974 | if len(assessContentList) == 0 { |
| 960 | result.AssessContent = []*domain.StaffAssessContent{} | 975 | result.AssessContent = []*domain.StaffAssessContent{} |
| @@ -763,13 +763,11 @@ func (srv StaffAssessServeice) GetAssessSelfInfoV2(param *query.GetExecutorSelfA | @@ -763,13 +763,11 @@ func (srv StaffAssessServeice) GetAssessSelfInfoV2(param *query.GetExecutorSelfA | ||
| 763 | cache = srv.recoverAssessCache(transactionContext, assessData.Id, assessContentList) | 763 | cache = srv.recoverAssessCache(transactionContext, assessData.Id, assessContentList) |
| 764 | } | 764 | } |
| 765 | 765 | ||
| 766 | - taskRecords := make([]*domain.TaskRecord, 0) // 类别任务反馈记录 | ||
| 767 | - //categoryTaskRecords := make([]*domain.TaskRecord, 0) // 类别任务反馈记录 | ||
| 768 | - //assessTaskRecords := make([]*domain.TaskRecord, 0) // 评估项任务反馈记录 | 766 | + taskRecordAdapter := make([]*adapter.TaskRecordAdapter, 0) // 类别任务反馈记录 |
| 769 | // 如果评估类型为自评、目标是登录用户时,获取所有任务记录数据 | 767 | // 如果评估类型为自评、目标是登录用户时,获取所有任务记录数据 |
| 770 | if param.UserId == param.TargetUserId { | 768 | if param.UserId == param.TargetUserId { |
| 771 | taskRecordRepository := factory.CreateTaskRecordRepository(map[string]interface{}{"transactionContext": transactionContext}) | 769 | taskRecordRepository := factory.CreateTaskRecordRepository(map[string]interface{}{"transactionContext": transactionContext}) |
| 772 | - _, taskRecords, err = taskRecordRepository.Find(map[string]interface{}{"staffAssessId": assessData.Id}) | 770 | + _, taskRecords, err := taskRecordRepository.Find(map[string]interface{}{"staffAssessId": assessData.Id}) |
| 773 | if err != nil { | 771 | if err != nil { |
| 774 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取里程碑数据:"+err.Error()) | 772 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取里程碑数据:"+err.Error()) |
| 775 | } | 773 | } |
| @@ -777,15 +775,35 @@ func (srv StaffAssessServeice) GetAssessSelfInfoV2(param *query.GetExecutorSelfA | @@ -777,15 +775,35 @@ func (srv StaffAssessServeice) GetAssessSelfInfoV2(param *query.GetExecutorSelfA | ||
| 777 | if param.AcquireCache != 0 { | 775 | if param.AcquireCache != 0 { |
| 778 | srv.recoverCacheWithTaskRecord(cache, taskRecords) | 776 | srv.recoverCacheWithTaskRecord(cache, taskRecords) |
| 779 | } | 777 | } |
| 780 | - //// 区分任务来源分类 | ||
| 781 | - //for i := range taskRecords { | ||
| 782 | - // it := taskRecords[i] | ||
| 783 | - // if it.TaskCreatedBy == 0 { | ||
| 784 | - // categoryTaskRecords = append(categoryTaskRecords, it) | ||
| 785 | - // } else { | ||
| 786 | - // assessTaskRecords = append(assessTaskRecords, it) | ||
| 787 | - // } | ||
| 788 | - //} | 778 | + |
| 779 | + taskIdMap := map[int]int{} | ||
| 780 | + taskIdArray := make([]int, 0) | ||
| 781 | + for _, v := range taskRecords { | ||
| 782 | + taskIdMap[v.TaskId] = v.TaskId | ||
| 783 | + } | ||
| 784 | + for _, v := range taskIdMap { | ||
| 785 | + taskIdArray = append(taskIdArray, v) | ||
| 786 | + } | ||
| 787 | + | ||
| 788 | + taskMap := map[int]*domain.Task{} | ||
| 789 | + taskRepository := factory.CreateTaskRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 790 | + _, tasks, err := taskRepository.Find(map[string]interface{}{"ids": taskIdArray, "limit": len(taskIdArray)}) | ||
| 791 | + if err != nil { | ||
| 792 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取里程碑数据:"+err.Error()) | ||
| 793 | + } | ||
| 794 | + for i := range tasks { | ||
| 795 | + taskMap[tasks[i].Id] = tasks[i] | ||
| 796 | + } | ||
| 797 | + | ||
| 798 | + for i := range taskRecords { | ||
| 799 | + it := taskRecords[i] | ||
| 800 | + a := &adapter.TaskRecordAdapter{} | ||
| 801 | + a.TaskRecord = it | ||
| 802 | + if v, ok := taskMap[it.TaskId]; ok { | ||
| 803 | + a.EndTime = v.EndTime | ||
| 804 | + } | ||
| 805 | + taskRecordAdapter = append(taskRecordAdapter, a) | ||
| 806 | + } | ||
| 789 | } | 807 | } |
| 790 | 808 | ||
| 791 | if err := transactionContext.CommitTransaction(); err != nil { | 809 | if err := transactionContext.CommitTransaction(); err != nil { |
| @@ -810,9 +828,7 @@ func (srv StaffAssessServeice) GetAssessSelfInfoV2(param *query.GetExecutorSelfA | @@ -810,9 +828,7 @@ func (srv StaffAssessServeice) GetAssessSelfInfoV2(param *query.GetExecutorSelfA | ||
| 810 | SupperUser: "", | 828 | SupperUser: "", |
| 811 | DutyTime: "", | 829 | DutyTime: "", |
| 812 | AssessContent: assessContentList, | 830 | AssessContent: assessContentList, |
| 813 | - //CategoryTaskRecords: categoryTaskRecords, | ||
| 814 | - //AssessTaskRecords: assessTaskRecords, | ||
| 815 | - TaskRecords: taskRecords, | 831 | + TaskRecords: taskRecordAdapter, |
| 816 | } | 832 | } |
| 817 | if staffDesc != nil { | 833 | if staffDesc != nil { |
| 818 | result.CompanyName = staffDesc.CompanyName | 834 | result.CompanyName = staffDesc.CompanyName |
| @@ -145,6 +145,9 @@ func (repo *TaskRepository) Find(queryOptions map[string]interface{}) (int, []*d | @@ -145,6 +145,9 @@ func (repo *TaskRepository) Find(queryOptions map[string]interface{}) (int, []*d | ||
| 145 | if val, ok := queryOptions["id"]; ok { | 145 | if val, ok := queryOptions["id"]; ok { |
| 146 | query.Where("task.id=?", val) | 146 | query.Where("task.id=?", val) |
| 147 | } | 147 | } |
| 148 | + if val, ok := queryOptions["ids"]; ok { | ||
| 149 | + query.Where("task.id in(?)", pg.In(val)) | ||
| 150 | + } | ||
| 148 | if val, ok := queryOptions["leaderId"]; ok { | 151 | if val, ok := queryOptions["leaderId"]; ok { |
| 149 | query.Where("task.leader->>'id'=?", val) | 152 | query.Where("task.leader->>'id'=?", val) |
| 150 | } | 153 | } |
-
请 注册 或 登录 后发表评论