Browse Source

用户端评价

qin_1
超级管理员 4 years ago
parent
commit
71d973238c
  1. 518
      gin_server_admin/api/index/assessment/assesshandle.go
  2. 136
      gin_server_admin/api/index/assessment/assesstype.go
  3. 6
      gin_server_admin/api/v1/archiveapi/graphicinformation.go
  4. 11
      gin_server_admin/api/v1/assessment/assesshandle.go
  5. 2
      gin_server_admin/api/v1/custom/customhandle.go
  6. 6
      gin_server_admin/api/v1/examtestpage/examtype.go
  7. 18
      gin_server_admin/api/v1/examtestpage/grouphandle.go
  8. 17
      gin_server_admin/commonus/publichaneld.go
  9. 2
      gin_server_admin/commonus/timeSub.go
  10. 4
      gin_server_admin/initialize/router.go
  11. 22
      gin_server_admin/middleware/myjwt.go
  12. 55
      gin_server_admin/model/assessmentmodel/dutyclass.go
  13. 5
      gin_server_admin/router/assessment/assessmentrouter.go
  14. 2
      gin_server_admin/router/examtestpage/grouphandle.go

518
gin_server_admin/api/index/assessment/assesshandle.go

@ -1,7 +1,14 @@
package assessment package assessment
import ( import (
"strconv"
"time"
"github.com/flipped-aurora/gin-vue-admin/server/api/v1/archiveapi"
"github.com/flipped-aurora/gin-vue-admin/server/api/v1/assessment"
"github.com/flipped-aurora/gin-vue-admin/server/commonus" "github.com/flipped-aurora/gin-vue-admin/server/commonus"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/assessmentmodel"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response" "github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
@ -26,6 +33,513 @@ func (a *Assessment) MyAssEssMentList(c *gin.Context) {
if requestData.Page <= 0 { if requestData.Page <= 0 {
requestData.Page = 1 requestData.Page = 1
} }
// offSetPage := commonus.CalculatePages(requestData.Page, requestData.PageSize) isTrue, userCont := commonus.ClientIdentity()
// gormDb := global.GVA_DB_Master.Model(&testpage.WorkMan{}) if isTrue != true {
response.Result(101, err, "您的身份令牌已经失效!请重新登录获取身份令牌!", c)
return
}
offSetPage := commonus.CalculatePages(requestData.Page, requestData.PageSize)
gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DutyContent{}).Where("(`dc_user_dump` = ? OR `dc_dump` = ?) AND `dc_state` = 1", userCont.Key, userCont.DepartmentId)
var total int64
totalErr := gormDb.Count(&total).Error
if totalErr != nil {
total = 0
}
var assessList []assessmentmodel.DutyContent
assessListerr := gormDb.Limit(requestData.PageSize).Offset(offSetPage).Order("dc_id desc").Find(&assessList).Error
if assessListerr != nil {
response.Result(102, assessListerr, "数据获取失败!", c)
return
}
var assessOutList []assessOut
for _, val := range assessList {
var assessOutCont assessOut
assessOutCont.Id = val.Id
assessOutCont.Title = val.Title
assessOutCont.Time = val.Time
assessOutCont.State = val.State
assessOutCont.PartId = val.PartId
assessOutCont.UserType = val.UserType
assessOutCont.UserDump = val.UserDump
assessOutCont.Dump = val.Dump
isErr, assessClassCont := assessment.GetAssessClass(val.PartId)
if isErr == true {
assessOutCont.ClassId = assessClassCont.PartId
assessOutCont.ClassTitle = assessClassCont.ClassTitle
assessOutCont.AssessId = assessClassCont.Id
assessOutCont.AssessTitle = assessClassCont.Title
}
assIsTrue, assDepartList := GetAssDepart(val.Id)
// fmt.Printf("------------->%v-------->%v\n", assIsTrue, assDepartList)
if assIsTrue == true {
assessOutCont.AssessDepart = assDepartList
}
assessOutList = append(assessOutList, assessOutCont)
}
countSum := len(assessOutList)
printData := commonus.OutPutList(total, int64(countSum), requestData.Page, requestData.PageSize, assessOutList)
response.Result(0, printData, "查询成功!", c)
}
//获得项目考核部门
func GetAssDepart(dutyid int64) (isTrue bool, assessDepartstr []assessDepart) {
isTrue = false
var departDuty []assessmentmodel.DepartDuty
assDepartErr := global.GVA_DB_Performanceappraisal.Where("`de_duty` = ? AND `de_satte` = 1", dutyid).Find(&departDuty).Error
if assDepartErr != nil {
return
}
for _, val := range departDuty {
var assInfo assessDepart
assInfo.DepartDutyId = val.Id
assInfo.DepartId = val.PartId
isTruew, bfCont := assessment.GetBranchFactory(val.PartId)
if isTruew == true {
assInfo.DepartTitle = bfCont.Name
}
assInfo.ClassId = val.ClassId
assInfo.AssessId = val.AssessId
assInfo.DutyId = val.DutyId
assInfo.Rescore = val.Rescore
assInfo.Group = val.Group
assessDepartstr = append(assessDepartstr, assInfo)
}
isTrue = true
return
}
//根据具体考核项获取被考核部门
func (a *Assessment) GetDutyDepartList(c *gin.Context) {
var requestData assessDepartRequest
err := c.ShouldBindJSON(&requestData)
if err != nil {
response.Result(101, err, "参数错误!请重新提交!", c)
return
}
if requestData.Id == "" {
response.Result(102, err, "参数错误!请重新提交!", c)
return
}
id, idErr := strconv.ParseInt(requestData.Id, 10, 64)
if idErr != nil {
response.Result(103, err, "参数错误!请重新提交!", c)
return
}
isTrue, departList := GetAssDepart(id)
if isTrue != true {
response.Result(104, departList, "获取失败!", c)
return
}
outData := commonus.MapOut()
outData["list"] = departList
response.Result(0, outData, "查询成功!", c)
}
//添加考核评分
func (a *Assessment) AddAssessmentScore(c *gin.Context) {
var requestData addAssEssScores
err := c.ShouldBindJSON(&requestData)
if err != nil {
response.Result(101, err, "参数错误!请重新提交!", c)
return
}
if requestData.DutyId == "" {
response.Result(102, err, "未知具体职责!", c)
return
}
//将具体职责ID转换为Int64
dutyId, dutyIdErr := strconv.ParseInt(requestData.DutyId, 10, 64)
if dutyIdErr != nil {
response.Result(102, err, "未知具体职责!", c)
return
}
classId, dutyIdErr := strconv.ParseInt(requestData.ClassId, 10, 64)
if dutyIdErr != nil {
response.Result(102, err, "未知考核分类!", c)
return
}
assessId, dutyIdErr := strconv.ParseInt(requestData.AssessId, 10, 64)
if dutyIdErr != nil {
response.Result(102, err, "未知考核项目!", c)
return
}
if requestData.FileTime == "" {
response.Result(103, err, "未知考核年月!", c)
return
}
timeStr := requestData.FileTime + "-01 12:00:00"
assessmentTime, assessmentTimeErr := commonus.DateToTimeStampEs(timeStr)
if assessmentTimeErr != true {
response.Result(104, timeStr, "你提交的考核日期错误!", c)
return
}
if requestData.DepartId == 0 {
response.Result(105, err, "未知被考核部门!", c)
return
}
isTrue, userCont := commonus.ClientIdentity()
if isTrue != true {
response.Result(106, err, "您的身份令牌已经失效!请重新登录获取身份令牌!", c)
return
}
userKey, userKeyErr := strconv.ParseInt(userCont.Key, 10, 64)
if userKeyErr != nil {
response.Result(107, err, "您的身份令牌已经失效!请重新登录获取身份令牌!", c)
return
}
//获取具体考核项对应部门理想分值
var departDutyCont assessmentmodel.DepartDuty
deducoErr := global.GVA_DB_Performanceappraisal.Select("`de_rescore`").Where("`de_partid` = ? AND `de_duty` = ? AND `de_satte` = 1", requestData.DepartId, dutyId).First(&departDutyCont).Error
if deducoErr != nil {
response.Result(108, err, "该考核项目已经失效!", c)
return
}
if requestData.DeductPoints > departDutyCont.Rescore {
response.Result(108, err, "扣分不能高于参考值!", c)
return
}
if requestData.ExtraPoints > departDutyCont.Rescore {
response.Result(108, err, "加分不能高于参考值!", c)
return
}
actualScore := departDutyCont.Rescore - int64(requestData.DeductPoints) + int64(requestData.ExtraPoints)
if actualScore < 0 {
actualScore = 0
}
var departscores assessmentmodel.Departscores
judgeOperationErr := global.GVA_DB_Performanceappraisal.Select("s_id").Where("`s_class` = ? AND `s_assess` = ? AND `s_duty` = ? AND `s_file_time` = ? AND `s_depart_id` = ? AND `s_comment_user` = ? AND `s_state` = 1", classId, assessId, dutyId, assessmentTime, requestData.DepartId, userKey).First(&departscores).Error
if judgeOperationErr == nil {
response.Result(109, err, "您已经对"+requestData.FileTime+"做出评价!请不要重复评价", c)
return
}
departscores.Id = commonus.GetFileNumberEs()
departscores.ClassId = classId
departscores.AssessId = assessId
departscores.DutyId = dutyId
departscores.DeductPoints = requestData.DeductPoints
departscores.ExtraPoints = requestData.ExtraPoints
// departscores.Score = requestData.Score
departscores.Score = actualScore
departscores.FileTime = assessmentTime
departscores.DepartId = requestData.DepartId
departscores.CommentUser = userKey
departscores.AddTime = time.Now().Unix()
departscores.EiteTime = time.Now().Unix()
departscores.State = 1
addassessInfoErr := global.GVA_DB_Performanceappraisal.Create(&departscores).Error
if addassessInfoErr != nil {
response.Result(110, departscores, "数据写入失败!", c)
} else {
response.Result(0, departscores, "数据写入成功!", c)
}
}
//我的评价记录
func (a *Assessment) MyEvaluateList(c *gin.Context) {
var requestData usEvaluate
err := c.ShouldBindJSON(&requestData)
if err != nil {
// response.Result(101, err, "参数错误!请重新提交!", c)
// return
}
if requestData.PageSize == 0 {
requestData.PageSize = 20
}
if requestData.Page <= 0 {
requestData.Page = 1
}
offSetPage := commonus.CalculatePages(requestData.Page, requestData.PageSize)
isTrue, userCont := commonus.ClientIdentity()
if isTrue != true {
response.Result(101, err, "您的身份令牌已经失效!请重新登录获取身份令牌!", c)
return
}
// gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Departscores{}).Select("s_depart_id", "s_file_time", "s_comment_user").Where("`s_comment_user` = ?", userCont.Key)
gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Departscores{}).Select("s_depart_id", "s_file_time", "s_comment_user", "SUM(s_score) as sumscore")
if requestData.DepartId != 0 && requestData.Time != "" {
timeStr := requestData.Time + "-01 12:00:00"
assessmentTime, assessmentTimeErr := commonus.DateToTimeStampEs(timeStr)
if assessmentTimeErr != true {
response.Result(102, timeStr, "你提交的考核日期错误!", c)
return
}
gormDb = gormDb.Group("s_depart_id,s_file_time,s_comment_user").Having("`s_depart_id` = ? AND `s_file_time` = ? AND `s_comment_user` = ?", requestData.DepartId, assessmentTime, userCont.Key)
} else if requestData.DepartId != 0 {
gormDb = gormDb.Group("`s_depart_id`,`s_file_time`,`s_comment_user`").Having("`s_depart_id` = ? AND `s_comment_user` = ?", requestData.DepartId, userCont.Key)
} else if requestData.Time != "" {
timeStr := requestData.Time + "-01 12:00:00"
assessmentTime, assessmentTimeErr := commonus.DateToTimeStampEs(timeStr)
if assessmentTimeErr != true {
response.Result(103, timeStr, "你提交的考核日期错误!", c)
return
}
gormDb = gormDb.Group("`s_depart_id`,`s_file_time`,`s_comment_user`").Having("`s_file_time` = ? AND `s_comment_user` = ?", assessmentTime, userCont.Key)
}
var total int64
totalErr := gormDb.Count(&total).Error
if totalErr != nil {
total = 0
}
var assessList []usEvaluateOutList
evaErr := gormDb.Limit(requestData.PageSize).Offset(offSetPage).Find(&assessList).Error
if evaErr != nil {
response.Result(104, evaErr, "数据获取失败!", c)
return
}
var usEvaluateOutMap []usEvaluateOut
for _, val := range assessList {
var usEvaluateOutInfo usEvaluateOut
usEvaluateOutInfo.FileTime = val.FileTime
usEvaluateOutInfo.DepartId = val.DepartId
usEvaluateOutInfo.CommentUser = val.CommentUser
usEvaluateOutInfo.Score = val.Score
timeStr := commonus.TimeStampToDate(val.FileTime, 10)
usEvaluateOutInfo.FileTimeStr = timeStr
isTrueBranFact, branFactCont := assessment.GetBranchFactory(val.DepartId)
if isTrueBranFact == true {
usEvaluateOutInfo.DepartTitle = branFactCont.Name
}
usEvaluateOutMap = append(usEvaluateOutMap, usEvaluateOutInfo)
}
countSum := len(usEvaluateOutMap)
printData := commonus.OutPutList(total, int64(countSum), requestData.Page, requestData.PageSize, usEvaluateOutMap)
response.Result(0, printData, "查询成功!", c)
}
//根据部门和时间获取考核详情
func (a *Assessment) GetDepartTimeAssess(c *gin.Context) {
var requestData departTimeAssess
err := c.ShouldBindJSON(&requestData)
if err != nil {
response.Result(101, err, "参数错误!请重新提交!", c)
return
}
if requestData.DepartId == 0 {
response.Result(102, err, "未知部门!", c)
return
}
if requestData.Time == "" {
response.Result(103, err, "未知时间!", c)
return
}
timeStr := requestData.Time + "-01 12:00:00"
assessmentTime, assessmentTimeErr := commonus.DateToTimeStampEs(timeStr)
if assessmentTimeErr != true {
response.Result(104, timeStr, "你提交的考核日期错误!", c)
return
}
// var departScorsList []assessmentmodel.Departscores
// scorErr := global.GVA_DB_Performanceappraisal.Where("`s_depart_id` = ? AND `s_file_time` = ? AND `s_state` = 1", requestData.DepartId, assessmentTime).Find(&departScorsList).Error
// if scorErr != nil {
// response.Result(104, scorErr, "未能获取到数据!", c)
// return
// }
// var departDataAssessList []departDataAssess
// for _, val := range departScorsList {
// var departDataAssessInfo departDataAssess
// departDataAssessInfo.Id = val.Id
// departDataAssessInfo.DutyId = val.DutyId //具体职责
// departDataAssessInfo.DeductPoints = val.DeductPoints //扣分
// departDataAssessInfo.ExtraPoints = val.ExtraPoints //加分
// departDataAssessInfo.Score = val.Score //实际得分
// departDataAssessInfo.FileTime = val.FileTime //计分月份
// departDataAssessInfo.DepartId = val.DepartId //部门ID
// departDataAssessInfo.CommentUser = val.CommentUser //评论人
// departDataAssessInfo.AddTime = val.AddTime //添加时间
// departDataAssessInfo.EiteTime = val.EiteTime //编辑时间
// departDataAssessInfo.State = val.State //状态
// timeStr := commonus.TimeStampToDate(val.FileTime, 10)
// departDataAssessInfo.FileTimeStr = timeStr
// isTrueBranFact, branFactCont := assessment.GetBranchFactory(val.DepartId)
// if isTrueBranFact == true {
// departDataAssessInfo.DepartTitle = branFactCont.Name
// }
// dutyCalssErr, dutyMap := GetDutyInfoCont(val.DutyId)
// if dutyCalssErr == true {
// departDataAssessInfo.ClassId = dutyMap.ClassId
// departDataAssessInfo.ClassTitle = dutyMap.ClassTitle
// departDataAssessInfo.AssessId = dutyMap.AssessId
// departDataAssessInfo.AssessTitle = dutyMap.AssessTitle
// departDataAssessInfo.DutyTitle = dutyMap.DutyTitle
// }
// departDataAssessList = append(departDataAssessList, departDataAssessInfo)
// }
// outPrint := commonus.MapOut()
// outPrint["list"] = departDataAssessList
// response.Result(0, outPrint, "获取成功!", c)
var departScorsList []assessmentmodel.Departscores
scorErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Departscores{}).Select("s_class").Where("`s_depart_id` = ? AND `s_file_time` = ? AND `s_state` = 1", requestData.DepartId, assessmentTime).Group("s_class").Find(&departScorsList).Error
if scorErr != nil {
response.Result(104, scorErr, "未能获取到数据!", c)
return
}
var departMonthList []departMonth
for _, val := range departScorsList {
var departMonthInfo departMonth
departMonthInfo.Id = val.ClassId
classErr, classInfo := assessment.GetDutyClassCont(val.ClassId)
if classErr == true {
departMonthInfo.Title = classInfo.Title
}
assErr, assList := GetAssList(val.ClassId, requestData.DepartId, assessmentTime)
if assErr == true {
departMonthInfo.Clide = assList
}
departMonthList = append(departMonthList, departMonthInfo)
}
outPrint := commonus.MapOut()
outPrint["list"] = departMonthList
response.Result(0, outPrint, "获取成功!", c)
}
//获取考核项目列表
func GetAssList(classId, depart, timeVal int64) (isTrue bool, departMonthAss []departMonthSun) {
isTrue = false
var departScorsList []assessmentmodel.Departscores
scorErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Departscores{}).Select("s_assess").Where("`s_depart_id` = ? AND `s_file_time` = ? AND `s_class` = ? AND `s_state` = 1", depart, timeVal, classId).Group("s_assess").Find(&departScorsList).Error
if scorErr != nil {
return
}
for _, val := range departScorsList {
var departMonthSunsInfo departMonthSun
departMonthSunsInfo.Id = val.AssessId
classErr, classInfo := assessment.GetAssessClass(val.AssessId)
if classErr == true {
departMonthSunsInfo.Title = classInfo.Title
}
isErr, userDuty := GetDetailedDuty(classId, val.AssessId, depart, timeVal)
if isErr == true {
departMonthSunsInfo.Clide = userDuty
}
departMonthAss = append(departMonthAss, departMonthSunsInfo)
}
isTrue = true
return
}
//获取具体考核项目
func GetDetailedDuty(classId, assId, depart, timeVal int64) (isTrue bool, departMonthUser []departMonthSun) {
isTrue = false
var departScorsList []commentUser
scorErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Departscores{}).Select("s_comment_user").Where("`s_depart_id` = ? AND `s_file_time` = ? AND `s_class` = ? AND `s_assess` = ? AND `s_state` = 1", depart, timeVal, classId, assId).Group("s_comment_user").Find(&departScorsList).Error
// fmt.Printf("----------->%v\n", departScorsList)
if scorErr != nil {
return
}
// var departMonthUser []departMonthSun
for _, val := range departScorsList {
var departMonthUserInfo departMonthSun
departMonthUserInfo.Id = val.UserKey
usCont, usErr := archiveapi.GetUserInfo([]string{"worker_man.wm_number", "worker_man_data.wmd_name", "worker_man.wm_bf_id", "worker_man.wm_ws_id", "worker_man.wm_pt_id", "worker_man.wm_group"}, map[string]interface{}{"wm_key": val.UserKey})
if usErr == true {
departMonthUserInfo.Title = usCont.Name
isTrueBranFact, branFactCont := assessment.GetBranchFactory(usCont.DepartmentId)
if isTrueBranFact == true {
departMonthUserInfo.DepartTitle = branFactCont.Name
}
}
dutyErr, dutyMap := GetDutyContAry(classId, assId, depart, val.UserKey, timeVal)
if dutyErr == true {
departMonthUserInfo.List = dutyMap
}
departMonthUser = append(departMonthUser, departMonthUserInfo)
}
isTrue = true
return
}
//获取考核具体职责项目
func GetDutyContAry(classId, assId, depart, userKey, timeVal int64) (isTrue bool, dutyList []departDutyList) {
// fmt.Printf("--->%v--->%v\n", classId, assId)
isTrue = false
var dutyListMAp []departDutyList
scorErr := global.GVA_DB_Performanceappraisal.Where("`s_depart_id` = ? AND `s_file_time` = ? AND `s_class` = ? AND `s_assess` = ? AND `s_comment_user` = ? AND `s_state` = 1", depart, timeVal, classId, assId, userKey).Find(&dutyListMAp).Error
if scorErr != nil {
return
}
// fmt.Printf("1--->%v--->%v\n", classId, assId)
for _, val := range dutyListMAp {
// fmt.Printf("2--->%v--->%v\n", classId, assId)
var dutyCont departDutyList
dutyCont.Id = val.Id
dutyCont.ClassId = val.ClassId
dutyCont.AssessId = val.AssessId
dutyCont.DutyId = val.DutyId
dutyCont.DeductPoints = val.DeductPoints
dutyCont.ExtraPoints = val.ExtraPoints
dutyCont.Score = val.Score
dutyCont.FileTime = val.FileTime
dutyCont.DepartId = val.DepartId
dutyCont.CommentUser = val.CommentUser
dutyCont.AddTime = val.AddTime
dutyCont.EiteTime = val.EiteTime
dutyCont.State = val.State
dtyContErr, dtyCont := GetDutyInfoCont(val.DutyId)
if dtyContErr == true {
dutyCont.DutyTitle = dtyCont.DutyTitle
}
dutyList = append(dutyList, dutyCont)
}
isTrue = true
return
}
//获取职责类别内容
func GetDutyInfoCont(id int64) (isTrue bool, outAssDutyInfo outAessDuty) {
isTrue = false
var ContInfo dutyAssClass
err := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DutyContent{}).Select("dc_title", "dc_parent", "ai_title", "ai_parent").Joins("left join assessmentitems on assessmentitems.ai_id = dutycontent.dc_parent").Where("dc_id = ?", id).First(&ContInfo).Error
if err != nil {
return
}
outAssDutyInfo.AssessId = ContInfo.PartId
outAssDutyInfo.AssessTitle = ContInfo.AssTitle
outAssDutyInfo.DutyTitle = ContInfo.Title
outAssDutyInfo.ClassId = ContInfo.AssPartId
classErr, classInfo := assessment.GetDutyClassCont(ContInfo.AssPartId)
if classErr == true {
outAssDutyInfo.ClassTitle = classInfo.Title
}
isTrue = true
return
} }

