正在显示
1 个修改的文件
包含
38 行增加
和
73 行删除
@@ -35,6 +35,12 @@ func TaskSendSummaryEvaluationV2() error { | @@ -35,6 +35,12 @@ func TaskSendSummaryEvaluationV2() error { | ||
35 | return nil | 35 | return nil |
36 | } | 36 | } |
37 | 37 | ||
38 | +func dayEndTime(t time.Time) time.Time { | ||
39 | + y, m, d := t.Local().Date() | ||
40 | + t2 := time.Date(y, m, d, 23, 59, 59, 0, time.Local) | ||
41 | + return t2 | ||
42 | +} | ||
43 | + | ||
38 | // 获取周期 | 44 | // 获取周期 |
39 | func getPrepareEvaluationCycle() ([]*domain.EvaluationCycle, error) { | 45 | func getPrepareEvaluationCycle() ([]*domain.EvaluationCycle, error) { |
40 | transactionContext, err := factory.CreateTransactionContext(nil) | 46 | transactionContext, err := factory.CreateTransactionContext(nil) |
@@ -58,37 +64,6 @@ func getPrepareEvaluationCycle() ([]*domain.EvaluationCycle, error) { | @@ -58,37 +64,6 @@ func getPrepareEvaluationCycle() ([]*domain.EvaluationCycle, error) { | ||
58 | return cycleList, nil | 64 | return cycleList, nil |
59 | } | 65 | } |
60 | 66 | ||
61 | -// 获取可用的项目 | ||
62 | -// func getPrepareSummaryEvaluation(cycleId int) ([]*domain.EvaluationProject, error) { | ||
63 | -// transactionContext, err := factory.CreateTransactionContext(nil) | ||
64 | -// if err != nil { | ||
65 | -// return nil, err | ||
66 | -// } | ||
67 | -// if err := transactionContext.StartTransaction(); err != nil { | ||
68 | -// return nil, err | ||
69 | -// } | ||
70 | -// defer func() { | ||
71 | -// _ = transactionContext.RollbackTransaction() | ||
72 | -// }() | ||
73 | -// projectRepo := factory.CreateEvaluationProjectRepository(map[string]interface{}{ | ||
74 | -// "transactionContext": transactionContext, | ||
75 | -// }) | ||
76 | -// // 获取项目数据总数 | ||
77 | -// _, projectList, err := projectRepo.Find(map[string]interface{}{ | ||
78 | -// "cycleId": cycleId, | ||
79 | -// "summaryState": domain.ProjectSummaryStateNo, | ||
80 | -// "state": domain.ProjectStateEnable, | ||
81 | -// "limit": 200, | ||
82 | -// }, "template") | ||
83 | -// if err != nil { | ||
84 | -// return nil, fmt.Errorf("获取可用的项目数据,%s", err) | ||
85 | -// } | ||
86 | -// if err := transactionContext.CommitTransaction(); err != nil { | ||
87 | -// return nil, err | ||
88 | -// } | ||
89 | -// return projectList, nil | ||
90 | -// } | ||
91 | - | ||
92 | // 按周期下发 综合评估任务 | 67 | // 按周期下发 综合评估任务 |
93 | func sendSummaryEvaluationByCycle(cycleParam *domain.EvaluationCycle) error { | 68 | func sendSummaryEvaluationByCycle(cycleParam *domain.EvaluationCycle) error { |
94 | transactionContext, err := factory.CreateTransactionContext(nil) | 69 | transactionContext, err := factory.CreateTransactionContext(nil) |
@@ -115,10 +90,14 @@ func sendSummaryEvaluationByCycle(cycleParam *domain.EvaluationCycle) error { | @@ -115,10 +90,14 @@ func sendSummaryEvaluationByCycle(cycleParam *domain.EvaluationCycle) error { | ||
115 | if err != nil { | 90 | if err != nil { |
116 | return fmt.Errorf("获取可用的项目数据,%s", err) | 91 | return fmt.Errorf("获取可用的项目数据,%s", err) |
117 | } | 92 | } |
93 | + permissionData, err := getPermission(cycleParam.CompanyId) | ||
94 | + if err != nil { | ||
95 | + return fmt.Errorf("获取公司的周期评估设置项,%s", err) | ||
96 | + } | ||
118 | var newEvaluationList []domain.SummaryEvaluation | 97 | var newEvaluationList []domain.SummaryEvaluation |
119 | newPublisher := summaryEvaluationPublisher{} | 98 | newPublisher := summaryEvaluationPublisher{} |
120 | for _, val := range projectList { | 99 | for _, val := range projectList { |
121 | - evaluationList, err := newPublisher.sendSummaryEvaluationV2(transactionContext, val, cycleParam) | 100 | + evaluationList, err := newPublisher.sendSummaryEvaluationV2(transactionContext, val, cycleParam, *permissionData) |
122 | if err != nil { | 101 | if err != nil { |
123 | return fmt.Errorf("按项目下发综合评估任务数据,%s", err) | 102 | return fmt.Errorf("按项目下发综合评估任务数据,%s", err) |
124 | } | 103 | } |
@@ -148,18 +127,10 @@ type summaryEvaluationPublisher struct { | @@ -148,18 +127,10 @@ type summaryEvaluationPublisher struct { | ||
148 | 127 | ||
149 | func (se *summaryEvaluationPublisher) sendSummaryEvaluationV2( | 128 | func (se *summaryEvaluationPublisher) sendSummaryEvaluationV2( |
150 | transactionContext application.TransactionContext, | 129 | transactionContext application.TransactionContext, |
151 | - projectParam *domain.EvaluationProject, cycleData *domain.EvaluationCycle, | 130 | + projectParam *domain.EvaluationProject, |
131 | + cycleData *domain.EvaluationCycle, | ||
132 | + permissioData domain.Permission, | ||
152 | ) ([]domain.SummaryEvaluation, error) { | 133 | ) ([]domain.SummaryEvaluation, error) { |
153 | - // transactionContext, err := factory.CreateTransactionContext(nil) | ||
154 | - // if err != nil { | ||
155 | - // return err | ||
156 | - // } | ||
157 | - // if err := transactionContext.StartTransaction(); err != nil { | ||
158 | - // return err | ||
159 | - // } | ||
160 | - // defer func() { | ||
161 | - // _ = transactionContext.RollbackTransaction() | ||
162 | - // }() | ||
163 | userRepo := factory.CreateUserRepository(map[string]interface{}{"transactionContext": transactionContext}) | 134 | userRepo := factory.CreateUserRepository(map[string]interface{}{"transactionContext": transactionContext}) |
164 | departmentRepo := factory.CreateDepartmentRepository(map[string]interface{}{"transactionContext": transactionContext}) | 135 | departmentRepo := factory.CreateDepartmentRepository(map[string]interface{}{"transactionContext": transactionContext}) |
165 | evaluationItemRepo := factory.CreateEvaluationItemUsedRepository(map[string]interface{}{"transactionContext": transactionContext}) | 136 | evaluationItemRepo := factory.CreateEvaluationItemUsedRepository(map[string]interface{}{"transactionContext": transactionContext}) |
@@ -193,16 +164,31 @@ func (se *summaryEvaluationPublisher) sendSummaryEvaluationV2( | @@ -193,16 +164,31 @@ func (se *summaryEvaluationPublisher) sendSummaryEvaluationV2( | ||
193 | if cycleData.TimeEnd == nil { | 164 | if cycleData.TimeEnd == nil { |
194 | return nil, fmt.Errorf("周期%d:%s 结束时间错误", cycleData.Id, cycleData.Name) | 165 | return nil, fmt.Errorf("周期%d:%s 结束时间错误", cycleData.Id, cycleData.Name) |
195 | } | 166 | } |
167 | + | ||
196 | //自评的时间范围 | 168 | //自评的时间范围 |
197 | - beginTimeSelf := *cycleData.TimeEnd | 169 | + beginTimeSelf := *cycleData.TimeEnd // |
170 | + beginDay := dayEndTime(beginTimeSelf) | ||
198 | //修改 周期结束时间那天的第二天开始计算 | 171 | //修改 周期结束时间那天的第二天开始计算 |
199 | - endTimeSelf := dayZeroTime(beginTimeSelf).Add(4*24*time.Hour - time.Second) | 172 | + endTimeSelf := beginDay.Add(time.Duration(permissioData.CycleDeadLine.AssessmentSelf.Hour) * time.Hour). |
173 | + Add(time.Duration(permissioData.CycleDeadLine.AssessmentSelf.Minute) * time.Minute) | ||
200 | //人资、360评估的时间范围 | 174 | //人资、360评估的时间范围 |
201 | beginTime360 := endTimeSelf | 175 | beginTime360 := endTimeSelf |
202 | - endTime360 := endTimeSelf.Add(2 * 24 * time.Hour) | 176 | + endTime360 := beginDay.Add(time.Duration(permissioData.CycleDeadLine.AssessmentAll.Hour) * time.Hour). |
177 | + Add(time.Duration(permissioData.CycleDeadLine.AssessmentAll.Minute) * time.Minute) | ||
178 | + //人资评估的时间范围 | ||
179 | + beginTimeHr := endTimeSelf | ||
180 | + endTimeHr := beginDay.Add(time.Duration(permissioData.CycleDeadLine.AssessmentHr.Hour) * time.Hour). | ||
181 | + Add(time.Duration(permissioData.CycleDeadLine.AssessmentHr.Minute) * time.Minute) | ||
182 | + | ||
203 | //上级评估的是时间范围 | 183 | //上级评估的是时间范围 |
204 | - beginTimeSuper := endTime360 | ||
205 | - endTimeSuper := endTime360.Add(2 * 24 * time.Hour) | 184 | + beginTimeSuper := endTimeHr |
185 | + endTimeSuper := beginDay.Add(time.Duration(permissioData.CycleDeadLine.AssessmentSuperior.Hour) * time.Hour). | ||
186 | + Add(time.Duration(permissioData.CycleDeadLine.AssessmentSuperior.Minute) * time.Minute) | ||
187 | + | ||
188 | + //考核结果的时间范围 | ||
189 | + beginTimeFinish := endTimeSuper | ||
190 | + endTimeFinish := beginDay.Add(time.Duration(permissioData.CycleDeadLine.ViewMyPerf.Hour) * time.Hour). | ||
191 | + Add(time.Duration(permissioData.CycleDeadLine.ViewMyPerf.Minute) * time.Minute) | ||
206 | // 创建周期评估任务 | 192 | // 创建周期评估任务 |
207 | var newEvaluationList []domain.SummaryEvaluation | 193 | var newEvaluationList []domain.SummaryEvaluation |
208 | evaluationTemp := domain.SummaryEvaluation{ | 194 | evaluationTemp := domain.SummaryEvaluation{ |
@@ -287,8 +273,8 @@ func (se *summaryEvaluationPublisher) sendSummaryEvaluationV2( | @@ -287,8 +273,8 @@ func (se *summaryEvaluationPublisher) sendSummaryEvaluationV2( | ||
287 | { | 273 | { |
288 | if hrbpExist { | 274 | if hrbpExist { |
289 | //处理人资评估 | 275 | //处理人资评估 |
290 | - evaluationTemp.BeginTime = beginTime360 | ||
291 | - evaluationTemp.EndTime = endTime360 | 276 | + evaluationTemp.BeginTime = beginTimeHr |
277 | + evaluationTemp.EndTime = endTimeHr | ||
292 | evaluationTemp.Executor = domain.StaffDesc{} | 278 | evaluationTemp.Executor = domain.StaffDesc{} |
293 | evaluationTemp.Types = domain.EvaluationHrbp | 279 | evaluationTemp.Types = domain.EvaluationHrbp |
294 | newEvaluationList = append(newEvaluationList, evaluationTemp) | 280 | newEvaluationList = append(newEvaluationList, evaluationTemp) |
@@ -314,8 +300,8 @@ func (se *summaryEvaluationPublisher) sendSummaryEvaluationV2( | @@ -314,8 +300,8 @@ func (se *summaryEvaluationPublisher) sendSummaryEvaluationV2( | ||
314 | { | 300 | { |
315 | evaluationTemp.Types = domain.EvaluationFinish | 301 | evaluationTemp.Types = domain.EvaluationFinish |
316 | evaluationTemp.Executor = domain.StaffDesc{} | 302 | evaluationTemp.Executor = domain.StaffDesc{} |
317 | - evaluationTemp.BeginTime = endTimeSuper | ||
318 | - evaluationTemp.EndTime = endTimeSuper.Add(2 * 24 * time.Hour) | 303 | + evaluationTemp.BeginTime = beginTimeFinish |
304 | + evaluationTemp.EndTime = endTimeFinish | ||
319 | newEvaluationList = append(newEvaluationList, evaluationTemp) | 305 | newEvaluationList = append(newEvaluationList, evaluationTemp) |
320 | } | 306 | } |
321 | } | 307 | } |
@@ -332,30 +318,9 @@ func (se *summaryEvaluationPublisher) sendSummaryEvaluationV2( | @@ -332,30 +318,9 @@ func (se *summaryEvaluationPublisher) sendSummaryEvaluationV2( | ||
332 | if err != nil { | 318 | if err != nil { |
333 | return nil, fmt.Errorf("保存项目状态%s", err) | 319 | return nil, fmt.Errorf("保存项目状态%s", err) |
334 | } | 320 | } |
335 | - // if err := transactionContext.CommitTransaction(); err != nil { | ||
336 | - // return err | ||
337 | - // } | ||
338 | return newEvaluationList, nil | 321 | return newEvaluationList, nil |
339 | } | 322 | } |
340 | 323 | ||
341 | -// 获取周期设置数据 | ||
342 | -// func (se *summaryEvaluationPublisher) getCycleData(cycleRepo domain.EvaluationCycleRepository, cycleId int64) (*domain.EvaluationCycle, error) { | ||
343 | -// var cycleData *domain.EvaluationCycle | ||
344 | -// if val, ok := se.cycleCache[cycleId]; ok { | ||
345 | -// cycleData = val | ||
346 | -// } else { | ||
347 | -// _, cycleList, err := cycleRepo.Find(map[string]interface{}{"id": cycleId}) | ||
348 | -// if err != nil { | ||
349 | -// return nil, err | ||
350 | -// } | ||
351 | -// if len(cycleList) == 0 { | ||
352 | -// return nil, nil | ||
353 | -// } | ||
354 | -// cycleData = cycleList[0] | ||
355 | -// } | ||
356 | -// return cycleData, nil | ||
357 | -// } | ||
358 | - | ||
359 | // 获取用户数据 | 324 | // 获取用户数据 |
360 | func (se *summaryEvaluationPublisher) getUserData(userRepo domain.UserRepository, userId int64) (*domain.User, error) { | 325 | func (se *summaryEvaluationPublisher) getUserData(userRepo domain.UserRepository, userId int64) (*domain.User, error) { |
361 | if userId == 0 { | 326 | if userId == 0 { |
-
请 注册 或 登录 后发表评论