作者 tangxvhui

调整列表输出

1 package adapter 1 package adapter
2 2
  3 +// 任务异常记录列表
3 type TaskAnomalyItem struct { 4 type TaskAnomalyItem struct {
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 - CreatedAt string `json:"createdAt"`  
22 - MarkA string `json:"markA"` // 去更新  
23 - MarkB string `json:"markB"` // 去反馈  
24 - MarkC string `json:"markC"` // 去求助  
25 - MarkD string `json:"markD"` // 去辅导  
26 - AnomalyDesc string `json:"anomalyDesc"` // 异常状况描述 5 + Id int `json:"id,string"`
  6 + TaskId int `json:"taskId,string"` // 任务id
  7 + TaskRecordId int `json:"taskRecordId,string"` // 任务反馈记录id
  8 + Category int `json:"category"` // 异常分类
  9 + Leader string `json:"leader"` // 任务负责人
  10 + CurrentStage TaskStage `json:"currentStage"` // 计划进度的里程碑
  11 + LastStage TaskStage `json:"lastStage"` // 实际进度完成的里程碑
  12 + TaskStageCheck TaskStage `json:"taskStageCheck"` // 实际进度完成的里程碑
  13 + AssessFlag int `json:"assessFlag"` // 异常反馈的次数
  14 + WarnFlag int `json:"warnFlag"` // 里程碑异常次数
  15 + AssistFlag int `json:"assistFlag"` // 辅导异常次数
  16 + TaskLevel string `json:"taskLevel"` // 任务类型
  17 + TaskName string `json:"taskName"` // 任务名称
  18 + TaskAlias string `json:"taskAlias"` // 任务别名
  19 + TaskEndTime int64 `json:"taskEndTime"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间
  20 + TaskSortBy int `json:"taskSortBy"` // 优先级排序;值越小优先级越高
  21 + RecordBegin int64 `json:"recordBegin"` //
  22 + CreatedAt string `json:"createdAt"` //
  23 + MarkA string `json:"markA"` // 去更新
  24 + MarkB string `json:"markB"` // 去反馈
  25 + MarkC string `json:"markC"` // 去求助
  26 + MarkD string `json:"markD"` // 去辅导
  27 + AnomalyDesc string `json:"anomalyDesc"` // 异常状况描述
  28 + AnomalyDesc2 map[string]string `json:"anomalyDesc2"`
  29 +}
  30 +
  31 +// 任务异常记录列表 ,按照任务负责人进行归类
  32 +type TaskAnomalyItem2 struct {
  33 + Leader map[string]string
  34 + TaskAnomaly []TaskAnomalyItem
27 } 35 }
@@ -2,6 +2,7 @@ package service @@ -2,6 +2,7 @@ package service
2 2
3 import ( 3 import (
4 "fmt" 4 "fmt"
  5 + "strconv"
5 "time" 6 "time"
6 7
7 "github.com/linmadan/egglib-go/core/application" 8 "github.com/linmadan/egglib-go/core/application"
@@ -9,20 +10,21 @@ import ( @@ -9,20 +10,21 @@ import (
9 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory" 10 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory"
10 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/task/adapter" 11 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/task/adapter"
11 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/task/command" 12 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/task/command"
  13 + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"
12 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/infrastructure/dao" 14 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/infrastructure/dao"
13 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/utils/xtime" 15 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/utils/xtime"
14 ) 16 )
15 17
16 // 异常中心查看 18 // 异常中心查看
17 19
18 -// 我负责的任务,异常列表  
19 -func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) (map[string]interface{}, error) { 20 +// 我的下级负责任务,异常列表
  21 +func (srv TaskService) listTaskAnomaly2(param *command.ListTaskAnomalyCommand) (int64, []adapter.TaskAnomalyItem, error) {
20 transactionContext, err := factory.CreateTransactionContext(nil) 22 transactionContext, err := factory.CreateTransactionContext(nil)
21 if err != nil { 23 if err != nil {
22 - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 24 + return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
23 } 25 }
24 if err := transactionContext.StartTransaction(); err != nil { 26 if err := transactionContext.StartTransaction(); err != nil {
25 - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 27 + return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
26 } 28 }
27 defer func() { 29 defer func() {
28 _ = transactionContext.RollbackTransaction() 30 _ = transactionContext.RollbackTransaction()
@@ -32,16 +34,20 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) ( @@ -32,16 +34,20 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) (
32 }) 34 })
33 limit := 500 35 limit := 500
34 offset := 0 36 offset := 0
35 - cnt, anomalyList, err := taskAnomalyDao.List1(param.UserId, param.CompanyId, param.TaskName, param.Category, param.DayTime, limit, offset) 37 + if param.SubLevel < 1 {
  38 + param.SubLevel = 2
  39 + }
  40 + cnt, anomalyList, err := taskAnomalyDao.List2(param.UserId, param.CompanyId, param.TaskName, param.Category, param.DayTime, param.LeaderId, param.SubLevel, limit, offset)
36 if err != nil { 41 if err != nil {
37 - return map[string]interface{}{}, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 42 + return 0, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
38 } 43 }
39 44
40 if err := transactionContext.CommitTransaction(); err != nil { 45 if err := transactionContext.CommitTransaction(); err != nil {
41 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 46 + return 0, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
42 } 47 }
43 48
44 listData := []adapter.TaskAnomalyItem{} 49 listData := []adapter.TaskAnomalyItem{}
  50 +
45 for _, val := range anomalyList { 51 for _, val := range anomalyList {
46 item := adapter.TaskAnomalyItem{ 52 item := adapter.TaskAnomalyItem{
47 Id: val.Id, 53 Id: val.Id,
@@ -73,8 +79,8 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) ( @@ -73,8 +79,8 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) (
73 TaskAlias: val.TaskAlias, 79 TaskAlias: val.TaskAlias,
74 TaskEndTime: int64(val.TaskEndTime), 80 TaskEndTime: int64(val.TaskEndTime),
75 TaskSortBy: val.TaskSortBy, 81 TaskSortBy: val.TaskSortBy,
76 - CreatedAt: val.CreatedAt.Local().Format("2006-01-02"),  
77 RecordBegin: val.RecordBegin, 82 RecordBegin: val.RecordBegin,
  83 + CreatedAt: val.CreatedAt.Local().Format("2006-01-02"),
78 MarkA: "", 84 MarkA: "",
79 MarkB: "", 85 MarkB: "",
80 MarkC: "", 86 MarkC: "",
@@ -101,12 +107,23 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) ( @@ -101,12 +107,23 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) (
101 planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0) 107 planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0)
102 subDay := xtime.SubDayAbs(val.CreatedAt, planCompletedAt) 108 subDay := xtime.SubDayAbs(val.CreatedAt, planCompletedAt)
103 item.AnomalyDesc = fmt.Sprintf("里程碑%s已逾期%d天", val.TaskStageCheck.Name, subDay) 109 item.AnomalyDesc = fmt.Sprintf("里程碑%s已逾期%d天", val.TaskStageCheck.Name, subDay)
  110 + item.AnomalyDesc2 = map[string]string{
  111 + "types": "10",
  112 + "stageName": val.TaskStageCheck.Name,
  113 + "interval": strconv.Itoa(subDay),
  114 + }
  115 +
104 } else if val.TaskStageCheck.RealCompletedAt > 0 && val.TaskStageCheck.Id > 0 { 116 } else if val.TaskStageCheck.RealCompletedAt > 0 && val.TaskStageCheck.Id > 0 {
105 //逾期完成 117 //逾期完成
106 planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0) 118 planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0)
107 realCompletedAt := time.Unix(val.TaskStageCheck.RealCompletedAt, 0) 119 realCompletedAt := time.Unix(val.TaskStageCheck.RealCompletedAt, 0)
108 subDay := xtime.SubDayAbs(realCompletedAt, planCompletedAt) 120 subDay := xtime.SubDayAbs(realCompletedAt, planCompletedAt)
109 item.AnomalyDesc = fmt.Sprintf("里程碑%s逾期%d天完成", val.TaskStageCheck.Name, subDay) 121 item.AnomalyDesc = fmt.Sprintf("里程碑%s逾期%d天完成", val.TaskStageCheck.Name, subDay)
  122 + item.AnomalyDesc2 = map[string]string{
  123 + "types": "11",
  124 + "stageName": val.TaskStageCheck.Name,
  125 + "interval": strconv.Itoa(subDay),
  126 + }
110 } 127 }
111 } 128 }
112 case 2: 129 case 2:
@@ -119,6 +136,11 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) ( @@ -119,6 +136,11 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) (
119 recordBegin.Local().Format("2006-01-02"), 136 recordBegin.Local().Format("2006-01-02"),
120 subDay, 137 subDay,
121 ) 138 )
  139 + item.AnomalyDesc2 = map[string]string{
  140 + "types": "2",
  141 + "dayTime": recordBegin.Local().Format("2006-01-02"),
  142 + "interval": strconv.Itoa(subDay),
  143 + }
122 } 144 }
123 case 3: 145 case 3:
124 //辅导异常 146 //辅导异常
@@ -130,24 +152,37 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) ( @@ -130,24 +152,37 @@ func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) (
130 recordBegin.Local().Format("2006-01-02"), 152 recordBegin.Local().Format("2006-01-02"),
131 subDay, 153 subDay,
132 ) 154 )
  155 + item.AnomalyDesc2 = map[string]string{
  156 + "types": "3",
  157 + "dayTime": recordBegin.Local().Format("2006-01-02"),
  158 + "interval": strconv.Itoa(subDay),
  159 + }
133 } 160 }
134 } 161 }
135 162
136 listData = append(listData, item) 163 listData = append(listData, item)
137 } 164 }
138 165
139 - result := tool_funs.SimpleWrapGridMap(int64(cnt), listData)  
140 - return result, nil 166 + return int64(cnt), listData, nil
141 } 167 }
142 168
143 -// 我的下级负责任务,异常列表  
144 func (srv TaskService) ListTaskAnomaly2(param *command.ListTaskAnomalyCommand) (map[string]interface{}, error) { 169 func (srv TaskService) ListTaskAnomaly2(param *command.ListTaskAnomalyCommand) (map[string]interface{}, error) {
  170 + cnt, listData, err := srv.listTaskAnomaly2(param)
  171 + if err != nil {
  172 + return nil, err
  173 + }
  174 + result := tool_funs.SimpleWrapGridMap(cnt, listData)
  175 + return result, nil
  176 +}
  177 +
  178 +// 与我有关的任务,异常列表
  179 +func (srv TaskService) listTaskAnomaly3(param *command.ListTaskAnomalyCommand) (int64, []adapter.TaskAnomalyItem, error) {
145 transactionContext, err := factory.CreateTransactionContext(nil) 180 transactionContext, err := factory.CreateTransactionContext(nil)
146 if err != nil { 181 if err != nil {
147 - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 182 + return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
148 } 183 }
149 if err := transactionContext.StartTransaction(); err != nil { 184 if err := transactionContext.StartTransaction(); err != nil {
150 - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 185 + return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
151 } 186 }
152 defer func() { 187 defer func() {
153 _ = transactionContext.RollbackTransaction() 188 _ = transactionContext.RollbackTransaction()
@@ -157,16 +192,13 @@ func (srv TaskService) ListTaskAnomaly2(param *command.ListTaskAnomalyCommand) ( @@ -157,16 +192,13 @@ func (srv TaskService) ListTaskAnomaly2(param *command.ListTaskAnomalyCommand) (
157 }) 192 })
158 limit := 500 193 limit := 500
159 offset := 0 194 offset := 0
160 - if param.SubLevel < 1 {  
161 - param.SubLevel = 2  
162 - }  
163 - cnt, anomalyList, err := taskAnomalyDao.List2(param.UserId, param.CompanyId, param.TaskName, param.Category, param.DayTime, param.LeaderId, param.SubLevel, limit, offset) 195 + cnt, anomalyList, err := taskAnomalyDao.List3(param.UserId, param.CompanyId, param.TaskName, param.Category, param.DayTime, param.LeaderId, limit, offset)
164 if err != nil { 196 if err != nil {
165 - return map[string]interface{}{}, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 197 + return 0, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
166 } 198 }
167 199
168 if err := transactionContext.CommitTransaction(); err != nil { 200 if err := transactionContext.CommitTransaction(); err != nil {
169 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 201 + return 0, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
170 } 202 }
171 203
172 listData := []adapter.TaskAnomalyItem{} 204 listData := []adapter.TaskAnomalyItem{}
@@ -230,12 +262,22 @@ func (srv TaskService) ListTaskAnomaly2(param *command.ListTaskAnomalyCommand) ( @@ -230,12 +262,22 @@ func (srv TaskService) ListTaskAnomaly2(param *command.ListTaskAnomalyCommand) (
230 planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0) 262 planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0)
231 subDay := xtime.SubDayAbs(val.CreatedAt, planCompletedAt) 263 subDay := xtime.SubDayAbs(val.CreatedAt, planCompletedAt)
232 item.AnomalyDesc = fmt.Sprintf("里程碑%s已逾期%d天", val.TaskStageCheck.Name, subDay) 264 item.AnomalyDesc = fmt.Sprintf("里程碑%s已逾期%d天", val.TaskStageCheck.Name, subDay)
  265 + item.AnomalyDesc2 = map[string]string{
  266 + "types": "10",
  267 + "stageName": val.TaskStageCheck.Name,
  268 + "interval": strconv.Itoa(subDay),
  269 + }
233 } else if val.TaskStageCheck.RealCompletedAt > 0 && val.TaskStageCheck.Id > 0 { 270 } else if val.TaskStageCheck.RealCompletedAt > 0 && val.TaskStageCheck.Id > 0 {
234 //逾期完成 271 //逾期完成
235 planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0) 272 planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0)
236 realCompletedAt := time.Unix(val.TaskStageCheck.RealCompletedAt, 0) 273 realCompletedAt := time.Unix(val.TaskStageCheck.RealCompletedAt, 0)
237 subDay := xtime.SubDayAbs(realCompletedAt, planCompletedAt) 274 subDay := xtime.SubDayAbs(realCompletedAt, planCompletedAt)
238 item.AnomalyDesc = fmt.Sprintf("里程碑%s逾期%d天完成", val.TaskStageCheck.Name, subDay) 275 item.AnomalyDesc = fmt.Sprintf("里程碑%s逾期%d天完成", val.TaskStageCheck.Name, subDay)
  276 + item.AnomalyDesc2 = map[string]string{
  277 + "types": "11",
  278 + "stageName": val.TaskStageCheck.Name,
  279 + "interval": strconv.Itoa(subDay),
  280 + }
239 } 281 }
240 } 282 }
241 case 2: 283 case 2:
@@ -248,6 +290,11 @@ func (srv TaskService) ListTaskAnomaly2(param *command.ListTaskAnomalyCommand) ( @@ -248,6 +290,11 @@ func (srv TaskService) ListTaskAnomaly2(param *command.ListTaskAnomalyCommand) (
248 recordBegin.Local().Format("2006-01-02"), 290 recordBegin.Local().Format("2006-01-02"),
249 subDay, 291 subDay,
250 ) 292 )
  293 + item.AnomalyDesc2 = map[string]string{
  294 + "types": "2",
  295 + "dayTime": recordBegin.Local().Format("2006-01-02"),
  296 + "interval": strconv.Itoa(subDay),
  297 + }
251 } 298 }
252 case 3: 299 case 3:
253 //辅导异常 300 //辅导异常
@@ -259,18 +306,84 @@ func (srv TaskService) ListTaskAnomaly2(param *command.ListTaskAnomalyCommand) ( @@ -259,18 +306,84 @@ func (srv TaskService) ListTaskAnomaly2(param *command.ListTaskAnomalyCommand) (
259 recordBegin.Local().Format("2006-01-02"), 306 recordBegin.Local().Format("2006-01-02"),
260 subDay, 307 subDay,
261 ) 308 )
  309 + item.AnomalyDesc2 = map[string]string{
  310 + "types": "3",
  311 + "dayTime": recordBegin.Local().Format("2006-01-02"),
  312 + "interval": strconv.Itoa(subDay),
  313 + }
262 } 314 }
263 } 315 }
264 316
265 listData = append(listData, item) 317 listData = append(listData, item)
266 } 318 }
  319 + return int64(cnt), listData, nil
  320 +}
267 321
268 - result := tool_funs.SimpleWrapGridMap(int64(cnt), listData) 322 +func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) (map[string]interface{}, error) {
  323 + cnt, listData, err := srv.listTaskAnomaly3(param)
  324 + if err != nil {
  325 + return nil, err
  326 + }
  327 + result := tool_funs.SimpleWrapGridMap(cnt, listData)
269 return result, nil 328 return result, nil
270 } 329 }
271 330
272 -// 与我有关的任务,异常列表  
273 -func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) (map[string]interface{}, error) { 331 +func (srv TaskService) UserSelect(param *command.UserSelectCommand) []adapter.UserItem {
  332 + transactionContext, err := factory.CreateTransactionContext(nil)
  333 + if err != nil {
  334 + return nil
  335 + }
  336 + if err := transactionContext.StartTransaction(); err != nil {
  337 + return nil
  338 + }
  339 + defer func() {
  340 + _ = transactionContext.RollbackTransaction()
  341 + }()
  342 +
  343 + if param.SubLevel == 0 {
  344 + userRepo := factory.CreateUserRepository(map[string]interface{}{
  345 + "transactionContext": transactionContext,
  346 + })
  347 + _, userList, err := userRepo.Find(map[string]interface{}{
  348 + "companyId": param.CompanyId,
  349 + })
  350 + selectList := []adapter.UserItem{}
  351 + if err != nil {
  352 + return selectList
  353 + }
  354 + for _, val := range userList {
  355 + selectList = append(selectList, adapter.UserItem{
  356 + Id: val.Id,
  357 + Name: val.Name,
  358 + })
  359 + }
  360 + return selectList
  361 + }
  362 +
  363 + userDao := dao.NewUserDao(map[string]interface{}{
  364 + "transactionContext": transactionContext,
  365 + })
  366 + userList, err := userDao.AllChildUser(param.UserId)
  367 + selectList := []adapter.UserItem{}
  368 + if err != nil {
  369 + return selectList
  370 + }
  371 + for _, val := range userList {
  372 + selectList = append(selectList, adapter.UserItem{
  373 + Id: int64(val.Id),
  374 + Name: val.Name,
  375 + Level: val.Level,
  376 + })
  377 + }
  378 + if err := transactionContext.CommitTransaction(); err != nil {
  379 + return selectList
  380 + }
  381 + return selectList
  382 +}
  383 +
  384 +// 我负责的任务,异常列表
  385 +
  386 +func (srv TaskService) ListTaskAnomaly1(param *command.ListTaskAnomalyCommand) (map[string]interface{}, error) {
274 transactionContext, err := factory.CreateTransactionContext(nil) 387 transactionContext, err := factory.CreateTransactionContext(nil)
275 if err != nil { 388 if err != nil {
276 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 389 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
@@ -286,7 +399,7 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) ( @@ -286,7 +399,7 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) (
286 }) 399 })
287 limit := 500 400 limit := 500
288 offset := 0 401 offset := 0
289 - cnt, anomalyList, err := taskAnomalyDao.List3(param.UserId, param.CompanyId, param.TaskName, param.Category, param.DayTime, param.LeaderId, limit, offset) 402 + cnt, anomalyList, err := taskAnomalyDao.List1(param.UserId, param.CompanyId, param.TaskName, param.Category, param.DayTime, limit, offset)
290 if err != nil { 403 if err != nil {
291 return map[string]interface{}{}, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 404 return map[string]interface{}{}, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
292 } 405 }
@@ -296,7 +409,6 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) ( @@ -296,7 +409,6 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) (
296 } 409 }
297 410
298 listData := []adapter.TaskAnomalyItem{} 411 listData := []adapter.TaskAnomalyItem{}
299 -  
300 for _, val := range anomalyList { 412 for _, val := range anomalyList {
301 item := adapter.TaskAnomalyItem{ 413 item := adapter.TaskAnomalyItem{
302 Id: val.Id, 414 Id: val.Id,
@@ -320,20 +432,21 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) ( @@ -320,20 +432,21 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) (
320 PlanCompletedAt: time.Unix(val.LastStage.PlanCompletedAt, 0).Local().Format("2006-01-02"), 432 PlanCompletedAt: time.Unix(val.LastStage.PlanCompletedAt, 0).Local().Format("2006-01-02"),
321 RealCompletedAt: "", 433 RealCompletedAt: "",
322 }, 434 },
323 - AssessFlag: val.AssessFlag,  
324 - WarnFlag: val.WarnFlag,  
325 - AssistFlag: val.AssistFlag,  
326 - TaskLevel: val.LevelName,  
327 - TaskName: val.TaskName,  
328 - TaskAlias: val.TaskAlias,  
329 - TaskEndTime: int64(val.TaskEndTime),  
330 - TaskSortBy: val.TaskSortBy,  
331 - RecordBegin: val.RecordBegin,  
332 - CreatedAt: val.CreatedAt.Local().Format("2006-01-02"),  
333 - MarkA: "",  
334 - MarkB: "",  
335 - MarkC: "",  
336 - MarkD: "", 435 + AssessFlag: val.AssessFlag,
  436 + WarnFlag: val.WarnFlag,
  437 + AssistFlag: val.AssistFlag,
  438 + TaskLevel: val.LevelName,
  439 + TaskName: val.TaskName,
  440 + TaskAlias: val.TaskAlias,
  441 + TaskEndTime: int64(val.TaskEndTime),
  442 + TaskSortBy: val.TaskSortBy,
  443 + CreatedAt: val.CreatedAt.Local().Format("2006-01-02"),
  444 + RecordBegin: val.RecordBegin,
  445 + MarkA: "",
  446 + MarkB: "",
  447 + MarkC: "",
  448 + MarkD: "",
  449 + AnomalyDesc2: map[string]string{},
337 } 450 }
338 if len(val.Marks) > 0 { 451 if len(val.Marks) > 0 {
339 item.MarkA = val.Marks["a"] 452 item.MarkA = val.Marks["a"]
@@ -348,7 +461,7 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) ( @@ -348,7 +461,7 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) (
348 item.LastStage.RealCompletedAt = time.Unix(val.LastStage.RealCompletedAt, 0).Local().Format("2006-01-02") 461 item.LastStage.RealCompletedAt = time.Unix(val.LastStage.RealCompletedAt, 0).Local().Format("2006-01-02")
349 } 462 }
350 switch val.Category { 463 switch val.Category {
351 - case 1: 464 + case domain.AnomalyCategoryType1:
352 { 465 {
353 //里程碑异常 466 //里程碑异常
354 if val.TaskStageCheck.RealCompletedAt == 0 && val.TaskStageCheck.Id > 0 { 467 if val.TaskStageCheck.RealCompletedAt == 0 && val.TaskStageCheck.Id > 0 {
@@ -356,15 +469,26 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) ( @@ -356,15 +469,26 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) (
356 planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0) 469 planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0)
357 subDay := xtime.SubDayAbs(val.CreatedAt, planCompletedAt) 470 subDay := xtime.SubDayAbs(val.CreatedAt, planCompletedAt)
358 item.AnomalyDesc = fmt.Sprintf("里程碑%s已逾期%d天", val.TaskStageCheck.Name, subDay) 471 item.AnomalyDesc = fmt.Sprintf("里程碑%s已逾期%d天", val.TaskStageCheck.Name, subDay)
  472 + item.AnomalyDesc2 = map[string]string{
  473 + "types": "10",
  474 + "stageName": val.TaskStageCheck.Name,
  475 + "interval": strconv.Itoa(subDay),
  476 + }
  477 +
359 } else if val.TaskStageCheck.RealCompletedAt > 0 && val.TaskStageCheck.Id > 0 { 478 } else if val.TaskStageCheck.RealCompletedAt > 0 && val.TaskStageCheck.Id > 0 {
360 //逾期完成 479 //逾期完成
361 planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0) 480 planCompletedAt := time.Unix(val.TaskStageCheck.PlanCompletedAt, 0)
362 realCompletedAt := time.Unix(val.TaskStageCheck.RealCompletedAt, 0) 481 realCompletedAt := time.Unix(val.TaskStageCheck.RealCompletedAt, 0)
363 subDay := xtime.SubDayAbs(realCompletedAt, planCompletedAt) 482 subDay := xtime.SubDayAbs(realCompletedAt, planCompletedAt)
364 item.AnomalyDesc = fmt.Sprintf("里程碑%s逾期%d天完成", val.TaskStageCheck.Name, subDay) 483 item.AnomalyDesc = fmt.Sprintf("里程碑%s逾期%d天完成", val.TaskStageCheck.Name, subDay)
  484 + item.AnomalyDesc2 = map[string]string{
  485 + "types": "11",
  486 + "stageName": val.TaskStageCheck.Name,
  487 + "interval": strconv.Itoa(subDay),
  488 + }
365 } 489 }
366 } 490 }
367 - case 2: 491 + case domain.AnomalyCategoryType2:
368 //反馈异常 492 //反馈异常
369 { 493 {
370 recordBegin := time.Unix(val.RecordBegin, 0) 494 recordBegin := time.Unix(val.RecordBegin, 0)
@@ -374,8 +498,13 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) ( @@ -374,8 +498,13 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) (
374 recordBegin.Local().Format("2006-01-02"), 498 recordBegin.Local().Format("2006-01-02"),
375 subDay, 499 subDay,
376 ) 500 )
  501 + item.AnomalyDesc2 = map[string]string{
  502 + "types": "2",
  503 + "dayTime": recordBegin.Local().Format("2006-01-02"),
  504 + "interval": strconv.Itoa(subDay),
  505 + }
377 } 506 }
378 - case 3: 507 + case domain.AnomalyCategoryType3:
379 //辅导异常 508 //辅导异常
380 { 509 {
381 recordBegin := time.Unix(val.RecordBegin, 0) 510 recordBegin := time.Unix(val.RecordBegin, 0)
@@ -385,6 +514,11 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) ( @@ -385,6 +514,11 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) (
385 recordBegin.Local().Format("2006-01-02"), 514 recordBegin.Local().Format("2006-01-02"),
386 subDay, 515 subDay,
387 ) 516 )
  517 + item.AnomalyDesc2 = map[string]string{
  518 + "types": "3",
  519 + "dayTime": recordBegin.Local().Format("2006-01-02"),
  520 + "interval": strconv.Itoa(subDay),
  521 + }
388 } 522 }
389 } 523 }
390 524
@@ -395,65 +529,6 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) ( @@ -395,65 +529,6 @@ func (srv TaskService) ListTaskAnomaly3(param *command.ListTaskAnomalyCommand) (
395 return result, nil 529 return result, nil
396 } 530 }
397 531
398 -// 异常详情  
399 -// func (srv TaskService) TaskAnomalyInfo() error {  
400 -  
401 -// return nil  
402 -// }  
403 -  
404 -func (srv TaskService) UserSelect(param *command.UserSelectCommand) []adapter.UserItem {  
405 - transactionContext, err := factory.CreateTransactionContext(nil)  
406 - if err != nil {  
407 - return nil  
408 - }  
409 - if err := transactionContext.StartTransaction(); err != nil {  
410 - return nil  
411 - }  
412 - defer func() {  
413 - _ = transactionContext.RollbackTransaction()  
414 - }()  
415 -  
416 - if param.SubLevel == 0 {  
417 - userRepo := factory.CreateUserRepository(map[string]interface{}{  
418 - "transactionContext": transactionContext,  
419 - })  
420 - _, userList, err := userRepo.Find(map[string]interface{}{  
421 - "companyId": param.CompanyId,  
422 - })  
423 - selectList := []adapter.UserItem{}  
424 - if err != nil {  
425 - return selectList  
426 - }  
427 - for _, val := range userList {  
428 - selectList = append(selectList, adapter.UserItem{  
429 - Id: val.Id,  
430 - Name: val.Name,  
431 - })  
432 - }  
433 - return selectList  
434 - }  
435 -  
436 - userDao := dao.NewUserDao(map[string]interface{}{  
437 - "transactionContext": transactionContext,  
438 - })  
439 - userList, err := userDao.AllChildUser(param.UserId)  
440 - selectList := []adapter.UserItem{}  
441 - if err != nil {  
442 - return selectList  
443 - }  
444 - for _, val := range userList {  
445 - selectList = append(selectList, adapter.UserItem{  
446 - Id: int64(val.Id),  
447 - Name: val.Name,  
448 - Level: val.Level,  
449 - })  
450 - }  
451 - if err := transactionContext.CommitTransaction(); err != nil {  
452 - return selectList  
453 - }  
454 - return selectList  
455 -}  
456 -  
457 // 对异常记录的操作标记 532 // 对异常记录的操作标记
458 func (srv TaskService) MarkTaskAnomaly(param *command.MarkTaskAnomalyCommand) (map[string]string, error) { 533 func (srv TaskService) MarkTaskAnomaly(param *command.MarkTaskAnomalyCommand) (map[string]string, error) {
459 transactionContext, err := factory.CreateTransactionContext(nil) 534 transactionContext, err := factory.CreateTransactionContext(nil)
@@ -501,13 +576,36 @@ func (srv TaskService) MarkTaskAnomaly(param *command.MarkTaskAnomalyCommand) (m @@ -501,13 +576,36 @@ func (srv TaskService) MarkTaskAnomaly(param *command.MarkTaskAnomalyCommand) (m
501 } 576 }
502 577
503 taskId := anomalyData.TaskId 578 taskId := anomalyData.TaskId
504 - taskRepo.Find(map[string]interface{}{  
505 - "id": taskId, 579 +
  580 + // 检查是否有任务相关连的最新每日评估
  581 + _, taskList, err := taskRepo.Find(map[string]interface{}{
  582 + "id": taskId,
  583 + "companyId": param.CompanyId,
  584 + "limit": 1,
506 }) 585 })
507 - //检查是否有任务相关连的最新每日评估 586 + if err != nil {
  587 + return map[string]string{}, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  588 + }
  589 + if len(taskList) == 0 {
  590 + return map[string]string{}, nil
  591 + }
  592 + assessReps := factory.CreateStaffAssessRepository(map[string]interface{}{"transactionContext": transactionContext})
  593 + // 获取员工的评估
  594 + today := time.Now().Format("2006-01-02")
508 595
  596 + _, assessList, err := assessReps.Find(map[string]interface{}{
  597 + "companyId": param.CompanyId,
  598 + "executorId": taskList[0].Leader.Id,
  599 + "beginDay": today,
  600 + "typesList": []string{string(domain.AssessSelf)},
  601 + "limit": 1,
  602 + })
  603 + if err != nil {
  604 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取员工的评估"+err.Error())
  605 + }
  606 + _ = assessList
509 if err := transactionContext.CommitTransaction(); err != nil { 607 if err := transactionContext.CommitTransaction(); err != nil {
510 return map[string]string{}, nil 608 return map[string]string{}, nil
511 } 609 }
512 - return nil, nil 610 + return map[string]string{}, nil
513 } 611 }
@@ -44,6 +44,7 @@ type ListTaskAnomaly struct { @@ -44,6 +44,7 @@ type ListTaskAnomaly struct {
44 TaskEndTime int `pg:"task_end_time"` 44 TaskEndTime int `pg:"task_end_time"`
45 TaskSortBy int `pg:"task_sort_by"` 45 TaskSortBy int `pg:"task_sort_by"`
46 LeaderName string `pg:"leader_name"` 46 LeaderName string `pg:"leader_name"`
  47 + LeaderId string `pg:"leader_id"`
47 LevelName string `pg:"level_name"` 48 LevelName string `pg:"level_name"`
48 } 49 }
49 50
@@ -78,6 +79,7 @@ func (d *TaskAnomalyDao) List1(userId int, companyId int, taskName string, categ @@ -78,6 +79,7 @@ func (d *TaskAnomalyDao) List1(userId int, companyId int, taskName string, categ
78 task.end_time as "task_end_time", 79 task.end_time as "task_end_time",
79 task.sort_by as "task_sort_by", 80 task.sort_by as "task_sort_by",
80 task.leader->>'name' as "leader_name", 81 task.leader->>'name' as "leader_name",
  82 + task.leader->>'id' as "leader_id",
81 task.level_name 83 task.level_name
82 from task_anomaly 84 from task_anomaly
83 join task on task.id = task_anomaly.task_id 85 join task on task.id = task_anomaly.task_id
@@ -168,6 +170,7 @@ func (d *TaskAnomalyDao) List2(userId int, companyId int, taskName string, categ @@ -168,6 +170,7 @@ func (d *TaskAnomalyDao) List2(userId int, companyId int, taskName string, categ
168 task.end_time as "task_end_time", 170 task.end_time as "task_end_time",
169 task.sort_by as "task_sort_by", 171 task.sort_by as "task_sort_by",
170 task.leader->>'name' as "leader_name", 172 task.leader->>'name' as "leader_name",
  173 + task.leader->>'id' as "leader_id",
171 task.level_name 174 task.level_name
172 from task 175 from task
173 left join t_task_ignore on task.id=t_task_ignore.task_id 176 left join t_task_ignore on task.id=t_task_ignore.task_id
@@ -180,7 +183,8 @@ func (d *TaskAnomalyDao) List2(userId int, companyId int, taskName string, categ @@ -180,7 +183,8 @@ func (d *TaskAnomalyDao) List2(userId int, companyId int, taskName string, categ
180 ) 183 )
181 select 184 select
182 t_task.task_alias,t_task.task_name,t_task.task_end_time, 185 t_task.task_alias,t_task.task_name,t_task.task_end_time,
183 - t_task.task_sort_by,t_task.leader_name,t_task.level_name, 186 + t_task.task_sort_by,t_task.leader_name,t_task.leader_id,
  187 + t_task.level_name,
184 task_anomaly.id, 188 task_anomaly.id,
185 task_anomaly.task_id, 189 task_anomaly.task_id,
186 task_anomaly.task_record_id, 190 task_anomaly.task_record_id,
@@ -302,6 +306,7 @@ func (d *TaskAnomalyDao) List3(userId int, companyId int, taskName string, categ @@ -302,6 +306,7 @@ func (d *TaskAnomalyDao) List3(userId int, companyId int, taskName string, categ
302 task.end_time as "task_end_time", 306 task.end_time as "task_end_time",
303 task.sort_by as "task_sort_by", 307 task.sort_by as "task_sort_by",
304 task.leader->>'name' as "leader_name", 308 task.leader->>'name' as "leader_name",
  309 + task.leader->>'id' as "leader_id",
305 task.level_name 310 task.level_name
306 from task_anomaly 311 from task_anomaly
307 join task on task.id = task_anomaly.task_id 312 join task on task.id = task_anomaly.task_id