136
gin_server_admin/api/index/assessment/assesstype.go

@ -1,6 +1,9 @@
package assessment package assessment
import "github.com/flipped-aurora/gin-vue-admin/server/commonus" import (
"github.com/flipped-aurora/gin-vue-admin/server/commonus"
"github.com/flipped-aurora/gin-vue-admin/server/model/assessmentmodel"
)
//考核 //考核
type Assessment struct{} type Assessment struct{}
@ -10,3 +13,134 @@ type getAssEssList struct {
commonus.PageSetLimt commonus.PageSetLimt
BranchFactoryId int `json:"branchFactoryId"` BranchFactoryId int `json:"branchFactoryId"`
} }
//考核项目输出
type assessOut struct {
assessmentmodel.DutyContent
ClassId int64 `json:"classId"`
ClassTitle string `json:"classTitle"`
AssessId int64 `json:"assessId"`
AssessTitle string `json:"assessTitle"`
AssessDepart []assessDepart `json:"assessDepart"`
}
//要考核的部门评分
type assessDepart struct {
DepartDutyId int64 `json:"departDutyId"`
DepartId int64 `json:"departId"`
DepartTitle string `json:"departTitle"`
ClassId int64 `json:"classId"`
AssessId int64 `json:"assessId"`
DutyId int64 `json:"dutyId"`
Rescore int64 `json:"rescore"`
Group int64 `json:"group"`
}
//更具具体考核项目获取考核部门
type assessDepartRequest struct {
Id string `json:"id"`
}
//添加考核评分
type addAssEssScore struct {
ClassId string `json:"classID"` //考核分类
AssessId string `json:"assessId"` //考核项目
DutyId string `json:"dutyId"` //具体职责
DeductPoints int `json:"deductPoints"` //扣分
ExtraPoints int `json:"extraPoints"` //加分
Score int `json:"score"` //实际得分
FileTime string `json:"fileTime"` //计分月份
DepartId int64 `json:"departId"` //部门ID
Group int `json:"group"` //集团
CommentUser string `json:"commentUser"` //评论人
DommentDepart int64 `json:"commentDepart"` //评论人部门
CommentGroup int64 `json:"commentGroup"` //评论人集团
}
type addAssEssScores struct {
ClassId string `json:"classID"` //考核分类
AssessId string `json:"assessId"` //考核项目
DutyId string `json:"dutyId"` //具体职责
DeductPoints int64 `json:"deductPoints"` //扣分
ExtraPoints int64 `json:"extraPoints"` //加分
Score int64 `json:"score"` //实际得分
FileTime string `json:"fileTime"` //计分月份
DepartId int64 `json:"departId"` //部门ID
CommentUser string `json:"commentUser"` //评论人
}
//获取部门时间考核详情
type departTimeAssess struct {
DepartId int64 `json:"departId"`
Time string `json:"time"`
}
//查询个人评价列表
type usEvaluate struct {
commonus.PageSetLimt
departTimeAssess
}
type usEvaluateOutList struct {
FileTime int64 `json:"fileTime" gorm:"column:s_file_time;type:bigint(20) unsigned;default:0;not null;comment:计分月份"`
DepartId int64 `json:"departId" gorm:"column:s_depart_id;type:bigint(20) unsigned;default:0;not null;comment:部门ID"`
CommentUser int64 `json:"commentUser" gorm:"column:s_comment_user;type:bigint(20) unsigned;default:0;not null;comment:评论人"`
Score int `json:"sumscore" gorm:"column:sumscore;type:int(3) unsigned;default:0;not null;comment:实际得分"`
}
//个人评价列表输出
type usEvaluateOut struct {
usEvaluateOutList
FileTimeStr string `json:"timeStr"`
DepartTitle string `json:"departTitle"`
}
//部门月份考核详细输出
type departDataAssess struct {
assessmentmodel.Departscores
FileTimeStr string `json:"timeStr"`
DepartTitle string `json:"departTitle"`
outAessDuty
}
//输出考核关系架构
type outAessDuty struct {
ClassId int64 `json:"classId"`
ClassTitle string `json:"classTitle"`
AssessId int64 `json:"assessId"`
AssessTitle string `json:"assessTitle"`
DutyTitle string `json:"dutyTitle"`
}
//具体职责项与考核项目,类别
type dutyAssClass struct {
Title string `json:"title" gorm:"column:dc_title;type:text;comment:具体职责"`
PartId int64 `json:"partId" gorm:"column:dc_parent;type:bigint(20) unsigned;default:0;not null;comment:父级"`
AssTitle string `json:"Asstitle" gorm:"column:ai_title;type:varchar(255);comment:考核类别"`
AssPartId int64 `json:"AsspartId" gorm:"column:ai_parent;type:bigint(20) unsigned;default:0;not null;comment:父级"`
ClassTitle string `json:"Classtitle" gorm:"column:title;type:varchar(255);comment:职责类别名称"`
}
//部门月份具体考核详情
type departMonth struct {
Id int64 `json:"id"`
Title string `json:"title"`
Clide []departMonthSun `json:"Clide"`
}
type departMonthSun struct {
Id int64 `json:"id"`
Title string `json:"title"`
DepartTitle string `json:"departTitle"`
Clide []departMonthSun `json:"Clide"`
List []departDutyList `json:"list"`
}
type departDutyList struct {
assessmentmodel.Departscores
DutyTitle string `json:"dutyTitle"`
}
//归档审批人
type commentUser struct {
UserKey int64 `json:"userkey" gorm:"column:s_comment_user;type:bigint(20) unsigned;default:0;not null;comment:评论人"`
}

