|
@@ -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,8 +610,8 @@ func (srv StaffAssessServeice) GetAssessInviteUser(param *query.GetAssessInviteU |
|
@@ -608,8 +610,8 @@ func (srv StaffAssessServeice) GetAssessInviteUser(param *query.GetAssessInviteU |
|
608
|
return &result, nil
|
610
|
return &result, nil
|
|
609
|
}
|
611
|
}
|
|
610
|
|
612
|
|
|
611
|
-// 获取某个员工360邀请的人员
|
|
|
|
612
|
-func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInvite) (*adapter.AssessInviteUserResp, error) {
|
613
|
+// 保存某个员工360邀请的人员
|
|
|
|
614
|
+func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInvite) (map[string]interface{}, error) {
|
|
613
|
inviteSameSuperId := []int{}
|
615
|
inviteSameSuperId := []int{}
|
|
614
|
InviteDiffSuperId := []int{}
|
616
|
InviteDiffSuperId := []int{}
|
|
615
|
for _, v := range param.InviteDiffSuper {
|
617
|
for _, v := range param.InviteDiffSuper {
|
|
@@ -657,6 +659,19 @@ func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInv |
|
@@ -657,6 +659,19 @@ func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInv |
|
657
|
return nil, application.ThrowError(application.ARG_ERROR, "获取评估任务"+err.Error())
|
659
|
return nil, application.ThrowError(application.ARG_ERROR, "获取评估任务"+err.Error())
|
|
658
|
}
|
660
|
}
|
|
659
|
|
661
|
|
|
|
|
662
|
+ //获取邀请评估的节点
|
|
|
|
663
|
+ var inviteNode *domain.AssessTaskStep
|
|
|
|
664
|
+ for _, v := range assessTaskData.StepList {
|
|
|
|
665
|
+ if v.LinkNodeType == domain.LinkNodeAllAssessment {
|
|
|
|
666
|
+ cp := v
|
|
|
|
667
|
+ inviteNode = &cp
|
|
|
|
668
|
+ break
|
|
|
|
669
|
+ }
|
|
|
|
670
|
+ }
|
|
|
|
671
|
+ if inviteNode == nil {
|
|
|
|
672
|
+ return nil, application.ThrowError(application.ARG_ERROR, "评估任务没有邀请评估的环节")
|
|
|
|
673
|
+ }
|
|
|
|
674
|
+
|
|
660
|
targetUser, err := userRepo.FindOne(map[string]interface{}{
|
675
|
targetUser, err := userRepo.FindOne(map[string]interface{}{
|
|
661
|
"id": param.TargetUserId,
|
676
|
"id": param.TargetUserId,
|
|
662
|
})
|
677
|
})
|
|
@@ -713,46 +728,104 @@ func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInv |
|
@@ -713,46 +728,104 @@ func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInv |
|
713
|
})
|
728
|
})
|
|
714
|
}
|
729
|
}
|
|
715
|
}
|
730
|
}
|
|
716
|
- _ = assessReps
|
|
|
|
717
|
- _ = inviteSameSuper
|
|
|
|
718
|
- _ = inviteDiffSuper
|
|
|
|
719
|
- _ = 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
|
-
|
731
|
+ //获取员工邀请的人
|
|
|
|
732
|
+ _, assessList, err := assessReps.Find(map[string]interface{}{
|
|
|
|
733
|
+ "typesList": []string{string(domain.AssessInviteDiffSuper), string(domain.AssessInviteSameSuper)},
|
|
|
|
734
|
+ "staffAssessTaskId": param.AssessTaskId,
|
|
|
|
735
|
+ "targetUserId": param.TargetUserId,
|
|
|
|
736
|
+ })
|
|
|
|
737
|
+ if err != nil {
|
|
|
|
738
|
+ return nil, application.ThrowError(application.ARG_ERROR, "获取员工邀请的人"+err.Error())
|
|
|
|
739
|
+ }
|
|
|
|
740
|
+ //比对新旧数据
|
|
|
|
741
|
+ nowTime := time.Now()
|
|
|
|
742
|
+ assessMap := map[string]*domain.StaffAssess{}
|
|
|
|
743
|
+ for _, v := range assessList {
|
|
|
|
744
|
+ //假设为删除
|
|
|
|
745
|
+ v.DeletedAt = &nowTime
|
|
|
|
746
|
+ key := fmt.Sprintf("%s%d", string(v.Types), v.Executor.UserId)
|
|
|
|
747
|
+ assessMap[key] = v
|
|
|
|
748
|
+ }
|
|
|
|
749
|
+ newAssessList := []*domain.StaffAssess{}
|
|
|
|
750
|
+ //邀请同上级的员工
|
|
|
|
751
|
+ for _, v := range inviteSameSuper {
|
|
|
|
752
|
+ key := fmt.Sprintf("%s%d", string(domain.AssessInviteSameSuper), v.UserId)
|
|
|
|
753
|
+ if _, ok := assessMap[key]; ok {
|
|
|
|
754
|
+ assessMap[key].DeletedAt = nil
|
|
|
|
755
|
+ } else {
|
|
|
|
756
|
+ newAssessList = append(newAssessList, &domain.StaffAssess{
|
|
|
|
757
|
+ Id: 0,
|
|
|
|
758
|
+ CompanyId: assessTaskData.CompanyId,
|
|
|
|
759
|
+ EvaluationProjectId: assessTaskData.EvaluationProjectId,
|
|
|
|
760
|
+ EvaluationProjectName: assessTaskData.EvaluationProjectName,
|
|
|
|
761
|
+ CycleId: assessTaskData.CycleId,
|
|
|
|
762
|
+ CycleName: assessTaskData.CycleName,
|
|
|
|
763
|
+ StaffAssessTaskId: assessTaskData.Id,
|
|
|
|
764
|
+ TargetUser: domain.StaffDesc{
|
|
|
|
765
|
+ UserId: int(targetUser.Id),
|
|
|
|
766
|
+ Account: targetUser.Account,
|
|
|
|
767
|
+ UserName: targetUser.Name,
|
|
|
|
768
|
+ },
|
|
|
|
769
|
+ TargetDepartment: targetUserDepartment,
|
|
|
|
770
|
+ Executor: v,
|
|
|
|
771
|
+ Types: domain.AssessInviteSameSuper,
|
|
|
|
772
|
+ LinkNodeId: inviteNode.LinkNodeId,
|
|
|
|
773
|
+ LinkNodeName: inviteNode.LinkNodeName,
|
|
|
|
774
|
+ Status: domain.StaffAssessUncompleted,
|
|
|
|
775
|
+ BeginTime: inviteNode.BeginTime,
|
|
|
|
776
|
+ EndTime: inviteNode.EndTime,
|
|
|
|
777
|
+ CreatedAt: nowTime,
|
|
|
|
778
|
+ UpdatedAt: nowTime,
|
|
|
|
779
|
+ DeletedAt: nil,
|
|
|
|
780
|
+ })
|
|
|
|
781
|
+ }
|
|
|
|
782
|
+ }
|
|
|
|
783
|
+ for _, v := range inviteDiffSuper {
|
|
|
|
784
|
+ key := fmt.Sprintf("%s%d", string(domain.AssessInviteDiffSuper), v.UserId)
|
|
|
|
785
|
+ if _, ok := assessMap[key]; ok {
|
|
|
|
786
|
+ assessMap[key].DeletedAt = nil
|
|
|
|
787
|
+ } else {
|
|
|
|
788
|
+ newAssessList = append(newAssessList, &domain.StaffAssess{
|
|
|
|
789
|
+ Id: 0,
|
|
|
|
790
|
+ CompanyId: assessTaskData.CompanyId,
|
|
|
|
791
|
+ EvaluationProjectId: assessTaskData.EvaluationProjectId,
|
|
|
|
792
|
+ EvaluationProjectName: assessTaskData.EvaluationProjectName,
|
|
|
|
793
|
+ CycleId: assessTaskData.CycleId,
|
|
|
|
794
|
+ CycleName: assessTaskData.CycleName,
|
|
|
|
795
|
+ StaffAssessTaskId: assessTaskData.Id,
|
|
|
|
796
|
+ TargetUser: domain.StaffDesc{
|
|
|
|
797
|
+ UserId: int(targetUser.Id),
|
|
|
|
798
|
+ Account: targetUser.Account,
|
|
|
|
799
|
+ UserName: targetUser.Name,
|
|
|
|
800
|
+ },
|
|
|
|
801
|
+ TargetDepartment: targetUserDepartment,
|
|
|
|
802
|
+ Executor: v,
|
|
|
|
803
|
+ Types: domain.AssessInviteDiffSuper,
|
|
|
|
804
|
+ LinkNodeId: inviteNode.LinkNodeId,
|
|
|
|
805
|
+ LinkNodeName: inviteNode.LinkNodeName,
|
|
|
|
806
|
+ Status: domain.StaffAssessUncompleted,
|
|
|
|
807
|
+ BeginTime: inviteNode.BeginTime,
|
|
|
|
808
|
+ EndTime: inviteNode.EndTime,
|
|
|
|
809
|
+ CreatedAt: nowTime,
|
|
|
|
810
|
+ UpdatedAt: nowTime,
|
|
|
|
811
|
+ DeletedAt: nil,
|
|
|
|
812
|
+ })
|
|
|
|
813
|
+ }
|
|
|
|
814
|
+ }
|
|
|
|
815
|
+ assessList = append(assessList, newAssessList...)
|
|
|
|
816
|
+ for i := range assessList {
|
|
|
|
817
|
+ _, err = assessReps.Save(assessList[i])
|
|
|
|
818
|
+ if err != nil {
|
|
|
|
819
|
+ return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "保存员工邀请评估"+err.Error())
|
|
|
|
820
|
+ }
|
|
|
|
821
|
+ }
|
|
730
|
if err := transactionContext.CommitTransaction(); err != nil {
|
822
|
if err := transactionContext.CommitTransaction(); err != nil {
|
|
731
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
823
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
732
|
}
|
824
|
}
|
|
733
|
-
|
|
|
|
734
|
- result := adapter.AssessInviteUserResp{
|
|
|
|
735
|
- AssessTaskId: assessTaskData.Id,
|
825
|
+ result := map[string]interface{}{
|
|
|
|
826
|
+ "assessTaskId": assessTaskData.Id,
|
|
736
|
}
|
827
|
}
|
|
737
|
- // for _, v := range assessTaskData.StepList {
|
|
|
|
738
|
- // if v.LinkNodeType != domain.LinkNodeAllInvite {
|
|
|
|
739
|
- // continue
|
|
|
|
740
|
- // }
|
|
|
|
741
|
- // result.LinkNodeId = v.LinkNodeId
|
|
|
|
742
|
- // result.LinkNodeName = v.LinkNodeName
|
|
|
|
743
|
- // result.BeginTime = v.BeginTime.Local().Format("2006-01-02 15:04:05")
|
|
|
|
744
|
- // result.EndTime = v.EndTime.Local().Format("2006-01-02 15:04:05")
|
|
|
|
745
|
- // break
|
|
|
|
746
|
- // }
|
|
|
|
747
|
- // for _, v := range assessList {
|
|
|
|
748
|
- // if v.Types == domain.AssessInviteDiffSuper {
|
|
|
|
749
|
- // result.InviteDiffSuper = append(result.InviteDiffSuper, v.Executor)
|
|
|
|
750
|
- // }
|
|
|
|
751
|
- // if v.Types == domain.AssessInviteSameSuper {
|
|
|
|
752
|
- // result.InviteSameSuper = append(result.InviteDiffSuper, v.Executor)
|
|
|
|
753
|
- // }
|
|
|
|
754
|
- // }
|
|
|
|
755
|
- return &result, nil
|
828
|
+ return result, nil
|
|
756
|
}
|
829
|
}
|
|
757
|
|
830
|
|
|
758
|
// 获取员工自评的评估内容详情
|
831
|
// 获取员工自评的评估内容详情
|
|
@@ -770,7 +843,6 @@ func (srv StaffAssessServeice) GetAssessSelfInfo(param *query.AssessInfoQuery) ( |
|
@@ -770,7 +843,6 @@ func (srv StaffAssessServeice) GetAssessSelfInfo(param *query.AssessInfoQuery) ( |
|
770
|
assessReps := factory.CreateStaffAssessRepository(map[string]interface{}{
|
843
|
assessReps := factory.CreateStaffAssessRepository(map[string]interface{}{
|
|
771
|
"transactionContext": transactionContext,
|
844
|
"transactionContext": transactionContext,
|
|
772
|
})
|
845
|
})
|
|
773
|
-
|
|
|
|
774
|
//获取员工的评估
|
846
|
//获取员工的评估
|
|
775
|
_, assessList, err := assessReps.Find(map[string]interface{}{
|
847
|
_, assessList, err := assessReps.Find(map[string]interface{}{
|
|
776
|
"companyId": param.CompanyId,
|
848
|
"companyId": param.CompanyId,
|
|
@@ -785,43 +857,32 @@ func (srv StaffAssessServeice) GetAssessSelfInfo(param *query.AssessInfoQuery) ( |
|
@@ -785,43 +857,32 @@ func (srv StaffAssessServeice) GetAssessSelfInfo(param *query.AssessInfoQuery) ( |
|
785
|
return &adapter.AssessInfoResp{}, nil
|
857
|
return &adapter.AssessInfoResp{}, nil
|
|
786
|
}
|
858
|
}
|
|
787
|
assessData := assessList[0]
|
859
|
assessData := assessList[0]
|
|
788
|
- projectRepo := factory.CreateEvaluationProjectRepository(map[string]interface{}{
|
860
|
+
|
|
|
|
861
|
+ assessContentList := []*domain.StaffAssessContent{}
|
|
|
|
862
|
+ if assessData.Status == domain.StaffAssessCompleted {
|
|
|
|
863
|
+ //已完成
|
|
|
|
864
|
+ assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{
|
|
789
|
"transactionContext": transactionContext,
|
865
|
"transactionContext": transactionContext,
|
|
790
|
})
|
866
|
})
|
|
791
|
- projectData, err := projectRepo.FindOne(map[string]interface{}{
|
|
|
|
792
|
- "id": assessData.EvaluationProjectId,
|
867
|
+ _, assessContentList, err = assessContentRepo.Find(map[string]interface{}{
|
|
|
|
868
|
+ "staffAssessId": assessData.Id,
|
|
793
|
})
|
869
|
})
|
|
794
|
if err != nil {
|
870
|
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
|
871
|
+ return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error())
|
|
805
|
}
|
872
|
}
|
|
|
|
873
|
+ } else if assessData.Status == domain.StaffAssessUncompleted {
|
|
|
|
874
|
+ //未完成
|
|
|
|
875
|
+ assessContentList, err = srv.getAssessSelfInfoUncompleted(transactionContext, assessData)
|
|
|
|
876
|
+ if err != nil {
|
|
|
|
877
|
+ return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error())
|
|
806
|
}
|
878
|
}
|
|
807
|
- if selfLinkNode == nil {
|
|
|
|
808
|
- return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "未获取到项目评估自评配置")
|
|
|
|
809
|
}
|
879
|
}
|
|
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 {
|
880
|
if err := transactionContext.CommitTransaction(); err != nil {
|
|
821
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
881
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
822
|
}
|
882
|
}
|
|
823
|
|
883
|
|
|
824
|
result := adapter.AssessInfoResp{
|
884
|
result := adapter.AssessInfoResp{
|
|
|
|
885
|
+ AssessId: assessData.Id,
|
|
825
|
CycleId: assessData.CycleId,
|
886
|
CycleId: assessData.CycleId,
|
|
826
|
CycleName: assessData.CycleName,
|
887
|
CycleName: assessData.CycleName,
|
|
827
|
EvaluationProjectId: assessData.EvaluationProjectId,
|
888
|
EvaluationProjectId: assessData.EvaluationProjectId,
|
|
@@ -831,18 +892,82 @@ func (srv StaffAssessServeice) GetAssessSelfInfo(param *query.AssessInfoQuery) ( |
|
@@ -831,18 +892,82 @@ func (srv StaffAssessServeice) GetAssessSelfInfo(param *query.AssessInfoQuery) ( |
|
831
|
Status: string(assessData.Status),
|
892
|
Status: string(assessData.Status),
|
|
832
|
TargetUserId: assessData.TargetUser.UserId,
|
893
|
TargetUserId: assessData.TargetUser.UserId,
|
|
833
|
TargetUserName: assessData.TargetUser.UserName,
|
894
|
TargetUserName: assessData.TargetUser.UserName,
|
|
834
|
- AssessContent: nil,
|
895
|
+ AssessContent: assessContentList,
|
|
|
|
896
|
+ }
|
|
|
|
897
|
+ return &result, nil
|
|
|
|
898
|
+}
|
|
|
|
899
|
+
|
|
|
|
900
|
+// 获取未完成的员工评估内容
|
|
|
|
901
|
+func (srv StaffAssessServeice) getAssessSelfInfoUncompleted(transactionContext application.TransactionContext,
|
|
|
|
902
|
+ assess *domain.StaffAssess) ([]*domain.StaffAssessContent, error) {
|
|
|
|
903
|
+ projectRepo := factory.CreateEvaluationProjectRepository(map[string]interface{}{
|
|
|
|
904
|
+ "transactionContext": transactionContext,
|
|
|
|
905
|
+ })
|
|
|
|
906
|
+ projectData, err := projectRepo.FindOne(map[string]interface{}{
|
|
|
|
907
|
+ "id": assess.EvaluationProjectId,
|
|
|
|
908
|
+ })
|
|
|
|
909
|
+ if err != nil {
|
|
|
|
910
|
+ return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error())
|
|
835
|
}
|
911
|
}
|
|
836
|
- assessContent := make([]adapter.AssessContent, 0)
|
|
|
|
837
|
- for _, v := range selfLinkNode.NodeContents {
|
|
|
|
838
|
- assessContent = append(assessContent, adapter.AssessContent{
|
912
|
+ var linkNode *domain.LinkNode
|
|
|
|
913
|
+ for _, v := range projectData.Template.LinkNodes {
|
|
|
|
914
|
+ if v.Id == int64(assess.LinkNodeId) {
|
|
|
|
915
|
+ linkNode = v
|
|
|
|
916
|
+ break
|
|
|
|
917
|
+ }
|
|
|
|
918
|
+ }
|
|
|
|
919
|
+ if linkNode == nil {
|
|
|
|
920
|
+ return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "未获得评估环节配置"+err.Error())
|
|
|
|
921
|
+ }
|
|
|
|
922
|
+ ruleRepo := factory.CreateEvaluationRuleRepository(map[string]interface{}{
|
|
|
|
923
|
+ "transactionContext": transactionContext,
|
|
|
|
924
|
+ })
|
|
|
|
925
|
+ ruleMap := map[int64]*domain.EvaluationRule{}
|
|
|
|
926
|
+ for _, v := range linkNode.NodeContents {
|
|
|
|
927
|
+ if _, ok := ruleMap[v.RuleId]; ok {
|
|
|
|
928
|
+ continue
|
|
|
|
929
|
+ }
|
|
|
|
930
|
+ ruleData, err := ruleRepo.FindOne(map[string]interface{}{
|
|
|
|
931
|
+ "id": v.RuleId,
|
|
|
|
932
|
+ })
|
|
|
|
933
|
+ if err == nil {
|
|
|
|
934
|
+ ruleMap[v.RuleId] = ruleData
|
|
|
|
935
|
+ }
|
|
|
|
936
|
+ }
|
|
|
|
937
|
+
|
|
|
|
938
|
+ var contentList []*domain.StaffAssessContent
|
|
|
|
939
|
+ nowTime := time.Now()
|
|
|
|
940
|
+ for i, v := range linkNode.NodeContents {
|
|
|
|
941
|
+ item := &domain.StaffAssessContent{
|
|
|
|
942
|
+ Id: 0,
|
|
|
|
943
|
+ StaffAssessId: assess.Id,
|
|
|
|
944
|
+ SortBy: i + 1,
|
|
839
|
Category: v.Category,
|
945
|
Category: v.Category,
|
|
840
|
Name: v.Name,
|
946
|
Name: v.Name,
|
|
841
|
PromptTitle: v.PromptTitle,
|
947
|
PromptTitle: v.PromptTitle,
|
|
842
|
PromptText: v.PromptText,
|
948
|
PromptText: v.PromptText,
|
|
843
|
- EntryItems: v.EntryItems,
|
|
|
|
844
|
- })
|
949
|
+ Remark: nil,
|
|
|
|
950
|
+ Value: "",
|
|
|
|
951
|
+ ReteResult: "",
|
|
|
|
952
|
+ CreatedAt: nowTime,
|
|
|
|
953
|
+ UpdatedAt: nowTime,
|
|
|
|
954
|
+ DeletedAt: nil,
|
|
|
|
955
|
+ // Rule: ,
|
|
845
|
}
|
956
|
}
|
|
846
|
- result.AssessContent = assessContent
|
|
|
|
847
|
- return &result, nil
|
957
|
+ if ruleVal, ok := ruleMap[v.RuleId]; ok {
|
|
|
|
958
|
+ item.Rule = *ruleVal
|
|
|
|
959
|
+ }
|
|
|
|
960
|
+ var remarks []domain.AssessContemtRemark
|
|
|
|
961
|
+ for _, vv := range v.EntryItems {
|
|
|
|
962
|
+ ritem := domain.AssessContemtRemark{
|
|
|
|
963
|
+ Title: vv.Title,
|
|
|
|
964
|
+ HintText: vv.HintText,
|
|
|
|
965
|
+ RemarkText: "",
|
|
|
|
966
|
+ }
|
|
|
|
967
|
+ remarks = append(remarks, ritem)
|
|
|
|
968
|
+ }
|
|
|
|
969
|
+ item.Remark = remarks
|
|
|
|
970
|
+ contentList = append(contentList, item)
|
|
|
|
971
|
+ }
|
|
|
|
972
|
+ return contentList, nil
|
|
848
|
} |
973
|
} |