|
|
|
package service
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
|
|
|
|
"github.com/linmadan/egglib-go/core/application"
|
|
|
|
"github.com/linmadan/egglib-go/utils/tool_funs"
|
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory"
|
|
...
|
...
|
@@ -313,7 +315,6 @@ func (srv *SummaryEvaluationServeice) GetEvaluationSelf(param *command.QueryEval |
|
|
|
_, itemList, err := evaluationItemRepo.Find(map[string]interface{}{
|
|
|
|
"evaluationProjectId": evaluationData.EvaluationProjectId,
|
|
|
|
"nodeType": int(domain.LinkNodeSelfAssessment),
|
|
|
|
"limit": 300,
|
|
|
|
})
|
|
|
|
if err != nil {
|
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
...
|
...
|
@@ -375,19 +376,64 @@ func (srv *SummaryEvaluationServeice) EditEvaluationSelf(param *command.EditEval |
|
|
|
if err != nil {
|
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
|
}
|
|
|
|
if evaluationData.Executor.UserId != param.ExecutorId {
|
|
|
|
|
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有操作权限")
|
|
|
|
}
|
|
|
|
|
|
|
|
if evaluationData.CompanyId != param.CompanyId {
|
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有操作权限")
|
|
|
|
}
|
|
|
|
|
|
|
|
_, itemList, err := itemUsedRepo.Find(map[string]interface{}{
|
|
|
|
"evaluationProjectId": int(domain.LinkNodeSelfAssessment),
|
|
|
|
"limit": 300,
|
|
|
|
"evaluationProjectId": evaluationData.EvaluationProjectId,
|
|
|
|
})
|
|
|
|
if err != nil {
|
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
|
}
|
|
|
|
|
|
|
|
_, itemValueList, err := itemValueRepo.Find(map[string]interface{}{
|
|
|
|
"summaryEvaluationId": evaluationData.Id,
|
|
|
|
})
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
|
}
|
|
|
|
_ = itemValueRepo
|
|
|
|
_ = evaluationData
|
|
|
|
_ = itemList
|
|
|
|
|
|
|
|
evaluationValueMap := map[int]*domain.SummaryEvaluationValue{}
|
|
|
|
for _, v := range itemList {
|
|
|
|
newValue := &domain.SummaryEvaluationValue{}
|
|
|
|
newValue.SetBlankValue(evaluationData, v)
|
|
|
|
evaluationValueMap[v.Id] = newValue
|
|
|
|
}
|
|
|
|
for _, v := range itemValueList {
|
|
|
|
if mValue, ok := evaluationValueMap[v.EvaluationItemId]; ok {
|
|
|
|
mValue.Id = v.Id
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
nowTime := time.Now()
|
|
|
|
for _, v := range param.EvaluationItems {
|
|
|
|
updatedData, ok := evaluationValueMap[v.EvaluationItemId]
|
|
|
|
if !ok {
|
|
|
|
updatedData.UpdatedAt = nowTime
|
|
|
|
updatedData.Value = v.Value
|
|
|
|
updatedData.Remark = v.Remark
|
|
|
|
}
|
|
|
|
}
|
|
|
|
evaluationValueList := []*domain.SummaryEvaluationValue{}
|
|
|
|
for _, v := range evaluationValueMap {
|
|
|
|
err = itemValueRepo.Save(v)
|
|
|
|
if err != nil {
|
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
|
}
|
|
|
|
evaluationValueList = append(evaluationValueList, v)
|
|
|
|
}
|
|
|
|
if err := transactionContext.CommitTransaction(); err != nil {
|
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
|
}
|
|
|
|
return nil, nil
|
|
|
|
itemValueAdapter := srv.buildSummaryItemValue(itemList, evaluationValueList)
|
|
|
|
return map[string][]adapter.EvaluationItemAdapter{
|
|
|
|
"EvaluationItems": itemValueAdapter,
|
|
|
|
}, nil
|
|
|
|
} |
...
|
...
|
|