Merge remote-tracking branch 'origin/test' into test
正在显示
12 个修改的文件
包含
272 行增加
和
165 行删除
| @@ -165,14 +165,14 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G | @@ -165,14 +165,14 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G | ||
| 165 | } | 165 | } |
| 166 | childUserId2 := []string{} | 166 | childUserId2 := []string{} |
| 167 | for _, val := range childUser { | 167 | for _, val := range childUser { |
| 168 | - if val.Level == 3 { | 168 | + if val.Level >= 3 { |
| 169 | childUserId = append(childUserId, strconv.Itoa(val.Id)) | 169 | childUserId = append(childUserId, strconv.Itoa(val.Id)) |
| 170 | } | 170 | } |
| 171 | } | 171 | } |
| 172 | // 针对上上级 | 172 | // 针对上上级 |
| 173 | var taskStageList3 []dao.TaskStageData | 173 | var taskStageList3 []dao.TaskStageData |
| 174 | if len(childUserId) == 0 { | 174 | if len(childUserId) == 0 { |
| 175 | - taskStageList2, err = taskDao.TaskStageAnomaly(childUserId2) | 175 | + taskStageList3, err = taskDao.TaskStageAnomaly(childUserId2) |
| 176 | if err != nil { | 176 | if err != nil { |
| 177 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error()) | 177 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error()) |
| 178 | } | 178 | } |
| @@ -189,7 +189,7 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G | @@ -189,7 +189,7 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G | ||
| 189 | payloadStr, _ := json.Marshal(payload) | 189 | payloadStr, _ := json.Marshal(payload) |
| 190 | newMessage := domain.MessagePersonal{ | 190 | newMessage := domain.MessagePersonal{ |
| 191 | Id: 0, | 191 | Id: 0, |
| 192 | - Types: domain.MessageTypesOther, | 192 | + Types: domain.MessageTypesTaskStage, |
| 193 | TargetUserId: param.UserId, | 193 | TargetUserId: param.UserId, |
| 194 | ReadFlag: domain.MessageIsRead, | 194 | ReadFlag: domain.MessageIsRead, |
| 195 | Title: s, | 195 | Title: s, |
| @@ -204,7 +204,7 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G | @@ -204,7 +204,7 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G | ||
| 204 | } | 204 | } |
| 205 | } | 205 | } |
| 206 | for _, val := range taskStageList2 { | 206 | for _, val := range taskStageList2 { |
| 207 | - s := fmt.Sprintf("您下级%s负责的项目【%s】里程碑未按时完成,请前往辅导。", val.LeaderName, val.Name) | 207 | + s := fmt.Sprintf("【您下级%s负责的项目【%s】里程碑未按时完成,请前往辅导。】", val.LeaderName, val.Name) |
| 208 | msgList = append(msgList, adapter.MessageListAdapter{ | 208 | msgList = append(msgList, adapter.MessageListAdapter{ |
| 209 | Content: s, | 209 | Content: s, |
| 210 | }) | 210 | }) |
| @@ -214,7 +214,7 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G | @@ -214,7 +214,7 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G | ||
| 214 | payloadStr, _ := json.Marshal(payload) | 214 | payloadStr, _ := json.Marshal(payload) |
| 215 | newMessage := domain.MessagePersonal{ | 215 | newMessage := domain.MessagePersonal{ |
| 216 | Id: 0, | 216 | Id: 0, |
| 217 | - Types: domain.MessageTypesOther, | 217 | + Types: domain.MessageTypesTaskStage, |
| 218 | TargetUserId: param.UserId, | 218 | TargetUserId: param.UserId, |
| 219 | ReadFlag: domain.MessageIsRead, | 219 | ReadFlag: domain.MessageIsRead, |
| 220 | Title: s, | 220 | Title: s, |
| @@ -239,7 +239,7 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G | @@ -239,7 +239,7 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G | ||
| 239 | payloadStr, _ := json.Marshal(payload) | 239 | payloadStr, _ := json.Marshal(payload) |
| 240 | newMessage := domain.MessagePersonal{ | 240 | newMessage := domain.MessagePersonal{ |
| 241 | Id: 0, | 241 | Id: 0, |
| 242 | - Types: domain.MessageTypesOther, | 242 | + Types: domain.MessageTypesTaskStage, |
| 243 | TargetUserId: param.UserId, | 243 | TargetUserId: param.UserId, |
| 244 | ReadFlag: domain.MessageIsRead, | 244 | ReadFlag: domain.MessageIsRead, |
| 245 | Title: s, | 245 | Title: s, |
| @@ -320,7 +320,7 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. | @@ -320,7 +320,7 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. | ||
| 320 | } | 320 | } |
| 321 | } | 321 | } |
| 322 | // 针对上级 | 322 | // 针对上级 |
| 323 | - var taskStageList2 []dao.TaskStageData | 323 | + var taskStageList2 []dao.TaskData2 |
| 324 | if len(childUserId) == 0 { | 324 | if len(childUserId) == 0 { |
| 325 | taskStageList2, err = taskDao.TaskAnomaly(childUserId, 4) | 325 | taskStageList2, err = taskDao.TaskAnomaly(childUserId, 4) |
| 326 | if err != nil { | 326 | if err != nil { |
| @@ -329,14 +329,14 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. | @@ -329,14 +329,14 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. | ||
| 329 | } | 329 | } |
| 330 | childUserId2 := []string{} | 330 | childUserId2 := []string{} |
| 331 | for _, val := range childUser { | 331 | for _, val := range childUser { |
| 332 | - if val.Level == 3 { | 332 | + if val.Level >= 3 { |
| 333 | childUserId = append(childUserId, strconv.Itoa(val.Id)) | 333 | childUserId = append(childUserId, strconv.Itoa(val.Id)) |
| 334 | } | 334 | } |
| 335 | } | 335 | } |
| 336 | // 针对上上级 | 336 | // 针对上上级 |
| 337 | - var taskStageList3 []dao.TaskStageData | 337 | + var taskStageList3 []dao.TaskData2 |
| 338 | if len(childUserId) == 0 { | 338 | if len(childUserId) == 0 { |
| 339 | - taskStageList2, err = taskDao.TaskAnomaly(childUserId2, 5) | 339 | + taskStageList3, err = taskDao.TaskAnomaly(childUserId2, 5) |
| 340 | if err != nil { | 340 | if err != nil { |
| 341 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error()) | 341 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error()) |
| 342 | } | 342 | } |
| @@ -354,7 +354,7 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. | @@ -354,7 +354,7 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. | ||
| 354 | payloadStr, _ := json.Marshal(payload) | 354 | payloadStr, _ := json.Marshal(payload) |
| 355 | newMessage := domain.MessagePersonal{ | 355 | newMessage := domain.MessagePersonal{ |
| 356 | Id: 0, | 356 | Id: 0, |
| 357 | - Types: domain.MessageTypesOther, | 357 | + Types: domain.MessageTypesTaskRecord, |
| 358 | TargetUserId: param.UserId, | 358 | TargetUserId: param.UserId, |
| 359 | ReadFlag: domain.MessageIsRead, | 359 | ReadFlag: domain.MessageIsRead, |
| 360 | Title: s, | 360 | Title: s, |
| @@ -379,7 +379,7 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. | @@ -379,7 +379,7 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. | ||
| 379 | payloadStr, _ := json.Marshal(payload) | 379 | payloadStr, _ := json.Marshal(payload) |
| 380 | newMessage := domain.MessagePersonal{ | 380 | newMessage := domain.MessagePersonal{ |
| 381 | Id: 0, | 381 | Id: 0, |
| 382 | - Types: domain.MessageTypesOther, | 382 | + Types: domain.MessageTypesTaskRecord, |
| 383 | TargetUserId: param.UserId, | 383 | TargetUserId: param.UserId, |
| 384 | ReadFlag: domain.MessageIsRead, | 384 | ReadFlag: domain.MessageIsRead, |
| 385 | Title: s, | 385 | Title: s, |
| @@ -404,7 +404,7 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. | @@ -404,7 +404,7 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. | ||
| 404 | payloadStr, _ := json.Marshal(payload) | 404 | payloadStr, _ := json.Marshal(payload) |
| 405 | newMessage := domain.MessagePersonal{ | 405 | newMessage := domain.MessagePersonal{ |
| 406 | Id: 0, | 406 | Id: 0, |
| 407 | - Types: domain.MessageTypesOther, | 407 | + Types: domain.MessageTypesTaskRecord, |
| 408 | TargetUserId: param.UserId, | 408 | TargetUserId: param.UserId, |
| 409 | ReadFlag: domain.MessageIsRead, | 409 | ReadFlag: domain.MessageIsRead, |
| 410 | Title: s, | 410 | Title: s, |
| @@ -134,6 +134,8 @@ func (srv StaffAssessServeice) CreateStaffAssessTask(transactionContext applicat | @@ -134,6 +134,8 @@ func (srv StaffAssessServeice) CreateStaffAssessTask(transactionContext applicat | ||
| 134 | taskRecordRepo := factory.CreateTaskRecordRepository(map[string]interface{}{"transactionContext": transactionContext}) | 134 | taskRecordRepo := factory.CreateTaskRecordRepository(map[string]interface{}{"transactionContext": transactionContext}) |
| 135 | // 保存 员工的需要填写的每日任务型 指标项 | 135 | // 保存 员工的需要填写的每日任务型 指标项 |
| 136 | taskDao := dao.NewTaskDao(map[string]interface{}{"transactionContext": transactionContext}) | 136 | taskDao := dao.NewTaskDao(map[string]interface{}{"transactionContext": transactionContext}) |
| 137 | + | ||
| 138 | + newTaskIdList := []int{} | ||
| 137 | for i := range assessList { | 139 | for i := range assessList { |
| 138 | assessList[i].StaffAssessTaskId = assessTaskData.Id | 140 | assessList[i].StaffAssessTaskId = assessTaskData.Id |
| 139 | _, err = assessRepo.Save(&assessList[i]) | 141 | _, err = assessRepo.Save(&assessList[i]) |
| @@ -156,13 +158,14 @@ func (srv StaffAssessServeice) CreateStaffAssessTask(transactionContext applicat | @@ -156,13 +158,14 @@ func (srv StaffAssessServeice) CreateStaffAssessTask(transactionContext applicat | ||
| 156 | if err != nil { | 158 | if err != nil { |
| 157 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存个人任务型指标项"+err.Error()) | 159 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存个人任务型指标项"+err.Error()) |
| 158 | } | 160 | } |
| 159 | - err = taskDao.IncreaseAnomaly([]int{val2.TaskId}, 1) | ||
| 160 | - if err != nil { | ||
| 161 | - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存个人任务型指标项"+err.Error()) | ||
| 162 | - } | 161 | + newTaskIdList = append(newTaskIdList, val2.TaskId) |
| 163 | } | 162 | } |
| 164 | } | 163 | } |
| 165 | } | 164 | } |
| 165 | + err = taskDao.IncreaseAnomaly(newTaskIdList, 1) | ||
| 166 | + if err != nil { | ||
| 167 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存个人任务型指标项"+err.Error()) | ||
| 168 | + } | ||
| 166 | return map[string]interface{}{ | 169 | return map[string]interface{}{ |
| 167 | "assessTaskId": assessTaskData.Id, | 170 | "assessTaskId": assessTaskData.Id, |
| 168 | }, nil | 171 | }, nil |
pkg/application/task/command/get_select.go
0 → 100644
| @@ -5,8 +5,9 @@ type SearchTaskCommand struct { | @@ -5,8 +5,9 @@ type SearchTaskCommand struct { | ||
| 5 | CompanyId int `json:"-"` | 5 | CompanyId int `json:"-"` |
| 6 | PageNumber int `json:"pageNumber"` //分页 | 6 | PageNumber int `json:"pageNumber"` //分页 |
| 7 | PageSize int `json:"pageSize"` //分页 | 7 | PageSize int `json:"pageSize"` //分页 |
| 8 | - TaskName string `json:"taskName"` //任务名称 | ||
| 9 | - LevelName string `json:"levelName"` //优先级 | ||
| 10 | OnlyMy bool `json:"onlyMy"` //只查看我负责的任务 | 8 | OnlyMy bool `json:"onlyMy"` //只查看我负责的任务 |
| 11 | - LeaderId string `json:"leaderId"` //任务负责人id | 9 | + SearchWord string `json:"searchWord"` |
| 10 | + // TaskName string `json:"taskName"` //任务名称 | ||
| 11 | + // LevelName string `json:"levelName"` //优先级 | ||
| 12 | + // LeaderName string `json:"leaderId"` //任务负责人id | ||
| 12 | } | 13 | } |
| @@ -555,13 +555,16 @@ func (srv TaskService) ListTask(param *command.ListTaskCommand) (map[string]inte | @@ -555,13 +555,16 @@ func (srv TaskService) ListTask(param *command.ListTaskCommand) (map[string]inte | ||
| 555 | for _, val := range taskList { | 555 | for _, val := range taskList { |
| 556 | taskIdList = append(taskIdList, val.Id) | 556 | taskIdList = append(taskIdList, val.Id) |
| 557 | } | 557 | } |
| 558 | - | ||
| 559 | - _, stageList, err := taskStageRepo.Find(map[string]interface{}{ | ||
| 560 | - "taskIdList": taskIdList, | ||
| 561 | - }) | ||
| 562 | - if err != nil { | ||
| 563 | - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询任务阶段数据"+err.Error()) | 558 | + var stageList []*domain.TaskStage |
| 559 | + if len(taskIdList) > 0 { | ||
| 560 | + _, stageList, err = taskStageRepo.Find(map[string]interface{}{ | ||
| 561 | + "taskIdList": taskIdList, | ||
| 562 | + }) | ||
| 563 | + if err != nil { | ||
| 564 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询任务阶段数据"+err.Error()) | ||
| 565 | + } | ||
| 564 | } | 566 | } |
| 567 | + | ||
| 565 | if err := transactionContext.CommitTransaction(); err != nil { | 568 | if err := transactionContext.CommitTransaction(); err != nil { |
| 566 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 569 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 567 | } | 570 | } |
| @@ -668,6 +671,9 @@ func (srv TaskService) ListTask2(param *command.SearchTaskCommand) (map[string]i | @@ -668,6 +671,9 @@ func (srv TaskService) ListTask2(param *command.SearchTaskCommand) (map[string]i | ||
| 668 | if err != nil { | 671 | if err != nil { |
| 669 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取用户的角色信息"+err.Error()) | 672 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取用户的角色信息"+err.Error()) |
| 670 | } | 673 | } |
| 674 | + if len(param.SearchWord) > 0 { | ||
| 675 | + param.SearchWord = "%" + param.SearchWord + "%" | ||
| 676 | + } | ||
| 671 | if hrbpFlag == domain.RoleTypeSystem { | 677 | if hrbpFlag == domain.RoleTypeSystem { |
| 672 | listData, err := srv.listTask2ForHrbp(param) | 678 | listData, err := srv.listTask2ForHrbp(param) |
| 673 | return listData, err | 679 | return listData, err |
| @@ -681,13 +687,12 @@ func (srv TaskService) ListTask2(param *command.SearchTaskCommand) (map[string]i | @@ -681,13 +687,12 @@ func (srv TaskService) ListTask2(param *command.SearchTaskCommand) (map[string]i | ||
| 681 | } | 687 | } |
| 682 | } | 688 | } |
| 683 | condition := dao.ListTaskCondition{ | 689 | condition := dao.ListTaskCondition{ |
| 684 | - Limit: limit, | ||
| 685 | - Offset: offset, | ||
| 686 | - UserId: param.UserId, | ||
| 687 | - TaskName: param.TaskName, | ||
| 688 | - LevelName: param.LevelName, | ||
| 689 | - OnlyMy: param.OnlyMy, | ||
| 690 | - LeaderId: param.LeaderId, | 690 | + Limit: limit, |
| 691 | + Offset: offset, | ||
| 692 | + UserId: param.UserId, | ||
| 693 | + CompanyId: param.CompanyId, | ||
| 694 | + OnlyMy: param.OnlyMy, | ||
| 695 | + SearchWord: param.SearchWord, | ||
| 691 | } | 696 | } |
| 692 | 697 | ||
| 693 | taskDao := dao.NewTaskDao(map[string]interface{}{ | 698 | taskDao := dao.NewTaskDao(map[string]interface{}{ |
| @@ -780,13 +785,12 @@ func (srv TaskService) listTask2ForHrbp(param *command.SearchTaskCommand) (map[s | @@ -780,13 +785,12 @@ func (srv TaskService) listTask2ForHrbp(param *command.SearchTaskCommand) (map[s | ||
| 780 | } | 785 | } |
| 781 | } | 786 | } |
| 782 | condition := dao.ListTaskCondition{ | 787 | condition := dao.ListTaskCondition{ |
| 783 | - Limit: limit, | ||
| 784 | - Offset: offset, | ||
| 785 | - UserId: param.UserId, | ||
| 786 | - TaskName: param.TaskName, | ||
| 787 | - LevelName: param.LevelName, | ||
| 788 | - OnlyMy: param.OnlyMy, | ||
| 789 | - LeaderId: param.LeaderId, | 788 | + Limit: limit, |
| 789 | + Offset: offset, | ||
| 790 | + UserId: param.UserId, | ||
| 791 | + CompanyId: param.CompanyId, | ||
| 792 | + OnlyMy: param.OnlyMy, | ||
| 793 | + SearchWord: param.SearchWord, | ||
| 790 | } | 794 | } |
| 791 | transactionContext, err := factory.CreateTransactionContext(nil) | 795 | transactionContext, err := factory.CreateTransactionContext(nil) |
| 792 | if err != nil { | 796 | if err != nil { |
| @@ -987,7 +991,7 @@ func (srv TaskService) ListTaskRecord(param *command.ListTaskRecordCommand) (map | @@ -987,7 +991,7 @@ func (srv TaskService) ListTaskRecord(param *command.ListTaskRecordCommand) (map | ||
| 987 | return result, nil | 991 | return result, nil |
| 988 | } | 992 | } |
| 989 | 993 | ||
| 990 | -// 获取任务详情 | 994 | +// 删除任务 |
| 991 | func (srv TaskService) DeleteTaskInfo(param *command.GetTaskCommand) (*adapter.TaskInfoAdapter, error) { | 995 | func (srv TaskService) DeleteTaskInfo(param *command.GetTaskCommand) (*adapter.TaskInfoAdapter, error) { |
| 992 | transactionContext, err := factory.CreateTransactionContext(nil) | 996 | transactionContext, err := factory.CreateTransactionContext(nil) |
| 993 | if err != nil { | 997 | if err != nil { |
| @@ -1022,3 +1026,74 @@ func (srv TaskService) DeleteTaskInfo(param *command.GetTaskCommand) (*adapter.T | @@ -1022,3 +1026,74 @@ func (srv TaskService) DeleteTaskInfo(param *command.GetTaskCommand) (*adapter.T | ||
| 1022 | } | 1026 | } |
| 1023 | return nil, nil | 1027 | return nil, nil |
| 1024 | } | 1028 | } |
| 1029 | + | ||
| 1030 | +// 员工绩效-任务管理-列表筛选项 | ||
| 1031 | +func (srv TaskService) ConditionForListTask2(param *command.GetSelcetCommand) (map[string]interface{}, error) { | ||
| 1032 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 1033 | + if err != nil { | ||
| 1034 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 1035 | + } | ||
| 1036 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 1037 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 1038 | + } | ||
| 1039 | + defer func() { | ||
| 1040 | + _ = transactionContext.RollbackTransaction() | ||
| 1041 | + }() | ||
| 1042 | + taskDao := dao.NewTaskDao(map[string]interface{}{ | ||
| 1043 | + "transactionContext": transactionContext, | ||
| 1044 | + }) | ||
| 1045 | + hrbpFlag, err := roleService.GetHrBp(transactionContext, int(param.CompanyId), int(param.UserId)) | ||
| 1046 | + if err != nil { | ||
| 1047 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取用户的角色信息"+err.Error()) | ||
| 1048 | + } | ||
| 1049 | + var tasklistData []dao.TaskData1 | ||
| 1050 | + if hrbpFlag == domain.RoleTypeSystem { | ||
| 1051 | + tasklistData, err = taskDao.ListTask2ForHrbp(param.UserId, param.CompanyId) | ||
| 1052 | + if err != nil { | ||
| 1053 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取任务列表"+err.Error()) | ||
| 1054 | + } | ||
| 1055 | + } else { | ||
| 1056 | + tasklistData, err = taskDao.ListTask2(param.UserId) | ||
| 1057 | + if err != nil { | ||
| 1058 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取任务列表"+err.Error()) | ||
| 1059 | + } | ||
| 1060 | + } | ||
| 1061 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 1062 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 1063 | + } | ||
| 1064 | + selectList := []adapter.ConditionSelect{} | ||
| 1065 | + uniqueMap := map[string]struct{}{} | ||
| 1066 | + // 任务名称,负责人,优先级 | ||
| 1067 | + switch param.Cmd { | ||
| 1068 | + case "任务名称": | ||
| 1069 | + for _, val := range tasklistData { | ||
| 1070 | + if _, ok := uniqueMap[val.Name]; ok { | ||
| 1071 | + continue | ||
| 1072 | + } | ||
| 1073 | + uniqueMap[val.Name] = struct{}{} | ||
| 1074 | + selectList = append(selectList, adapter.ConditionSelect{Name: val.Name}) | ||
| 1075 | + } | ||
| 1076 | + case "负责人": | ||
| 1077 | + for _, val := range tasklistData { | ||
| 1078 | + if _, ok := uniqueMap[val.LeaderName]; ok { | ||
| 1079 | + continue | ||
| 1080 | + } | ||
| 1081 | + uniqueMap[val.LeaderName] = struct{}{} | ||
| 1082 | + selectList = append(selectList, adapter.ConditionSelect{Name: val.LeaderName}) | ||
| 1083 | + } | ||
| 1084 | + case "优先级": | ||
| 1085 | + for _, val := range tasklistData { | ||
| 1086 | + if _, ok := uniqueMap[val.LevelName]; ok { | ||
| 1087 | + continue | ||
| 1088 | + } | ||
| 1089 | + uniqueMap[val.LevelName] = struct{}{} | ||
| 1090 | + if len(val.LevelName) > 0 { | ||
| 1091 | + selectList = append(selectList, adapter.ConditionSelect{Name: val.LevelName}) | ||
| 1092 | + } | ||
| 1093 | + } | ||
| 1094 | + } | ||
| 1095 | + result := map[string]interface{}{ | ||
| 1096 | + "list": selectList, | ||
| 1097 | + } | ||
| 1098 | + return result, nil | ||
| 1099 | +} |
| @@ -26,7 +26,7 @@ type TaskRecord struct { | @@ -26,7 +26,7 @@ type TaskRecord struct { | ||
| 26 | TaskLeader TaskLeader `json:"taskLeader" comment:"任务负责人"` | 26 | TaskLeader TaskLeader `json:"taskLeader" comment:"任务负责人"` |
| 27 | AssistLevel int `json:"assistLevel" comment:"上级辅导情况"` | 27 | AssistLevel int `json:"assistLevel" comment:"上级辅导情况"` |
| 28 | AssistContent string `json:"assistContent" comment:"上级辅导内容"` | 28 | AssistContent string `json:"assistContent" comment:"上级辅导内容"` |
| 29 | - AnomalyState int `json:"anomalyState" comment:"异常反馈状态(0异常、1正常)"` | 29 | + AnomalyState int `json:"anomalyState" comment:"异常是否反馈状态(0异常、1正常)"` |
| 30 | TaskStages []TaskStage `json:"taskStages" comment:"里程碑列表"` | 30 | TaskStages []TaskStage `json:"taskStages" comment:"里程碑列表"` |
| 31 | TaskStageCheck TaskStage `json:"taskStageCheck" comment:"提交的里程碑"` | 31 | TaskStageCheck TaskStage `json:"taskStageCheck" comment:"提交的里程碑"` |
| 32 | CreatedAt time.Time `json:"createdAt" comment:"创建时间"` | 32 | CreatedAt time.Time `json:"createdAt" comment:"创建时间"` |
| @@ -9,8 +9,8 @@ import ( | @@ -9,8 +9,8 @@ import ( | ||
| 9 | func TestGenerateToken(t *testing.T) { | 9 | func TestGenerateToken(t *testing.T) { |
| 10 | ut := UserAuth{ | 10 | ut := UserAuth{ |
| 11 | CompanyId: 8, | 11 | CompanyId: 8, |
| 12 | - UserId: 3438641393081088, | ||
| 13 | - Phone: "17711111111", | 12 | + UserId: 3422174102828544, |
| 13 | + Phone: "17708397664", | ||
| 14 | PlatformId: 29, | 14 | PlatformId: 29, |
| 15 | AdminType: 1, | 15 | AdminType: 1, |
| 16 | } | 16 | } |
| @@ -60,13 +60,12 @@ func (d *TaskDao) catchTaskIdByPermission(userId int) string { | @@ -60,13 +60,12 @@ func (d *TaskDao) catchTaskIdByPermission(userId int) string { | ||
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | type ListTaskCondition struct { | 62 | type ListTaskCondition struct { |
| 63 | - Limit int //分页 | ||
| 64 | - Offset int //分页 | ||
| 65 | - UserId int //谁要查看任务数据 | ||
| 66 | - TaskName string //任务名称 | ||
| 67 | - LevelName string //优先级 | ||
| 68 | - OnlyMy bool //只查看我负责的任务 | ||
| 69 | - LeaderId string //任务负责人id | 63 | + Limit int //分页 |
| 64 | + Offset int //分页 | ||
| 65 | + CompanyId int //公司id | ||
| 66 | + UserId int //谁要查看任务数据 | ||
| 67 | + OnlyMy bool //只查看我负责的任务 | ||
| 68 | + SearchWord string | ||
| 70 | } | 69 | } |
| 71 | 70 | ||
| 72 | // 任务和里程碑列表 | 71 | // 任务和里程碑列表 |
| @@ -125,7 +124,7 @@ func (d *TaskDao) ListTaskStageNotHrbp(param ListTaskCondition) ([]ListTaskStage | @@ -125,7 +124,7 @@ func (d *TaskDao) ListTaskStageNotHrbp(param ListTaskCondition) ([]ListTaskStage | ||
| 125 | from task | 124 | from task |
| 126 | join t_task_1 on task.id=t_task_1.id | 125 | join t_task_1 on task.id=t_task_1.id |
| 127 | join task_stage on task.id =task_stage.task_id | 126 | join task_stage on task.id =task_stage.task_id |
| 128 | - where 1=1 | 127 | + where 1=1 and task.company_id=? |
| 129 | order by diff_time,task."level",task.created_at | 128 | order by diff_time,task."level",task.created_at |
| 130 | ), | 129 | ), |
| 131 | -- 按任务数据分页获取 | 130 | -- 按任务数据分页获取 |
| @@ -156,22 +155,15 @@ func (d *TaskDao) ListTaskStageNotHrbp(param ListTaskCondition) ([]ListTaskStage | @@ -156,22 +155,15 @@ func (d *TaskDao) ListTaskStageNotHrbp(param ListTaskCondition) ([]ListTaskStage | ||
| 156 | where t_task_tage_1.task_id in( | 155 | where t_task_tage_1.task_id in( |
| 157 | select t_task_page.task_id from t_task_page | 156 | select t_task_page.task_id from t_task_page |
| 158 | )` | 157 | )` |
| 159 | - condition := []interface{}{} | 158 | + condition := []interface{}{param.CompanyId} |
| 160 | whereSql := `` | 159 | whereSql := `` |
| 161 | if param.OnlyMy { | 160 | if param.OnlyMy { |
| 162 | condition = append(condition, param.UserId) | 161 | condition = append(condition, param.UserId) |
| 163 | whereSql += ` and t_task_tage_1.leader_id = '?' ` | 162 | whereSql += ` and t_task_tage_1.leader_id = '?' ` |
| 164 | - } else if param.LeaderId != "" && param.LeaderId != "0" { | ||
| 165 | - condition = append(condition, param.LeaderId) | ||
| 166 | - whereSql += ` and t_task_tage_1.leader_id = ? ` | ||
| 167 | - } | ||
| 168 | - if len(param.TaskName) > 0 { | ||
| 169 | - condition = append(condition, param.TaskName) | ||
| 170 | - whereSql += ` and t_task_tage_1.task_name like ? ` | ||
| 171 | } | 163 | } |
| 172 | - if len(param.LevelName) > 0 { | ||
| 173 | - condition = append(condition, param.LevelName) | ||
| 174 | - whereSql += ` and t_task_tage_1.level_name like ? ` | 164 | + if param.SearchWord != "" { |
| 165 | + condition = append(condition, param.SearchWord, param.SearchWord) | ||
| 166 | + whereSql += ` and (t_task_tage_1.leader_name like ? or t_task_tage_1.task_alias_name like ?)` | ||
| 175 | } | 167 | } |
| 176 | condition = append(condition, param.Limit, param.Offset) | 168 | condition = append(condition, param.Limit, param.Offset) |
| 177 | sqlStr := fmt.Sprintf(withSql, whereSql) | 169 | sqlStr := fmt.Sprintf(withSql, whereSql) |
| @@ -186,24 +178,18 @@ func (d *TaskDao) CountTaskStageNotHrbp(param ListTaskCondition) (int, error) { | @@ -186,24 +178,18 @@ func (d *TaskDao) CountTaskStageNotHrbp(param ListTaskCondition) (int, error) { | ||
| 186 | task1 := d.catchTaskIdByPermission(param.UserId) | 178 | task1 := d.catchTaskIdByPermission(param.UserId) |
| 187 | withSql := task1 + `select count(*) from task | 179 | withSql := task1 + `select count(*) from task |
| 188 | join t_task_1 on task.id =t_task_1.id | 180 | join t_task_1 on task.id =t_task_1.id |
| 189 | - where 1=1 ` | ||
| 190 | - condition := []interface{}{} | 181 | + where 1=1 and task.company_id=?` |
| 182 | + condition := []interface{}{param.CompanyId} | ||
| 191 | whereSql := `` | 183 | whereSql := `` |
| 192 | if param.OnlyMy { | 184 | if param.OnlyMy { |
| 193 | condition = append(condition, param.UserId) | 185 | condition = append(condition, param.UserId) |
| 194 | whereSql += ` and task.leader ->>'id' = '?' ` | 186 | whereSql += ` and task.leader ->>'id' = '?' ` |
| 195 | - } else if param.LeaderId != "" && param.LeaderId != "0" { | ||
| 196 | - condition = append(condition, param.LeaderId) | ||
| 197 | - whereSql += ` and task.leader ->>'id' = ? ` | ||
| 198 | } | 187 | } |
| 199 | - if len(param.TaskName) > 0 { | ||
| 200 | - condition = append(condition, param.TaskName) | ||
| 201 | - whereSql += ` and task.name like ? ` | ||
| 202 | - } | ||
| 203 | - if len(param.LevelName) > 0 { | ||
| 204 | - condition = append(condition, param.LevelName) | ||
| 205 | - whereSql += ` and task.level_name like ? ` | 188 | + if param.SearchWord != "" { |
| 189 | + condition = append(condition, param.SearchWord, param.SearchWord) | ||
| 190 | + whereSql += ` and (task.leader->>'name' like ? or task.alias like ?)` | ||
| 206 | } | 191 | } |
| 192 | + | ||
| 207 | sqlStr := withSql + whereSql | 193 | sqlStr := withSql + whereSql |
| 208 | tx := d.transactionContext.PgTx | 194 | tx := d.transactionContext.PgTx |
| 209 | var cnt int | 195 | var cnt int |
| @@ -247,7 +233,7 @@ func (d *TaskDao) ListTaskStageByHrbp(param ListTaskCondition) ([]ListTaskStage, | @@ -247,7 +233,7 @@ func (d *TaskDao) ListTaskStageByHrbp(param ListTaskCondition) ([]ListTaskStage, | ||
| 247 | end) as diff_time | 233 | end) as diff_time |
| 248 | from task | 234 | from task |
| 249 | join task_stage on task.id =task_stage.task_id | 235 | join task_stage on task.id =task_stage.task_id |
| 250 | - where 1=1 | 236 | + where 1=1 and task.company_id=? |
| 251 | order by diff_time,task."level",task.created_at | 237 | order by diff_time,task."level",task.created_at |
| 252 | ), | 238 | ), |
| 253 | -- 按任务数据分页获取 | 239 | -- 按任务数据分页获取 |
| @@ -280,22 +266,15 @@ func (d *TaskDao) ListTaskStageByHrbp(param ListTaskCondition) ([]ListTaskStage, | @@ -280,22 +266,15 @@ func (d *TaskDao) ListTaskStageByHrbp(param ListTaskCondition) ([]ListTaskStage, | ||
| 280 | where t_task_tage_1.task_id in( | 266 | where t_task_tage_1.task_id in( |
| 281 | select t_task_page.task_id from t_task_page | 267 | select t_task_page.task_id from t_task_page |
| 282 | )` | 268 | )` |
| 283 | - condition := []interface{}{param.UserId} | 269 | + condition := []interface{}{param.UserId, param.CompanyId} |
| 284 | whereSql := `` | 270 | whereSql := `` |
| 285 | if param.OnlyMy { | 271 | if param.OnlyMy { |
| 286 | condition = append(condition, param.UserId) | 272 | condition = append(condition, param.UserId) |
| 287 | whereSql += ` and t_task_tage_1.leader_id = '?' ` | 273 | whereSql += ` and t_task_tage_1.leader_id = '?' ` |
| 288 | - } else if param.LeaderId != "" && param.LeaderId != "0" { | ||
| 289 | - condition = append(condition, param.LeaderId) | ||
| 290 | - whereSql += ` and t_task_tage_1.leader_id = ? ` | ||
| 291 | } | 274 | } |
| 292 | - if len(param.TaskName) > 0 { | ||
| 293 | - condition = append(condition, param.TaskName) | ||
| 294 | - whereSql += ` and t_task_tage_1.task_name like ? ` | ||
| 295 | - } | ||
| 296 | - if len(param.LevelName) > 0 { | ||
| 297 | - condition = append(condition, param.LevelName) | ||
| 298 | - whereSql += ` and t_task_tage_1.level_name like ? ` | 275 | + if param.SearchWord != "" { |
| 276 | + condition = append(condition, param.SearchWord, param.SearchWord) | ||
| 277 | + whereSql += ` and (t_task_tage_1.leader_name like ? or t_task_tage_1.task_alias_name like ?)` | ||
| 299 | } | 278 | } |
| 300 | condition = append(condition, param.Limit, param.Offset) | 279 | condition = append(condition, param.Limit, param.Offset) |
| 301 | sqlStr := fmt.Sprintf(withSql, whereSql) | 280 | sqlStr := fmt.Sprintf(withSql, whereSql) |
| @@ -313,23 +292,16 @@ func (d *TaskDao) CountTaskStageByHrbp(param ListTaskCondition) (int, error) { | @@ -313,23 +292,16 @@ func (d *TaskDao) CountTaskStageByHrbp(param ListTaskCondition) (int, error) { | ||
| 313 | select task_ignore.task_id,task_ignore.id from task_ignore where task_ignore.user_id =? | 292 | select task_ignore.task_id,task_ignore.id from task_ignore where task_ignore.user_id =? |
| 314 | )select count(*) from task | 293 | )select count(*) from task |
| 315 | left join t_task_ignore on t_task_ignore.task_id=task.id | 294 | left join t_task_ignore on t_task_ignore.task_id=task.id |
| 316 | - where 1=1 ` | ||
| 317 | - condition := []interface{}{param.UserId} | 295 | + where 1=1 and task.company_id=?` |
| 296 | + condition := []interface{}{param.UserId, param.CompanyId} | ||
| 318 | whereSql := `` | 297 | whereSql := `` |
| 319 | if param.OnlyMy { | 298 | if param.OnlyMy { |
| 320 | condition = append(condition, param.UserId) | 299 | condition = append(condition, param.UserId) |
| 321 | whereSql += ` and task.leader ->>'id' = '?' ` | 300 | whereSql += ` and task.leader ->>'id' = '?' ` |
| 322 | - } else if param.LeaderId != "" && param.LeaderId != "0" { | ||
| 323 | - condition = append(condition, param.LeaderId) | ||
| 324 | - whereSql += ` and task.leader ->>'id' = ? ` | ||
| 325 | - } | ||
| 326 | - if len(param.TaskName) > 0 { | ||
| 327 | - condition = append(condition, param.TaskName) | ||
| 328 | - whereSql += ` and task.name like ? ` | ||
| 329 | } | 301 | } |
| 330 | - if len(param.LevelName) > 0 { | ||
| 331 | - condition = append(condition, param.LevelName) | ||
| 332 | - whereSql += ` and task.level_name like ? ` | 302 | + if param.SearchWord != "" { |
| 303 | + condition = append(condition, param.SearchWord, param.SearchWord) | ||
| 304 | + whereSql += ` and (task.leader->>'name' like ? or task.alias like ?)` | ||
| 333 | } | 305 | } |
| 334 | sqlStr := withSql + whereSql | 306 | sqlStr := withSql + whereSql |
| 335 | tx := d.transactionContext.PgTx | 307 | tx := d.transactionContext.PgTx |
| @@ -345,28 +317,21 @@ func (d *TaskDao) CountTaskStageAnomalyNotHrbp(param ListTaskCondition) (int, er | @@ -345,28 +317,21 @@ func (d *TaskDao) CountTaskStageAnomalyNotHrbp(param ListTaskCondition) (int, er | ||
| 345 | from task_stage | 317 | from task_stage |
| 346 | join task on task_stage.task_id =task.id | 318 | join task on task_stage.task_id =task.id |
| 347 | join t_task_1 on task.id =t_task_1.id | 319 | join t_task_1 on task.id =t_task_1.id |
| 348 | - where 1=1 | 320 | + where 1=1 and task.company_id=? |
| 349 | and( | 321 | and( |
| 350 | (task_stage.plan_completed_at <task_stage.real_completed_at) | 322 | (task_stage.plan_completed_at <task_stage.real_completed_at) |
| 351 | or | 323 | or |
| 352 | (task_stage.real_completed_at=0 and task_stage.plan_completed_at<extract(epoch from now())) | 324 | (task_stage.real_completed_at=0 and task_stage.plan_completed_at<extract(epoch from now())) |
| 353 | ) ` | 325 | ) ` |
| 354 | - condition := []interface{}{} | 326 | + condition := []interface{}{param.CompanyId} |
| 355 | whereSql := `` | 327 | whereSql := `` |
| 356 | if param.OnlyMy { | 328 | if param.OnlyMy { |
| 357 | condition = append(condition, param.UserId) | 329 | condition = append(condition, param.UserId) |
| 358 | whereSql += ` and task.leader ->>'id' = '?' ` | 330 | whereSql += ` and task.leader ->>'id' = '?' ` |
| 359 | - } else if param.LeaderId != "" && param.LeaderId != "0" { | ||
| 360 | - condition = append(condition, param.LeaderId) | ||
| 361 | - whereSql += ` and task.leader ->>'id' = ? ` | ||
| 362 | - } | ||
| 363 | - if len(param.TaskName) > 0 { | ||
| 364 | - condition = append(condition, param.TaskName) | ||
| 365 | - whereSql += ` and task.name like ? ` | ||
| 366 | } | 331 | } |
| 367 | - if len(param.LevelName) > 0 { | ||
| 368 | - condition = append(condition, param.LevelName) | ||
| 369 | - whereSql += ` and task.level_name like ? ` | 332 | + if param.SearchWord != "" { |
| 333 | + condition = append(condition, param.SearchWord, param.SearchWord) | ||
| 334 | + whereSql += ` and (task.leader->>'name' like ? or task.alias like ?)` | ||
| 370 | } | 335 | } |
| 371 | sqlStr := withSql + whereSql | 336 | sqlStr := withSql + whereSql |
| 372 | tx := d.transactionContext.PgTx | 337 | tx := d.transactionContext.PgTx |
| @@ -384,29 +349,23 @@ func (d *TaskDao) CountTaskStageAnomalyByHrbp(param ListTaskCondition) (int, err | @@ -384,29 +349,23 @@ func (d *TaskDao) CountTaskStageAnomalyByHrbp(param ListTaskCondition) (int, err | ||
| 384 | from task_stage | 349 | from task_stage |
| 385 | join task on task_stage.task_id =task.id | 350 | join task on task_stage.task_id =task.id |
| 386 | left join t_task_ignore on t_task_ignore.task_id=task.id | 351 | left join t_task_ignore on t_task_ignore.task_id=task.id |
| 387 | - where 1=1 | 352 | + where 1=1 and task.company_id=? |
| 388 | and( | 353 | and( |
| 389 | (task_stage.plan_completed_at <task_stage.real_completed_at) | 354 | (task_stage.plan_completed_at <task_stage.real_completed_at) |
| 390 | or | 355 | or |
| 391 | (task_stage.real_completed_at=0 and task_stage.plan_completed_at<extract(epoch from now())) | 356 | (task_stage.real_completed_at=0 and task_stage.plan_completed_at<extract(epoch from now())) |
| 392 | ) ` | 357 | ) ` |
| 393 | - condition := []interface{}{param.UserId} | 358 | + condition := []interface{}{param.UserId, param.CompanyId} |
| 394 | whereSql := `` | 359 | whereSql := `` |
| 395 | if param.OnlyMy { | 360 | if param.OnlyMy { |
| 396 | condition = append(condition, param.UserId) | 361 | condition = append(condition, param.UserId) |
| 397 | whereSql += ` and task.leader ->>'id' = '?' ` | 362 | whereSql += ` and task.leader ->>'id' = '?' ` |
| 398 | - } else if param.LeaderId != "" && param.LeaderId != "0" { | ||
| 399 | - condition = append(condition, param.LeaderId) | ||
| 400 | - whereSql += ` and task.leader ->>'id' = ? ` | ||
| 401 | - } | ||
| 402 | - if len(param.TaskName) > 0 { | ||
| 403 | - condition = append(condition, param.TaskName) | ||
| 404 | - whereSql += ` and task.name like ? ` | ||
| 405 | } | 363 | } |
| 406 | - if len(param.LevelName) > 0 { | ||
| 407 | - condition = append(condition, param.LevelName) | ||
| 408 | - whereSql += ` and task.level_name like ? ` | 364 | + if param.SearchWord != "" { |
| 365 | + condition = append(condition, param.SearchWord, param.SearchWord) | ||
| 366 | + whereSql += ` and (task.leader->>'name' like ? or task.alias like ?)` | ||
| 409 | } | 367 | } |
| 368 | + | ||
| 410 | sqlStr := withSql + whereSql | 369 | sqlStr := withSql + whereSql |
| 411 | tx := d.transactionContext.PgTx | 370 | tx := d.transactionContext.PgTx |
| 412 | var cnt int | 371 | var cnt int |
| @@ -446,16 +405,25 @@ func (d *TaskDao) TaskStageAnomaly(leaderId []string) ([]TaskStageData, error) { | @@ -446,16 +405,25 @@ func (d *TaskDao) TaskStageAnomaly(leaderId []string) ([]TaskStageData, error) { | ||
| 446 | return result, err | 405 | return result, err |
| 447 | } | 406 | } |
| 448 | 407 | ||
| 449 | -// 异常的里程碑任务 | ||
| 450 | -func (d *TaskDao) TaskAnomaly(leaderId []string, anomaly int) ([]TaskStageData, error) { | 408 | +type TaskData2 struct { |
| 409 | + Id int `pg:"id"` | ||
| 410 | + Name string `pg:"name"` | ||
| 411 | + Alias string `pg:"alias"` | ||
| 412 | + LeaderName string `pg:"leader_name"` | ||
| 413 | + Anomaly string `pg:"anomaly"` | ||
| 414 | +} | ||
| 415 | + | ||
| 416 | +// 异常的任务 | ||
| 417 | +func (d *TaskDao) TaskAnomaly(leaderId []string, anomaly int) ([]TaskData2, error) { | ||
| 451 | sqlStr := `select | 418 | sqlStr := `select |
| 419 | + task."id", | ||
| 452 | task."name" , | 420 | task."name" , |
| 453 | task.alias , | 421 | task.alias , |
| 454 | task.leader ->>'name' as leader_name, | 422 | task.leader ->>'name' as leader_name, |
| 455 | task.anomaly | 423 | task.anomaly |
| 456 | from task | 424 | from task |
| 457 | - where task.anomaly >=? and task.leader ->'id' in(?) ` | ||
| 458 | - result := []TaskStageData{} | 425 | + where task.anomaly >=? and task.leader ->>'id' in(?) ` |
| 426 | + result := []TaskData2{} | ||
| 459 | tx := d.transactionContext.PgTx | 427 | tx := d.transactionContext.PgTx |
| 460 | _, err := tx.Query(&result, sqlStr, anomaly, pg.In(leaderId)) | 428 | _, err := tx.Query(&result, sqlStr, anomaly, pg.In(leaderId)) |
| 461 | return result, err | 429 | return result, err |
| @@ -474,17 +442,10 @@ func (d *TaskDao) CountTaskAnomalyNotHrbp(param ListTaskCondition) (int, error) | @@ -474,17 +442,10 @@ func (d *TaskDao) CountTaskAnomalyNotHrbp(param ListTaskCondition) (int, error) | ||
| 474 | if param.OnlyMy { | 442 | if param.OnlyMy { |
| 475 | condition = append(condition, param.UserId) | 443 | condition = append(condition, param.UserId) |
| 476 | whereSql += ` and task.leader ->>'id' = '?' ` | 444 | whereSql += ` and task.leader ->>'id' = '?' ` |
| 477 | - } else if param.LeaderId != "" { | ||
| 478 | - condition = append(condition, param.LeaderId) | ||
| 479 | - whereSql += ` and task.leader ->>'id' = ? ` | ||
| 480 | } | 445 | } |
| 481 | - if len(param.TaskName) > 0 { | ||
| 482 | - condition = append(condition, param.TaskName) | ||
| 483 | - whereSql += ` and task.name like ? ` | ||
| 484 | - } | ||
| 485 | - if len(param.LevelName) > 0 { | ||
| 486 | - condition = append(condition, param.LevelName) | ||
| 487 | - whereSql += ` and task.level_name like ? ` | 446 | + if param.SearchWord != "" { |
| 447 | + condition = append(condition, param.SearchWord, param.SearchWord) | ||
| 448 | + whereSql += ` and (task.leader->>'name' like ? or task.alias like ?)` | ||
| 488 | } | 449 | } |
| 489 | sqlStr := withSql + whereSql | 450 | sqlStr := withSql + whereSql |
| 490 | tx := d.transactionContext.PgTx | 451 | tx := d.transactionContext.PgTx |
| @@ -501,23 +462,16 @@ func (d *TaskDao) CountTaskAnomalyByHrbp(param ListTaskCondition) (int, error) { | @@ -501,23 +462,16 @@ func (d *TaskDao) CountTaskAnomalyByHrbp(param ListTaskCondition) (int, error) { | ||
| 501 | )select count(*) | 462 | )select count(*) |
| 502 | from task | 463 | from task |
| 503 | left join t_task_ignore on t_task_ignore.task_id=task.id | 464 | left join t_task_ignore on t_task_ignore.task_id=task.id |
| 504 | - where 1=1 and task.anomaly>1 ` | ||
| 505 | - condition := []interface{}{param.UserId} | 465 | + where 1=1 and task.anomaly>1 and task.company_id=?` |
| 466 | + condition := []interface{}{param.UserId, param.CompanyId} | ||
| 506 | whereSql := `` | 467 | whereSql := `` |
| 507 | if param.OnlyMy { | 468 | if param.OnlyMy { |
| 508 | condition = append(condition, param.UserId) | 469 | condition = append(condition, param.UserId) |
| 509 | whereSql += ` and task.leader ->>'id' = '?' ` | 470 | whereSql += ` and task.leader ->>'id' = '?' ` |
| 510 | - } else if param.LeaderId != "" { | ||
| 511 | - condition = append(condition, param.LeaderId) | ||
| 512 | - whereSql += ` and task.leader ->>'id' = ? ` | ||
| 513 | - } | ||
| 514 | - if len(param.TaskName) > 0 { | ||
| 515 | - condition = append(condition, param.TaskName) | ||
| 516 | - whereSql += ` and task.name like ? ` | ||
| 517 | } | 471 | } |
| 518 | - if len(param.LevelName) > 0 { | ||
| 519 | - condition = append(condition, param.LevelName) | ||
| 520 | - whereSql += ` and task.level_name like ? ` | 472 | + if param.SearchWord != "" { |
| 473 | + condition = append(condition, param.SearchWord, param.SearchWord) | ||
| 474 | + whereSql += ` and (task.leader->>'name' like ? or task.alias like ?)` | ||
| 521 | } | 475 | } |
| 522 | sqlStr := withSql + whereSql | 476 | sqlStr := withSql + whereSql |
| 523 | tx := d.transactionContext.PgTx | 477 | tx := d.transactionContext.PgTx |
| @@ -525,3 +479,47 @@ func (d *TaskDao) CountTaskAnomalyByHrbp(param ListTaskCondition) (int, error) { | @@ -525,3 +479,47 @@ func (d *TaskDao) CountTaskAnomalyByHrbp(param ListTaskCondition) (int, error) { | ||
| 525 | _, err := tx.QueryOne(pg.Scan(&cnt), sqlStr, condition...) | 479 | _, err := tx.QueryOne(pg.Scan(&cnt), sqlStr, condition...) |
| 526 | return cnt, err | 480 | return cnt, err |
| 527 | } | 481 | } |
| 482 | + | ||
| 483 | +// 任务数据 | ||
| 484 | +type TaskData1 struct { | ||
| 485 | + Name string `pg:"name"` | ||
| 486 | + Alias string `pg:"alias"` | ||
| 487 | + LeaderId string `pg:"leader_id"` | ||
| 488 | + LeaderName string `pg:"leader_name"` | ||
| 489 | + LevelName string `pg:"level_name"` | ||
| 490 | +} | ||
| 491 | + | ||
| 492 | +// 获取任务列表 | ||
| 493 | +func (d *TaskDao) ListTask2(userId int) ([]TaskData1, error) { | ||
| 494 | + task1 := d.catchTaskIdByPermission(userId) | ||
| 495 | + sqlStr := task1 + ` select task."name" ,task.alias , | ||
| 496 | + task.leader ->>'id' as leader_id, | ||
| 497 | + task.leader ->>'name' as leader_name, | ||
| 498 | + task.level_name | ||
| 499 | + from task | ||
| 500 | + join t_task_1 on task.id =t_task_1.id | ||
| 501 | + ` | ||
| 502 | + result := []TaskData1{} | ||
| 503 | + tx := d.transactionContext.PgTx | ||
| 504 | + _, err := tx.Query(&result, sqlStr) | ||
| 505 | + return result, err | ||
| 506 | +} | ||
| 507 | + | ||
| 508 | +// 获取任务列表 | ||
| 509 | +func (d *TaskDao) ListTask2ForHrbp(userId int, companyId int) ([]TaskData1, error) { | ||
| 510 | + sqlStr := `with | ||
| 511 | + t_task_ignore as ( | ||
| 512 | + select task_ignore.task_id,task_ignore.id from task_ignore where task_ignore.user_id =? | ||
| 513 | + )select task."name" ,task.alias , | ||
| 514 | + task.leader ->>'id' as leader_id, | ||
| 515 | + task.leader ->>'name' as leader_name, | ||
| 516 | + task.level_name | ||
| 517 | + from task | ||
| 518 | + left join t_task_ignore on t_task_ignore.task_id=task.id | ||
| 519 | + where 1=1 and task.company_id=? ` | ||
| 520 | + result := []TaskData1{} | ||
| 521 | + tx := d.transactionContext.PgTx | ||
| 522 | + _, err := tx.Query(&result, sqlStr, userId, companyId) | ||
| 523 | + return result, err | ||
| 524 | + | ||
| 525 | +} |
| @@ -9,20 +9,20 @@ import ( | @@ -9,20 +9,20 @@ import ( | ||
| 9 | // 任务 | 9 | // 任务 |
| 10 | type Task struct { | 10 | type Task struct { |
| 11 | tableName struct{} `comment:"任务" pg:"task"` | 11 | tableName struct{} `comment:"任务" pg:"task"` |
| 12 | - Id int `pg:"id,pk"` // | ||
| 13 | - CreatedAt time.Time `pg:"created_at"` // | ||
| 14 | - UpdatedAt time.Time `pg:"updated_at"` // | ||
| 15 | - DeletedAt *time.Time `pg:"deleted_at"` // | ||
| 16 | - Name string `pg:"name"` // 任务名称 | ||
| 17 | - Alias string `pg:"alias"` // | ||
| 18 | - CompanyId int `pg:"company_id"` // | ||
| 19 | - Leader domain.TaskLeader `pg:"leader"` // 任务负责人 | ||
| 20 | - Status int `pg:"status"` // 任务的状态 | ||
| 21 | - Level int `pg:"level"` // 优先级,值越小优先级越高 | ||
| 22 | - LevelName string `pg:"level_name"` // 优先级名称 | ||
| 23 | - RelatedUser []int `pg:"related_user"` // | ||
| 24 | - RunAt int64 `pg:"run_at"` // 启动的时间 | ||
| 25 | - StopAt int64 `pg:"stop_at"` // 停止的时间 | ||
| 26 | - Anomaly int `pg:"anomaly"` // 异常反馈的数量 | ||
| 27 | - WarnFlag int `pg:"warn_flag"` // 里程碑异常标记 | 12 | + Id int `pg:"id,pk"` // |
| 13 | + CreatedAt time.Time `pg:"created_at"` // | ||
| 14 | + UpdatedAt time.Time `pg:"updated_at"` // | ||
| 15 | + DeletedAt *time.Time `pg:"deleted_at"` // | ||
| 16 | + Name string `pg:"name"` // 任务名称 | ||
| 17 | + Alias string `pg:"alias"` // | ||
| 18 | + CompanyId int `pg:"company_id"` // | ||
| 19 | + Leader domain.TaskLeader `pg:"leader"` // 任务负责人 | ||
| 20 | + Status int `pg:"status,use_zero"` // 任务的状态 | ||
| 21 | + Level int `pg:"level,use_zero"` // 优先级,值越小优先级越高 | ||
| 22 | + LevelName string `pg:"level_name"` // 优先级名称 | ||
| 23 | + RelatedUser []int `pg:"related_user"` // | ||
| 24 | + RunAt int64 `pg:"run_at,use_zero"` // 启动的时间 | ||
| 25 | + StopAt int64 `pg:"stop_at,use_zero" ` // 停止的时间 | ||
| 26 | + Anomaly int `pg:"anomaly,use_zero"` // 异常反馈的数量 | ||
| 27 | + WarnFlag int `pg:"warn_flag,use_zero"` // 里程碑异常标记 | ||
| 28 | } | 28 | } |
| @@ -172,3 +172,20 @@ func (c *TaskController) DeleteTask() { | @@ -172,3 +172,20 @@ func (c *TaskController) DeleteTask() { | ||
| 172 | data, err := srv.DeleteTaskInfo(paramReq) | 172 | data, err := srv.DeleteTaskInfo(paramReq) |
| 173 | c.Response(data, err) | 173 | c.Response(data, err) |
| 174 | } | 174 | } |
| 175 | + | ||
| 176 | +// SelectCondition 员工绩效-任务管理-任务列表-筛选条件 | ||
| 177 | +func (c *TaskController) SelectCondition() { | ||
| 178 | + srv := service.NewTaskService() | ||
| 179 | + paramReq := &command.GetSelcetCommand{} | ||
| 180 | + err := c.BindJSON(paramReq) | ||
| 181 | + if err != nil { | ||
| 182 | + e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error()) | ||
| 183 | + c.Response(nil, e) | ||
| 184 | + return | ||
| 185 | + } | ||
| 186 | + userReq := middlewares.GetUser(c.Ctx) | ||
| 187 | + paramReq.CompanyId = int(userReq.CompanyId) | ||
| 188 | + paramReq.UserId = int(userReq.UserId) | ||
| 189 | + data, err := srv.ConditionForListTask2(paramReq) | ||
| 190 | + c.Response(data, err) | ||
| 191 | +} |
| @@ -24,6 +24,7 @@ func init() { | @@ -24,6 +24,7 @@ func init() { | ||
| 24 | web.NSBefore(filters.AllowCors(), middlewares.CheckFontToken()), | 24 | web.NSBefore(filters.AllowCors(), middlewares.CheckFontToken()), |
| 25 | web.NSCtrlPost("/attention/cancel", (*controllers.TaskController).CancelAttention), | 25 | web.NSCtrlPost("/attention/cancel", (*controllers.TaskController).CancelAttention), |
| 26 | web.NSCtrlPost("/list", (*controllers.TaskController).ListTask2), | 26 | web.NSCtrlPost("/list", (*controllers.TaskController).ListTask2), |
| 27 | + web.NSCtrlPost("/list/select", (*controllers.TaskController).SelectCondition), | ||
| 27 | web.NSCtrlPost("/task_record/list", (*controllers.TaskController).ListTaskRecord), | 28 | web.NSCtrlPost("/task_record/list", (*controllers.TaskController).ListTaskRecord), |
| 28 | web.NSCtrlPost("/info", (*controllers.TaskController).GetTaskInfo), | 29 | web.NSCtrlPost("/info", (*controllers.TaskController).GetTaskInfo), |
| 29 | ) | 30 | ) |
-
请 注册 或 登录 后发表评论