正在显示
4 个修改的文件
包含
44 行增加
和
1 行删除
@@ -7,6 +7,7 @@ import ( | @@ -7,6 +7,7 @@ import ( | ||
7 | 7 | ||
8 | type UpdatePermissionCommand struct { | 8 | type UpdatePermissionCommand struct { |
9 | CompanyId int64 `cname:"公司Id"` | 9 | CompanyId int64 `cname:"公司Id"` |
10 | + UserId int64 `cname:"用户ID"` | ||
10 | OptHrScore int `cname:"上级修改人资综评分数" json:"optHrScore" valid:"Required"` | 11 | OptHrScore int `cname:"上级修改人资综评分数" json:"optHrScore" valid:"Required"` |
11 | OptEvalScore int `cname:"上级修改360°综评分数" json:"optEvalScore" valid:"Required"` | 12 | OptEvalScore int `cname:"上级修改360°综评分数" json:"optEvalScore" valid:"Required"` |
12 | OptConfirmPerf int `cname:"是否需要员工确认绩效" json:"optConfirmPerf"` | 13 | OptConfirmPerf int `cname:"是否需要员工确认绩效" json:"optConfirmPerf"` |
@@ -4,6 +4,7 @@ import ( | @@ -4,6 +4,7 @@ import ( | ||
4 | "github.com/linmadan/egglib-go/core/application" | 4 | "github.com/linmadan/egglib-go/core/application" |
5 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory" | 5 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory" |
6 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/permission/command" | 6 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/permission/command" |
7 | + service "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/role" | ||
7 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" | 8 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" |
8 | ) | 9 | ) |
9 | 10 | ||
@@ -23,6 +24,7 @@ func (rs *PermissionService) Update(in *command.UpdatePermissionCommand) (interf | @@ -23,6 +24,7 @@ func (rs *PermissionService) Update(in *command.UpdatePermissionCommand) (interf | ||
23 | defer func() { | 24 | defer func() { |
24 | transactionContext.RollbackTransaction() | 25 | transactionContext.RollbackTransaction() |
25 | }() | 26 | }() |
27 | + | ||
26 | permissionRepository := factory.CreatePermissionRepository(map[string]interface{}{"transactionContext": transactionContext}) | 28 | permissionRepository := factory.CreatePermissionRepository(map[string]interface{}{"transactionContext": transactionContext}) |
27 | // 获取权限配置 | 29 | // 获取权限配置 |
28 | _, permissions, err := permissionRepository.Find(map[string]interface{}{"companyId": in.CompanyId}) | 30 | _, permissions, err := permissionRepository.Find(map[string]interface{}{"companyId": in.CompanyId}) |
@@ -36,6 +38,45 @@ func (rs *PermissionService) Update(in *command.UpdatePermissionCommand) (interf | @@ -36,6 +38,45 @@ func (rs *PermissionService) Update(in *command.UpdatePermissionCommand) (interf | ||
36 | permission.OptHrScore = in.OptHrScore | 38 | permission.OptHrScore = in.OptHrScore |
37 | permission.OptEvalScore = in.OptEvalScore | 39 | permission.OptEvalScore = in.OptEvalScore |
38 | 40 | ||
41 | + // 超级管理员权限传参 | ||
42 | + if in.OptConfirmPerf > 0 || in.CycleDeadLine != nil { | ||
43 | + superAdmin, err := service.GetSuperAdmin(transactionContext, int(in.CompanyId), int(in.UserId)) | ||
44 | + if err != nil { | ||
45 | + return nil, err | ||
46 | + } | ||
47 | + if superAdmin != domain.RoleTypeSuperAdmin { | ||
48 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有操作权限") | ||
49 | + } | ||
50 | + | ||
51 | + switch in.OptConfirmPerf { | ||
52 | + case domain.PermissionOff, domain.PermissionOn: | ||
53 | + default: | ||
54 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "是否需要员工确认绩效参数错误") | ||
55 | + } | ||
56 | + var cycleDeadLine = in.CycleDeadLine | ||
57 | + var allMinuteSelf = cycleDeadLine.AssessmentSelf.Hour*60 + cycleDeadLine.AssessmentSelf.Minute | ||
58 | + var allMinute360 = cycleDeadLine.AssessmentAll.Hour*60 + cycleDeadLine.AssessmentAll.Minute | ||
59 | + //var allMinuteHr = cycleDeadLine.AssessmentHr.Hour*60 + cycleDeadLine.AssessmentHr.Minute | ||
60 | + var allMinuteSuperior = cycleDeadLine.AssessmentSuperior.Hour*60 + cycleDeadLine.AssessmentSuperior.Minute | ||
61 | + var allMinuteMy = cycleDeadLine.ViewMyPerf.Hour*60 + cycleDeadLine.ViewMyPerf.Minute | ||
62 | + | ||
63 | + // 注. 360和人资评估时间截止是相同的(前端只传递一个360评估参数) | ||
64 | + cycleDeadLine.AssessmentHr.Hour = cycleDeadLine.AssessmentAll.Hour | ||
65 | + cycleDeadLine.AssessmentHr.Minute = cycleDeadLine.AssessmentAll.Minute | ||
66 | + | ||
67 | + if allMinuteSelf > allMinute360 { | ||
68 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "截止时间:[360评估]不能小于[综合自评]") | ||
69 | + } | ||
70 | + if allMinute360 > allMinuteSuperior { | ||
71 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "截止时间:[上级评估]不能小于[360评估]") | ||
72 | + } | ||
73 | + if allMinuteSuperior > allMinuteMy { | ||
74 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "截止时间:[查看我的绩效]不能小于[上级评估]") | ||
75 | + } | ||
76 | + permission.OptConfirmPerf = in.OptConfirmPerf | ||
77 | + permission.CycleDeadLine = in.CycleDeadLine | ||
78 | + } | ||
79 | + | ||
39 | permission, err = permissionRepository.Insert(permission) | 80 | permission, err = permissionRepository.Insert(permission) |
40 | if err != nil { | 81 | if err != nil { |
41 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 82 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
@@ -3,7 +3,7 @@ package domain | @@ -3,7 +3,7 @@ package domain | ||
3 | import "time" | 3 | import "time" |
4 | 4 | ||
5 | const ( | 5 | const ( |
6 | - RoleTypeCommon int = 0 // 角色类型-添加角色 | 6 | + RoleTypeCommon int = 0 // 角色类型-普通角色 |
7 | RoleTypeSystem int = 1 // 角色类型-系统预制角色HR-BP(不可删除、编辑) | 7 | RoleTypeSystem int = 1 // 角色类型-系统预制角色HR-BP(不可删除、编辑) |
8 | RoleTypeSuperAdmin int = 2 // 角色类型-系统预制超级管理员(不可删除、编辑) | 8 | RoleTypeSuperAdmin int = 2 // 角色类型-系统预制超级管理员(不可删除、编辑) |
9 | ) | 9 | ) |
@@ -20,6 +20,7 @@ func (controller *PermissionController) UpdatePermission() { | @@ -20,6 +20,7 @@ func (controller *PermissionController) UpdatePermission() { | ||
20 | } else { | 20 | } else { |
21 | ua := middlewares.GetUser(controller.Ctx) | 21 | ua := middlewares.GetUser(controller.Ctx) |
22 | in.CompanyId = ua.CompanyId | 22 | in.CompanyId = ua.CompanyId |
23 | + in.UserId = ua.UserId | ||
23 | controller.Response(ruService.Update(in)) | 24 | controller.Response(ruService.Update(in)) |
24 | } | 25 | } |
25 | } | 26 | } |
-
请 注册 或 登录 后发表评论