正在显示
5 个修改的文件
包含
184 行增加
和
18 行删除
| @@ -23,10 +23,10 @@ type UserData struct { | @@ -23,10 +23,10 @@ type UserData struct { | ||
| 23 | 23 | ||
| 24 | type TaskStage struct { | 24 | type TaskStage struct { |
| 25 | Id int `json:"id,string"` | 25 | Id int `json:"id,string"` |
| 26 | - Name string `json:"name"` //里程碑名称 | ||
| 27 | - StatusDescription string `json:"statusDescription"` //里程碑的完成情况 | ||
| 28 | - Status int `json:"status"` //里程碑状态 | 26 | + Name string `json:"name"` //里程碑名称 |
| 27 | + StatusDescription string `json:"statusDescription,omitempty"` //里程碑的完成情况 | ||
| 28 | + Status int `json:"status"` //里程碑状态 | ||
| 29 | SortBy int `json:"sortBy"` | 29 | SortBy int `json:"sortBy"` |
| 30 | - PlanCompletedAt string `json:"planCompletedAt"` //计划完成时间, 例:2006-01-02 | ||
| 31 | - RealCompletedAt string `json:"realCompletedAt"` //实际完成时间, 例:2006-01-02 | 30 | + PlanCompletedAt string `json:"planCompletedAt,omitempty"` //计划完成时间, 例:2006-01-02 |
| 31 | + RealCompletedAt string `json:"realCompletedAt,omitempty"` //实际完成时间, 例:2006-01-02 | ||
| 32 | } | 32 | } |
| @@ -605,6 +605,10 @@ func (t TaskService) ListTask2(param command.SearchTaskCommand) (map[string]inte | @@ -605,6 +605,10 @@ func (t TaskService) ListTask2(param command.SearchTaskCommand) (map[string]inte | ||
| 605 | if err != nil { | 605 | if err != nil { |
| 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 { | ||
| 609 | + listData, err := t.ListTask2ForHrbp(param) | ||
| 610 | + return listData, err | ||
| 611 | + } | ||
| 608 | var limit = 20 | 612 | var limit = 20 |
| 609 | var offset = 0 | 613 | var offset = 0 |
| 610 | if param.PageSize > 0 { | 614 | if param.PageSize > 0 { |
| @@ -623,22 +627,166 @@ func (t TaskService) ListTask2(param command.SearchTaskCommand) (map[string]inte | @@ -623,22 +627,166 @@ func (t TaskService) ListTask2(param command.SearchTaskCommand) (map[string]inte | ||
| 623 | LeaderId: param.LeaderId, | 627 | LeaderId: param.LeaderId, |
| 624 | } | 628 | } |
| 625 | 629 | ||
| 626 | - if hrbpFlag == domain.RoleTypeSystem { | ||
| 627 | - //已hrbp权限获取 | ||
| 628 | - // info.IsHrbp = true | ||
| 629 | - return nil, nil | ||
| 630 | - } | ||
| 631 | taskDato := dao.NewTaskDao(map[string]interface{}{ | 630 | taskDato := dao.NewTaskDao(map[string]interface{}{ |
| 632 | "transactionContext": transactionContext, | 631 | "transactionContext": transactionContext, |
| 633 | }) | 632 | }) |
| 634 | - taskDato.ListTaskStageNotHrbp(condition) | 633 | + tasklistData, err := taskDato.ListTaskStageNotHrbp(condition) |
| 634 | + if err != nil { | ||
| 635 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取任务列表"+err.Error()) | ||
| 636 | + } | ||
| 637 | + taskCount, err := taskDato.CountTaskStageNotHrbp(condition) | ||
| 638 | + if err != nil { | ||
| 639 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "统计任务总数"+err.Error()) | ||
| 640 | + } | ||
| 635 | if err := transactionContext.CommitTransaction(); err != nil { | 641 | if err := transactionContext.CommitTransaction(); err != nil { |
| 636 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 642 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 637 | } | 643 | } |
| 638 | - return nil, nil | 644 | + taskResult := []*adapter.TaskItem{} |
| 645 | + taskMapResult := map[int]*adapter.TaskItem{} | ||
| 646 | + for _, val := range tasklistData { | ||
| 647 | + if _, ok := taskMapResult[val.TaskId]; ok { | ||
| 648 | + continue | ||
| 649 | + } | ||
| 650 | + tk := adapter.TaskItem{ | ||
| 651 | + Id: val.TaskId, | ||
| 652 | + Name: val.TaskName, | ||
| 653 | + Alias: val.TaskAliasName, | ||
| 654 | + Leader: val.LeaderName, | ||
| 655 | + Status: val.TaskStatus, | ||
| 656 | + Level: val.Level, | ||
| 657 | + LevelName: val.LevelName, | ||
| 658 | + // StageA: adapter.TaskStage{}, | ||
| 659 | + // StageB: adapter.TaskStage{}, | ||
| 660 | + // StageC: adapter.TaskStage{}, | ||
| 661 | + // StageD: adapter.TaskStage{}, | ||
| 662 | + // StageE: adapter.TaskStage{}, | ||
| 663 | + } | ||
| 664 | + taskMapResult[val.TaskId] = &tk | ||
| 665 | + taskResult = append(taskResult, &tk) | ||
| 666 | + } | ||
| 667 | + for _, val := range tasklistData { | ||
| 668 | + taskData, ok := taskMapResult[val.TaskId] | ||
| 669 | + if !ok { | ||
| 670 | + continue | ||
| 671 | + } | ||
| 672 | + stage := adapter.TaskStage{ | ||
| 673 | + Id: val.StageId, | ||
| 674 | + Name: val.StageName, | ||
| 675 | + Status: val.StageStatus, | ||
| 676 | + SortBy: val.StageSortBy, | ||
| 677 | + } | ||
| 678 | + switch val.StageSortBy { | ||
| 679 | + case 1: | ||
| 680 | + taskData.StageA = stage | ||
| 681 | + case 2: | ||
| 682 | + taskData.StageB = stage | ||
| 683 | + case 3: | ||
| 684 | + taskData.StageC = stage | ||
| 685 | + case 4: | ||
| 686 | + taskData.StageD = stage | ||
| 687 | + case 5: | ||
| 688 | + taskData.StageE = stage | ||
| 689 | + } | ||
| 690 | + } | ||
| 691 | + result := tool_funs.SimpleWrapGridMap(int64(taskCount), taskResult) | ||
| 692 | + return result, nil | ||
| 639 | } | 693 | } |
| 640 | 694 | ||
| 641 | // 以hrbp角色权限获取任务列表 | 695 | // 以hrbp角色权限获取任务列表 |
| 642 | func (t TaskService) ListTask2ForHrbp(param command.SearchTaskCommand) (map[string]interface{}, error) { | 696 | func (t TaskService) ListTask2ForHrbp(param command.SearchTaskCommand) (map[string]interface{}, error) { |
| 643 | - return nil, nil | 697 | + var limit = 20 |
| 698 | + var offset = 0 | ||
| 699 | + if param.PageSize > 0 { | ||
| 700 | + limit = param.PageSize | ||
| 701 | + if param.PageNumber > 0 { | ||
| 702 | + offset = (param.PageNumber - 1) * param.PageSize | ||
| 703 | + } | ||
| 704 | + } | ||
| 705 | + condition := dao.ListTaskCondition{ | ||
| 706 | + Limit: limit, | ||
| 707 | + Offset: offset, | ||
| 708 | + UserId: param.UserId, | ||
| 709 | + TaskName: param.TaskName, | ||
| 710 | + LevelName: param.LevelName, | ||
| 711 | + OnlyMy: param.OnlyMy, | ||
| 712 | + LeaderId: param.LeaderId, | ||
| 713 | + } | ||
| 714 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 715 | + if err != nil { | ||
| 716 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 717 | + } | ||
| 718 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 719 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 720 | + } | ||
| 721 | + defer func() { | ||
| 722 | + _ = transactionContext.RollbackTransaction() | ||
| 723 | + }() | ||
| 724 | + taskDato := dao.NewTaskDao(map[string]interface{}{ | ||
| 725 | + "transactionContext": transactionContext, | ||
| 726 | + }) | ||
| 727 | + tasklistData, err := taskDato.ListTaskStageByHrbp(condition) | ||
| 728 | + if err != nil { | ||
| 729 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取任务列表"+err.Error()) | ||
| 730 | + } | ||
| 731 | + taskCount, err := taskDato.CountTaskStageByHrbp(condition) | ||
| 732 | + if err != nil { | ||
| 733 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "统计任务总数"+err.Error()) | ||
| 734 | + } | ||
| 735 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 736 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 737 | + } | ||
| 738 | + taskResult := []*adapter.TaskItem{} | ||
| 739 | + taskMapResult := map[int]*adapter.TaskItem{} | ||
| 740 | + for _, val := range tasklistData { | ||
| 741 | + if _, ok := taskMapResult[val.TaskId]; ok { | ||
| 742 | + continue | ||
| 743 | + } | ||
| 744 | + tk := adapter.TaskItem{ | ||
| 745 | + Id: val.TaskId, | ||
| 746 | + Name: val.TaskName, | ||
| 747 | + Alias: val.TaskAliasName, | ||
| 748 | + Leader: val.LeaderName, | ||
| 749 | + Status: val.TaskStatus, | ||
| 750 | + Level: val.Level, | ||
| 751 | + LevelName: val.LevelName, | ||
| 752 | + // StageA: adapter.TaskStage{}, | ||
| 753 | + // StageB: adapter.TaskStage{}, | ||
| 754 | + // StageC: adapter.TaskStage{}, | ||
| 755 | + // StageD: adapter.TaskStage{}, | ||
| 756 | + // StageE: adapter.TaskStage{}, | ||
| 757 | + } | ||
| 758 | + taskMapResult[val.TaskId] = &tk | ||
| 759 | + taskResult = append(taskResult, &tk) | ||
| 760 | + } | ||
| 761 | + for _, val := range tasklistData { | ||
| 762 | + taskData, ok := taskMapResult[val.TaskId] | ||
| 763 | + if !ok { | ||
| 764 | + continue | ||
| 765 | + } | ||
| 766 | + stage := adapter.TaskStage{ | ||
| 767 | + Id: val.StageId, | ||
| 768 | + Name: val.StageName, | ||
| 769 | + Status: val.StageStatus, | ||
| 770 | + SortBy: val.StageSortBy, | ||
| 771 | + } | ||
| 772 | + switch val.StageSortBy { | ||
| 773 | + case 1: | ||
| 774 | + taskData.StageA = stage | ||
| 775 | + case 2: | ||
| 776 | + taskData.StageB = stage | ||
| 777 | + case 3: | ||
| 778 | + taskData.StageC = stage | ||
| 779 | + case 4: | ||
| 780 | + taskData.StageD = stage | ||
| 781 | + case 5: | ||
| 782 | + taskData.StageE = stage | ||
| 783 | + } | ||
| 784 | + } | ||
| 785 | + result := tool_funs.SimpleWrapGridMap(int64(taskCount), taskResult) | ||
| 786 | + return result, nil | ||
| 787 | +} | ||
| 788 | + | ||
| 789 | +// 更新任务里程碑的状态 | ||
| 790 | +func (t TaskService) UpdateTaskStageStatus(param command.UpdateTaskStageStatusCommand) { | ||
| 791 | + | ||
| 644 | } | 792 | } |
| @@ -6,8 +6,7 @@ type TaskStageState int | @@ -6,8 +6,7 @@ type TaskStageState int | ||
| 6 | 6 | ||
| 7 | const ( | 7 | const ( |
| 8 | TaskStageUncompleted TaskStageState = 1 //里程碑未完成 | 8 | TaskStageUncompleted TaskStageState = 1 //里程碑未完成 |
| 9 | - // TaskStageCompletedOverdue TaskStageState = 2 //里程碑逾期完成 | ||
| 10 | - TaskStageCompleted TaskStageState = 2 //里程碑完成 | 9 | + TaskStageCompleted TaskStageState = 2 //里程碑完成 |
| 11 | 10 | ||
| 12 | ) | 11 | ) |
| 13 | 12 |
| @@ -71,8 +71,10 @@ type ListTaskCondition struct { | @@ -71,8 +71,10 @@ type ListTaskCondition struct { | ||
| 71 | 71 | ||
| 72 | // 任务和里程碑列表 | 72 | // 任务和里程碑列表 |
| 73 | type ListTaskStage struct { | 73 | type ListTaskStage struct { |
| 74 | - TaskId string `pg:"task_id"` | 74 | + TaskId int `pg:"task_id"` |
| 75 | TaskName string `pg:"task_name"` | 75 | TaskName string `pg:"task_name"` |
| 76 | + TaskStatus int `pg:"task_status"` | ||
| 77 | + TaskAliasName string `pg:"task_alias_name"` | ||
| 76 | LeaderName string `pg:"leader_name"` | 78 | LeaderName string `pg:"leader_name"` |
| 77 | LeaderId string `pg:"leader_id"` | 79 | LeaderId string `pg:"leader_id"` |
| 78 | LevelName string `pg:"level_name"` | 80 | LevelName string `pg:"level_name"` |
| @@ -80,6 +82,7 @@ type ListTaskStage struct { | @@ -80,6 +82,7 @@ type ListTaskStage struct { | ||
| 80 | Anomaly int `pg:"anomaly"` | 82 | Anomaly int `pg:"anomaly"` |
| 81 | UpdatedAt time.Time `pg:"updated_at"` | 83 | UpdatedAt time.Time `pg:"updated_at"` |
| 82 | CreatedAt time.Time `pg:"created_at"` | 84 | CreatedAt time.Time `pg:"created_at"` |
| 85 | + StageId int `pg:"stage_id"` | ||
| 83 | StageName string `pg:"stage_name"` | 86 | StageName string `pg:"stage_name"` |
| 84 | StageSortBy int `pg:"stage_sort_by"` | 87 | StageSortBy int `pg:"stage_sort_by"` |
| 85 | StageStatus int `pg:"stage_status"` | 88 | StageStatus int `pg:"stage_status"` |
| @@ -98,6 +101,7 @@ func (d *TaskDao) ListTaskStageNotHrbp(param ListTaskCondition) ([]ListTaskStage | @@ -98,6 +101,7 @@ func (d *TaskDao) ListTaskStageNotHrbp(param ListTaskCondition) ([]ListTaskStage | ||
| 98 | select | 101 | select |
| 99 | task.id as task_id, | 102 | task.id as task_id, |
| 100 | task."name" as task_name, | 103 | task."name" as task_name, |
| 104 | + task."alias" as task_alias_name, | ||
| 101 | task.leader ->>'name' as leader_name, | 105 | task.leader ->>'name' as leader_name, |
| 102 | task.leader ->>'id' as leader_id, | 106 | task.leader ->>'id' as leader_id, |
| 103 | task.level_name , | 107 | task.level_name , |
| @@ -105,6 +109,8 @@ func (d *TaskDao) ListTaskStageNotHrbp(param ListTaskCondition) ([]ListTaskStage | @@ -105,6 +109,8 @@ func (d *TaskDao) ListTaskStageNotHrbp(param ListTaskCondition) ([]ListTaskStage | ||
| 105 | task.updated_at , | 109 | task.updated_at , |
| 106 | task.created_at , | 110 | task.created_at , |
| 107 | task."level" , | 111 | task."level" , |
| 112 | + task."status" as task_status, | ||
| 113 | + task_stage."id" as stage_id, | ||
| 108 | task_stage."name" as stage_name, | 114 | task_stage."name" as stage_name, |
| 109 | task_stage.sort_by as stage_sort_by, | 115 | task_stage.sort_by as stage_sort_by, |
| 110 | task_stage.status as stage_status, | 116 | task_stage.status as stage_status, |
| @@ -131,6 +137,8 @@ func (d *TaskDao) ListTaskStageNotHrbp(param ListTaskCondition) ([]ListTaskStage | @@ -131,6 +137,8 @@ func (d *TaskDao) ListTaskStageNotHrbp(param ListTaskCondition) ([]ListTaskStage | ||
| 131 | select | 137 | select |
| 132 | t_task_tage_1.task_id, | 138 | t_task_tage_1.task_id, |
| 133 | t_task_tage_1.task_name, | 139 | t_task_tage_1.task_name, |
| 140 | + t_task_tage_1.task_alias_name, | ||
| 141 | + t_task_tage_1.task_status, | ||
| 134 | t_task_tage_1.leader_name, | 142 | t_task_tage_1.leader_name, |
| 135 | t_task_tage_1.level_name , | 143 | t_task_tage_1.level_name , |
| 136 | t_task_tage_1.anomaly , | 144 | t_task_tage_1.anomaly , |
| @@ -139,8 +147,9 @@ func (d *TaskDao) ListTaskStageNotHrbp(param ListTaskCondition) ([]ListTaskStage | @@ -139,8 +147,9 @@ func (d *TaskDao) ListTaskStageNotHrbp(param ListTaskCondition) ([]ListTaskStage | ||
| 139 | t_task_tage_1."level" , | 147 | t_task_tage_1."level" , |
| 140 | t_task_tage_1.plan_completed_at, | 148 | t_task_tage_1.plan_completed_at, |
| 141 | t_task_tage_1.stage_name, | 149 | t_task_tage_1.stage_name, |
| 150 | + t_task_tage_1.stage_id, | ||
| 142 | t_task_tage_1.stage_sort_by, | 151 | t_task_tage_1.stage_sort_by, |
| 143 | - t_task_tage_1.stage_status, | 152 | + t_task_tage_1.stage_status |
| 144 | from t_task_tage_1 | 153 | from t_task_tage_1 |
| 145 | where t_task_tage_1.task_id in( | 154 | where t_task_tage_1.task_id in( |
| 146 | select t_task_page.task_id from t_task_page | 155 | select t_task_page.task_id from t_task_page |
| @@ -214,6 +223,8 @@ func (d *TaskDao) ListTaskStageByHrbp(param ListTaskCondition) ([]ListTaskStage, | @@ -214,6 +223,8 @@ func (d *TaskDao) ListTaskStageByHrbp(param ListTaskCondition) ([]ListTaskStage, | ||
| 214 | select | 223 | select |
| 215 | task.id as task_id, | 224 | task.id as task_id, |
| 216 | task."name" as task_name, | 225 | task."name" as task_name, |
| 226 | + task."alias" as task_alias_name, | ||
| 227 | + task."status" as task_status, | ||
| 217 | task.leader ->>'name' as leader_name, | 228 | task.leader ->>'name' as leader_name, |
| 218 | task.leader ->>'id' as leader_id, | 229 | task.leader ->>'id' as leader_id, |
| 219 | task.level_name , | 230 | task.level_name , |
| @@ -221,6 +232,7 @@ func (d *TaskDao) ListTaskStageByHrbp(param ListTaskCondition) ([]ListTaskStage, | @@ -221,6 +232,7 @@ func (d *TaskDao) ListTaskStageByHrbp(param ListTaskCondition) ([]ListTaskStage, | ||
| 221 | task.updated_at , | 232 | task.updated_at , |
| 222 | task.created_at , | 233 | task.created_at , |
| 223 | task."level" , | 234 | task."level" , |
| 235 | + task_stage."id" as stage_id, | ||
| 224 | task_stage."name" as stage_name, | 236 | task_stage."name" as stage_name, |
| 225 | task_stage.sort_by as stage_sort_by, | 237 | task_stage.sort_by as stage_sort_by, |
| 226 | task_stage.status as stage_status, | 238 | task_stage.status as stage_status, |
| @@ -247,6 +259,8 @@ func (d *TaskDao) ListTaskStageByHrbp(param ListTaskCondition) ([]ListTaskStage, | @@ -247,6 +259,8 @@ func (d *TaskDao) ListTaskStageByHrbp(param ListTaskCondition) ([]ListTaskStage, | ||
| 247 | select | 259 | select |
| 248 | t_task_tage_1.task_id, | 260 | t_task_tage_1.task_id, |
| 249 | t_task_tage_1.task_name, | 261 | t_task_tage_1.task_name, |
| 262 | + t_task_tage_1.task_alias_name, | ||
| 263 | + t_task_tage_1.task_status, | ||
| 250 | t_task_tage_1.leader_name, | 264 | t_task_tage_1.leader_name, |
| 251 | t_task_tage_1.level_name , | 265 | t_task_tage_1.level_name , |
| 252 | t_task_tage_1.anomaly , | 266 | t_task_tage_1.anomaly , |
| @@ -255,8 +269,9 @@ func (d *TaskDao) ListTaskStageByHrbp(param ListTaskCondition) ([]ListTaskStage, | @@ -255,8 +269,9 @@ func (d *TaskDao) ListTaskStageByHrbp(param ListTaskCondition) ([]ListTaskStage, | ||
| 255 | t_task_tage_1."level" , | 269 | t_task_tage_1."level" , |
| 256 | t_task_tage_1.plan_completed_at, | 270 | t_task_tage_1.plan_completed_at, |
| 257 | t_task_tage_1.stage_name, | 271 | t_task_tage_1.stage_name, |
| 272 | + t_task_tage_1.stage_id, | ||
| 258 | t_task_tage_1.stage_sort_by, | 273 | t_task_tage_1.stage_sort_by, |
| 259 | - t_task_tage_1.stage_status, | 274 | + t_task_tage_1.stage_status |
| 260 | from t_task_tage_1 | 275 | from t_task_tage_1 |
| 261 | where t_task_tage_1.task_id in( | 276 | where t_task_tage_1.task_id in( |
| 262 | select t_task_page.task_id from t_task_page | 277 | select t_task_page.task_id from t_task_page |
-
请 注册 或 登录 后发表评论