作者 tangxvhui

暂存

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 }