正在显示
8 个修改的文件
包含
76 行增加
和
92 行删除
| 1 | package adapter | 1 | package adapter |
| 2 | 2 | ||
| 3 | type TaskAnomalyItem struct { | 3 | type TaskAnomalyItem struct { |
| 4 | - Id int `json:"id"` | ||
| 5 | - TaskId int `json:"taskId,string"` // 任务id | ||
| 6 | - Category int `json:"category"` // 异常分类 | ||
| 7 | - Leader string `json:"leader"` // 任务负责人 | ||
| 8 | - CurrentStage TaskStage `json:"currentStage"` // 计划进度的里程碑 | ||
| 9 | - LastStage TaskStage `json:"lastStage"` // 实际进度完成的里程碑 | ||
| 10 | - TaskStageCheck TaskStage `json:"taskStageCheck"` | ||
| 11 | - AssessFlag int `json:"anomaly"` // 异常反馈的次数 | ||
| 12 | - WarnFlag int `json:"warnFlag"` // 里程碑异常次数 | ||
| 13 | - AssistFlag int `json:"assistFlag"` // 辅导异常次数 | ||
| 14 | - TaskLevel string `json:"taskLevel"` // 任务类型 | ||
| 15 | - TaskName string `json:"taskName"` // 任务名称 | ||
| 16 | - TaskAlias string `json:"taskAlias"` // 任务别名 | ||
| 17 | - TaskEndTime int64 `json:"taskEndTime"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间 | ||
| 18 | - TaskSortBy int `json:"taskSortBy"` // 优先级排序;值越小优先级越高 | ||
| 19 | - RecordBegin int64 `json:"recordBegin"` // | ||
| 20 | - MarkA string `json:"markA"` // 去更新 | ||
| 21 | - MarkB string `json:"markB"` // 去反馈 | ||
| 22 | - MarkC string `json:"markC"` // 去求助 | ||
| 23 | - MarkD string `json:"markD"` // 去辅导 | ||
| 24 | - AnomalyDesc string `json:"anomalyDesc"` // 异常状况描述 | 4 | + Id int `json:"id,string"` |
| 5 | + TaskId int `json:"taskId,string"` // 任务id | ||
| 6 | + TaskRecordId int `json:"taskRecordId,string"` // 任务反馈记录id | ||
| 7 | + Category int `json:"category"` // 异常分类 | ||
| 8 | + Leader string `json:"leader"` // 任务负责人 | ||
| 9 | + CurrentStage TaskStage `json:"currentStage"` // 计划进度的里程碑 | ||
| 10 | + LastStage TaskStage `json:"lastStage"` // 实际进度完成的里程碑 | ||
| 11 | + TaskStageCheck TaskStage `json:"taskStageCheck"` // 实际进度完成的里程碑 | ||
| 12 | + AssessFlag int `json:"assessFlag"` // 异常反馈的次数 | ||
| 13 | + WarnFlag int `json:"warnFlag"` // 里程碑异常次数 | ||
| 14 | + AssistFlag int `json:"assistFlag"` // 辅导异常次数 | ||
| 15 | + TaskLevel string `json:"taskLevel"` // 任务类型 | ||
| 16 | + TaskName string `json:"taskName"` // 任务名称 | ||
| 17 | + TaskAlias string `json:"taskAlias"` // 任务别名 | ||
| 18 | + TaskEndTime int64 `json:"taskEndTime"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间 | ||
| 19 | + TaskSortBy int `json:"taskSortBy"` // 优先级排序;值越小优先级越高 | ||
| 20 | + RecordBegin int64 `json:"recordBegin"` // | ||
| 21 | + MarkA string `json:"markA"` // 去更新 | ||
| 22 | + MarkB string `json:"markB"` // 去反馈 | ||
| 23 | + MarkC string `json:"markC"` // 去求助 | ||
| 24 | + MarkD string `json:"markD"` // 去辅导 | ||
| 25 | + AnomalyDesc string `json:"anomalyDesc"` // 异常状况描述 | ||
| 25 | } | 26 | } |
| 26 | - | ||
| 27 | -// func (t *TaskAnomalyItem) GenAnomalyDesc() { | ||
| 28 | -// nowTime := time.Now() | ||
| 29 | -// var str string | ||
| 30 | -// switch t.Category { | ||
| 31 | -// case 1: | ||
| 32 | -// //里程碑异常 | ||
| 33 | -// { | ||
| 34 | -// if t.TaskStageCheck.RealCompletedAt == 0 { | ||
| 35 | -// //逾期未完成 | ||
| 36 | -// planCompletedAt := time.Unix(t.TaskStageCheck.PlanCompletedAt, 0) | ||
| 37 | -// subDay := xtime.SubDayAbs(nowTime, planCompletedAt) | ||
| 38 | -// str = fmt.Sprintf("里程碑%s已逾期%d天", t.TaskStageCheck.Name, subDay) | ||
| 39 | -// } else { | ||
| 40 | -// //逾期完成 | ||
| 41 | -// planCompletedAt := time.Unix(t.TaskStageCheck.PlanCompletedAt, 0) | ||
| 42 | -// realCompletedAt := time.Unix(t.TaskStageCheck.RealCompletedAt, 0) | ||
| 43 | -// subDay := xtime.SubDayAbs(realCompletedAt, planCompletedAt) | ||
| 44 | -// str = fmt.Sprintf("里程碑%s逾期%d天完成", t.TaskStageCheck.Name, subDay) | ||
| 45 | - | ||
| 46 | -// } | ||
| 47 | -// } | ||
| 48 | -// case 2: | ||
| 49 | -// //反馈异常 | ||
| 50 | -// { | ||
| 51 | -// recordBegin := time.Unix(t.RecordBegin, 0) | ||
| 52 | -// subDay := xtime.SubDayAbs(nowTime, recordBegin) | ||
| 53 | -// str = fmt.Sprintf( | ||
| 54 | -// "本任务自%s未正常反馈项目进度,已异常%d天", | ||
| 55 | -// recordBegin.Local().Format("2006-01-02"), | ||
| 56 | -// subDay, | ||
| 57 | -// ) | ||
| 58 | - | ||
| 59 | -// } | ||
| 60 | -// case 3: | ||
| 61 | -// // 辅导异常 | ||
| 62 | -// { | ||
| 63 | -// recordBegin := time.Unix(t.RecordBegin, 0) | ||
| 64 | -// subDay := xtime.SubDayAbs(nowTime, recordBegin) | ||
| 65 | -// str = fmt.Sprintf( | ||
| 66 | -// "本任务计划于%s完成辅导,已逾期%d天", | ||
| 67 | -// recordBegin.Local().Format("2006-01-02"), | ||
| 68 | -// subDay, | ||
| 69 | -// ) | ||
| 70 | - | ||
| 71 | -// } | ||
| 72 | -// } | ||
| 73 | -// } |
| 1 | package command | 1 | package command |
| 2 | 2 | ||
| 3 | type ListTaskAnomalyCommand struct { | 3 | type ListTaskAnomalyCommand struct { |
| 4 | - PageNumber int `json:"pageNumber"` | ||
| 5 | - PageSize int `json:"pageSize"` | ||
| 6 | - UserId int `json:"-"` | ||
| 7 | - CompanyId int `json:"-"` | ||
| 8 | - TaskName string `json:"taskName"` | ||
| 9 | - DayTime string `json:"dayTime"` //发生异常的日期 | ||
| 10 | - Category int `json:"category"` //异常分类 | ||
| 11 | - TaskLeaderId string `json:"taskLeaderId"` //任务负责人id | 4 | + PageNumber int `json:"pageNumber"` |
| 5 | + PageSize int `json:"pageSize"` | ||
| 6 | + UserId int `json:"-"` | ||
| 7 | + CompanyId int `json:"-"` | ||
| 8 | + TaskName string `json:"taskName"` | ||
| 9 | + DayTime string `json:"dayTime"` //发生异常的日期 | ||
| 10 | + Category int `json:"category"` //异常分类 | ||
| 11 | + leaderId string `json:"leaderId"` //任务负责人id | ||
| 12 | } | 12 | } |
| @@ -16,7 +16,7 @@ import ( | @@ -16,7 +16,7 @@ import ( | ||
| 16 | // 异常中心查看 | 16 | // 异常中心查看 |
| 17 | 17 | ||
| 18 | // 我负责的任务,异常列表 | 18 | // 我负责的任务,异常列表 |
| 19 | -func (srv TaskService) ListTaskAnomaly1(param command.ListTaskAnomalyCommand) (map[string]interface{}, error) { | 19 | +func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) (map[string]interface{}, error) { |
| 20 | transactionContext, err := factory.CreateTransactionContext(nil) | 20 | transactionContext, err := factory.CreateTransactionContext(nil) |
| 21 | if err != nil { | 21 | if err != nil { |
| 22 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 22 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
| @@ -45,10 +45,11 @@ func (srv TaskService) ListTaskAnomaly1(param command.ListTaskAnomalyCommand) (m | @@ -45,10 +45,11 @@ func (srv TaskService) ListTaskAnomaly1(param command.ListTaskAnomalyCommand) (m | ||
| 45 | nowTime := time.Now() | 45 | nowTime := time.Now() |
| 46 | for _, val := range anomalyList { | 46 | for _, val := range anomalyList { |
| 47 | item := adapter.TaskAnomalyItem{ | 47 | item := adapter.TaskAnomalyItem{ |
| 48 | - Id: val.Id, | ||
| 49 | - TaskId: val.TaskId, | ||
| 50 | - Category: val.Category, | ||
| 51 | - Leader: val.LeaderName, | 48 | + Id: val.Id, |
| 49 | + TaskId: val.TaskId, | ||
| 50 | + TaskRecordId: val.TaskRecordId, | ||
| 51 | + Category: val.Category, | ||
| 52 | + Leader: val.LeaderName, | ||
| 52 | CurrentStage: adapter.TaskStage{ | 53 | CurrentStage: adapter.TaskStage{ |
| 53 | Id: val.CurrentStage.Id, | 54 | Id: val.CurrentStage.Id, |
| 54 | Name: val.CurrentStage.Name, | 55 | Name: val.CurrentStage.Name, |
| @@ -85,9 +86,6 @@ func (srv TaskService) ListTaskAnomaly1(param command.ListTaskAnomalyCommand) (m | @@ -85,9 +86,6 @@ func (srv TaskService) ListTaskAnomaly1(param command.ListTaskAnomalyCommand) (m | ||
| 85 | item.MarkC = val.Marks["c"] | 86 | item.MarkC = val.Marks["c"] |
| 86 | item.MarkD = val.Marks["d"] | 87 | item.MarkD = val.Marks["d"] |
| 87 | } | 88 | } |
| 88 | - if val.TaskStageCheck.RealCompletedAt > 0 { | ||
| 89 | - item.TaskStageCheck.RealCompletedAt = time.Unix(val.TaskStageCheck.RealCompletedAt, 0).Local().Format("2006-01-02") | ||
| 90 | - } | ||
| 91 | if val.CurrentStage.RealCompletedAt > 0 { | 89 | if val.CurrentStage.RealCompletedAt > 0 { |
| 92 | item.CurrentStage.RealCompletedAt = time.Unix(val.CurrentStage.RealCompletedAt, 0).Local().Format("2006-01-02") | 90 | item.CurrentStage.RealCompletedAt = time.Unix(val.CurrentStage.RealCompletedAt, 0).Local().Format("2006-01-02") |
| 93 | } | 91 | } |
| @@ -98,12 +96,12 @@ func (srv TaskService) ListTaskAnomaly1(param command.ListTaskAnomalyCommand) (m | @@ -98,12 +96,12 @@ func (srv TaskService) ListTaskAnomaly1(param command.ListTaskAnomalyCommand) (m | ||
| 98 | case 1: | 96 | case 1: |
| 99 | { | 97 | { |
| 100 | //里程碑异常 | 98 | //里程碑异常 |
| 101 | - if val.TaskStageCheck.RealCompletedAt == 0 { | 99 | + if val.TaskStageCheck.RealCompletedAt == 0 && val.TaskStageCheck.Id > 0 { |
| 102 | //逾期未完成 | 100 | //逾期未完成 |
| 103 | planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0) | 101 | planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0) |
| 104 | subDay := xtime.SubDayAbs(nowTime, planCompletedAt) | 102 | subDay := xtime.SubDayAbs(nowTime, planCompletedAt) |
| 105 | item.AnomalyDesc = fmt.Sprintf("里程碑%s已逾期%d天", val.TaskStageCheck.Name, subDay) | 103 | item.AnomalyDesc = fmt.Sprintf("里程碑%s已逾期%d天", val.TaskStageCheck.Name, subDay) |
| 106 | - } else { | 104 | + } else if val.TaskStageCheck.RealCompletedAt > 0 && val.TaskStageCheck.Id > 0 { |
| 107 | //逾期完成 | 105 | //逾期完成 |
| 108 | planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0) | 106 | planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0) |
| 109 | realCompletedAt := time.Unix(val.TaskStageCheck.RealCompletedAt, 0) | 107 | realCompletedAt := time.Unix(val.TaskStageCheck.RealCompletedAt, 0) |
| @@ -143,10 +141,16 @@ func (srv TaskService) ListTaskAnomaly1(param command.ListTaskAnomalyCommand) (m | @@ -143,10 +141,16 @@ func (srv TaskService) ListTaskAnomaly1(param command.ListTaskAnomalyCommand) (m | ||
| 143 | } | 141 | } |
| 144 | 142 | ||
| 145 | // 我的下级负责任务,异常列表 | 143 | // 我的下级负责任务,异常列表 |
| 146 | -func (srv TaskService) ListTaskAnomaly2() {} | 144 | +func (srv TaskService) ListTaskAnomaly2() error { |
| 145 | + return nil | ||
| 146 | +} | ||
| 147 | 147 | ||
| 148 | // 与我有关的任务,异常列表 | 148 | // 与我有关的任务,异常列表 |
| 149 | -func (srv TaskService) ListTaskAnomaly3() {} | 149 | +func (srv TaskService) ListTaskAnomaly3() error { |
| 150 | + return nil | ||
| 151 | +} | ||
| 150 | 152 | ||
| 151 | // 对异常记录的操作标记 | 153 | // 对异常记录的操作标记 |
| 152 | -func (srv TaskService) MarkTaskAnomaly() {} | 154 | +func (srv TaskService) MarkTaskAnomaly() error { |
| 155 | + return nil | ||
| 156 | +} |
| @@ -30,7 +30,10 @@ type TaskStageRepository interface { | @@ -30,7 +30,10 @@ type TaskStageRepository interface { | ||
| 30 | } | 30 | } |
| 31 | 31 | ||
| 32 | // 描述里程碑完成情况 | 32 | // 描述里程碑完成情况 |
| 33 | -func (t TaskStage) StatusDescription() string { | 33 | +func (t *TaskStage) StatusDescription() string { |
| 34 | + if t.Id == 0 { | ||
| 35 | + return "" | ||
| 36 | + } | ||
| 34 | nowDay := time.Now().Format("2006-01-02") | 37 | nowDay := time.Now().Format("2006-01-02") |
| 35 | nowTime, _ := time.ParseInLocation("2006-01-02", nowDay, time.Local) | 38 | nowTime, _ := time.ParseInLocation("2006-01-02", nowDay, time.Local) |
| 36 | 39 |
| @@ -9,7 +9,7 @@ import ( | @@ -9,7 +9,7 @@ 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: 3422185340122624, | 12 | + UserId: 3422174102828544, |
| 13 | Phone: "13066667710", | 13 | Phone: "13066667710", |
| 14 | PlatformId: 29, | 14 | PlatformId: 29, |
| 15 | AdminType: 1, | 15 | AdminType: 1, |
| @@ -26,6 +26,7 @@ func NewTaskAnomalyDao(options map[string]interface{}) *TaskAnomalyDao { | @@ -26,6 +26,7 @@ func NewTaskAnomalyDao(options map[string]interface{}) *TaskAnomalyDao { | ||
| 26 | type ListTaskAnomaly struct { | 26 | type ListTaskAnomaly struct { |
| 27 | Id int `pg:"id"` | 27 | Id int `pg:"id"` |
| 28 | TaskId int `pg:"task_id"` | 28 | TaskId int `pg:"task_id"` |
| 29 | + TaskRecordId int `pg:"task_record_id"` | ||
| 29 | Category int `pg:"category"` | 30 | Category int `pg:"category"` |
| 30 | CurrentStage domain.TaskStage `pg:"current_stage"` // 计划执行的里程碑 | 31 | CurrentStage domain.TaskStage `pg:"current_stage"` // 计划执行的里程碑 |
| 31 | LastStage domain.TaskStage `pg:"last_stage"` // 上一个完成的里程碑 | 32 | LastStage domain.TaskStage `pg:"last_stage"` // 上一个完成的里程碑 |
| @@ -58,6 +59,7 @@ func (d *TaskAnomalyDao) List1(userId int, companyId int, taskName string, categ | @@ -58,6 +59,7 @@ func (d *TaskAnomalyDao) List1(userId int, companyId int, taskName string, categ | ||
| 58 | )select | 59 | )select |
| 59 | task_anomaly.id, | 60 | task_anomaly.id, |
| 60 | task_anomaly.task_id, | 61 | task_anomaly.task_id, |
| 62 | + task_anomaly.task_record_id, | ||
| 61 | task_anomaly.category, | 63 | task_anomaly.category, |
| 62 | task_anomaly.current_stage, | 64 | task_anomaly.current_stage, |
| 63 | task_anomaly.last_stage, | 65 | task_anomaly.last_stage, |
| @@ -148,6 +150,7 @@ func (d *TaskAnomalyDao) List3(userId int, companyId int, taskName string, categ | @@ -148,6 +150,7 @@ func (d *TaskAnomalyDao) List3(userId int, companyId int, taskName string, categ | ||
| 148 | )select | 150 | )select |
| 149 | task_anomaly.id, | 151 | task_anomaly.id, |
| 150 | task_anomaly.task_id, | 152 | task_anomaly.task_id, |
| 153 | + task_anomaly.task_record_id, | ||
| 151 | task_anomaly.category, | 154 | task_anomaly.category, |
| 152 | task_anomaly.current_stage, | 155 | task_anomaly.current_stage, |
| 153 | task_anomaly.last_stage, | 156 | task_anomaly.last_stage, |
| @@ -250,3 +250,19 @@ func (c *TaskController) CancelIgnore() { | @@ -250,3 +250,19 @@ func (c *TaskController) CancelIgnore() { | ||
| 250 | c.Response(nil, err) | 250 | c.Response(nil, err) |
| 251 | 251 | ||
| 252 | } | 252 | } |
| 253 | + | ||
| 254 | +func (c *TaskController) TaskAnomalyList1() { | ||
| 255 | + srv := service.NewTaskService() | ||
| 256 | + paramReq := &command.ListTaskAnomalyCommand{} | ||
| 257 | + err := c.BindJSON(paramReq) | ||
| 258 | + if err != nil { | ||
| 259 | + e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error()) | ||
| 260 | + c.Response(nil, e) | ||
| 261 | + return | ||
| 262 | + } | ||
| 263 | + userReq := middlewares.GetUser(c.Ctx) | ||
| 264 | + paramReq.CompanyId = int(userReq.CompanyId) | ||
| 265 | + paramReq.UserId = int(userReq.UserId) | ||
| 266 | + resp, err := srv.ListTaskAnomaly1(paramReq) | ||
| 267 | + c.Response(resp, err) | ||
| 268 | +} |
| @@ -34,4 +34,9 @@ func init() { | @@ -34,4 +34,9 @@ func init() { | ||
| 34 | web.NSCtrlPost("/ignore/cancel", (*controllers.TaskController).CancelIgnore), | 34 | web.NSCtrlPost("/ignore/cancel", (*controllers.TaskController).CancelIgnore), |
| 35 | ) | 35 | ) |
| 36 | web.AddNamespace(taskFontNS) | 36 | web.AddNamespace(taskFontNS) |
| 37 | + taskAnomalyNS := web.NewNamespace("/v1/font", | ||
| 38 | + web.NSBefore(filters.AllowCors(), middlewares.CheckFontToken()), | ||
| 39 | + web.NSCtrlPost("/task_anomaly/my_task", (*controllers.TaskController).TaskAnomalyList1), | ||
| 40 | + ) | ||
| 41 | + web.AddNamespace(taskAnomalyNS) | ||
| 37 | } | 42 | } |
-
请 注册 或 登录 后发表评论