作者 tangxvhui
@@ -2,8 +2,8 @@ package command @@ -2,8 +2,8 @@ package command
2 2
3 type EditEvaluationValue struct { 3 type EditEvaluationValue struct {
4 SummaryEvaluationId int `json:"summaryEvaluationId,string"` 4 SummaryEvaluationId int `json:"summaryEvaluationId,string"`
5 - ExecutorId int `json:"-"` //执行人id  
6 - CompanyId int `json:"-"` //公司id 5 + ExecutorId int `json:"-"` // 执行人id
  6 + CompanyId int `json:"-"` // 公司id
7 EvaluationItems []struct { 7 EvaluationItems []struct {
8 Value string `json:"value"` 8 Value string `json:"value"`
9 Remark string `json:"remark"` 9 Remark string `json:"remark"`
@@ -5,3 +5,13 @@ type QueryEvaluationInfo struct { @@ -5,3 +5,13 @@ type QueryEvaluationInfo struct {
5 ExecutorId int `json:"executorId,string"` //执行人id 5 ExecutorId int `json:"executorId,string"` //执行人id
6 CompanyId int `json:"-"` //公司id 6 CompanyId int `json:"-"` //公司id
7 } 7 }
  8 +
  9 +type QueryEvaluation360 struct {
  10 + SummaryEvaluationId int `json:"summaryEvaluationId,string"`
  11 + UserId int `json:"-"` // 用户ID
  12 +}
  13 +
  14 +type QueryEvaluationHRBP struct {
  15 + SummaryEvaluationId int `json:"summaryEvaluationId,string"`
  16 + UserId int `json:"-"` // 用户ID
  17 +}
@@ -241,8 +241,7 @@ func (srv *SummaryEvaluationService) GetMenu(param *command.QueryMenu) (map[stri @@ -241,8 +241,7 @@ func (srv *SummaryEvaluationService) GetMenu(param *command.QueryMenu) (map[stri
241 } 241 }
242 242
243 // buildSummaryItemValue 将填写值填充进评估项 243 // buildSummaryItemValue 将填写值填充进评估项
244 -func (srv *SummaryEvaluationService) buildSummaryItemValue(itemList []*domain.EvaluationItemUsed, valueList []*domain.SummaryEvaluationValue) (  
245 - itemValues []adapter.EvaluationItemAdapter) { 244 +func (srv *SummaryEvaluationService) buildSummaryItemValue(itemList []*domain.EvaluationItemUsed, valueList []*domain.SummaryEvaluationValue) (itemValues []adapter.EvaluationItemAdapter) {
246 itemValues = []adapter.EvaluationItemAdapter{} 245 itemValues = []adapter.EvaluationItemAdapter{}
247 valueMap := map[int]*domain.SummaryEvaluationValue{} 246 valueMap := map[int]*domain.SummaryEvaluationValue{}
248 for _, v := range valueList { 247 for _, v := range valueList {
  1 +package service
  2 +
  3 +import (
  4 + "github.com/linmadan/egglib-go/core/application"
  5 + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory"
  6 + service "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/role"
  7 + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/summary_evaluation/adapter"
  8 + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/summary_evaluation/command"
  9 + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"
  10 + "time"
  11 +)
  12 +
  13 +// GetEvaluation360 获取360综评详情
  14 +func (srv *SummaryEvaluationService) GetEvaluation360(param *command.QueryEvaluation360) (*adapter.EvaluationInfoAdapter, error) {
  15 + transactionContext, err := factory.ValidateStartTransaction(param)
  16 + if err != nil {
  17 + return nil, err
  18 + }
  19 + defer func() {
  20 + _ = transactionContext.RollbackTransaction()
  21 + }()
  22 +
  23 + evaluationRepo := factory.CreateSummaryEvaluationRepository(map[string]interface{}{"transactionContext": transactionContext})
  24 + evaluationItemRepo := factory.CreateEvaluationItemUsedRepository(map[string]interface{}{"transactionContext": transactionContext})
  25 + itemValueRepo := factory.CreateSummaryEvaluationValueRepository(map[string]interface{}{"transactionContext": transactionContext})
  26 +
  27 + sEvaluation, err := evaluationRepo.FindOne(map[string]interface{}{"id": param.SummaryEvaluationId})
  28 + if err != nil {
  29 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  30 + }
  31 +
  32 + // 自评评估内容(自评模板、筛选项目评估人)
  33 + _, itemList, err := evaluationItemRepo.Find(map[string]interface{}{
  34 + "evaluationProjectId": sEvaluation.EvaluationProjectId,
  35 + "nodeType": domain.LinkNodeSelfAssessment,
  36 + "evaluatorId": param.UserId,
  37 + })
  38 + if err != nil {
  39 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  40 + }
  41 +
  42 + // 评估内容对应的分数
  43 + _, itemValues, err := itemValueRepo.Find(map[string]interface{}{"summaryEvaluationId": sEvaluation.Id})
  44 + if err != nil {
  45 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  46 + }
  47 +
  48 + if err := transactionContext.CommitTransaction(); err != nil {
  49 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  50 + }
  51 +
  52 + itemValuesAdapter := srv.buildSummaryItemValue(itemList, itemValues)
  53 + result := adapter.EvaluationInfoAdapter{
  54 + SummaryEvaluationId: sEvaluation.Id,
  55 + CycleId: int(sEvaluation.CycleId),
  56 + CycleName: sEvaluation.CycleName,
  57 + EvaluationProjectId: sEvaluation.EvaluationProjectId,
  58 + EvaluationProjectName: sEvaluation.EvaluationProjectName,
  59 + LinkNodeId: sEvaluation.NodeId,
  60 + BeginTime: sEvaluation.BeginTime.Format("2006-01-02 15:04:05"),
  61 + EndTime: sEvaluation.EndTime.Format("2006-01-02 15:04:05"),
  62 + TargetUserId: sEvaluation.TargetUser.UserId,
  63 + TargetUserName: sEvaluation.TargetUser.UserName,
  64 + Status: string(sEvaluation.Status),
  65 + EvaluationItems: itemValuesAdapter,
  66 + }
  67 + return &result, nil
  68 +}
  69 +
  70 +// EditEvaluation360 编辑提交360综评
  71 +func (srv *SummaryEvaluationService) EditEvaluation360(param *command.EditEvaluationValue) (map[string][]adapter.EvaluationItemAdapter, error) {
  72 + transactionContext, err := factory.CreateTransactionContext(nil)
  73 + if err != nil {
  74 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  75 + }
  76 + if err := transactionContext.StartTransaction(); err != nil {
  77 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  78 + }
  79 + defer func() {
  80 + _ = transactionContext.RollbackTransaction()
  81 + }()
  82 + evaluationRepo := factory.CreateSummaryEvaluationRepository(map[string]interface{}{"transactionContext": transactionContext})
  83 + itemUsedRepo := factory.CreateEvaluationItemUsedRepository(map[string]interface{}{"transactionContext": transactionContext})
  84 + itemValueRepo := factory.CreateSummaryEvaluationValueRepository(map[string]interface{}{"transactionContext": transactionContext})
  85 +
  86 + summaryEvaluation, err := evaluationRepo.FindOne(map[string]interface{}{"id": param.SummaryEvaluationId})
  87 + if err != nil {
  88 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  89 + }
  90 + if summaryEvaluation.Executor.UserId != param.ExecutorId {
  91 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有操作权限")
  92 + }
  93 + if summaryEvaluation.CompanyId != param.CompanyId {
  94 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有操作权限")
  95 + }
  96 +
  97 + // 自评评估内容(自评模板、筛选项目评估人)
  98 + _, itemList, err := itemUsedRepo.Find(map[string]interface{}{
  99 + "evaluationProjectId": summaryEvaluation.EvaluationProjectId,
  100 + "nodeType": domain.LinkNodeSelfAssessment,
  101 + "evaluatorId": param.ExecutorId,
  102 + })
  103 + if err != nil {
  104 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  105 + }
  106 +
  107 + // 评估内容对应的分数
  108 + _, itemValueList, err := itemValueRepo.Find(map[string]interface{}{"summaryEvaluationId": summaryEvaluation.Id})
  109 + if err != nil {
  110 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  111 + }
  112 +
  113 + evaluationValueMap := map[int]*domain.SummaryEvaluationValue{}
  114 + for _, v := range itemList {
  115 + newValue := &domain.SummaryEvaluationValue{}
  116 + newValue.SetBlankValue(summaryEvaluation, v)
  117 + evaluationValueMap[v.Id] = newValue
  118 + }
  119 + for _, v := range itemValueList {
  120 + if mValue, ok := evaluationValueMap[v.EvaluationItemId]; ok {
  121 + mValue.Id = v.Id
  122 + }
  123 + }
  124 + nowTime := time.Now()
  125 + for _, v := range param.EvaluationItems {
  126 + updatedData, ok := evaluationValueMap[v.EvaluationItemId]
  127 + if !ok {
  128 + continue
  129 + }
  130 + updatedData.UpdatedAt = nowTime
  131 + updatedData.Value = v.Value
  132 + updatedData.Remark = v.Remark
  133 + //计算得分
  134 + err = updatedData.SummaryEvaluationScore()
  135 + if err != nil {
  136 + return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
  137 + }
  138 + }
  139 +
  140 + evaluationValueList := make([]*domain.SummaryEvaluationValue, 0)
  141 + for _, v := range evaluationValueMap {
  142 + //保存填写值
  143 + err = itemValueRepo.Save(v)
  144 + if err != nil {
  145 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  146 + }
  147 + evaluationValueList = append(evaluationValueList, v)
  148 + }
  149 + //计算总得分
  150 + err = summaryEvaluation.EvaluationTotalScore(evaluationValueList)
  151 + if err != nil {
  152 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  153 + }
  154 + summaryEvaluation.UpdatedAt = nowTime
  155 + //保存填写值
  156 + err = evaluationRepo.Save(summaryEvaluation)
  157 + if err != nil {
  158 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  159 + }
  160 + if err := transactionContext.CommitTransaction(); err != nil {
  161 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  162 + }
  163 + itemValueAdapter := srv.buildSummaryItemValue(itemList, evaluationValueList)
  164 + return map[string][]adapter.EvaluationItemAdapter{
  165 + "evaluationItems": itemValueAdapter,
  166 + }, nil
  167 +}
  168 +
  169 +// GetEvaluationHRBP 获取人资综评详情
  170 +func (srv *SummaryEvaluationService) GetEvaluationHRBP(param *command.QueryEvaluationHRBP) (*adapter.EvaluationInfoAdapter, error) {
  171 + transactionContext, err := factory.ValidateStartTransaction(param)
  172 + if err != nil {
  173 + return nil, err
  174 + }
  175 + defer func() {
  176 + _ = transactionContext.RollbackTransaction()
  177 + }()
  178 +
  179 + evaluationRepo := factory.CreateSummaryEvaluationRepository(map[string]interface{}{"transactionContext": transactionContext})
  180 + evaluationItemRepo := factory.CreateEvaluationItemUsedRepository(map[string]interface{}{"transactionContext": transactionContext})
  181 + itemValueRepo := factory.CreateSummaryEvaluationValueRepository(map[string]interface{}{"transactionContext": transactionContext})
  182 +
  183 + sEvaluation, err := evaluationRepo.FindOne(map[string]interface{}{"id": param.SummaryEvaluationId})
  184 + if err != nil {
  185 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  186 + }
  187 +
  188 + // 自评评估内容(自评模板、筛选项目评估人)
  189 + _, itemList, err := evaluationItemRepo.Find(map[string]interface{}{
  190 + "evaluationProjectId": sEvaluation.EvaluationProjectId,
  191 + "nodeType": domain.LinkNodeSelfAssessment,
  192 + "evaluatorId": -1,
  193 + })
  194 + if err != nil {
  195 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  196 + }
  197 +
  198 + // 评估内容对应的分数
  199 + _, itemValues, err := itemValueRepo.Find(map[string]interface{}{"summaryEvaluationId": sEvaluation.Id})
  200 + if err != nil {
  201 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  202 + }
  203 +
  204 + if err := transactionContext.CommitTransaction(); err != nil {
  205 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  206 + }
  207 +
  208 + itemValuesAdapter := srv.buildSummaryItemValue(itemList, itemValues)
  209 + result := adapter.EvaluationInfoAdapter{
  210 + SummaryEvaluationId: sEvaluation.Id,
  211 + CycleId: int(sEvaluation.CycleId),
  212 + CycleName: sEvaluation.CycleName,
  213 + EvaluationProjectId: sEvaluation.EvaluationProjectId,
  214 + EvaluationProjectName: sEvaluation.EvaluationProjectName,
  215 + LinkNodeId: sEvaluation.NodeId,
  216 + BeginTime: sEvaluation.BeginTime.Format("2006-01-02 15:04:05"),
  217 + EndTime: sEvaluation.EndTime.Format("2006-01-02 15:04:05"),
  218 + TargetUserId: sEvaluation.TargetUser.UserId,
  219 + TargetUserName: sEvaluation.TargetUser.UserName,
  220 + Status: string(sEvaluation.Status),
  221 + EvaluationItems: itemValuesAdapter,
  222 + }
  223 + return &result, nil
  224 +}
  225 +
  226 +// EditEvaluationHRBP 编辑提交人资综评
  227 +func (srv *SummaryEvaluationService) EditEvaluationHRBP(param *command.EditEvaluationValue) (map[string][]adapter.EvaluationItemAdapter, error) {
  228 + transactionContext, err := factory.CreateTransactionContext(nil)
  229 + if err != nil {
  230 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  231 + }
  232 + if err := transactionContext.StartTransaction(); err != nil {
  233 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  234 + }
  235 + defer func() {
  236 + _ = transactionContext.RollbackTransaction()
  237 + }()
  238 +
  239 + userRepo := factory.CreateUserRepository(map[string]interface{}{"transactionContext": transactionContext})
  240 + evaluationRepo := factory.CreateSummaryEvaluationRepository(map[string]interface{}{"transactionContext": transactionContext})
  241 + itemUsedRepo := factory.CreateEvaluationItemUsedRepository(map[string]interface{}{"transactionContext": transactionContext})
  242 + itemValueRepo := factory.CreateSummaryEvaluationValueRepository(map[string]interface{}{"transactionContext": transactionContext})
  243 +
  244 + // 必须是HRBP权限的人才能编辑操作
  245 + hrbp, err := service.GetHRBP(transactionContext, param.CompanyId, param.ExecutorId)
  246 + if hrbp != 1 {
  247 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有操作权限")
  248 + }
  249 +
  250 + summaryEvaluation, err := evaluationRepo.FindOne(map[string]interface{}{"id": param.SummaryEvaluationId})
  251 + if err != nil {
  252 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  253 + }
  254 + if summaryEvaluation.Types != domain.EvaluationHrbp {
  255 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有操作权限")
  256 + }
  257 + if summaryEvaluation.CompanyId != param.CompanyId {
  258 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有操作权限")
  259 + }
  260 +
  261 + // 自评评估内容(自评模板、筛选项目评估人)
  262 + _, itemList, err := itemUsedRepo.Find(map[string]interface{}{
  263 + "evaluationProjectId": summaryEvaluation.EvaluationProjectId,
  264 + "nodeType": domain.LinkNodeSelfAssessment,
  265 + "evaluatorId": -1,
  266 + })
  267 + if err != nil {
  268 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  269 + }
  270 +
  271 + // 评估内容对应的分数
  272 + _, itemValueList, err := itemValueRepo.Find(map[string]interface{}{"summaryEvaluationId": summaryEvaluation.Id})
  273 + if err != nil {
  274 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  275 + }
  276 +
  277 + evaluationValueMap := map[int]*domain.SummaryEvaluationValue{}
  278 + for _, v := range itemList {
  279 + newValue := &domain.SummaryEvaluationValue{}
  280 + newValue.SetBlankValue(summaryEvaluation, v)
  281 + evaluationValueMap[v.Id] = newValue
  282 + }
  283 + for _, v := range itemValueList {
  284 + if mValue, ok := evaluationValueMap[v.EvaluationItemId]; ok {
  285 + mValue.Id = v.Id
  286 + }
  287 + }
  288 + nowTime := time.Now()
  289 + for _, v := range param.EvaluationItems {
  290 + updatedData, ok := evaluationValueMap[v.EvaluationItemId]
  291 + if !ok {
  292 + continue
  293 + }
  294 + updatedData.UpdatedAt = nowTime
  295 + updatedData.Value = v.Value
  296 + updatedData.Remark = v.Remark
  297 + //计算得分
  298 + err = updatedData.SummaryEvaluationScore()
  299 + if err != nil {
  300 + return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
  301 + }
  302 + }
  303 +
  304 + evaluationValueList := make([]*domain.SummaryEvaluationValue, 0)
  305 + for _, v := range evaluationValueMap {
  306 + //保存填写值
  307 + err = itemValueRepo.Save(v)
  308 + if err != nil {
  309 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  310 + }
  311 + evaluationValueList = append(evaluationValueList, v)
  312 + }
  313 + //计算总得分
  314 + err = summaryEvaluation.EvaluationTotalScore(evaluationValueList)
  315 + if err != nil {
  316 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  317 + }
  318 +
  319 + // 针对HRBP类型,更新最后一次操作的HRBP人
  320 + user, err := userRepo.FindOne(map[string]interface{}{"id": param.ExecutorId})
  321 + if err != nil {
  322 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  323 + }
  324 + summaryEvaluation.Executor.UserId = param.ExecutorId
  325 + summaryEvaluation.Executor.Account = user.Account
  326 + summaryEvaluation.Executor.UserName = user.Name
  327 + summaryEvaluation.Executor.CompanyName = "" // 暂时无用
  328 +
  329 + summaryEvaluation.UpdatedAt = nowTime
  330 +
  331 + //保存填写值
  332 + err = evaluationRepo.Save(summaryEvaluation)
  333 + if err != nil {
  334 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  335 + }
  336 + if err := transactionContext.CommitTransaction(); err != nil {
  337 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  338 + }
  339 + itemValueAdapter := srv.buildSummaryItemValue(itemList, evaluationValueList)
  340 + return map[string][]adapter.EvaluationItemAdapter{
  341 + "evaluationItems": itemValueAdapter,
  342 + }, nil
  343 +}
@@ -41,16 +41,24 @@ func (itemValue *SummaryEvaluationValue) SummaryEvaluationScore() error { @@ -41,16 +41,24 @@ func (itemValue *SummaryEvaluationValue) SummaryEvaluationScore() error {
41 return nil 41 return nil
42 } 42 }
43 43
44 -func (item *SummaryEvaluationValue) SumScore(weight float64, value string) (float64, error) {  
45 - if item.Weight == 0 { 44 +func (itemValue *SummaryEvaluationValue) SumScore(weight float64, value string) (float64, error) {
  45 + if itemValue.Types == EvaluationHrbp {
  46 + valueFloat, err := strconv.ParseFloat(itemValue.Value, 64)
  47 + if err != nil {
  48 + return 0, fmt.Errorf("条目%d系数值异常,%s", itemValue.Id, itemValue.Value)
  49 + }
  50 + return valueFloat, nil
  51 + }
  52 +
  53 + if itemValue.Weight == 0 {
46 return 0, nil 54 return 0, nil
47 } 55 }
48 - valueFloat, err := strconv.ParseFloat(item.Value, 64) 56 + valueFloat, err := strconv.ParseFloat(itemValue.Value, 64)
49 if err != nil { 57 if err != nil {
50 - return 0, fmt.Errorf("条目%d系数值异常,%s", item.Id, item.Value) 58 + return 0, fmt.Errorf("条目%d系数值异常,%s", itemValue.Id, itemValue.Value)
51 } 59 }
52 //计算方式 60 //计算方式
53 - score := item.Weight * valueFloat 61 + score := itemValue.Weight * valueFloat
54 return score, nil 62 return score, nil
55 } 63 }
56 64
@@ -86,7 +86,11 @@ func (repo *EvaluationItemUsedRepository) Find(queryOptions map[string]interface @@ -86,7 +86,11 @@ func (repo *EvaluationItemUsedRepository) Find(queryOptions map[string]interface
86 } 86 }
87 87
88 if v, ok := queryOptions["nodeType"]; ok { 88 if v, ok := queryOptions["nodeType"]; ok {
89 - query.Where(" node_type=?", v) 89 + query.Where("node_type=?", v)
  90 + }
  91 +
  92 + if v, ok := queryOptions["evaluatorId"]; ok {
  93 + query.Where("evaluator_id=?", v)
90 } 94 }
91 95
92 count, err := query.SelectAndCount() 96 count, err := query.SelectAndCount()
@@ -92,3 +92,65 @@ func (c *SummaryEvaluationController) GetTargetUserCycleList() { @@ -92,3 +92,65 @@ func (c *SummaryEvaluationController) GetTargetUserCycleList() {
92 data, err := srv.GetTargetUserCycleList(paramReq) 92 data, err := srv.GetTargetUserCycleList(paramReq)
93 c.Response(data, err) 93 c.Response(data, err)
94 } 94 }
  95 +
  96 +func (c *SummaryEvaluationController) GetEvaluation360() {
  97 + srv := service.NewSummaryEvaluationService()
  98 + in := &command.QueryEvaluation360{}
  99 + err := c.BindJSON(in)
  100 + if err != nil {
  101 + e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error())
  102 + c.Response(nil, e)
  103 + return
  104 + }
  105 + userReq := middlewares.GetUser(c.Ctx)
  106 + in.UserId = int(userReq.UserId)
  107 + data, err := srv.GetEvaluation360(in)
  108 + c.Response(data, err)
  109 +}
  110 +
  111 +func (c *SummaryEvaluationController) EditEvaluation360() {
  112 + srv := service.NewSummaryEvaluationService()
  113 + in := &command.EditEvaluationValue{}
  114 + err := c.BindJSON(in)
  115 + if err != nil {
  116 + e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error())
  117 + c.Response(nil, e)
  118 + return
  119 + }
  120 + userReq := middlewares.GetUser(c.Ctx)
  121 + in.CompanyId = int(userReq.CompanyId)
  122 + in.ExecutorId = int(userReq.UserId)
  123 + data, err := srv.EditEvaluation360(in)
  124 + c.Response(data, err)
  125 +}
  126 +
  127 +func (c *SummaryEvaluationController) GetEvaluationHRBP() {
  128 + srv := service.NewSummaryEvaluationService()
  129 + in := &command.QueryEvaluationHRBP{}
  130 + err := c.BindJSON(in)
  131 + if err != nil {
  132 + e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error())
  133 + c.Response(nil, e)
  134 + return
  135 + }
  136 + userReq := middlewares.GetUser(c.Ctx)
  137 + in.UserId = int(userReq.UserId)
  138 + data, err := srv.GetEvaluationHRBP(in)
  139 + c.Response(data, err)
  140 +}
  141 +
  142 +func (c *SummaryEvaluationController) EditEvaluationHRBP() {
  143 + srv := service.NewSummaryEvaluationService()
  144 + in := &command.EditEvaluationValue{}
  145 + err := c.BindJSON(in)
  146 + if err != nil {
  147 + e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error())
  148 + c.Response(nil, e)
  149 + return
  150 + }
  151 + userReq := middlewares.GetUser(c.Ctx)
  152 + in.CompanyId = int(userReq.CompanyId)
  153 + in.ExecutorId = int(userReq.UserId)
  154 + data, err := srv.EditEvaluationHRBP(in)
  155 + c.Response(data, err)
  156 +}
@@ -15,6 +15,10 @@ func init() { @@ -15,6 +15,10 @@ func init() {
15 web.NSCtrlPost("/cycle/menu", (*controllers.SummaryEvaluationController).GetMenu), 15 web.NSCtrlPost("/cycle/menu", (*controllers.SummaryEvaluationController).GetMenu),
16 web.NSCtrlPost("/self", (*controllers.SummaryEvaluationController).GetEvaluationSelf), 16 web.NSCtrlPost("/self", (*controllers.SummaryEvaluationController).GetEvaluationSelf),
17 web.NSCtrlPost("/self/edit", (*controllers.SummaryEvaluationController).EditEvaluationSelf), 17 web.NSCtrlPost("/self/edit", (*controllers.SummaryEvaluationController).EditEvaluationSelf),
  18 + web.NSCtrlPost("/evaluation-360", (*controllers.SummaryEvaluationController).GetEvaluation360),
  19 + web.NSCtrlPost("/evaluation-360/edit", (*controllers.SummaryEvaluationController).EditEvaluation360),
  20 + web.NSCtrlPost("/evaluation-hr", (*controllers.SummaryEvaluationController).GetEvaluationHRBP),
  21 + web.NSCtrlPost("/evaluation-hr/edit", (*controllers.SummaryEvaluationController).EditEvaluationHRBP),
18 ) 22 )
19 web.AddNamespace(summaryNS) 23 web.AddNamespace(summaryNS)
20 } 24 }