|
@@ -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
|
} |