作者 tangxvhui

日常保存

@@ -7,6 +7,7 @@ type TaskAnomalyItem struct { @@ -7,6 +7,7 @@ type TaskAnomalyItem struct {
7 TaskRecordId int `json:"taskRecordId,string"` // 任务反馈记录id 7 TaskRecordId int `json:"taskRecordId,string"` // 任务反馈记录id
8 Category int `json:"category"` // 异常分类 8 Category int `json:"category"` // 异常分类
9 Leader string `json:"leader"` // 任务负责人 9 Leader string `json:"leader"` // 任务负责人
  10 + LeaderId string `json:"leaderId"` // 任务负责人
10 CurrentStage TaskStage `json:"currentStage"` // 计划进度的里程碑 11 CurrentStage TaskStage `json:"currentStage"` // 计划进度的里程碑
11 LastStage TaskStage `json:"lastStage"` // 实际进度完成的里程碑 12 LastStage TaskStage `json:"lastStage"` // 实际进度完成的里程碑
12 TaskStageCheck TaskStage `json:"taskStageCheck"` // 实际进度完成的里程碑 13 TaskStageCheck TaskStage `json:"taskStageCheck"` // 实际进度完成的里程碑
@@ -30,6 +31,6 @@ type TaskAnomalyItem struct { @@ -30,6 +31,6 @@ type TaskAnomalyItem struct {
30 31
31 // 任务异常记录列表 ,按照任务负责人进行归类 32 // 任务异常记录列表 ,按照任务负责人进行归类
32 type TaskAnomalyItem2 struct { 33 type TaskAnomalyItem2 struct {
33 - Leader map[string]string  
34 - TaskAnomaly []TaskAnomalyItem 34 + Leader map[string]string `json:"leader"`
  35 + TaskAnomaly []TaskAnomalyItem `json:"taskAnomaly"`
35 } 36 }
@@ -3,6 +3,7 @@ package service @@ -3,6 +3,7 @@ package service
3 import ( 3 import (
4 "fmt" 4 "fmt"
5 "strconv" 5 "strconv"
  6 + "strings"
6 "time" 7 "time"
7 8
8 "github.com/linmadan/egglib-go/core/application" 9 "github.com/linmadan/egglib-go/core/application"
@@ -55,6 +56,7 @@ func (srv TaskService) listTaskAnomaly2(param *command.ListTaskAnomalyCommand) ( @@ -55,6 +56,7 @@ func (srv TaskService) listTaskAnomaly2(param *command.ListTaskAnomalyCommand) (
55 TaskRecordId: val.TaskRecordId, 56 TaskRecordId: val.TaskRecordId,
56 Category: val.Category, 57 Category: val.Category,
57 Leader: val.LeaderName, 58 Leader: val.LeaderName,
  59 + LeaderId: val.LeaderId,
58 CurrentStage: adapter.TaskStage{ 60 CurrentStage: adapter.TaskStage{
59 Id: val.CurrentStage.Id, 61 Id: val.CurrentStage.Id,
60 Name: val.CurrentStage.Name, 62 Name: val.CurrentStage.Name,
@@ -98,6 +100,12 @@ func (srv TaskService) listTaskAnomaly2(param *command.ListTaskAnomalyCommand) ( @@ -98,6 +100,12 @@ func (srv TaskService) listTaskAnomaly2(param *command.ListTaskAnomalyCommand) (
98 if val.LastStage.RealCompletedAt > 0 { 100 if val.LastStage.RealCompletedAt > 0 {
99 item.LastStage.RealCompletedAt = time.Unix(val.LastStage.RealCompletedAt, 0).Local().Format("2006-01-02") 101 item.LastStage.RealCompletedAt = time.Unix(val.LastStage.RealCompletedAt, 0).Local().Format("2006-01-02")
100 } 102 }
  103 + noticeWho := []string{}
  104 + for _, val2 := range val.NoticeWho {
  105 + if name, ok := val2["name"]; ok {
  106 + noticeWho = append(noticeWho, name)
  107 + }
  108 + }
101 switch val.Category { 109 switch val.Category {
102 case 1: 110 case 1:
103 { 111 {
@@ -111,6 +119,7 @@ func (srv TaskService) listTaskAnomaly2(param *command.ListTaskAnomalyCommand) ( @@ -111,6 +119,7 @@ func (srv TaskService) listTaskAnomaly2(param *command.ListTaskAnomalyCommand) (
111 "types": "10", 119 "types": "10",
112 "stageName": val.TaskStageCheck.Name, 120 "stageName": val.TaskStageCheck.Name,
113 "interval": strconv.Itoa(subDay), 121 "interval": strconv.Itoa(subDay),
  122 + "noticeWho": strings.Join(noticeWho, ","),
114 } 123 }
115 124
116 } else if val.TaskStageCheck.RealCompletedAt > 0 && val.TaskStageCheck.Id > 0 { 125 } else if val.TaskStageCheck.RealCompletedAt > 0 && val.TaskStageCheck.Id > 0 {
@@ -123,6 +132,7 @@ func (srv TaskService) listTaskAnomaly2(param *command.ListTaskAnomalyCommand) ( @@ -123,6 +132,7 @@ func (srv TaskService) listTaskAnomaly2(param *command.ListTaskAnomalyCommand) (
123 "types": "11", 132 "types": "11",
124 "stageName": val.TaskStageCheck.Name, 133 "stageName": val.TaskStageCheck.Name,
125 "interval": strconv.Itoa(subDay), 134 "interval": strconv.Itoa(subDay),
  135 + "noticeWho": strings.Join(noticeWho, ","),
126 } 136 }
127 } 137 }
128 } 138 }
@@ -140,6 +150,7 @@ func (srv TaskService) listTaskAnomaly2(param *command.ListTaskAnomalyCommand) ( @@ -140,6 +150,7 @@ func (srv TaskService) listTaskAnomaly2(param *command.ListTaskAnomalyCommand) (
140 "types": "2", 150 "types": "2",
141 "dayTime": recordBegin.Local().Format("2006-01-02"), 151 "dayTime": recordBegin.Local().Format("2006-01-02"),
142 "interval": strconv.Itoa(subDay), 152 "interval": strconv.Itoa(subDay),
  153 + "noticeWho": strings.Join(noticeWho, ","),
143 } 154 }
144 } 155 }
145 case 3: 156 case 3:
@@ -156,6 +167,7 @@ func (srv TaskService) listTaskAnomaly2(param *command.ListTaskAnomalyCommand) ( @@ -156,6 +167,7 @@ func (srv TaskService) listTaskAnomaly2(param *command.ListTaskAnomalyCommand) (
156 "types": "3", 167 "types": "3",
157 "dayTime": recordBegin.Local().Format("2006-01-02"), 168 "dayTime": recordBegin.Local().Format("2006-01-02"),
158 "interval": strconv.Itoa(subDay), 169 "interval": strconv.Itoa(subDay),
  170 + "noticeWho": strings.Join(noticeWho, ","),
159 } 171 }
160 } 172 }
161 } 173 }
@@ -209,6 +221,7 @@ func (srv TaskService) listTaskAnomaly3(param *command.ListTaskAnomalyCommand) ( @@ -209,6 +221,7 @@ func (srv TaskService) listTaskAnomaly3(param *command.ListTaskAnomalyCommand) (
209 TaskId: val.TaskId, 221 TaskId: val.TaskId,
210 TaskRecordId: val.TaskRecordId, 222 TaskRecordId: val.TaskRecordId,
211 Category: val.Category, 223 Category: val.Category,
  224 + LeaderId: val.LeaderId,
212 Leader: val.LeaderName, 225 Leader: val.LeaderName,
213 CurrentStage: adapter.TaskStage{ 226 CurrentStage: adapter.TaskStage{
214 Id: val.CurrentStage.Id, 227 Id: val.CurrentStage.Id,
@@ -253,6 +266,12 @@ func (srv TaskService) listTaskAnomaly3(param *command.ListTaskAnomalyCommand) ( @@ -253,6 +266,12 @@ func (srv TaskService) listTaskAnomaly3(param *command.ListTaskAnomalyCommand) (
253 if val.LastStage.RealCompletedAt > 0 { 266 if val.LastStage.RealCompletedAt > 0 {
254 item.LastStage.RealCompletedAt = time.Unix(val.LastStage.RealCompletedAt, 0).Local().Format("2006-01-02") 267 item.LastStage.RealCompletedAt = time.Unix(val.LastStage.RealCompletedAt, 0).Local().Format("2006-01-02")
255 } 268 }
  269 + noticeWho := []string{}
  270 + for _, val2 := range val.NoticeWho {
  271 + if name, ok := val2["name"]; ok {
  272 + noticeWho = append(noticeWho, name)
  273 + }
  274 + }
256 switch val.Category { 275 switch val.Category {
257 case 1: 276 case 1:
258 { 277 {
@@ -266,6 +285,7 @@ func (srv TaskService) listTaskAnomaly3(param *command.ListTaskAnomalyCommand) ( @@ -266,6 +285,7 @@ func (srv TaskService) listTaskAnomaly3(param *command.ListTaskAnomalyCommand) (
266 "types": "10", 285 "types": "10",
267 "stageName": val.TaskStageCheck.Name, 286 "stageName": val.TaskStageCheck.Name,
268 "interval": strconv.Itoa(subDay), 287 "interval": strconv.Itoa(subDay),
  288 + "noticeWho": strings.Join(noticeWho, ","),
269 } 289 }
270 } else if val.TaskStageCheck.RealCompletedAt > 0 && val.TaskStageCheck.Id > 0 { 290 } else if val.TaskStageCheck.RealCompletedAt > 0 && val.TaskStageCheck.Id > 0 {
271 //逾期完成 291 //逾期完成
@@ -277,6 +297,7 @@ func (srv TaskService) listTaskAnomaly3(param *command.ListTaskAnomalyCommand) ( @@ -277,6 +297,7 @@ func (srv TaskService) listTaskAnomaly3(param *command.ListTaskAnomalyCommand) (
277 "types": "11", 297 "types": "11",
278 "stageName": val.TaskStageCheck.Name, 298 "stageName": val.TaskStageCheck.Name,
279 "interval": strconv.Itoa(subDay), 299 "interval": strconv.Itoa(subDay),
  300 + "noticeWho": strings.Join(noticeWho, ","),
280 } 301 }
281 } 302 }
282 } 303 }
@@ -294,6 +315,7 @@ func (srv TaskService) listTaskAnomaly3(param *command.ListTaskAnomalyCommand) ( @@ -294,6 +315,7 @@ func (srv TaskService) listTaskAnomaly3(param *command.ListTaskAnomalyCommand) (
294 "types": "2", 315 "types": "2",
295 "dayTime": recordBegin.Local().Format("2006-01-02"), 316 "dayTime": recordBegin.Local().Format("2006-01-02"),
296 "interval": strconv.Itoa(subDay), 317 "interval": strconv.Itoa(subDay),
  318 + "noticeWho": strings.Join(noticeWho, ","),
297 } 319 }
298 } 320 }
299 case 3: 321 case 3:
@@ -310,6 +332,7 @@ func (srv TaskService) listTaskAnomaly3(param *command.ListTaskAnomalyCommand) ( @@ -310,6 +332,7 @@ func (srv TaskService) listTaskAnomaly3(param *command.ListTaskAnomalyCommand) (
310 "types": "3", 332 "types": "3",
311 "dayTime": recordBegin.Local().Format("2006-01-02"), 333 "dayTime": recordBegin.Local().Format("2006-01-02"),
312 "interval": strconv.Itoa(subDay), 334 "interval": strconv.Itoa(subDay),
  335 + "noticeWho": strings.Join(noticeWho, ","),
313 } 336 }
314 } 337 }
315 } 338 }
@@ -460,6 +483,12 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) ( @@ -460,6 +483,12 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) (
460 if val.LastStage.RealCompletedAt > 0 { 483 if val.LastStage.RealCompletedAt > 0 {
461 item.LastStage.RealCompletedAt = time.Unix(val.LastStage.RealCompletedAt, 0).Local().Format("2006-01-02") 484 item.LastStage.RealCompletedAt = time.Unix(val.LastStage.RealCompletedAt, 0).Local().Format("2006-01-02")
462 } 485 }
  486 + noticeWho := []string{}
  487 + for _, val2 := range val.NoticeWho {
  488 + if name, ok := val2["name"]; ok {
  489 + noticeWho = append(noticeWho, name)
  490 + }
  491 + }
463 switch val.Category { 492 switch val.Category {
464 case domain.AnomalyCategoryType1: 493 case domain.AnomalyCategoryType1:
465 { 494 {
@@ -473,6 +502,7 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) ( @@ -473,6 +502,7 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) (
473 "types": "10", 502 "types": "10",
474 "stageName": val.TaskStageCheck.Name, 503 "stageName": val.TaskStageCheck.Name,
475 "interval": strconv.Itoa(subDay), 504 "interval": strconv.Itoa(subDay),
  505 + "noticeWho": strings.Join(noticeWho, ","),
476 } 506 }
477 507
478 } else if val.TaskStageCheck.RealCompletedAt > 0 && val.TaskStageCheck.Id > 0 { 508 } else if val.TaskStageCheck.RealCompletedAt > 0 && val.TaskStageCheck.Id > 0 {
@@ -485,6 +515,7 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) ( @@ -485,6 +515,7 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) (
485 "types": "11", 515 "types": "11",
486 "stageName": val.TaskStageCheck.Name, 516 "stageName": val.TaskStageCheck.Name,
487 "interval": strconv.Itoa(subDay), 517 "interval": strconv.Itoa(subDay),
  518 + "noticeWho": strings.Join(noticeWho, ","),
488 } 519 }
489 } 520 }
490 } 521 }
@@ -502,6 +533,7 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) ( @@ -502,6 +533,7 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) (
502 "types": "2", 533 "types": "2",
503 "dayTime": recordBegin.Local().Format("2006-01-02"), 534 "dayTime": recordBegin.Local().Format("2006-01-02"),
504 "interval": strconv.Itoa(subDay), 535 "interval": strconv.Itoa(subDay),
  536 + "noticeWho": strings.Join(noticeWho, ","),
505 } 537 }
506 } 538 }
507 case domain.AnomalyCategoryType3: 539 case domain.AnomalyCategoryType3:
@@ -518,6 +550,7 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) ( @@ -518,6 +550,7 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) (
518 "types": "3", 550 "types": "3",
519 "dayTime": recordBegin.Local().Format("2006-01-02"), 551 "dayTime": recordBegin.Local().Format("2006-01-02"),
520 "interval": strconv.Itoa(subDay), 552 "interval": strconv.Itoa(subDay),
  553 + "noticeWho": strings.Join(noticeWho, ","),
521 } 554 }
522 } 555 }
523 } 556 }
@@ -609,3 +642,25 @@ func (srv TaskService) MarkTaskAnomaly(param *command.MarkTaskAnomalyCommand) (m @@ -609,3 +642,25 @@ func (srv TaskService) MarkTaskAnomaly(param *command.MarkTaskAnomalyCommand) (m
609 } 642 }
610 return map[string]string{}, nil 643 return map[string]string{}, nil
611 } 644 }
  645 +
  646 +// 我的下级负责任务,异常列表
  647 +// 按任务负责人归类,列表整理成树形结构
  648 +func (srv TaskService) ListTreeTaskAnomaly2(param *command.ListTaskAnomalyCommand) (map[string]interface{}, error) {
  649 + _, taskAnomalyList, err := srv.listTaskAnomaly2(param)
  650 + if err != nil {
  651 + return map[string]interface{}{
  652 + "list": []adapter.TaskAnomalyItem2{},
  653 + }, nil
  654 + }
  655 + if len(taskAnomalyList) == 0 {
  656 + return map[string]interface{}{
  657 + "list": []adapter.TaskAnomalyItem2{},
  658 + }, nil
  659 + }
  660 + // leaderMap := map[string]*adapter.TaskAnomalyItem2{}
  661 + // var treeList []*adapter.TaskAnomalyItem2
  662 + // for _, val := range taskAnomalyList {
  663 + // leader, ok := leaderMap[val.Leader]
  664 + // }
  665 + return nil, nil
  666 +}