|
@@ -575,7 +575,7 @@ func (srv StaffAssessServeice) GetAssessInviteUser(param *query.GetAssessInviteU |
|
@@ -575,7 +575,7 @@ func (srv StaffAssessServeice) GetAssessInviteUser(param *query.GetAssessInviteU |
|
575
|
_, assessList, err := assessReps.Find(map[string]interface{}{
|
575
|
_, assessList, err := assessReps.Find(map[string]interface{}{
|
|
576
|
"typesList": []string{string(domain.AssessInviteDiffSuper), string(domain.AssessInviteSameSuper)},
|
576
|
"typesList": []string{string(domain.AssessInviteDiffSuper), string(domain.AssessInviteSameSuper)},
|
|
577
|
"staffAssessTaskId": param.AssessTaskId,
|
577
|
"staffAssessTaskId": param.AssessTaskId,
|
|
578
|
- "targetUserId": param.UsrId,
|
578
|
+ "targetUserId": param.UserId,
|
|
579
|
})
|
579
|
})
|
|
580
|
if err != nil {
|
580
|
if err != nil {
|
|
581
|
return nil, application.ThrowError(application.ARG_ERROR, "获取个人评估任务"+err.Error())
|
581
|
return nil, application.ThrowError(application.ARG_ERROR, "获取个人评估任务"+err.Error())
|
|
@@ -586,6 +586,8 @@ func (srv StaffAssessServeice) GetAssessInviteUser(param *query.GetAssessInviteU |
|
@@ -586,6 +586,8 @@ func (srv StaffAssessServeice) GetAssessInviteUser(param *query.GetAssessInviteU |
|
586
|
|
586
|
|
|
587
|
result := adapter.AssessInviteUserResp{
|
587
|
result := adapter.AssessInviteUserResp{
|
|
588
|
AssessTaskId: assessTaskData.Id,
|
588
|
AssessTaskId: assessTaskData.Id,
|
|
|
|
589
|
+ InviteDiffSuper: []domain.StaffDesc{},
|
|
|
|
590
|
+ InviteSameSuper: []domain.StaffDesc{},
|
|
589
|
}
|
591
|
}
|
|
590
|
for _, v := range assessTaskData.StepList {
|
592
|
for _, v := range assessTaskData.StepList {
|
|
591
|
if v.LinkNodeType != domain.LinkNodeAllInvite {
|
593
|
if v.LinkNodeType != domain.LinkNodeAllInvite {
|
|
@@ -608,7 +610,7 @@ func (srv StaffAssessServeice) GetAssessInviteUser(param *query.GetAssessInviteU |
|
@@ -608,7 +610,7 @@ func (srv StaffAssessServeice) GetAssessInviteUser(param *query.GetAssessInviteU |
|
608
|
return &result, nil
|
610
|
return &result, nil
|
|
609
|
}
|
611
|
}
|
|
610
|
|
612
|
|
|
611
|
-// 获取某个员工360邀请的人员
|
613
|
+// 保存某个员工360邀请的人员
|
|
612
|
func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInvite) (*adapter.AssessInviteUserResp, error) {
|
614
|
func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInvite) (*adapter.AssessInviteUserResp, error) {
|
|
613
|
inviteSameSuperId := []int{}
|
615
|
inviteSameSuperId := []int{}
|
|
614
|
InviteDiffSuperId := []int{}
|
616
|
InviteDiffSuperId := []int{}
|
|
@@ -713,19 +715,22 @@ func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInv |
|
@@ -713,19 +715,22 @@ func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInv |
|
713
|
})
|
715
|
})
|
|
714
|
}
|
716
|
}
|
|
715
|
}
|
717
|
}
|
|
716
|
- _ = assessReps
|
718
|
+ //获取员工邀请的人
|
|
|
|
719
|
+ _, assessList, err := assessReps.Find(map[string]interface{}{
|
|
|
|
720
|
+ "typesList": []string{string(domain.AssessInviteDiffSuper), string(domain.AssessInviteSameSuper)},
|
|
|
|
721
|
+ "staffAssessTaskId": param.AssessTaskId,
|
|
|
|
722
|
+ "targetUserId": param.TargetUserId,
|
|
|
|
723
|
+ })
|
|
|
|
724
|
+ if err != nil {
|
|
|
|
725
|
+ return nil, application.ThrowError(application.ARG_ERROR, "获取员工邀请的人"+err.Error())
|
|
|
|
726
|
+ }
|
|
|
|
727
|
+ //比对新旧数据
|
|
|
|
728
|
+
|
|
|
|
729
|
+ _ = assessList
|
|
|
|
730
|
+ _ = targetUser
|
|
717
|
_ = inviteSameSuper
|
731
|
_ = inviteSameSuper
|
|
718
|
_ = inviteDiffSuper
|
732
|
_ = inviteDiffSuper
|
|
719
|
_ = targetUserDepartment
|
733
|
_ = targetUserDepartment
|
|
720
|
- // _, assessList, err := assessReps.Find(map[string]interface{}{
|
|
|
|
721
|
- // "typesList": []string{string(domain.AssessInviteDiffSuper), string(domain.AssessInviteSameSuper)},
|
|
|
|
722
|
- // "staffAssessTaskId": param.AssessTaskId,
|
|
|
|
723
|
- // "targetUserId": param.TargetUserId,
|
|
|
|
724
|
- // })
|
|
|
|
725
|
- // if err != nil {
|
|
|
|
726
|
- // return nil, application.ThrowError(application.ARG_ERROR, "获取个人评估任务"+err.Error())
|
|
|
|
727
|
- // }
|
|
|
|
728
|
- // TODO
|
|
|
|
729
|
|
734
|
|
|
730
|
if err := transactionContext.CommitTransaction(); err != nil {
|
735
|
if err := transactionContext.CommitTransaction(); err != nil {
|
|
731
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
736
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
@@ -770,7 +775,6 @@ func (srv StaffAssessServeice) GetAssessSelfInfo(param *query.AssessInfoQuery) ( |
|
@@ -770,7 +775,6 @@ func (srv StaffAssessServeice) GetAssessSelfInfo(param *query.AssessInfoQuery) ( |
|
770
|
assessReps := factory.CreateStaffAssessRepository(map[string]interface{}{
|
775
|
assessReps := factory.CreateStaffAssessRepository(map[string]interface{}{
|
|
771
|
"transactionContext": transactionContext,
|
776
|
"transactionContext": transactionContext,
|
|
772
|
})
|
777
|
})
|
|
773
|
-
|
|
|
|
774
|
//获取员工的评估
|
778
|
//获取员工的评估
|
|
775
|
_, assessList, err := assessReps.Find(map[string]interface{}{
|
779
|
_, assessList, err := assessReps.Find(map[string]interface{}{
|
|
776
|
"companyId": param.CompanyId,
|
780
|
"companyId": param.CompanyId,
|
|
@@ -785,43 +789,32 @@ func (srv StaffAssessServeice) GetAssessSelfInfo(param *query.AssessInfoQuery) ( |
|
@@ -785,43 +789,32 @@ func (srv StaffAssessServeice) GetAssessSelfInfo(param *query.AssessInfoQuery) ( |
|
785
|
return &adapter.AssessInfoResp{}, nil
|
789
|
return &adapter.AssessInfoResp{}, nil
|
|
786
|
}
|
790
|
}
|
|
787
|
assessData := assessList[0]
|
791
|
assessData := assessList[0]
|
|
788
|
- projectRepo := factory.CreateEvaluationProjectRepository(map[string]interface{}{
|
792
|
+
|
|
|
|
793
|
+ assessContentList := []*domain.StaffAssessContent{}
|
|
|
|
794
|
+ if assessData.Status == domain.StaffAssessCompleted {
|
|
|
|
795
|
+ //已完成
|
|
|
|
796
|
+ assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{
|
|
789
|
"transactionContext": transactionContext,
|
797
|
"transactionContext": transactionContext,
|
|
790
|
})
|
798
|
})
|
|
791
|
- projectData, err := projectRepo.FindOne(map[string]interface{}{
|
|
|
|
792
|
- "id": assessData.EvaluationProjectId,
|
799
|
+ _, assessContentList, err = assessContentRepo.Find(map[string]interface{}{
|
|
|
|
800
|
+ "staffAssessId": assessData.Id,
|
|
793
|
})
|
801
|
})
|
|
794
|
if err != nil {
|
802
|
if err != nil {
|
|
795
|
- return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目评估配置"+err.Error())
|
|
|
|
796
|
- }
|
|
|
|
797
|
- if projectData.Template == nil {
|
|
|
|
798
|
- return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "未获取到项目评估配置模板")
|
|
|
|
799
|
- }
|
|
|
|
800
|
- var selfLinkNode *domain.LinkNode
|
|
|
|
801
|
- for _, v := range projectData.Template.LinkNodes {
|
|
|
|
802
|
- if v.Type == domain.LinkNodeSelfAssessment {
|
|
|
|
803
|
- selfLinkNode = v
|
|
|
|
804
|
- break
|
803
|
+ return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error())
|
|
805
|
}
|
804
|
}
|
|
|
|
805
|
+ } else if assessData.Status == domain.StaffAssessUncompleted {
|
|
|
|
806
|
+ //未完成
|
|
|
|
807
|
+ assessContentList, err = srv.getAssessSelfInfoUncompleted(transactionContext, assessData)
|
|
|
|
808
|
+ if err != nil {
|
|
|
|
809
|
+ return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error())
|
|
806
|
}
|
810
|
}
|
|
807
|
- if selfLinkNode == nil {
|
|
|
|
808
|
- return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "未获取到项目评估自评配置")
|
|
|
|
809
|
}
|
811
|
}
|
|
810
|
- //获取员工评估的填写内容
|
|
|
|
811
|
- // assessContentReps := factory.CreateStaffAssessContentRepository(map[string]interface{}{
|
|
|
|
812
|
- // "transactionContext": transactionContext,
|
|
|
|
813
|
- // })
|
|
|
|
814
|
- // _, assessContentList, err := assessContentReps.Find(map[string]interface{}{
|
|
|
|
815
|
- // "staffAssessId": assessData.Id,
|
|
|
|
816
|
- // })
|
|
|
|
817
|
- // if err != nil {
|
|
|
|
818
|
- // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目评估员工填写的内容"+err.Error())
|
|
|
|
819
|
- // }
|
|
|
|
820
|
if err := transactionContext.CommitTransaction(); err != nil {
|
812
|
if err := transactionContext.CommitTransaction(); err != nil {
|
|
821
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
813
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
822
|
}
|
814
|
}
|
|
823
|
|
815
|
|
|
824
|
result := adapter.AssessInfoResp{
|
816
|
result := adapter.AssessInfoResp{
|
|
|
|
817
|
+ AssessId: assessData.Id,
|
|
825
|
CycleId: assessData.CycleId,
|
818
|
CycleId: assessData.CycleId,
|
|
826
|
CycleName: assessData.CycleName,
|
819
|
CycleName: assessData.CycleName,
|
|
827
|
EvaluationProjectId: assessData.EvaluationProjectId,
|
820
|
EvaluationProjectId: assessData.EvaluationProjectId,
|
|
@@ -831,18 +824,83 @@ func (srv StaffAssessServeice) GetAssessSelfInfo(param *query.AssessInfoQuery) ( |
|
@@ -831,18 +824,83 @@ func (srv StaffAssessServeice) GetAssessSelfInfo(param *query.AssessInfoQuery) ( |
|
831
|
Status: string(assessData.Status),
|
824
|
Status: string(assessData.Status),
|
|
832
|
TargetUserId: assessData.TargetUser.UserId,
|
825
|
TargetUserId: assessData.TargetUser.UserId,
|
|
833
|
TargetUserName: assessData.TargetUser.UserName,
|
826
|
TargetUserName: assessData.TargetUser.UserName,
|
|
834
|
- AssessContent: nil,
|
827
|
+ AssessContent: assessContentList,
|
|
|
|
828
|
+ }
|
|
|
|
829
|
+ return &result, nil
|
|
|
|
830
|
+}
|
|
|
|
831
|
+
|
|
|
|
832
|
+// 获取未完成的员工评估内容
|
|
|
|
833
|
+func (srv StaffAssessServeice) getAssessSelfInfoUncompleted(transactionContext application.TransactionContext,
|
|
|
|
834
|
+ assess *domain.StaffAssess) ([]*domain.StaffAssessContent, error) {
|
|
|
|
835
|
+ projectRepo := factory.CreateEvaluationProjectRepository(map[string]interface{}{
|
|
|
|
836
|
+ "transactionContext": transactionContext,
|
|
|
|
837
|
+ })
|
|
|
|
838
|
+ projectData, err := projectRepo.FindOne(map[string]interface{}{
|
|
|
|
839
|
+ "id": assess.EvaluationProjectId,
|
|
|
|
840
|
+ })
|
|
|
|
841
|
+ if err != nil {
|
|
|
|
842
|
+ return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error())
|
|
|
|
843
|
+ }
|
|
|
|
844
|
+ var linkNode *domain.LinkNode
|
|
|
|
845
|
+ for _, v := range projectData.Template.LinkNodes {
|
|
|
|
846
|
+ if v.Id == int64(assess.LinkNodeId) {
|
|
|
|
847
|
+ linkNode = v
|
|
|
|
848
|
+ break
|
|
|
|
849
|
+ }
|
|
|
|
850
|
+ }
|
|
|
|
851
|
+ if linkNode == nil {
|
|
|
|
852
|
+ return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "未获得评估环节配置"+err.Error())
|
|
|
|
853
|
+ }
|
|
|
|
854
|
+ ruleRepo := factory.CreateEvaluationRuleRepository(map[string]interface{}{
|
|
|
|
855
|
+ "transactionContext": transactionContext,
|
|
|
|
856
|
+ })
|
|
|
|
857
|
+ ruleMap := map[string]*domain.EvaluationRule{}
|
|
|
|
858
|
+ for _, v := range linkNode.NodeContents {
|
|
|
|
859
|
+ if _, ok := ruleMap[v.RuleId]; ok {
|
|
|
|
860
|
+ continue
|
|
|
|
861
|
+ }
|
|
|
|
862
|
+ rid, _ := strconv.Atoi(v.RuleId)
|
|
|
|
863
|
+ ruleData, err := ruleRepo.FindOne(map[string]interface{}{
|
|
|
|
864
|
+ "id": rid,
|
|
|
|
865
|
+ })
|
|
|
|
866
|
+ if err == nil {
|
|
|
|
867
|
+ ruleMap[v.RuleId] = ruleData
|
|
|
|
868
|
+ }
|
|
835
|
}
|
869
|
}
|
|
836
|
- assessContent := make([]adapter.AssessContent, 0)
|
|
|
|
837
|
- for _, v := range selfLinkNode.NodeContents {
|
|
|
|
838
|
- assessContent = append(assessContent, adapter.AssessContent{
|
870
|
+
|
|
|
|
871
|
+ var contentList []*domain.StaffAssessContent
|
|
|
|
872
|
+ nowTime := time.Now()
|
|
|
|
873
|
+ for i, v := range linkNode.NodeContents {
|
|
|
|
874
|
+ item := &domain.StaffAssessContent{
|
|
|
|
875
|
+ Id: 0,
|
|
|
|
876
|
+ StaffAssessId: assess.Id,
|
|
|
|
877
|
+ SortBy: i + 1,
|
|
839
|
Category: v.Category,
|
878
|
Category: v.Category,
|
|
840
|
Name: v.Name,
|
879
|
Name: v.Name,
|
|
841
|
PromptTitle: v.PromptTitle,
|
880
|
PromptTitle: v.PromptTitle,
|
|
842
|
PromptText: v.PromptText,
|
881
|
PromptText: v.PromptText,
|
|
843
|
- EntryItems: v.EntryItems,
|
|
|
|
844
|
- })
|
882
|
+ Remark: nil,
|
|
|
|
883
|
+ Value: "",
|
|
|
|
884
|
+ ReteResult: "",
|
|
|
|
885
|
+ CreatedAt: nowTime,
|
|
|
|
886
|
+ UpdatedAt: nowTime,
|
|
|
|
887
|
+ DeletedAt: nil,
|
|
|
|
888
|
+ // Rule: ,
|
|
845
|
}
|
889
|
}
|
|
846
|
- result.AssessContent = assessContent
|
|
|
|
847
|
- return &result, nil
|
890
|
+ if ruleVal, ok := ruleMap[v.RuleId]; ok {
|
|
|
|
891
|
+ item.Rule = *ruleVal
|
|
|
|
892
|
+ }
|
|
|
|
893
|
+ var remarks []domain.AssessContemtRemark
|
|
|
|
894
|
+ for _, vv := range v.EntryItems {
|
|
|
|
895
|
+ ritem := domain.AssessContemtRemark{
|
|
|
|
896
|
+ Title: vv.Title,
|
|
|
|
897
|
+ HintText: vv.HintText,
|
|
|
|
898
|
+ RemarkText: "",
|
|
|
|
899
|
+ }
|
|
|
|
900
|
+ remarks = append(remarks, ritem)
|
|
|
|
901
|
+ }
|
|
|
|
902
|
+ item.Remark = remarks
|
|
|
|
903
|
+ contentList = append(contentList, item)
|
|
|
|
904
|
+ }
|
|
|
|
905
|
+ return contentList, nil
|
|
848
|
} |
906
|
} |