Merge branch 'dev-tangxvhui' into dev-zhengzhou
正在显示
9 个修改的文件
包含
249 行增加
和
23 行删除
| @@ -24,9 +24,9 @@ type UserData struct { | @@ -24,9 +24,9 @@ type UserData struct { | ||
| 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"` //里程碑名称 | 26 | Name string `json:"name"` //里程碑名称 |
| 27 | - StatusDescription string `json:"statusDescription"` //里程碑的完成情况 | 27 | + StatusDescription string `json:"statusDescription,omitempty"` //里程碑的完成情况 |
| 28 | Status int `json:"status"` //里程碑状态 | 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 | } |
| 1 | +package command |
| @@ -27,6 +27,12 @@ func dayEndTime(t time.Time) time.Time { | @@ -27,6 +27,12 @@ func dayEndTime(t time.Time) time.Time { | ||
| 27 | return t2 | 27 | return t2 |
| 28 | } | 28 | } |
| 29 | 29 | ||
| 30 | +func dayZeroTime(t time.Time) time.Time { | ||
| 31 | + y, m, d := t.Local().Date() | ||
| 32 | + t2 := time.Date(y, m, d, 0, 0, 0, 0, time.Local) | ||
| 33 | + return t2 | ||
| 34 | +} | ||
| 35 | + | ||
| 30 | func (srv TaskService) CreateTaskTest(param *command.CreateTaskCommand) error { | 36 | func (srv TaskService) CreateTaskTest(param *command.CreateTaskCommand) error { |
| 31 | transactionContext, err := factory.CreateTransactionContext(nil) | 37 | transactionContext, err := factory.CreateTransactionContext(nil) |
| 32 | if err != nil { | 38 | if err != nil { |
| @@ -108,7 +114,7 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | @@ -108,7 +114,7 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | ||
| 108 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, "创建任务失败:"+err.Error()) | 114 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, "创建任务失败:"+err.Error()) |
| 109 | } | 115 | } |
| 110 | 116 | ||
| 111 | - nowEndTime := dayEndTime(nowTime) | 117 | + nowEndTime := dayZeroTime(nowTime) |
| 112 | 118 | ||
| 113 | newTaskStage := []*domain.TaskStage{ | 119 | newTaskStage := []*domain.TaskStage{ |
| 114 | { | 120 | { |
| @@ -590,7 +596,7 @@ func (t TaskService) CancelAttention(param *command.CancelAttentionCommand) erro | @@ -590,7 +596,7 @@ func (t TaskService) CancelAttention(param *command.CancelAttentionCommand) erro | ||
| 590 | } | 596 | } |
| 591 | 597 | ||
| 592 | // 员工绩效-任务管理-列表 | 598 | // 员工绩效-任务管理-列表 |
| 593 | -func (t TaskService) ListTask2(param command.SearchTaskCommand) (map[string]interface{}, error) { | 599 | +func (t TaskService) ListTask2(param *command.SearchTaskCommand) (map[string]interface{}, error) { |
| 594 | transactionContext, err := factory.CreateTransactionContext(nil) | 600 | transactionContext, err := factory.CreateTransactionContext(nil) |
| 595 | if err != nil { | 601 | if err != nil { |
| 596 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 602 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
| @@ -605,6 +611,10 @@ func (t TaskService) ListTask2(param command.SearchTaskCommand) (map[string]inte | @@ -605,6 +611,10 @@ func (t TaskService) ListTask2(param command.SearchTaskCommand) (map[string]inte | ||
| 605 | if err != nil { | 611 | if err != nil { |
| 606 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取用户的角色信息"+err.Error()) | 612 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取用户的角色信息"+err.Error()) |
| 607 | } | 613 | } |
| 614 | + if hrbpFlag == domain.RoleTypeSystem { | ||
| 615 | + listData, err := t.listTask2ForHrbp(param) | ||
| 616 | + return listData, err | ||
| 617 | + } | ||
| 608 | var limit = 20 | 618 | var limit = 20 |
| 609 | var offset = 0 | 619 | var offset = 0 |
| 610 | if param.PageSize > 0 { | 620 | if param.PageSize > 0 { |
| @@ -623,22 +633,204 @@ func (t TaskService) ListTask2(param command.SearchTaskCommand) (map[string]inte | @@ -623,22 +633,204 @@ func (t TaskService) ListTask2(param command.SearchTaskCommand) (map[string]inte | ||
| 623 | LeaderId: param.LeaderId, | 633 | LeaderId: param.LeaderId, |
| 624 | } | 634 | } |
| 625 | 635 | ||
| 626 | - if hrbpFlag == domain.RoleTypeSystem { | ||
| 627 | - //已hrbp权限获取 | ||
| 628 | - // info.IsHrbp = true | ||
| 629 | - return nil, nil | ||
| 630 | - } | ||
| 631 | taskDato := dao.NewTaskDao(map[string]interface{}{ | 636 | taskDato := dao.NewTaskDao(map[string]interface{}{ |
| 632 | "transactionContext": transactionContext, | 637 | "transactionContext": transactionContext, |
| 633 | }) | 638 | }) |
| 634 | - taskDato.ListTaskStageNotHrbp(condition) | 639 | + tasklistData, err := taskDato.ListTaskStageNotHrbp(condition) |
| 640 | + if err != nil { | ||
| 641 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取任务列表"+err.Error()) | ||
| 642 | + } | ||
| 643 | + taskCount, err := taskDato.CountTaskStageNotHrbp(condition) | ||
| 644 | + if err != nil { | ||
| 645 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "统计任务总数"+err.Error()) | ||
| 646 | + } | ||
| 635 | if err := transactionContext.CommitTransaction(); err != nil { | 647 | if err := transactionContext.CommitTransaction(); err != nil { |
| 636 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 648 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 637 | } | 649 | } |
| 638 | - return nil, nil | 650 | + taskResult := []*adapter.TaskItem{} |
| 651 | + taskMapResult := map[int]*adapter.TaskItem{} | ||
| 652 | + for _, val := range tasklistData { | ||
| 653 | + if _, ok := taskMapResult[val.TaskId]; ok { | ||
| 654 | + continue | ||
| 655 | + } | ||
| 656 | + tk := adapter.TaskItem{ | ||
| 657 | + Id: val.TaskId, | ||
| 658 | + Name: val.TaskName, | ||
| 659 | + Alias: val.TaskAliasName, | ||
| 660 | + Leader: val.LeaderName, | ||
| 661 | + Status: val.TaskStatus, | ||
| 662 | + Level: val.Level, | ||
| 663 | + LevelName: val.LevelName, | ||
| 664 | + // StageA: adapter.TaskStage{}, | ||
| 665 | + // StageB: adapter.TaskStage{}, | ||
| 666 | + // StageC: adapter.TaskStage{}, | ||
| 667 | + // StageD: adapter.TaskStage{}, | ||
| 668 | + // StageE: adapter.TaskStage{}, | ||
| 669 | + } | ||
| 670 | + taskMapResult[val.TaskId] = &tk | ||
| 671 | + taskResult = append(taskResult, &tk) | ||
| 672 | + } | ||
| 673 | + for _, val := range tasklistData { | ||
| 674 | + taskData, ok := taskMapResult[val.TaskId] | ||
| 675 | + if !ok { | ||
| 676 | + continue | ||
| 677 | + } | ||
| 678 | + stage := adapter.TaskStage{ | ||
| 679 | + Id: val.StageId, | ||
| 680 | + Name: val.StageName, | ||
| 681 | + Status: val.StageStatus, | ||
| 682 | + SortBy: val.StageSortBy, | ||
| 683 | + } | ||
| 684 | + switch val.StageSortBy { | ||
| 685 | + case 1: | ||
| 686 | + taskData.StageA = stage | ||
| 687 | + case 2: | ||
| 688 | + taskData.StageB = stage | ||
| 689 | + case 3: | ||
| 690 | + taskData.StageC = stage | ||
| 691 | + case 4: | ||
| 692 | + taskData.StageD = stage | ||
| 693 | + case 5: | ||
| 694 | + taskData.StageE = stage | ||
| 695 | + } | ||
| 696 | + } | ||
| 697 | + result := tool_funs.SimpleWrapGridMap(int64(taskCount), taskResult) | ||
| 698 | + return result, nil | ||
| 639 | } | 699 | } |
| 640 | 700 | ||
| 641 | // 以hrbp角色权限获取任务列表 | 701 | // 以hrbp角色权限获取任务列表 |
| 642 | -func (t TaskService) ListTask2ForHrbp(param command.SearchTaskCommand) (map[string]interface{}, error) { | ||
| 643 | - return nil, nil | 702 | +func (t TaskService) listTask2ForHrbp(param *command.SearchTaskCommand) (map[string]interface{}, error) { |
| 703 | + var limit = 20 | ||
| 704 | + var offset = 0 | ||
| 705 | + if param.PageSize > 0 { | ||
| 706 | + limit = param.PageSize | ||
| 707 | + if param.PageNumber > 0 { | ||
| 708 | + offset = (param.PageNumber - 1) * param.PageSize | ||
| 709 | + } | ||
| 710 | + } | ||
| 711 | + condition := dao.ListTaskCondition{ | ||
| 712 | + Limit: limit, | ||
| 713 | + Offset: offset, | ||
| 714 | + UserId: param.UserId, | ||
| 715 | + TaskName: param.TaskName, | ||
| 716 | + LevelName: param.LevelName, | ||
| 717 | + OnlyMy: param.OnlyMy, | ||
| 718 | + LeaderId: param.LeaderId, | ||
| 719 | + } | ||
| 720 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 721 | + if err != nil { | ||
| 722 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 723 | + } | ||
| 724 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 725 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 726 | + } | ||
| 727 | + defer func() { | ||
| 728 | + _ = transactionContext.RollbackTransaction() | ||
| 729 | + }() | ||
| 730 | + taskDato := dao.NewTaskDao(map[string]interface{}{ | ||
| 731 | + "transactionContext": transactionContext, | ||
| 732 | + }) | ||
| 733 | + tasklistData, err := taskDato.ListTaskStageByHrbp(condition) | ||
| 734 | + if err != nil { | ||
| 735 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取任务列表"+err.Error()) | ||
| 736 | + } | ||
| 737 | + taskCount, err := taskDato.CountTaskStageByHrbp(condition) | ||
| 738 | + if err != nil { | ||
| 739 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "统计任务总数"+err.Error()) | ||
| 740 | + } | ||
| 741 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 742 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 743 | + } | ||
| 744 | + taskResult := []*adapter.TaskItem{} | ||
| 745 | + taskMapResult := map[int]*adapter.TaskItem{} | ||
| 746 | + for _, val := range tasklistData { | ||
| 747 | + if _, ok := taskMapResult[val.TaskId]; ok { | ||
| 748 | + continue | ||
| 749 | + } | ||
| 750 | + tk := adapter.TaskItem{ | ||
| 751 | + Id: val.TaskId, | ||
| 752 | + Name: val.TaskName, | ||
| 753 | + Alias: val.TaskAliasName, | ||
| 754 | + Leader: val.LeaderName, | ||
| 755 | + Status: val.TaskStatus, | ||
| 756 | + Level: val.Level, | ||
| 757 | + LevelName: val.LevelName, | ||
| 758 | + // StageA: adapter.TaskStage{}, | ||
| 759 | + // StageB: adapter.TaskStage{}, | ||
| 760 | + // StageC: adapter.TaskStage{}, | ||
| 761 | + // StageD: adapter.TaskStage{}, | ||
| 762 | + // StageE: adapter.TaskStage{}, | ||
| 763 | + } | ||
| 764 | + taskMapResult[val.TaskId] = &tk | ||
| 765 | + taskResult = append(taskResult, &tk) | ||
| 766 | + } | ||
| 767 | + for _, val := range tasklistData { | ||
| 768 | + taskData, ok := taskMapResult[val.TaskId] | ||
| 769 | + if !ok { | ||
| 770 | + continue | ||
| 771 | + } | ||
| 772 | + stage := adapter.TaskStage{ | ||
| 773 | + Id: val.StageId, | ||
| 774 | + Name: val.StageName, | ||
| 775 | + Status: val.StageStatus, | ||
| 776 | + SortBy: val.StageSortBy, | ||
| 777 | + } | ||
| 778 | + switch val.StageSortBy { | ||
| 779 | + case 1: | ||
| 780 | + taskData.StageA = stage | ||
| 781 | + case 2: | ||
| 782 | + taskData.StageB = stage | ||
| 783 | + case 3: | ||
| 784 | + taskData.StageC = stage | ||
| 785 | + case 4: | ||
| 786 | + taskData.StageD = stage | ||
| 787 | + case 5: | ||
| 788 | + taskData.StageE = stage | ||
| 789 | + } | ||
| 790 | + } | ||
| 791 | + result := tool_funs.SimpleWrapGridMap(int64(taskCount), taskResult) | ||
| 792 | + return result, nil | ||
| 793 | +} | ||
| 794 | + | ||
| 795 | +// ReplyTaskStage 根据每日的任务反馈 ,更新任务里程碑 | ||
| 796 | +func (t TaskService) ReplyTaskStage(transactionContext application.TransactionContext, param []*domain.TaskRecord) error { | ||
| 797 | + taskRepo := factory.CreateTaskRepository(map[string]interface{}{ | ||
| 798 | + "transactionContext": transactionContext, | ||
| 799 | + }) | ||
| 800 | + taskStageRepo := factory.CreateTaskStageRepository(map[string]interface{}{ | ||
| 801 | + "transactionContext": transactionContext, | ||
| 802 | + }) | ||
| 803 | + var taskList []*domain.Task | ||
| 804 | + var taskStages []*domain.TaskStage | ||
| 805 | + for _, val := range param { | ||
| 806 | + taskData, err := taskRepo.FindOne(map[string]interface{}{"id": val.TaskId}) | ||
| 807 | + if err != nil { | ||
| 808 | + return application.ThrowError(application.INTERNAL_SERVER_ERROR, "找不到任务数据"+err.Error()) | ||
| 809 | + } | ||
| 810 | + | ||
| 811 | + if !(len(val.AssistContent) == 0 || val.AssistContent == "无") { | ||
| 812 | + taskData.Anomaly = 0 | ||
| 813 | + } | ||
| 814 | + taskList = append(taskList, taskData) | ||
| 815 | + _, stageList, err := taskStageRepo.Find(map[string]interface{}{"ids": []int{val.TaskStageCheck.Id}}) | ||
| 816 | + if err != nil { | ||
| 817 | + return application.ThrowError(application.INTERNAL_SERVER_ERROR, "找不到任务里程碑数据"+err.Error()) | ||
| 818 | + } | ||
| 819 | + if len(stageList) > 0 { | ||
| 820 | + stageList[0].Status = val.TaskStageCheck.Status | ||
| 821 | + stageList[0].RealCompletedAt = val.TaskStageCheck.RealCompletedAt | ||
| 822 | + taskStages = append(taskStages, stageList[0]) | ||
| 823 | + } | ||
| 824 | + } | ||
| 825 | + err := taskStageRepo.Save(taskStages) | ||
| 826 | + if err != nil { | ||
| 827 | + return application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存任务里程碑数据"+err.Error()) | ||
| 828 | + } | ||
| 829 | + for _, val := range taskList { | ||
| 830 | + err = taskRepo.Save(val) | ||
| 831 | + if err != nil { | ||
| 832 | + return application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存任务数据"+err.Error()) | ||
| 833 | + } | ||
| 834 | + } | ||
| 835 | + return nil | ||
| 644 | } | 836 | } |
| @@ -26,7 +26,7 @@ type Task struct { | @@ -26,7 +26,7 @@ type Task struct { | ||
| 26 | RelatedUser []int `json:"relatedUser"` // 相关的员工id | 26 | RelatedUser []int `json:"relatedUser"` // 相关的员工id |
| 27 | RunAt int64 `json:"runAt"` // 启动的时间戳,秒 | 27 | RunAt int64 `json:"runAt"` // 启动的时间戳,秒 |
| 28 | StopAt int64 `json:"stopAt"` // 停止的时间戳,秒 | 28 | StopAt int64 `json:"stopAt"` // 停止的时间戳,秒 |
| 29 | - Anomaly int `json:"anomaly"` //异常反馈的次数 | 29 | + Anomaly int `json:"anomaly"` // 异常反馈的次数 |
| 30 | } | 30 | } |
| 31 | 31 | ||
| 32 | type TaskLeader struct { | 32 | type TaskLeader struct { |
| @@ -6,7 +6,6 @@ type TaskStageState int | @@ -6,7 +6,6 @@ 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 | ) |
| @@ -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 |
| @@ -110,7 +110,9 @@ func (repo *TaskStageRepository) Find(queryOptions map[string]interface{}) (int, | @@ -110,7 +110,9 @@ func (repo *TaskStageRepository) Find(queryOptions map[string]interface{}) (int, | ||
| 110 | if val, ok := queryOptions["taskId"]; ok { | 110 | if val, ok := queryOptions["taskId"]; ok { |
| 111 | query.Where("task_stage.task_id = ?", val) | 111 | query.Where("task_stage.task_id = ?", val) |
| 112 | } | 112 | } |
| 113 | - | 113 | + if val, ok := queryOptions["ids"]; ok { |
| 114 | + query.Where("task_stage.id in(?)", pg.In(val)) | ||
| 115 | + } | ||
| 114 | if val, ok := queryOptions["taskIdList"]; ok { | 116 | if val, ok := queryOptions["taskIdList"]; ok { |
| 115 | query.Where("task_stage.task_id in(?)", pg.In(val)) | 117 | query.Where("task_stage.task_id in(?)", pg.In(val)) |
| 116 | } | 118 | } |
| @@ -107,7 +107,7 @@ func (c *TaskController) ListTask() { | @@ -107,7 +107,7 @@ func (c *TaskController) ListTask() { | ||
| 107 | c.Response(data, err) | 107 | c.Response(data, err) |
| 108 | } | 108 | } |
| 109 | 109 | ||
| 110 | -// CancelAttention 取消关注的任务 | 110 | +// CancelAttention 员工绩效-任务管理列表-取消关注的任务 |
| 111 | func (c *TaskController) CancelAttention() { | 111 | func (c *TaskController) CancelAttention() { |
| 112 | srv := service.NewTaskService() | 112 | srv := service.NewTaskService() |
| 113 | paramReq := &command.CancelAttentionCommand{} | 113 | paramReq := &command.CancelAttentionCommand{} |
| @@ -122,3 +122,20 @@ func (c *TaskController) CancelAttention() { | @@ -122,3 +122,20 @@ func (c *TaskController) CancelAttention() { | ||
| 122 | err = srv.CancelAttention(paramReq) | 122 | err = srv.CancelAttention(paramReq) |
| 123 | c.Response(nil, err) | 123 | c.Response(nil, err) |
| 124 | } | 124 | } |
| 125 | + | ||
| 126 | +// ListTask2 员工绩效-任务管理列表 | ||
| 127 | +func (c *TaskController) ListTask2() { | ||
| 128 | + srv := service.NewTaskService() | ||
| 129 | + paramReq := &command.SearchTaskCommand{} | ||
| 130 | + err := c.BindJSON(paramReq) | ||
| 131 | + if err != nil { | ||
| 132 | + e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error()) | ||
| 133 | + c.Response(nil, e) | ||
| 134 | + return | ||
| 135 | + } | ||
| 136 | + userReq := middlewares.GetUser(c.Ctx) | ||
| 137 | + paramReq.CompanyId = int(userReq.CompanyId) | ||
| 138 | + paramReq.UserId = int(userReq.UserId) | ||
| 139 | + result, err := srv.ListTask2(paramReq) | ||
| 140 | + c.Response(result, err) | ||
| 141 | +} |
| @@ -18,11 +18,11 @@ func init() { | @@ -18,11 +18,11 @@ func init() { | ||
| 18 | web.NSCtrlPost("/list", (*controllers.TaskController).ListTask), | 18 | web.NSCtrlPost("/list", (*controllers.TaskController).ListTask), |
| 19 | ) | 19 | ) |
| 20 | web.AddNamespace(taskAdminNS) | 20 | web.AddNamespace(taskAdminNS) |
| 21 | - | 21 | + // 员工绩效模块 |
| 22 | taskFontNS := web.NewNamespace("/v1/font/task", | 22 | taskFontNS := web.NewNamespace("/v1/font/task", |
| 23 | web.NSBefore(filters.AllowCors(), middlewares.CheckFontToken()), | 23 | web.NSBefore(filters.AllowCors(), middlewares.CheckFontToken()), |
| 24 | web.NSCtrlPost("/attention/cancel", (*controllers.TaskController).CancelAttention), | 24 | web.NSCtrlPost("/attention/cancel", (*controllers.TaskController).CancelAttention), |
| 25 | - web.NSCtrlPost("/list", (*controllers.TaskController).ListTask), //TODO | 25 | + web.NSCtrlPost("/list", (*controllers.TaskController).ListTask2), |
| 26 | ) | 26 | ) |
| 27 | web.AddNamespace(taskFontNS) | 27 | web.AddNamespace(taskFontNS) |
| 28 | 28 |
-
请 注册 或 登录 后发表评论