作者 Your Name

更新

@@ -2,6 +2,7 @@ package adapter @@ -2,6 +2,7 @@ package adapter
2 2
3 import "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" 3 import "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"
4 4
  5 +//获取评估的邀请人
5 type AssessInviteUserResp struct { 6 type AssessInviteUserResp struct {
6 LinkNodeId int `json:"linkNodeId"` 7 LinkNodeId int `json:"linkNodeId"`
7 LinkNodeName string `json:"linkNodeName"` 8 LinkNodeName string `json:"linkNodeName"`
  1 +package adapter
  2 +
  3 +type ListInviteUserAssessResp struct {
  4 + TableHeader []ListTableHeader
  5 + List []map[string]string
  6 + Total int
  7 +}
  8 +type ListTableHeader struct {
  9 + Key string
  10 + Name string
  11 +}
  1 +package adapter
  2 +
  3 +type ListSupperAssessResp struct {
  4 + AssessId int `json:"assessId"` //
  5 + UserName string `json:"userName"` //用户名称
  6 + EndTime string `json:"endTime"` //截止时间
  7 + InviteTotal int `json:"inviteCompleted"` //邀请总数
  8 + InviteUncompleted int `json:"inviteUncompleted"` //邀请未完成
  9 + Department string `json:"department"` //部门
  10 + Position string `json:"position"` //职位
  11 + DutyTime string `json:"dutyTime"` //入职时间
  12 +}
  1 +package adapter
  2 +
  3 +type SelectInviteUser struct {
  4 + UserId int `json:"userId,string"`
  5 + UserName string `json:"userName"` //
  6 + IsSupper bool `json:"isSupper"` // 是否,是直属上级
  7 + Types int `json:"types"` // 1:相同上级的同事 2:不相同上级的同事
  8 +}
1 package query 1 package query
2 2
  3 +//获取评估任务详情
3 type AssessInfoQuery struct { 4 type AssessInfoQuery struct {
4 - AssessTaskId int `json:"assessTaskId"` //StaffAssess 的id  
5 - TargetUserId int `json:"targetUserId"` //被评估的人id  
6 - CompanyId int `json:"companyId"` //公司id  
7 - 5 + AssessId int `json:"assessId"` //
  6 + CompanyId int `json:"companyId"` //
8 } 7 }
  1 +package query
  2 +
  3 +//获取员工自评填写详情
  4 +type AssessSelfInfoQuery struct {
  5 + AssessTaskId int `json:"assessTaskId"` //StaffAssess 的id
  6 + TargetUserId int `json:"targetUserId"` //被评估的人id
  7 + CompanyId int `json:"companyId"` //公司id
  8 +
  9 +}
  1 +package query
  2 +
  3 +type ListSupperAssessQuery struct {
  4 + PageNumber int `json:"pageNumber"`
  5 + PageSize int `json:"pageSize"`
  6 + UserName string `json:"userName"` //查询条件 员工的名称
  7 + CompanyId int `json:"companyId"` //
  8 + ExecutorId int `json:"executorId"` //评估的执行人
  9 + AssessTaskkId int `json:"assessTaskId"` //评估任务id
  10 +}
  1 +package query
  2 +
  3 +type ListInviteUserAssessQuery struct {
  4 + PageNumber int `json:"pageNumber"`
  5 + PageSize int `json:"pageSize"`
  6 + UserName string `json:"userName"` //查询条件 员工的名称
  7 + CompanyId int `json:"companyId"` //
  8 + ExecutorId int `json:"executorId"` //评估的执行人
  9 + AssessTaskkId int `json:"assessTaskId"` //评估任务id
  10 +}
  1 +package query
  2 +
  3 +type SelectAssessInviteUser struct {
  4 + TargetUserId int `json:"targetUserId"` //被评估的员工userId
  5 + CompanyId int `json:"companyId"`
  6 + InviteUserName string `json:"inviteUserName"`
  7 + PageSize int `json:"pageSize"`
  8 + PageNumber int `json:"pageNumber"`
  9 +}
@@ -829,7 +829,7 @@ func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInv @@ -829,7 +829,7 @@ func (srv StaffAssessServeice) SaveAssessInviteUser(param *command.SaveAssessInv
829 } 829 }
830 830
831 // 获取员工自评的评估内容详情 831 // 获取员工自评的评估内容详情
832 -func (srv StaffAssessServeice) GetAssessSelfInfo(param *query.AssessInfoQuery) (*adapter.AssessInfoResp, error) { 832 +func (srv StaffAssessServeice) GetAssessSelfInfo(param *query.AssessSelfInfoQuery) (*adapter.AssessInfoResp, error) {
833 transactionContext, err := factory.CreateTransactionContext(nil) 833 transactionContext, err := factory.CreateTransactionContext(nil)
834 if err != nil { 834 if err != nil {
835 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 835 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
@@ -971,3 +971,271 @@ func (srv StaffAssessServeice) getAssessSelfInfoUncompleted(transactionContext a @@ -971,3 +971,271 @@ func (srv StaffAssessServeice) getAssessSelfInfoUncompleted(transactionContext a
971 } 971 }
972 return contentList, nil 972 return contentList, nil
973 } 973 }
  974 +
  975 +// 选择员工评估可邀请的用户
  976 +func (srv StaffAssessServeice) SelectAssessInviteUser(param *query.SelectAssessInviteUser) (map[string]interface{}, error) {
  977 + transactionContext, err := factory.CreateTransactionContext(nil)
  978 + if err != nil {
  979 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  980 + }
  981 + if err := transactionContext.StartTransaction(); err != nil {
  982 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  983 + }
  984 + defer func() {
  985 + _ = transactionContext.RollbackTransaction()
  986 + }()
  987 + //获取被评估的目标用户
  988 + userRepo := factory.CreateUserRepository(map[string]interface{}{
  989 + "transactionContext": transactionContext,
  990 + })
  991 + targetUser, err := userRepo.FindOne(map[string]interface{}{
  992 + "id": param.TargetUserId,
  993 + })
  994 + if err != nil {
  995 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取员工信息"+err.Error())
  996 + }
  997 + //获取被评估的目标用户的部门
  998 + departmentRepo := factory.CreateDepartmentRepository(map[string]interface{}{
  999 + "transactionContext": transactionContext,
  1000 + })
  1001 +
  1002 + _, targetUserDepartment, err := departmentRepo.Find(map[string]interface{}{
  1003 + "ids": targetUser.DepartmentId,
  1004 + })
  1005 +
  1006 + if err != nil {
  1007 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取部门信息"+err.Error())
  1008 + }
  1009 + //获取部门主管的id
  1010 + targetUserCharge := map[int64]struct{}{}
  1011 + for _, v := range targetUserDepartment {
  1012 + for _, vv := range v.ChargeUserIds {
  1013 + targetUserCharge[vv] = struct{}{}
  1014 + }
  1015 + }
  1016 + //
  1017 + targetUserDepartmentMap := map[int64]struct{}{}
  1018 + for _, v := range targetUserDepartment {
  1019 + targetUserDepartmentMap[v.Id] = struct{}{}
  1020 + }
  1021 + //查询员工数据
  1022 + condition := map[string]interface{}{
  1023 + "companyId": param.CompanyId,
  1024 + "name": param.InviteUserName,
  1025 + "limit": 20,
  1026 + }
  1027 + if param.PageSize > 0 {
  1028 + condition["limit"] = param.PageSize
  1029 + }
  1030 + offset := (param.PageNumber - 1) * param.PageSize
  1031 + if offset > 0 {
  1032 + condition["offset"] = offset
  1033 + }
  1034 + cnt, userList, err := userRepo.Find(condition)
  1035 + if err != nil {
  1036 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取员工列表信息"+err.Error())
  1037 + }
  1038 + if err := transactionContext.CommitTransaction(); err != nil {
  1039 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  1040 + }
  1041 + listData := []adapter.SelectInviteUser{}
  1042 + for _, v := range userList {
  1043 + item := adapter.SelectInviteUser{
  1044 + UserId: int(v.Id),
  1045 + UserName: v.Name,
  1046 + IsSupper: false,
  1047 + Types: 2, //默认是不同上级
  1048 + }
  1049 + if _, ok := targetUserCharge[v.Id]; ok {
  1050 + item.IsSupper = true
  1051 + }
  1052 + for _, vv := range v.DepartmentId {
  1053 + if _, ok := targetUserDepartmentMap[int64(vv)]; ok {
  1054 + item.Types = 1 //设为相同上级
  1055 + break
  1056 + }
  1057 + }
  1058 + listData = append(listData, item)
  1059 + }
  1060 + return tool_funs.SimpleWrapGridMap(int64(cnt), listData), nil
  1061 +}
  1062 +
  1063 +// 获取我的360评估,用户列表和评估填写的值
  1064 +func (srv StaffAssessServeice) ListInviteUserAssess(param *query.ListInviteUserAssessQuery) (
  1065 + *adapter.ListInviteUserAssessResp, error) {
  1066 + transactionContext, err := factory.CreateTransactionContext(nil)
  1067 + if err != nil {
  1068 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  1069 + }
  1070 + if err := transactionContext.StartTransaction(); err != nil {
  1071 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  1072 + }
  1073 + defer func() {
  1074 + _ = transactionContext.RollbackTransaction()
  1075 + }()
  1076 + //获取对应的评估任务
  1077 + assessRepo := factory.CreateStaffAssessRepository(map[string]interface{}{
  1078 + "transactionContext": transactionContext,
  1079 + })
  1080 + //获取 executorId 对应的360评估任务 用户
  1081 + cnt, assessList, err := assessRepo.Find(map[string]interface{}{
  1082 + "staffAssessTaskId": param.AssessTaskkId,
  1083 + "executorId": param.ExecutorId,
  1084 + "typesList": []string{string(domain.AssessInviteDiffSuper), string(domain.AssessInviteSameSuper)},
  1085 + })
  1086 + if err != nil {
  1087 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  1088 + }
  1089 + // 获取已经填报的内容
  1090 + if err := transactionContext.CommitTransaction(); err != nil {
  1091 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  1092 + }
  1093 +
  1094 + //TODO 评估填写数据行转列
  1095 + tableHeader := []adapter.ListTableHeader{
  1096 + {Key: "userName", Name: "姓名"},
  1097 + {Key: "status", Name: "状态"},
  1098 + {Key: "types", Name: "360°评估关系"},
  1099 + {Key: "endTime", Name: "360°评估截止日期"},
  1100 + }
  1101 + listData := []map[string]string{}
  1102 + for _, v := range assessList {
  1103 + m := map[string]string{
  1104 + "userName": v.TargetUser.UserName,
  1105 + "status": string(v.Status),
  1106 + "types": string(v.Types),
  1107 + "endTime": v.EndTime.Local().Format("2006-01-02 15:04:05"),
  1108 + }
  1109 + listData = append(listData, m)
  1110 + }
  1111 + _ = tableHeader
  1112 +
  1113 + result := adapter.ListInviteUserAssessResp{
  1114 + TableHeader: tableHeader,
  1115 + List: listData,
  1116 + Total: cnt,
  1117 + }
  1118 + return &result, nil
  1119 +}
  1120 +
  1121 +// 获取上级评估成员列表
  1122 +func (srv StaffAssessServeice) ListSupperAssess(param *query.ListSupperAssessQuery) (map[string]interface{}, error) {
  1123 + transactionContext, err := factory.CreateTransactionContext(nil)
  1124 + if err != nil {
  1125 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  1126 + }
  1127 + if err := transactionContext.StartTransaction(); err != nil {
  1128 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  1129 + }
  1130 + defer func() {
  1131 + _ = transactionContext.RollbackTransaction()
  1132 + }()
  1133 + //获取对应的评估任务
  1134 + assessRepo := factory.CreateStaffAssessRepository(map[string]interface{}{
  1135 + "transactionContext": transactionContext,
  1136 + })
  1137 + //获取 executorId 对应的上级评估列表
  1138 + cnt, assessList, err := assessRepo.Find(map[string]interface{}{
  1139 + "staffAssessTaskId": param.AssessTaskkId,
  1140 + "executorId": param.ExecutorId,
  1141 + "typesList": []string{string(domain.AssessSuper)},
  1142 + })
  1143 + if err != nil {
  1144 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  1145 + }
  1146 + if err := transactionContext.CommitTransaction(); err != nil {
  1147 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  1148 + }
  1149 +
  1150 + resultList := []adapter.ListSupperAssessResp{}
  1151 + for _, v := range assessList {
  1152 + item := adapter.ListSupperAssessResp{
  1153 + AssessId: v.Id,
  1154 + UserName: v.TargetUser.UserName,
  1155 + EndTime: v.EndTime.Local().Format("2006-01-02 15:04:05"),
  1156 + InviteUncompleted: 0,
  1157 + InviteTotal: 5,
  1158 + Department: "",
  1159 + Position: "",
  1160 + DutyTime: "",
  1161 + }
  1162 +
  1163 + for _, vv := range v.TargetDepartment {
  1164 + item.Department += vv.DepartmentName + " "
  1165 + }
  1166 + resultList = append(resultList, item)
  1167 + }
  1168 + return tool_funs.SimpleWrapGridMap(int64(cnt), resultList), nil
  1169 +}
  1170 +
  1171 +// 根据staffAssessId 获取评估的填写信息
  1172 +func (srv StaffAssessServeice) GetAssessInfo(param *query.AssessInfoQuery) (*adapter.AssessInfoResp, error) {
  1173 + transactionContext, err := factory.CreateTransactionContext(nil)
  1174 + if err != nil {
  1175 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  1176 + }
  1177 + if err := transactionContext.StartTransaction(); err != nil {
  1178 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  1179 + }
  1180 + defer func() {
  1181 + _ = transactionContext.RollbackTransaction()
  1182 + }()
  1183 + assessReps := factory.CreateStaffAssessRepository(map[string]interface{}{
  1184 + "transactionContext": transactionContext,
  1185 + })
  1186 + //获取员工的评估
  1187 + _, assessList, err := assessReps.Find(map[string]interface{}{
  1188 + "companyId": param.CompanyId,
  1189 + "id": param.AssessId,
  1190 + })
  1191 + if err != nil {
  1192 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取员工的评估"+err.Error())
  1193 + }
  1194 + if len(assessList) == 0 {
  1195 + return &adapter.AssessInfoResp{}, nil
  1196 + }
  1197 + assessData := assessList[0]
  1198 + assessContentList := []*domain.StaffAssessContent{}
  1199 + if assessData.Status == domain.StaffAssessCompleted {
  1200 + //已完成
  1201 + assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{
  1202 + "transactionContext": transactionContext,
  1203 + })
  1204 + _, assessContentList, err = assessContentRepo.Find(map[string]interface{}{
  1205 + "staffAssessId": assessData.Id,
  1206 + })
  1207 + if err != nil {
  1208 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error())
  1209 + }
  1210 + } else if assessData.Status == domain.StaffAssessUncompleted {
  1211 + //未完成
  1212 + assessContentList, err = srv.getAssessSelfInfoUncompleted(transactionContext, assessData)
  1213 + if err != nil {
  1214 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取项目填写内容"+err.Error())
  1215 + }
  1216 + }
  1217 + if err := transactionContext.CommitTransaction(); err != nil {
  1218 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  1219 + }
  1220 +
  1221 + result := adapter.AssessInfoResp{
  1222 + AssessId: assessData.Id,
  1223 + CycleId: assessData.CycleId,
  1224 + CycleName: assessData.CycleName,
  1225 + EvaluationProjectId: assessData.EvaluationProjectId,
  1226 + EvaluationProjectName: assessData.EvaluationProjectName,
  1227 + BeginTime: assessData.BeginTime.Local().Format("2006-01-02 15:04:05"),
  1228 + EndTime: assessData.EndTime.Local().Format("2006-01-02 15:04:05"),
  1229 + Status: string(assessData.Status),
  1230 + TargetUserId: assessData.TargetUser.UserId,
  1231 + TargetUserName: assessData.TargetUser.UserName,
  1232 + AssessContent: assessContentList,
  1233 + }
  1234 + return &result, nil
  1235 +}
  1236 +
  1237 +// 获取员工的某次评估任务的360评估记录录
  1238 +// assessTaskId targetUserId
  1239 +func (srv StaffAssessServeice) AssessInviteList() error {
  1240 + return nil
  1241 +}
@@ -140,7 +140,9 @@ func (repo *StaffAssessRepository) Find(queryOptions map[string]interface{}) (in @@ -140,7 +140,9 @@ func (repo *StaffAssessRepository) Find(queryOptions map[string]interface{}) (in
140 if v, ok := queryOptions["staffAssessTaskId"]; ok { 140 if v, ok := queryOptions["staffAssessTaskId"]; ok {
141 query.Where(`staff_assess_task_id=?`, v) 141 query.Where(`staff_assess_task_id=?`, v)
142 } 142 }
143 - 143 + if v, ok := queryOptions["id"]; ok {
  144 + query.Where("id=?", v)
  145 + }
144 if v, ok := queryOptions["typesList"].([]string); ok && len(v) > 0 { 146 if v, ok := queryOptions["typesList"].([]string); ok && len(v) > 0 {
145 query.Where("types in(?)", pg.In(v)) 147 query.Where("types in(?)", pg.In(v))
146 } 148 }
1 package repository 1 package repository
2 2
3 import ( 3 import (
  4 + "fmt"
  5 +
4 "github.com/go-pg/pg/v10" 6 "github.com/go-pg/pg/v10"
5 pgTransaction "github.com/linmadan/egglib-go/transaction/pg" 7 pgTransaction "github.com/linmadan/egglib-go/transaction/pg"
6 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" 8 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"
@@ -114,6 +116,9 @@ func (repo *UserRepository) Find(queryOptions map[string]interface{}) (int, []*d @@ -114,6 +116,9 @@ func (repo *UserRepository) Find(queryOptions map[string]interface{}) (int, []*d
114 if v, ok := queryOptions["account"]; ok { 116 if v, ok := queryOptions["account"]; ok {
115 query.Where("account like ?", v) 117 query.Where("account like ?", v)
116 } 118 }
  119 + if v, ok := queryOptions["name"]; ok {
  120 + query.Where("name like ?", fmt.Sprintf("%%%v%%", v))
  121 + }
117 if v, ok := queryOptions["offset"]; ok { 122 if v, ok := queryOptions["offset"]; ok {
118 query.Offset(v.(int)) 123 query.Offset(v.(int))
119 } 124 }
@@ -81,7 +81,7 @@ func (c *StaffAssessController) CreateStaffAssessTask() { @@ -81,7 +81,7 @@ func (c *StaffAssessController) CreateStaffAssessTask() {
81 // 获取员工自评详情 81 // 获取员工自评详情
82 func (c *StaffAssessController) GetAssessSelfInfo() { 82 func (c *StaffAssessController) GetAssessSelfInfo() {
83 srv := service.NewStaffAssessServeice() 83 srv := service.NewStaffAssessServeice()
84 - paramReq := &query.AssessInfoQuery{} 84 + paramReq := &query.AssessSelfInfoQuery{}
85 err := c.BindJSON(paramReq) 85 err := c.BindJSON(paramReq)
86 if err != nil { 86 if err != nil {
87 e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error()) 87 e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error())
@@ -130,3 +130,55 @@ func (c *StaffAssessController) SaveAssessInviteUser() { @@ -130,3 +130,55 @@ func (c *StaffAssessController) SaveAssessInviteUser() {
130 data, err := srv.SaveAssessInviteUser(paramReq) 130 data, err := srv.SaveAssessInviteUser(paramReq)
131 c.Response(data, err) 131 c.Response(data, err)
132 } 132 }
  133 +
  134 +// 员工邀请的人选择列表
  135 +func (c *StaffAssessController) SelectAssessInviteUser() {
  136 + srv := service.NewStaffAssessServeice()
  137 + paramReq := &query.SelectAssessInviteUser{}
  138 + err := c.BindJSON(paramReq)
  139 + if err != nil {
  140 + e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error())
  141 + c.Response(nil, e)
  142 + return
  143 + }
  144 + //TODO 获取当前用户信息
  145 + paramReq.CompanyId = 1
  146 + paramReq.TargetUserId = 1
  147 + data, err := srv.SelectAssessInviteUser(paramReq)
  148 + c.Response(data, err)
  149 +}
  150 +
  151 +// 获取我要执行360评估,用户列表和评估填写的值
  152 +func (c *StaffAssessController) ListInviteUserAssess() {
  153 + srv := service.NewStaffAssessServeice()
  154 + paramReq := &query.ListInviteUserAssessQuery{}
  155 + err := c.BindJSON(paramReq)
  156 + if err != nil {
  157 + e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error())
  158 + c.Response(nil, e)
  159 + return
  160 + }
  161 + //TODO 获取当前用户信息
  162 + paramReq.CompanyId = 1
  163 + paramReq.ExecutorId = 1
  164 + data, err := srv.ListInviteUserAssess(paramReq)
  165 + c.Response(data, err)
  166 +}
  167 +
  168 +// 获取上级评估成员列表
  169 +// 获取我要执行360评估,用户列表和评估填写的值
  170 +func (c *StaffAssessController) ListSupperAssess() {
  171 + srv := service.NewStaffAssessServeice()
  172 + paramReq := &query.ListSupperAssessQuery{}
  173 + err := c.BindJSON(paramReq)
  174 + if err != nil {
  175 + e := application.ThrowError(application.ARG_ERROR, "json 解析错误"+err.Error())
  176 + c.Response(nil, e)
  177 + return
  178 + }
  179 + //TODO 获取当前用户信息
  180 + paramReq.CompanyId = 1
  181 + paramReq.ExecutorId = 1
  182 + data, err := srv.ListSupperAssess(paramReq)
  183 + c.Response(data, err)
  184 +}
@@ -15,10 +15,11 @@ func init() { @@ -15,10 +15,11 @@ func init() {
15 // /v1/staff-assess/self/me/list 15 // /v1/staff-assess/self/me/list
16 assessNS := web.NewNamespace("/v1/staff-assess", 16 assessNS := web.NewNamespace("/v1/staff-assess",
17 // web.NSBefore(filters.AllowCors(), middlewares.CheckToken()), 17 // web.NSBefore(filters.AllowCors(), middlewares.CheckToken()),
18 - web.NSCtrlPost("/self/me/list", (*controllers.StaffAssessController).AssessSelfMeList), //获取我的自评反馈列表  
19 - web.NSCtrlPost("/self/me/info", (*controllers.StaffAssessController).GetAssessSelfInfo), //获取我的自评反馈详情  
20 - web.NSCtrlPost("/me/invite-user", (*controllers.StaffAssessController).GetAssessInviteUser), //获取邀请的员工  
21 - web.NSCtrlPost("/me/save-invite-user", (*controllers.StaffAssessController).SaveAssessInviteUser), //保存邀请的员工 18 + web.NSCtrlPost("/self/me/list", (*controllers.StaffAssessController).AssessSelfMeList), //获取我的自评反馈列表
  19 + web.NSCtrlPost("/self/me/info", (*controllers.StaffAssessController).GetAssessSelfInfo), //获取我的自评反馈详情
  20 + web.NSCtrlPost("/me/invite-user", (*controllers.StaffAssessController).GetAssessInviteUser), //获取邀请的员工
  21 + web.NSCtrlPost("/me/save-invite-user", (*controllers.StaffAssessController).SaveAssessInviteUser), //保存邀请的员工
  22 + web.NSCtrlPost("/me/invite-user/select", (*controllers.StaffAssessController).SelectAssessInviteUser), //选择我邀请的员工
22 ) 23 )
23 web.AddNamespace(assessTaskNS) 24 web.AddNamespace(assessTaskNS)
24 web.AddNamespace(assessNS) 25 web.AddNamespace(assessNS)