正在显示
3 个修改的文件
包含
239 行增加
和
128 行删除
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 |
-
请 注册 或 登录 后发表评论