|
@@ -2,6 +2,7 @@ package service |
|
@@ -2,6 +2,7 @@ package service |
|
2
|
|
2
|
|
|
3
|
import (
|
3
|
import (
|
|
4
|
"fmt"
|
4
|
"fmt"
|
|
|
|
5
|
+ "sort"
|
|
5
|
"strconv"
|
6
|
"strconv"
|
|
6
|
"time"
|
7
|
"time"
|
|
7
|
|
8
|
|
|
@@ -37,9 +38,6 @@ func (srv StaffAssessServeice) SearchAssessTaskMe(param *query.SearchAssessMeQue |
|
@@ -37,9 +38,6 @@ func (srv StaffAssessServeice) SearchAssessTaskMe(param *query.SearchAssessMeQue |
|
37
|
defer func() {
|
38
|
defer func() {
|
|
38
|
_ = transactionContext.RollbackTransaction()
|
39
|
_ = transactionContext.RollbackTransaction()
|
|
39
|
}()
|
40
|
}()
|
|
40
|
- // staffAssessTaskRepo := factory.CreateStaffAssessTaskRepository(map[string]interface{}{
|
|
|
|
41
|
- // "transactionContext": transactionContext,
|
|
|
|
42
|
- // })
|
|
|
|
43
|
|
41
|
|
|
44
|
staffAssessTaskRepo := dao.NewStaffAssessDao(map[string]interface{}{
|
42
|
staffAssessTaskRepo := dao.NewStaffAssessDao(map[string]interface{}{
|
|
45
|
"transactionContext": transactionContext,
|
43
|
"transactionContext": transactionContext,
|
|
@@ -59,18 +57,7 @@ func (srv StaffAssessServeice) SearchAssessTaskMe(param *query.SearchAssessMeQue |
|
@@ -59,18 +57,7 @@ func (srv StaffAssessServeice) SearchAssessTaskMe(param *query.SearchAssessMeQue |
|
59
|
if err != nil {
|
57
|
if err != nil {
|
|
60
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询评估任务"+err.Error())
|
58
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询评估任务"+err.Error())
|
|
61
|
}
|
59
|
}
|
|
62
|
- // condition := map[string]interface{}{
|
|
|
|
63
|
- // "executorId": param.UserId,
|
|
|
|
64
|
- // "companyId": param.CompanyId,
|
|
|
|
65
|
- // "limit": limit,
|
|
|
|
66
|
- // }
|
|
|
|
67
|
- // if offset > 0 {
|
|
|
|
68
|
- // condition["offset"] = offset
|
|
|
|
69
|
- // }
|
|
|
|
70
|
- // cnt, assessTaskList, err := staffAssessTaskRepo.Find(condition)
|
|
|
|
71
|
- // if err != nil {
|
|
|
|
72
|
- // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询周期"+err.Error())
|
|
|
|
73
|
- // }
|
60
|
+
|
|
74
|
if err := transactionContext.CommitTransaction(); err != nil {
|
61
|
if err := transactionContext.CommitTransaction(); err != nil {
|
|
75
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
62
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
76
|
}
|
63
|
}
|
|
@@ -79,8 +66,8 @@ func (srv StaffAssessServeice) SearchAssessTaskMe(param *query.SearchAssessMeQue |
|
@@ -79,8 +66,8 @@ func (srv StaffAssessServeice) SearchAssessTaskMe(param *query.SearchAssessMeQue |
|
79
|
for _, v := range assessTaskList {
|
66
|
for _, v := range assessTaskList {
|
|
80
|
temp = adapter.SearchAssessMeResp{
|
67
|
temp = adapter.SearchAssessMeResp{
|
|
81
|
AssessTaskId: v.Id,
|
68
|
AssessTaskId: v.Id,
|
|
82
|
- BeginTime: v.BeginTime.Format("2006-01-02 15:04:05"),
|
|
|
|
83
|
- EndTime: v.EndTime.Format("2006-01-02 15:04:05"),
|
69
|
+ BeginTime: v.BeginTime.Local().Format("2006-01-02 15:04:05"),
|
|
|
|
70
|
+ EndTime: v.EndTime.Local().Format("2006-01-02 15:04:05"),
|
|
84
|
CycleId: v.CycleId,
|
71
|
CycleId: v.CycleId,
|
|
85
|
CycleName: v.CycleName,
|
72
|
CycleName: v.CycleName,
|
|
86
|
EvaluationProjectId: v.EvaluationProjectId,
|
73
|
EvaluationProjectId: v.EvaluationProjectId,
|
|
@@ -132,6 +119,7 @@ func (srv StaffAssessServeice) AssessTaskDesc(param *query.AssessTaskDescQuery) |
|
@@ -132,6 +119,7 @@ func (srv StaffAssessServeice) AssessTaskDesc(param *query.AssessTaskDescQuery) |
|
132
|
stepItem := adapter.AssessTaskStep{
|
119
|
stepItem := adapter.AssessTaskStep{
|
|
133
|
SortBy: v.SortBy,
|
120
|
SortBy: v.SortBy,
|
|
134
|
LinkNodeName: v.LinkNodeName,
|
121
|
LinkNodeName: v.LinkNodeName,
|
|
|
|
122
|
+ LinkNodeId: v.LinkNodeId,
|
|
135
|
BeginTime: v.BeginTime.Local().Format("2006-01-02 15:04:05"),
|
123
|
BeginTime: v.BeginTime.Local().Format("2006-01-02 15:04:05"),
|
|
136
|
EndTime: v.EndTime.Local().Format("2006-01-02 15:04:05"),
|
124
|
EndTime: v.EndTime.Local().Format("2006-01-02 15:04:05"),
|
|
137
|
LinkNodeType: v.LinkNodeType,
|
125
|
LinkNodeType: v.LinkNodeType,
|
|
@@ -220,7 +208,10 @@ func (srv StaffAssessServeice) AssessTaskDesc(param *query.AssessTaskDescQuery) |
|
@@ -220,7 +208,10 @@ func (srv StaffAssessServeice) AssessTaskDesc(param *query.AssessTaskDescQuery) |
|
220
|
}
|
208
|
}
|
|
221
|
}
|
209
|
}
|
|
222
|
}
|
210
|
}
|
|
223
|
- result.StepList = append(result.StepList, stepItem)
|
211
|
+ //未参与的,不算在个人的评估环节里
|
|
|
|
212
|
+ if stepItem.Status != "" {
|
|
|
|
213
|
+ result.StepList = append(result.StepList, stepItem)
|
|
|
|
214
|
+ }
|
|
224
|
}
|
215
|
}
|
|
225
|
if err := transactionContext.CommitTransaction(); err != nil {
|
216
|
if err := transactionContext.CommitTransaction(); err != nil {
|
|
226
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
217
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
@@ -244,7 +235,7 @@ func (srv StaffAssessServeice) AssessSelfList(param *query.AssessSelfListQuery) |
|
@@ -244,7 +235,7 @@ func (srv StaffAssessServeice) AssessSelfList(param *query.AssessSelfListQuery) |
|
244
|
staffAssessRepo := factory.CreateStaffAssessRepository(map[string]interface{}{
|
235
|
staffAssessRepo := factory.CreateStaffAssessRepository(map[string]interface{}{
|
|
245
|
"transactionContext": transactionContext,
|
236
|
"transactionContext": transactionContext,
|
|
246
|
})
|
237
|
})
|
|
247
|
- var limit int = 20
|
238
|
+ var limit int = 100
|
|
248
|
var offset int = 0
|
239
|
var offset int = 0
|
|
249
|
if param.PageSize > 0 {
|
240
|
if param.PageSize > 0 {
|
|
250
|
limit = param.PageSize
|
241
|
limit = param.PageSize
|
|
@@ -255,8 +246,9 @@ func (srv StaffAssessServeice) AssessSelfList(param *query.AssessSelfListQuery) |
|
@@ -255,8 +246,9 @@ func (srv StaffAssessServeice) AssessSelfList(param *query.AssessSelfListQuery) |
|
255
|
"companyId": param.CompanyId,
|
246
|
"companyId": param.CompanyId,
|
|
256
|
"typesList": []string{string(domain.AssessSelf)},
|
247
|
"typesList": []string{string(domain.AssessSelf)},
|
|
257
|
"limit": limit,
|
248
|
"limit": limit,
|
|
258
|
- "status": string(domain.StaffAssessCompleted),
|
249
|
+ "endTime": time.Now(), //获取历史记录
|
|
259
|
}
|
250
|
}
|
|
|
|
251
|
+ // "status": string(domain.StaffAssessCompleted),
|
|
260
|
if offset > 0 {
|
252
|
if offset > 0 {
|
|
261
|
condition["offset"] = offset
|
253
|
condition["offset"] = offset
|
|
262
|
}
|
254
|
}
|
|
@@ -347,16 +339,6 @@ func (srv StaffAssessServeice) AssessSelfList(param *query.AssessSelfListQuery) |
|
@@ -347,16 +339,6 @@ func (srv StaffAssessServeice) AssessSelfList(param *query.AssessSelfListQuery) |
|
347
|
|
339
|
|
|
348
|
// 根据项目评估的配置,创建员工的评估任务
|
340
|
// 根据项目评估的配置,创建员工的评估任务
|
|
349
|
func (srv StaffAssessServeice) CreateStaffAssessTask(transactionContext application.TransactionContext, param *command.CreateStaffAssessTask) (map[string]interface{}, error) {
|
341
|
func (srv StaffAssessServeice) CreateStaffAssessTask(transactionContext application.TransactionContext, param *command.CreateStaffAssessTask) (map[string]interface{}, error) {
|
|
350
|
- // transactionContext, err := factory.CreateTransactionContext(nil)
|
|
|
|
351
|
- // if err != nil {
|
|
|
|
352
|
- // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
|
353
|
- // }
|
|
|
|
354
|
- // if err := transactionContext.StartTransaction(); err != nil {
|
|
|
|
355
|
- // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
|
356
|
- // }
|
|
|
|
357
|
- // defer func() {
|
|
|
|
358
|
- // _ = transactionContext.RollbackTransaction()
|
|
|
|
359
|
- // }()
|
|
|
|
360
|
log.Logger.Debug("CreateStaffAssessTask 获取参数", map[string]interface{}{
|
342
|
log.Logger.Debug("CreateStaffAssessTask 获取参数", map[string]interface{}{
|
|
361
|
"param": param,
|
343
|
"param": param,
|
|
362
|
})
|
344
|
})
|
|
@@ -372,30 +354,64 @@ func (srv StaffAssessServeice) CreateStaffAssessTask(transactionContext applicat |
|
@@ -372,30 +354,64 @@ func (srv StaffAssessServeice) CreateStaffAssessTask(transactionContext applicat |
|
372
|
return nil, application.ThrowError(application.ARG_ERROR, "任务结束时间填写错误,"+param.EndTime)
|
354
|
return nil, application.ThrowError(application.ARG_ERROR, "任务结束时间填写错误,"+param.EndTime)
|
|
373
|
}
|
355
|
}
|
|
374
|
nowTime := time.Now()
|
356
|
nowTime := time.Now()
|
|
375
|
- //建立评估任务
|
|
|
|
376
|
- assessTaskData := &domain.StaffAssessTask{
|
|
|
|
377
|
- Id: 0,
|
|
|
|
378
|
- CompanyId: param.CompanyId,
|
|
|
|
379
|
- EvaluationProjectId: param.EvaluationProjectId,
|
|
|
|
380
|
- EvaluationProjectName: param.EvaluationProjectName,
|
|
|
|
381
|
- CycleId: param.CycleId,
|
|
|
|
382
|
- CycleName: param.CycleName,
|
|
|
|
383
|
- BeginTime: taskBeginTime,
|
|
|
|
384
|
- EndTime: taskEndTime,
|
|
|
|
385
|
- StepList: []domain.AssessTaskStep{},
|
|
|
|
386
|
- ExecutorId: nil,
|
|
|
|
387
|
- CreatedAt: nowTime,
|
|
|
|
388
|
- UpdatedAt: nowTime,
|
|
|
|
389
|
- DeletedAt: nil,
|
|
|
|
390
|
- BeginDay: taskBeginTime.Local().Format("2006-01-02"),
|
|
|
|
391
|
- }
|
|
|
|
392
|
- // }
|
|
|
|
393
|
|
357
|
|
|
394
|
- //填充评估环节
|
358
|
+ _, assassessTaskList, err := assessTaskRepo.Find(map[string]interface{}{
|
|
|
|
359
|
+ "evaluationProjectId": param.EvaluationProjectId,
|
|
|
|
360
|
+ "beginDay": taskBeginTime.Local().Format("2006-01-02"),
|
|
|
|
361
|
+ })
|
|
|
|
362
|
+ if err != nil {
|
|
|
|
363
|
+ return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询同日期同项目已存在的评估任务"+err.Error())
|
|
|
|
364
|
+ }
|
|
|
|
365
|
+ var assessTaskData *domain.StaffAssessTask
|
|
|
|
366
|
+ //更新旧数据或者新建数据
|
|
|
|
367
|
+ if len(assassessTaskList) > 0 {
|
|
|
|
368
|
+ assessTaskData = assassessTaskList[0]
|
|
|
|
369
|
+ assessTaskData.UpdatedAt = nowTime
|
|
|
|
370
|
+ } else {
|
|
|
|
371
|
+ //建立新的评估任务
|
|
|
|
372
|
+ assessTaskData = &domain.StaffAssessTask{
|
|
|
|
373
|
+ Id: 0,
|
|
|
|
374
|
+ CompanyId: param.CompanyId,
|
|
|
|
375
|
+ EvaluationProjectId: param.EvaluationProjectId,
|
|
|
|
376
|
+ EvaluationProjectName: param.EvaluationProjectName,
|
|
|
|
377
|
+ CycleId: param.CycleId,
|
|
|
|
378
|
+ CycleName: param.CycleName,
|
|
|
|
379
|
+ BeginTime: taskBeginTime,
|
|
|
|
380
|
+ EndTime: taskEndTime,
|
|
|
|
381
|
+ StepList: []domain.AssessTaskStep{},
|
|
|
|
382
|
+ ExecutorId: []int{},
|
|
|
|
383
|
+ CreatedAt: nowTime,
|
|
|
|
384
|
+ UpdatedAt: nowTime,
|
|
|
|
385
|
+ DeletedAt: nil,
|
|
|
|
386
|
+ BeginDay: taskBeginTime.Local().Format("2006-01-02"),
|
|
|
|
387
|
+ }
|
|
|
|
388
|
+ }
|
|
|
|
389
|
+ executorIds := []int{} //提取评估的参与人id
|
|
|
|
390
|
+ executorIdMap := map[int]struct{}{} //过滤重复的用户
|
|
|
|
391
|
+ //从入参中提取参与人
|
|
|
|
392
|
+ for _, v := range param.ExecutorId {
|
|
|
|
393
|
+ if _, ok := executorIdMap[v]; ok {
|
|
|
|
394
|
+ continue
|
|
|
|
395
|
+ }
|
|
|
|
396
|
+ executorIdMap[v] = struct{}{}
|
|
|
|
397
|
+ executorIds = append(executorIds, v)
|
|
|
|
398
|
+ }
|
|
|
|
399
|
+ //就数据中提取参与人
|
|
|
|
400
|
+ for _, v := range assessTaskData.ExecutorId {
|
|
|
|
401
|
+ if _, ok := executorIdMap[v]; ok {
|
|
|
|
402
|
+ continue
|
|
|
|
403
|
+ }
|
|
|
|
404
|
+ executorIdMap[v] = struct{}{}
|
|
|
|
405
|
+ executorIds = append(executorIds, v)
|
|
|
|
406
|
+ }
|
|
|
|
407
|
+ //填入新的参与人id
|
|
|
|
408
|
+ assessTaskData.ExecutorId = executorIds
|
|
|
|
409
|
+ //填充新的评估环节
|
|
|
|
410
|
+loop:
|
|
395
|
for _, v := range param.StepList {
|
411
|
for _, v := range param.StepList {
|
|
396
|
for _, vv := range assessTaskData.StepList {
|
412
|
for _, vv := range assessTaskData.StepList {
|
|
397
|
- if vv.LinkNodeType == v.LinkNodeType {
|
|
|
|
398
|
- continue
|
413
|
+ if vv.LinkNodeId == v.LinkNodeId {
|
|
|
|
414
|
+ continue loop
|
|
399
|
}
|
415
|
}
|
|
400
|
}
|
416
|
}
|
|
401
|
stepBeginTime, err := time.ParseInLocation("2006-01-02 15:04:05", param.BeginTime, time.Local)
|
417
|
stepBeginTime, err := time.ParseInLocation("2006-01-02 15:04:05", param.BeginTime, time.Local)
|
|
@@ -416,44 +432,15 @@ func (srv StaffAssessServeice) CreateStaffAssessTask(transactionContext applicat |
|
@@ -416,44 +432,15 @@ func (srv StaffAssessServeice) CreateStaffAssessTask(transactionContext applicat |
|
416
|
}
|
432
|
}
|
|
417
|
assessTaskData.StepList = append(assessTaskData.StepList, step)
|
433
|
assessTaskData.StepList = append(assessTaskData.StepList, step)
|
|
418
|
}
|
434
|
}
|
|
419
|
- //评估的参与人
|
|
|
|
420
|
- executorIds := []int{}
|
|
|
|
421
|
- executorIdMap := map[int]struct{}{} //过滤重复的用户
|
|
|
|
422
|
- for _, v := range param.ExecutorId {
|
|
|
|
423
|
- if _, ok := executorIdMap[v]; ok {
|
|
|
|
424
|
- continue
|
|
|
|
425
|
- }
|
|
|
|
426
|
- executorIdMap[v] = struct{}{}
|
|
|
|
427
|
- executorIds = append(executorIds, v)
|
|
|
|
428
|
- }
|
|
|
|
429
|
- assessTaskData.ExecutorId = executorIds
|
435
|
+ //排序流程环节
|
|
|
|
436
|
+ stepList := domain.SortTaskStep(assessTaskData.StepList)
|
|
|
|
437
|
+ sort.Sort(stepList)
|
|
|
|
438
|
+ assessTaskData.StepList = stepList
|
|
|
|
439
|
+ //添加员工的节点任务
|
|
430
|
assessList, err := srv.createStaffAssess(transactionContext, assessTaskData)
|
440
|
assessList, err := srv.createStaffAssess(transactionContext, assessTaskData)
|
|
431
|
if err != nil {
|
441
|
if err != nil {
|
|
432
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "生成个人评估项"+err.Error())
|
442
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "生成个人评估项"+err.Error())
|
|
433
|
}
|
443
|
}
|
|
434
|
- // var assessTaskData *domain.StaffAssessTask
|
|
|
|
435
|
- _, assassessTaskList, err := assessTaskRepo.Find(map[string]interface{}{
|
|
|
|
436
|
- "evaluationProjectId": param.EvaluationProjectId,
|
|
|
|
437
|
- "beginDay": taskBeginTime.Local().Format("2006-01-02"),
|
|
|
|
438
|
- })
|
|
|
|
439
|
- if err != nil {
|
|
|
|
440
|
- return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询同日期已存在评估任务"+err.Error())
|
|
|
|
441
|
- }
|
|
|
|
442
|
-
|
|
|
|
443
|
- if len(assassessTaskList) > 0 {
|
|
|
|
444
|
- //过滤就数据
|
|
|
|
445
|
- assessTaskData.Id = assassessTaskList[0].Id
|
|
|
|
446
|
- for _, v := range assassessTaskList[0].ExecutorId {
|
|
|
|
447
|
- if _, ok := executorIdMap[v]; ok {
|
|
|
|
448
|
- continue
|
|
|
|
449
|
- }
|
|
|
|
450
|
- executorIdMap[v] = struct{}{}
|
|
|
|
451
|
- executorIds = append(executorIds, v)
|
|
|
|
452
|
- }
|
|
|
|
453
|
- assessTaskData.ExecutorId = executorIds
|
|
|
|
454
|
- assessTaskData.StepList = append(assassessTaskList[0].StepList, assessTaskData.StepList...)
|
|
|
|
455
|
-
|
|
|
|
456
|
- }
|
|
|
|
457
|
_, err = assessTaskRepo.Save(assessTaskData)
|
444
|
_, err = assessTaskRepo.Save(assessTaskData)
|
|
458
|
if err != nil {
|
445
|
if err != nil {
|
|
459
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存评估任务"+err.Error())
|
446
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存评估任务"+err.Error())
|
|
@@ -469,10 +456,6 @@ func (srv StaffAssessServeice) CreateStaffAssessTask(transactionContext applicat |
|
@@ -469,10 +456,6 @@ func (srv StaffAssessServeice) CreateStaffAssessTask(transactionContext applicat |
|
469
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存个人评估项"+err.Error())
|
456
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存个人评估项"+err.Error())
|
|
470
|
}
|
457
|
}
|
|
471
|
}
|
458
|
}
|
|
472
|
-
|
|
|
|
473
|
- // if err := transactionContext.CommitTransaction(); err != nil {
|
|
|
|
474
|
- // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
|
475
|
- // }
|
|
|
|
476
|
return map[string]interface{}{
|
459
|
return map[string]interface{}{
|
|
477
|
"assessTaskId": assessTaskData.Id,
|
460
|
"assessTaskId": assessTaskData.Id,
|
|
478
|
}, nil
|
461
|
}, nil
|
|
@@ -480,8 +463,8 @@ func (srv StaffAssessServeice) CreateStaffAssessTask(transactionContext applicat |
|
@@ -480,8 +463,8 @@ func (srv StaffAssessServeice) CreateStaffAssessTask(transactionContext applicat |
|
480
|
|
463
|
|
|
481
|
// 添加节点任务
|
464
|
// 添加节点任务
|
|
482
|
func (srv StaffAssessServeice) createStaffAssess(transactionContext application.TransactionContext, param *domain.StaffAssessTask) ([]domain.StaffAssess, error) {
|
465
|
func (srv StaffAssessServeice) createStaffAssess(transactionContext application.TransactionContext, param *domain.StaffAssessTask) ([]domain.StaffAssess, error) {
|
|
483
|
- //评估的参与人
|
|
|
|
484
|
- selfUserId := []int{}
|
466
|
+
|
|
|
|
467
|
+ selfUserId := []int{} //评估的参与人
|
|
485
|
userIdMap := map[int]struct{}{} //过滤重复的用户
|
468
|
userIdMap := map[int]struct{}{} //过滤重复的用户
|
|
486
|
for _, v := range param.ExecutorId {
|
469
|
for _, v := range param.ExecutorId {
|
|
487
|
if _, ok := userIdMap[v]; ok {
|
470
|
if _, ok := userIdMap[v]; ok {
|
|
@@ -557,7 +540,7 @@ func (srv StaffAssessServeice) createStaffAssess(transactionContext application. |
|
@@ -557,7 +540,7 @@ func (srv StaffAssessServeice) createStaffAssess(transactionContext application. |
|
557
|
assessList = append(assessList, assessListTemp...)
|
540
|
assessList = append(assessList, assessListTemp...)
|
|
558
|
}
|
541
|
}
|
|
559
|
if v.LinkNodeType == domain.LinkNodeSuperiorAssessment {
|
542
|
if v.LinkNodeType == domain.LinkNodeSuperiorAssessment {
|
|
560
|
- // TODO
|
543
|
+ // 创建上级评估
|
|
561
|
stepSelfTemp.BeginTime = v.BeginTime
|
544
|
stepSelfTemp.BeginTime = v.BeginTime
|
|
562
|
stepSelfTemp.EndTime = v.EndTime
|
545
|
stepSelfTemp.EndTime = v.EndTime
|
|
563
|
stepSelfTemp.LinkNodeId = v.LinkNodeId
|
546
|
stepSelfTemp.LinkNodeId = v.LinkNodeId
|
|
@@ -578,7 +561,6 @@ func (srv StaffAssessServeice) createStaffAssessSelf(assessTemp domain.StaffAsse |
|
@@ -578,7 +561,6 @@ func (srv StaffAssessServeice) createStaffAssessSelf(assessTemp domain.StaffAsse |
|
578
|
userList []*domain.User, userDepartmentMap map[int64][]*domain.Department) []domain.StaffAssess {
|
561
|
userList []*domain.User, userDepartmentMap map[int64][]*domain.Department) []domain.StaffAssess {
|
|
579
|
result := []domain.StaffAssess{}
|
562
|
result := []domain.StaffAssess{}
|
|
580
|
for _, usr := range userList {
|
563
|
for _, usr := range userList {
|
|
581
|
-
|
|
|
|
582
|
assessTemp.TargetUser = domain.StaffDesc{
|
564
|
assessTemp.TargetUser = domain.StaffDesc{
|
|
583
|
UserId: int(usr.Id),
|
565
|
UserId: int(usr.Id),
|
|
584
|
Account: usr.Account,
|
566
|
Account: usr.Account,
|
|
@@ -602,7 +584,7 @@ func (srv StaffAssessServeice) createStaffAssessSelf(assessTemp domain.StaffAsse |
|
@@ -602,7 +584,7 @@ func (srv StaffAssessServeice) createStaffAssessSelf(assessTemp domain.StaffAsse |
|
602
|
return result
|
584
|
return result
|
|
603
|
}
|
585
|
}
|
|
604
|
|
586
|
|
|
605
|
-// 构建员工上级评估
|
587
|
+// 构建员工的上级评估
|
|
606
|
func (srv StaffAssessServeice) createStaffAssessSupper(
|
588
|
func (srv StaffAssessServeice) createStaffAssessSupper(
|
|
607
|
transactionContext application.TransactionContext,
|
589
|
transactionContext application.TransactionContext,
|
|
608
|
assessTemp domain.StaffAssess,
|
590
|
assessTemp domain.StaffAssess,
|
|
@@ -622,6 +604,7 @@ func (srv StaffAssessServeice) createStaffAssessSupper( |
|
@@ -622,6 +604,7 @@ func (srv StaffAssessServeice) createStaffAssessSupper( |
|
622
|
if len(vv2.ChargeUserIds) == 0 {
|
604
|
if len(vv2.ChargeUserIds) == 0 {
|
|
623
|
continue
|
605
|
continue
|
|
624
|
}
|
606
|
}
|
|
|
|
607
|
+ //获取部门的主管
|
|
625
|
_, chargeUserList, err := userRepo.Find(map[string]interface{}{
|
608
|
_, chargeUserList, err := userRepo.Find(map[string]interface{}{
|
|
626
|
"ids": vv2.ChargeUserIds,
|
609
|
"ids": vv2.ChargeUserIds,
|
|
627
|
"limit": 40,
|
610
|
"limit": 40,
|
|
@@ -742,7 +725,6 @@ func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInv |
|
@@ -742,7 +725,6 @@ func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInv |
|
742
|
defer func() {
|
725
|
defer func() {
|
|
743
|
_ = transactionContext.RollbackTransaction()
|
726
|
_ = transactionContext.RollbackTransaction()
|
|
744
|
}()
|
727
|
}()
|
|
745
|
-
|
|
|
|
746
|
assessReps := factory.CreateStaffAssessRepository(map[string]interface{}{
|
728
|
assessReps := factory.CreateStaffAssessRepository(map[string]interface{}{
|
|
747
|
"transactionContext": transactionContext,
|
729
|
"transactionContext": transactionContext,
|
|
748
|
})
|
730
|
})
|
|
@@ -775,6 +757,12 @@ func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInv |
|
@@ -775,6 +757,12 @@ func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInv |
|
775
|
if inviteNode == nil {
|
757
|
if inviteNode == nil {
|
|
776
|
return nil, application.ThrowError(application.ARG_ERROR, "评估任务没有邀请评估的环节")
|
758
|
return nil, application.ThrowError(application.ARG_ERROR, "评估任务没有邀请评估的环节")
|
|
777
|
}
|
759
|
}
|
|
|
|
760
|
+ //检查节点的结束时间
|
|
|
|
761
|
+ endTimeInt := inviteNode.EndTime.Unix()
|
|
|
|
762
|
+ if endTimeInt < time.Now().Unix() {
|
|
|
|
763
|
+ e := fmt.Sprintf("该环节已在%s截止", inviteNode.EndTime.Local().Format("2006-01-02 15:04:05"))
|
|
|
|
764
|
+ return nil, application.ThrowError(application.BUSINESS_ERROR, e)
|
|
|
|
765
|
+ }
|
|
778
|
|
766
|
|
|
779
|
targetUser, err := userRepo.FindOne(map[string]interface{}{
|
767
|
targetUser, err := userRepo.FindOne(map[string]interface{}{
|
|
780
|
"id": param.TargetUserId,
|
768
|
"id": param.TargetUserId,
|
|
@@ -1635,7 +1623,7 @@ func (srv *StaffAssessServeice) getStaffDescrip(transactionContext application.T |
|
@@ -1635,7 +1623,7 @@ func (srv *StaffAssessServeice) getStaffDescrip(transactionContext application.T |
|
1635
|
UserName: userData.Name,
|
1623
|
UserName: userData.Name,
|
|
1636
|
CompanyName: companyData.Name,
|
1624
|
CompanyName: companyData.Name,
|
|
1637
|
SupperUserName: "",
|
1625
|
SupperUserName: "",
|
|
1638
|
- DutyTime: userData.CreatedAt.Local().Format("2006-01-02 15:04:05"),
|
1626
|
+ DutyTime: userData.EntryTime,
|
|
1639
|
}
|
1627
|
}
|
|
1640
|
for _, v := range supperUserList {
|
1628
|
for _, v := range supperUserList {
|
|
1641
|
userInfo.SupperUserName = userInfo.SupperUserName + v.Name + " "
|
1629
|
userInfo.SupperUserName = userInfo.SupperUserName + v.Name + " "
|
|
@@ -1665,6 +1653,13 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma |
|
@@ -1665,6 +1653,13 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma |
|
1665
|
if err != nil {
|
1653
|
if err != nil {
|
|
1666
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取员工的评估"+err.Error())
|
1654
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取员工的评估"+err.Error())
|
|
1667
|
}
|
1655
|
}
|
|
|
|
1656
|
+
|
|
|
|
1657
|
+ //检查截止时间
|
|
|
|
1658
|
+ endTimeInt := assessData.EndTime.Unix()
|
|
|
|
1659
|
+ if endTimeInt < time.Now().Unix() {
|
|
|
|
1660
|
+ return nil, application.ThrowError(application.BUSINESS_ERROR, "当前环节已过截止时间,提交后无法修改内容")
|
|
|
|
1661
|
+ }
|
|
|
|
1662
|
+
|
|
1668
|
assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{
|
1663
|
assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{
|
|
1669
|
"transactionContext": transactionContext,
|
1664
|
"transactionContext": transactionContext,
|
|
1670
|
})
|
1665
|
})
|
|
@@ -1672,7 +1667,6 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma |
|
@@ -1672,7 +1667,6 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma |
|
1672
|
assessContentList := []*domain.StaffAssessContent{}
|
1667
|
assessContentList := []*domain.StaffAssessContent{}
|
|
1673
|
if assessData.Status == domain.StaffAssessCompleted {
|
1668
|
if assessData.Status == domain.StaffAssessCompleted {
|
|
1674
|
//已完成
|
1669
|
//已完成
|
|
1675
|
-
|
|
|
|
1676
|
_, assessContentList, err = assessContentRepo.Find(map[string]interface{}{
|
1670
|
_, assessContentList, err = assessContentRepo.Find(map[string]interface{}{
|
|
1677
|
"staffAssessId": assessData.Id,
|
1671
|
"staffAssessId": assessData.Id,
|
|
1678
|
})
|
1672
|
})
|
|
@@ -1700,6 +1694,12 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma |
|
@@ -1700,6 +1694,12 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma |
|
1700
|
continue
|
1694
|
continue
|
|
1701
|
}
|
1695
|
}
|
|
1702
|
v.Value = item.Value
|
1696
|
v.Value = item.Value
|
|
|
|
1697
|
+ //填入评估值描述
|
|
|
|
1698
|
+ reteResult, err := v.Rule.ScoreOrRating(&v.Value)
|
|
|
|
1699
|
+ if err != nil {
|
|
|
|
1700
|
+ return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
|
1701
|
+ }
|
|
|
|
1702
|
+ v.ReteResult = reteResult
|
|
1703
|
for ii := range v.Remark {
|
1703
|
for ii := range v.Remark {
|
|
1704
|
for _, vvv := range item.Remark {
|
1704
|
for _, vvv := range item.Remark {
|
|
1705
|
if v.Remark[ii].Title == vvv.Title {
|
1705
|
if v.Remark[ii].Title == vvv.Title {
|
|
@@ -1708,6 +1708,7 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma |
|
@@ -1708,6 +1708,7 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma |
|
1708
|
}
|
1708
|
}
|
|
1709
|
}
|
1709
|
}
|
|
1710
|
}
|
1710
|
}
|
|
|
|
1711
|
+
|
|
1711
|
}
|
1712
|
}
|
|
1712
|
|
1713
|
|
|
1713
|
//保存信息
|
1714
|
//保存信息
|