6
gin_server_admin/api/v1/archiveapi/graphicinformation.go

@ -483,7 +483,7 @@ func (g *GraphicInformation) GetArchiveFileAttributeList(c *gin.Context) {
var bookAttrContMap []archiveFileAttrOutPut var bookAttrContMap []archiveFileAttrOutPut
for _, bookAttrVal := range bookAttrbuteList { for _, bookAttrVal := range bookAttrbuteList {
var bookAttrCont archiveFileAttrOutPut var bookAttrCont archiveFileAttrOutPut
getMyInfo, myInfoIstrue := getUserInfo([]string{"worker_man.wm_number", "worker_man_data.wmd_name"}, map[string]interface{}{"wm_key": bookAttrVal.UserId}) getMyInfo, myInfoIstrue := GetUserInfo([]string{"worker_man.wm_number", "worker_man_data.wmd_name"}, map[string]interface{}{"wm_key": bookAttrVal.UserId})
bookAttrCont.Id = bookAttrVal.Id bookAttrCont.Id = bookAttrVal.Id
bookAttrCont.OutId = strconv.FormatInt(bookAttrVal.Id, 10) bookAttrCont.OutId = strconv.FormatInt(bookAttrVal.Id, 10)
bookAttrCont.FileId = bookAttrVal.FileId bookAttrCont.FileId = bookAttrVal.FileId
@ -507,7 +507,7 @@ func (g *GraphicInformation) GetArchiveFileAttributeList(c *gin.Context) {
} }
//获取人员信息 //获取人员信息
func getUserInfo(field []string, whereMap map[string]interface{}) (userCont testpage.PersonalDetails, isTrue bool) { func GetUserInfo(field []string, whereMap map[string]interface{}) (userCont testpage.PersonalDetails, isTrue bool) {
isTrue = false isTrue = false
var userInfo testpage.WorkMan var userInfo testpage.WorkMan
userErr := global.GVA_DB_Master.Model(&userInfo).Select(field).Joins("left join worker_man_data on worker_man_data.wmd_key = worker_man.wm_key").Where(whereMap).Find(&userCont).Error userErr := global.GVA_DB_Master.Model(&userInfo).Select(field).Joins("left join worker_man_data on worker_man_data.wmd_key = worker_man.wm_key").Where(whereMap).Find(&userCont).Error
@ -575,7 +575,7 @@ func (g *GraphicInformation) GetDiscussFileMsg(c *gin.Context) {
if errDisJson == nil { if errDisJson == nil {
bookAttrCont.UserJsonCont = discussJson bookAttrCont.UserJsonCont = discussJson
} }
getMyInfo, myInfoIstrue := getUserInfo([]string{"worker_man.wm_number", "worker_man_data.wmd_name"}, map[string]interface{}{"wm_key": bookAttrVal.UserId}) getMyInfo, myInfoIstrue := GetUserInfo([]string{"worker_man.wm_number", "worker_man_data.wmd_name"}, map[string]interface{}{"wm_key": bookAttrVal.UserId})
if myInfoIstrue == true { if myInfoIstrue == true {
bookAttrCont.Number = getMyInfo.Number bookAttrCont.Number = getMyInfo.Number
bookAttrCont.Name = getMyInfo.Name bookAttrCont.Name = getMyInfo.Name

11
gin_server_admin/api/v1/assessment/assesshandle.go

@ -266,3 +266,14 @@ func GetAssEssCont(id int64) (isTrue bool, ContInfo assessmentmodel.AssessMentit
} }
return return
} }
//获取职责项目及类别
func GetAssessClass(id int64) (istrue bool, sssessClass assessmentmodel.AssessClass) {
istrue = false
assessErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.AssessMentitems{}).Select("assessmentitems.*,dutyclass.*").Joins("left join dutyclass on dutyclass.id = assessmentitems.ai_parent").Where("`ai_id` = ?", id).First(&sssessClass).Error
if assessErr != nil {
return
}
istrue = true
return
}

2
gin_server_admin/api/v1/custom/customhandle.go

@ -66,7 +66,7 @@ func (cu *CustomHandle) CustomLogin(c *gin.Context) {
"usertoken": sha1Token, "usertoken": sha1Token,
} }
global.GVA_INDEX_USERKEY = user.Key // global.GVA_INDEX_USERKEY = user.Key
redisClient.HashMsetAdd("system:Identification_"+global.GVA_CONFIG.RedisPrefix.Alias+"_"+user.KeyStr, writeRedisData) redisClient.HashMsetAdd("system:Identification_"+global.GVA_CONFIG.RedisPrefix.Alias+"_"+user.KeyStr, writeRedisData)

6
gin_server_admin/api/v1/examtestpage/examtype.go

@ -0,0 +1,6 @@
package examtestpage
//获取集团架构参数
type getGroupType struct {
Parentid int64 `json:"parentid"`
}

18
gin_server_admin/api/v1/examtestpage/grouphandle.go

@ -53,9 +53,23 @@ type postGroupCanshu struct {
//集团列表 //集团列表
func (g *GroupHandleApi) GroupList(c *gin.Context) { func (g *GroupHandleApi) GroupList(c *gin.Context) {
var groupStruct []wechat.GroupForm //集团表结构 var groupStruct []wechat.GroupForm //集团表结构
gormDb := global.GVA_DB_WatchDate.Model(&groupStruct)
var requestData getGroupType
errRequest := c.ShouldBindJSON(&requestData)
if errRequest != nil {
gormDb = gormDb.Where("g_parentid = ?", 1)
}
if requestData.Parentid == 0 {
gormDb = gormDb.Where("g_parentid = ?", 1)
} else {
gormDb = gormDb.Where("g_id = ?", requestData.Parentid)
}
var groupMap []GroupMap //要获取的集团架构字段 var groupMap []GroupMap //要获取的集团架构字段
var groupMapStruct []TableData var groupMapStruct []TableData
err := global.GVA_DB_WatchDate.Model(&groupStruct).Where("g_parentid = ?", 1).Find(&groupMap).Error //获取集团信息 // err := global.GVA_DB_WatchDate.Model(&groupStruct).Where("g_parentid = ?", 1).Find(&groupMap).Error //获取集团信息
err := gormDb.Find(&groupMap).Error
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
response.Result(100, groupMapStruct, "集团架构获取失败!", c) response.Result(100, groupMapStruct, "集团架构获取失败!", c)
@ -66,7 +80,7 @@ func (g *GroupHandleApi) GroupList(c *gin.Context) {
// groupAry := map[int]interface{}{} // groupAry := map[int]interface{}{}
for i, v := range groupMap { for i, v := range groupMap {
fmt.Printf("%v\n", v.Id) // fmt.Printf("%v\n", v.Id)
err = global.GVA_DB_Master.Preload("WorkshopSectionStruct").Where("bf_group = ?", v.Id).Find(&departList).Error err = global.GVA_DB_Master.Preload("WorkshopSectionStruct").Where("bf_group = ?", v.Id).Find(&departList).Error
if err == nil { if err == nil {
var groupTypeStruct TableData var groupTypeStruct TableData

17
gin_server_admin/commonus/publichaneld.go

@ -13,6 +13,7 @@ import (
"github.com/flipped-aurora/gin-vue-admin/server/model/testpage" "github.com/flipped-aurora/gin-vue-admin/server/model/testpage"
"github.com/flipped-aurora/gin-vue-admin/server/model/wechat" "github.com/flipped-aurora/gin-vue-admin/server/model/wechat"
"github.com/flipped-aurora/gin-vue-admin/server/utils/redishandel" "github.com/flipped-aurora/gin-vue-admin/server/utils/redishandel"
"github.com/mitchellh/mapstructure"
"gorm.io/gorm" "gorm.io/gorm"
) )
@ -592,3 +593,19 @@ func GetWorkShopSection(id int64) (isTrue bool, workShopesStruct testpage.WorkSh
isTrue = true isTrue = true
return return
} }
//用户端身份解析
func ClientIdentity() (isTrue bool, redisUserInfo testpage.RedisUserInfo) {
keyStr := strconv.FormatInt(global.GVA_INDEX_USERKEY, 10)
redisClient := redishandel.RunRedis()
tokenInfo, isTrue := redisClient.HashGetAll("system:userContent_" + global.GVA_CONFIG.RedisPrefix.Alias + "_" + keyStr)
if isTrue != true {
return
}
identityErr := mapstructure.Decode(tokenInfo, &redisUserInfo)
if identityErr != nil {
isTrue = false
return
}
return
}

2
gin_server_admin/commonus/timeSub.go

@ -150,6 +150,8 @@ func TimeStampToDate(timeStamp int64, timeType int) (dateStr string) {
timeTemplate = "2006-01-02 15:04" timeTemplate = "2006-01-02 15:04"
case 9: case 9:
timeTemplate = "02" timeTemplate = "02"
case 10:
timeTemplate = "2006-01"
default: default:
timeTemplate = "2006-01-02 15:04:05" //常规类型 timeTemplate = "2006-01-02 15:04:05" //常规类型
} }

4
gin_server_admin/initialize/router.go

@ -88,7 +88,7 @@ func Routers() *gin.Engine {
dutyAssEss.InitAssessmentRouter(PublicGroup) //数据考核 dutyAssEss.InitAssessmentRouter(PublicGroup) //数据考核
// staffMan.InitStaffRouter(PublicGroup) //员工相关操作 staffMan.InitStaffRouter(PublicGroup) //员工相关操作
} }
PrivateGroup := Router.Group("") PrivateGroup := Router.Group("")
@ -123,7 +123,7 @@ func Routers() *gin.Engine {
MyCustomPrivateGroup := Router.Group("") MyCustomPrivateGroup := Router.Group("")
MyCustomPrivateGroup.Use(middleware.MyAuthentication()).Use(middleware.MyCasbinHandler()) MyCustomPrivateGroup.Use(middleware.MyAuthentication()).Use(middleware.MyCasbinHandler())
{ {
staffMan.InitStaffRouter(MyCustomPrivateGroup) //员工相关操作 // staffMan.InitStaffRouter(MyCustomPrivateGroup) //员工相关操作
dutyAssEss.InitDutyHandelRouter(MyCustomPrivateGroup) //前端数据考核 dutyAssEss.InitDutyHandelRouter(MyCustomPrivateGroup) //前端数据考核
} }

22
gin_server_admin/middleware/myjwt.go

@ -26,17 +26,25 @@ func MyAuthentication() gin.HandlerFunc {
return return
} }
userKeyInt, userKeyIntErr := strconv.ParseInt(userKey, 10, 64)
if userKeyIntErr != nil {
response.FailWithDetailed(gin.H{"reload": true, "code": 2}, "未登录或非法访问", c)
c.Abort()
return
}
global.GVA_INDEX_USERKEY = userKeyInt
redisClient := redishandel.RunRedis() redisClient := redishandel.RunRedis()
tokenInfo, isTrues := redisClient.HashGetAll("system:Identification_" + global.GVA_CONFIG.RedisPrefix.Alias + "_" + userKey) tokenInfo, isTrues := redisClient.HashGetAll("system:Identification_" + global.GVA_CONFIG.RedisPrefix.Alias + "_" + userKey)
var myCustomIdentify commonus.MyCustomLogonIdentify var myCustomIdentify commonus.MyCustomLogonIdentify
if isTrues != true { if isTrues != true {
response.FailWithDetailed(gin.H{"reload": true, "code": 2}, "您的帐户异地登陆或令牌失效", c) response.FailWithDetailed(gin.H{"reload": true, "code": 3}, "您的帐户异地登陆或令牌失效", c)
c.Abort() c.Abort()
return return
} else { } else {
tokenErr := mapstructure.Decode(tokenInfo, &myCustomIdentify) tokenErr := mapstructure.Decode(tokenInfo, &myCustomIdentify)
if tokenErr != nil { if tokenErr != nil {
response.FailWithDetailed(gin.H{"reload": true, "code": 2}, "您的帐户异地登陆或令牌失效", c) response.FailWithDetailed(gin.H{"reload": true, "code": 4}, "您的帐户异地登陆或令牌失效", c)
c.Abort() c.Abort()
return return
} }
@ -59,6 +67,7 @@ func MyAuthentication() gin.HandlerFunc {
"userpwd": myCustomIdentify.UserPwd, "userpwd": myCustomIdentify.UserPwd,
"usertoken": myCustomIdentify.UserToken, "usertoken": myCustomIdentify.UserToken,
} }
redisClient.HashMsetAdd("system:Identification_"+global.GVA_CONFIG.RedisPrefix.Alias+"_"+userKey, writeRedisData) redisClient.HashMsetAdd("system:Identification_"+global.GVA_CONFIG.RedisPrefix.Alias+"_"+userKey, writeRedisData)
c.Next() c.Next()
} }
@ -103,6 +112,15 @@ func SystemAuthentication() gin.HandlerFunc {
c.Abort() c.Abort()
return return
} }
userKeyInt, userKeyIntErr := strconv.ParseInt(userKey, 10, 64)
if userKeyIntErr != nil {
response.FailWithDetailed(gin.H{"reload": true, "code": 2}, "未登录或非法访问", c)
c.Abort()
return
}
global.GVA_ADMIN_USERKEY = userKeyInt
redisClient := redishandel.RunRedis() redisClient := redishandel.RunRedis()
tokenInfo, isTrues := redisClient.HashGetAll("system:SystemIdentification_" + global.GVA_CONFIG.RedisPrefix.Alias + "_" + userKey) tokenInfo, isTrues := redisClient.HashGetAll("system:SystemIdentification_" + global.GVA_CONFIG.RedisPrefix.Alias + "_" + userKey)
var myCustomIdentify commonus.MyCustomAdminLogonIdentify var myCustomIdentify commonus.MyCustomAdminLogonIdentify

55
gin_server_admin/model/assessmentmodel/dutyclass.go

@ -63,3 +63,58 @@ type AssessMentitems struct {
func (AssessMentitems *AssessMentitems) TableName() string { func (AssessMentitems *AssessMentitems) TableName() string {
return "assessmentitems" return "assessmentitems"
} }
//考核项目与类别
type AssessClass struct {
AssessMentitems
ClassTitle string `json:"classTitle" gorm:"column:title;type:varchar(255);comment:职责类别名称"`
ClassType int `json:"classType" gorm:"column:type;type:tinyint(1) unsigned;default:1;not null;comment:类型(1:职能部门;2:生产部门)"`
ClassWeight int `json:"classWeight" gorm:"column:weight;type:int(3) unsigned;default:0;not null;comment:权重比例"`
ClassTime int64 `json:"classTime" gorm:"column:time;type:bigint(20) unsigned;default:0;not null;comment:创建时间"`
ClassState int `json:"classState" gorm:"column:state;type:tinyint(1) unsigned;default:1;not null;comment:状态"`
}
//评分记录
type Departscore struct {
Id int64 `json:"id" gorm:"column:s_id;type:bigint(20) unsigned;not null;comment:Id"`
ClassId int64 `json:"classID" gorm:"column:s_class;type:bigint(20) unsigned;default:0;not null;comment:考核分类"`
AssessId int64 `json:"assessId" gorm:"column:s_assess;type:bigint(20) unsigned;default:0;not null;comment:考核项目"`
DutyId int64 `json:"dutyId" gorm:"column:s_duty;type:bigint(20) unsigned;default:0;not null;comment:具体职责"`
DeductPoints int `json:"deductPoints" gorm:"column:s_deduct_points;type:int(3) unsigned;default:0;not null;comment:扣分"`
ExtraPoints int `json:"extraPoints" gorm:"column:s_extra_points;type:int(3) unsigned;default:0;not null;comment:加分"`
Score int `json:"score" gorm:"column:s_score;type:int(3) unsigned;default:0;not null;comment:实际得分"`
FileTime int64 `json:"fileTime" gorm:"column:s_file_time;type:bigint(20) unsigned;default:0;not null;comment:计分月份"`
DepartId int64 `json:"departId" gorm:"column:s_depart_id;type:bigint(20) unsigned;default:0;not null;comment:部门ID"`
Group int `json:"group" gorm:"column:s_group;type:int(3) unsigned;default:0;not null;comment:集团"`
CommentUser int64 `json:"commentUser" gorm:"column:s_comment_user;type:bigint(20) unsigned;default:0;not null;comment:评论人"`
DommentDepart int64 `json:"commentDepart" gorm:"column:s_comment_depart;type:bigint(20) unsigned;default:0;not null;comment:评论人部门"`
CommentGroup int64 `json:"commentGroup" gorm:"column:s_comment_group;type:bigint(20) unsigned;default:0;not null;comment:评论人集团"`
AddTime int64 `json:"addTime" gorm:"column:s_add_time;type:bigint(20) unsigned;default:0;not null;comment:添加时间"`
EiteTime int64 `json:"eiteTime" gorm:"column:s_eite_time;type:bigint(20) unsigned;default:0;not null;comment:编辑时间"`
State int `json:"state" gorm:"column:s_state;type:tinyint(1) unsigned;default:1;not null;comment:状态"`
}
func (Departscore *Departscore) TableName() string {
return "departscore"
}
//评分记录附表
type Departscores struct {
Id int64 `json:"id" gorm:"column:s_id;type:bigint(20) unsigned;not null;comment:Id"`
ClassId int64 `json:"classID" gorm:"column:s_class;type:bigint(20) unsigned;default:0;not null;comment:考核分类"`
AssessId int64 `json:"assessId" gorm:"column:s_assess;type:bigint(20) unsigned;default:0;not null;comment:考核项目"`
DutyId int64 `json:"dutyId" gorm:"column:s_duty;type:bigint(20) unsigned;default:0;not null;comment:具体职责"`
DeductPoints int64 `json:"deductPoints" gorm:"column:s_deduct_points;type:int(3) unsigned;default:0;not null;comment:扣分"`
ExtraPoints int64 `json:"extraPoints" gorm:"column:s_extra_points;type:int(3) unsigned;default:0;not null;comment:加分"`
Score int64 `json:"score" gorm:"column:s_score;type:int(3) unsigned;default:0;not null;comment:实际得分"`
FileTime int64 `json:"fileTime" gorm:"column:s_file_time;type:bigint(20) unsigned;default:0;not null;comment:计分月份"`
DepartId int64 `json:"departId" gorm:"column:s_depart_id;type:bigint(20) unsigned;default:0;not null;comment:部门ID"`
CommentUser int64 `json:"commentUser" gorm:"column:s_comment_user;type:bigint(20) unsigned;default:0;not null;comment:评论人"`
AddTime int64 `json:"addTime" gorm:"column:s_add_time;type:bigint(20) unsigned;default:0;not null;comment:添加时间"`
EiteTime int64 `json:"eiteTime" gorm:"column:s_eite_time;type:bigint(20) unsigned;default:0;not null;comment:编辑时间"`
State int `json:"state" gorm:"column:s_state;type:tinyint(1) unsigned;default:1;not null;comment:状态"`
}
func (Departscores *Departscores) TableName() string {
return "departscores"
}

5
gin_server_admin/router/assessment/assessmentrouter.go

@ -52,5 +52,10 @@ func (s *AssessmentRouter) InitDutyHandelRouter(Router *gin.RouterGroup) {
dutyIndexCodeRouter.POST("", authorityIndexApi.Index) // 入口 dutyIndexCodeRouter.POST("", authorityIndexApi.Index) // 入口
dutyIndexCodeRouter.GET("/", authorityIndexApi.Index) // 入口 dutyIndexCodeRouter.GET("/", authorityIndexApi.Index) // 入口
dutyIndexCodeRouter.GET("", authorityIndexApi.Index) // 入口 dutyIndexCodeRouter.GET("", authorityIndexApi.Index) // 入口
dutyIndexCodeRouter.POST("myassessmentlist", authorityIndexApi.MyAssEssMentList) // 我需要填写的考核项目
dutyIndexCodeRouter.POST("getDutydepartlist", authorityIndexApi.GetDutyDepartList) // 根据具体考核项目获取被考核部门
dutyIndexCodeRouter.POST("addassessmentscore", authorityIndexApi.AddAssessmentScore) //添加考核项目
dutyIndexCodeRouter.POST("myevaluatelist", authorityIndexApi.MyEvaluateList) //个人考核评价记录
dutyIndexCodeRouter.POST("getdeparttimeassess", authorityIndexApi.GetDepartTimeAssess) //根据部门和时间获取考核详情
} }
} }

2
gin_server_admin/router/examtestpage/grouphandle.go

@ -12,7 +12,7 @@ func (g *GroupHandleRouter) InitGroupRouter(Router *gin.RouterGroup) {
groupCodeRouter := Router.Group("group") groupCodeRouter := Router.Group("group")
var authorityApi = v1.ApiGroupApp.GroupHandleApiGroup.GroupHandleApi var authorityApi = v1.ApiGroupApp.GroupHandleApiGroup.GroupHandleApi
{ {
groupCodeRouter.GET("/grouplist", authorityApi.GroupList) // 获取集团架构列表 groupCodeRouter.POST("/grouplist", authorityApi.GroupList) // 获取集团架构列表
groupCodeRouter.POST("/getgroupinfo", authorityApi.GetGroupInfo) // 获取集团详细信息 groupCodeRouter.POST("/getgroupinfo", authorityApi.GetGroupInfo) // 获取集团详细信息
groupCodeRouter.POST("/getsubsidiaryinfo", authorityApi.GetSubsidiaryInfo) // 获取子公司详细信息 groupCodeRouter.POST("/getsubsidiaryinfo", authorityApi.GetSubsidiaryInfo) // 获取子公司详细信息
groupCodeRouter.POST("/getgrouppositioninfo", authorityApi.GetGroupPositionInfo) // 获取工段详细信息 groupCodeRouter.POST("/getgrouppositioninfo", authorityApi.GetGroupPositionInfo) // 获取工段详细信息

Loading…
Cancel
Save