作者 tangxvhui

暂存

1 package adapter 1 package adapter
2 2
3 type TaskAnomalyItem struct { 3 type TaskAnomalyItem struct {
4 - Id int `json:"id"` 4 + Id int `json:"id,string"`
5 TaskId int `json:"taskId,string"` // 任务id 5 TaskId int `json:"taskId,string"` // 任务id
  6 + TaskRecordId int `json:"taskRecordId,string"` // 任务反馈记录id
6 Category int `json:"category"` // 异常分类 7 Category int `json:"category"` // 异常分类
7 Leader string `json:"leader"` // 任务负责人 8 Leader string `json:"leader"` // 任务负责人
8 CurrentStage TaskStage `json:"currentStage"` // 计划进度的里程碑 9 CurrentStage TaskStage `json:"currentStage"` // 计划进度的里程碑
9 LastStage TaskStage `json:"lastStage"` // 实际进度完成的里程碑 10 LastStage TaskStage `json:"lastStage"` // 实际进度完成的里程碑
10 - TaskStageCheck TaskStage `json:"taskStageCheck"`  
11 - AssessFlag int `json:"anomaly"` // 异常反馈的次数 11 + TaskStageCheck TaskStage `json:"taskStageCheck"` // 实际进度完成的里程碑
  12 + AssessFlag int `json:"assessFlag"` // 异常反馈的次数
12 WarnFlag int `json:"warnFlag"` // 里程碑异常次数 13 WarnFlag int `json:"warnFlag"` // 里程碑异常次数
13 AssistFlag int `json:"assistFlag"` // 辅导异常次数 14 AssistFlag int `json:"assistFlag"` // 辅导异常次数
14 TaskLevel string `json:"taskLevel"` // 任务类型 15 TaskLevel string `json:"taskLevel"` // 任务类型
@@ -23,51 +24,3 @@ type TaskAnomalyItem struct { @@ -23,51 +24,3 @@ type TaskAnomalyItem struct {
23 MarkD string `json:"markD"` // 去辅导 24 MarkD string `json:"markD"` // 去辅导
24 AnomalyDesc string `json:"anomalyDesc"` // 异常状况描述 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 -// }  
@@ -8,5 +8,5 @@ type ListTaskAnomalyCommand struct { @@ -8,5 +8,5 @@ type ListTaskAnomalyCommand struct {
8 TaskName string `json:"taskName"` 8 TaskName string `json:"taskName"`
9 DayTime string `json:"dayTime"` //发生异常的日期 9 DayTime string `json:"dayTime"` //发生异常的日期
10 Category int `json:"category"` //异常分类 10 Category int `json:"category"` //异常分类
11 - TaskLeaderId string `json:"taskLeaderId"` //任务负责人id 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())
@@ -47,6 +47,7 @@ func (srv TaskService) ListTaskAnomaly1(param command.ListTaskAnomalyCommand) (m @@ -47,6 +47,7 @@ func (srv TaskService) ListTaskAnomaly1(param command.ListTaskAnomalyCommand) (m
47 item := adapter.TaskAnomalyItem{ 47 item := adapter.TaskAnomalyItem{
48 Id: val.Id, 48 Id: val.Id,
49 TaskId: val.TaskId, 49 TaskId: val.TaskId,
  50 + TaskRecordId: val.TaskRecordId,
50 Category: val.Category, 51 Category: val.Category,
51 Leader: val.LeaderName, 52 Leader: val.LeaderName,
52 CurrentStage: adapter.TaskStage{ 53 CurrentStage: adapter.TaskStage{
@@ -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 }