Browse Source

后端考核接口完毕

qin_1
超级管理员 4 years ago
parent
commit
aeacb88c1d
  1. 394
      gin_server_admin/api/admin/dutyassess/assess.go
  2. 75
      gin_server_admin/api/admin/dutyassess/assesstype.go
  3. 5
      gin_server_admin/api/admin/dutyassess/enter.go
  4. 9
      gin_server_admin/api/admin/enter.go
  5. 10
      gin_server_admin/api/v1/assessment/assesshandle.go
  6. 77
      gin_server_admin/api/v1/assessment/dutylist.go
  7. 42
      gin_server_admin/api/v1/assessment/dutytype.go
  8. 146
      gin_server_admin/api/v1/assessment/specificduty.go
  9. 16
      gin_server_admin/api/v1/examtestpage/examtype.go
  10. 140
      gin_server_admin/api/v1/examtestpage/grouphandle.go
  11. 11
      gin_server_admin/api/v1/examtestpage/healthreportstat.go
  12. 8
      gin_server_admin/api/v1/examtestpage/healthreportstathand.go
  13. 11
      gin_server_admin/api/v1/staff/stafftype.go
  14. 17
      gin_server_admin/commonus/publichaneld.go
  15. 1
      gin_server_admin/config.yaml
  16. 8
      gin_server_admin/initialize/router.go
  17. 18
      gin_server_admin/model/systemuser/systemuser.go
  18. 3
      gin_server_admin/router/assessment/assessmentrouter.go
  19. 2
      gin_server_admin/router/enter.go
  20. 4
      gin_server_admin/router/examtestpage/grouphandle.go
  21. 1
      gin_server_admin/router/staffrouter/people.go
  22. 23
      gin_server_admin/router/systemadmin/dutyassess.go
  23. 5
      gin_server_admin/router/systemadmin/enter.go
  24. 287
      gin_server_admin/其他支持文件/config.yaml

394
gin_server_admin/api/admin/dutyassess/assess.go

@ -0,0 +1,394 @@
package dutyassess
import (
"strconv"
"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/api/v1/examtestpage"
"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/gin-gonic/gin"
)
//入口
func (d *DutyAssessApi) Index(c *gin.Context) {
outPut := commonus.MapOut()
response.Result(0, outPut, "管理端获取成功", c)
}
//获取部门被考核时间表
func (d *DutyAssessApi) GetDepartEvaluate(c *gin.Context) {
isTrue, userCont := commonus.AdminClientIdentity()
if isTrue != true {
response.Result(101, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c)
return
}
var requestData getDepartAssObtain
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
}
var timeUnix int64
if requestData.Time != "" {
timeStr := requestData.Time + "-01 12:00:00"
assessmentTime, assessmentTimeErr := commonus.DateToTimeStampEs(timeStr)
if assessmentTimeErr == true {
timeUnix = assessmentTime
}
} else {
timeUnix = 0
}
offSetPage := commonus.CalculatePages(requestData.Page, requestData.PageSize)
//获取管理信息
attriButeId, attriButeErr := strconv.ParseInt(userCont.AttriBute, 10, 64) //转换管理员属性部门
var departScorsList []assessmentmodel.Departscores
gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Departscores{}).Select("s_file_time", "s_depart_id").Where("`s_state` = 1")
if requestData.DepartID != "" {
if timeUnix != 0 {
gormDb = gormDb.Group("s_file_time,s_depart_id").Having("`s_file_time` = ? AND `s_depart_id` = ?", timeUnix, requestData.DepartID)
} else {
gormDb = gormDb.Group("s_file_time,s_depart_id").Having("`s_depart_id` = ?", requestData.DepartID)
}
} else {
if attriButeErr == nil {
if attriButeId != 0 {
if timeUnix != 0 {
gormDb = gormDb.Group("s_file_time,s_depart_id").Having("`s_file_time` = ? AND `s_depart_id` = ?", timeUnix, attriButeId)
} else {
gormDb = gormDb.Group("s_file_time,s_depart_id").Having("`s_depart_id` = ?", attriButeId)
}
} else {
groupId, groupIdErr := strconv.ParseInt(userCont.Group, 10, 64)
if groupIdErr == nil {
if groupId != 1 {
deparIsTrue, departMap := getGroupDepartIdMap(groupId)
if deparIsTrue == true {
if len(departMap.Id) > 0 {
gormDb = gormDb.Group("s_file_time,s_depart_id").Having("`s_file_time` = ? AND `s_depart_id` IN ?", timeUnix, departMap.Id)
} else {
gormDb = gormDb.Group("s_file_time,s_depart_id").Having("`s_depart_id` = ?", attriButeId)
}
} else {
if timeUnix != 0 {
gormDb = gormDb.Group("s_file_time,s_depart_id").Having("`s_file_time` = ?", timeUnix)
} else {
gormDb = gormDb.Group("s_file_time,s_depart_id")
}
}
} else {
if timeUnix != 0 {
gormDb = gormDb.Group("s_file_time,s_depart_id").Having("`s_file_time` = ?", timeUnix)
} else {
gormDb = gormDb.Group("s_file_time,s_depart_id")
}
}
} else {
if timeUnix != 0 {
gormDb = gormDb.Group("s_file_time,s_depart_id").Having("`s_file_time` = ?", timeUnix)
} else {
gormDb = gormDb.Group("s_file_time,s_depart_id")
}
}
}
} else {
if timeUnix != 0 {
gormDb = gormDb.Group("s_file_time,s_depart_id").Having("`s_file_time` = ?", timeUnix)
} else {
gormDb = gormDb.Group("s_file_time,s_depart_id")
}
}
}
/*
获取总共有多少记录
*/
var total int64
totalErr := gormDb.Count(&total).Error
if totalErr != nil {
total = 0
}
//获取记录数据
evaErr := gormDb.Limit(requestData.PageSize).Offset(offSetPage).Find(&departScorsList).Error
if evaErr != nil {
response.Result(104, evaErr, "数据获取失败!", c)
return
}
var departMonthAry []departMonthMap
for _, val := range departScorsList {
var departMonthCont departMonthMap
departMonthCont.DepartId = val.DepartId
// departMonthCont.DepartId = val.DepartId
bfIsTrue, bfInfo := assessment.GetBranchFactory(val.DepartId)
if bfIsTrue == true {
departMonthCont.DepartTitle = bfInfo.Name
}
departMonthCont.TimeStr = strconv.FormatInt(val.FileTime, 10)
departMonthCont.DateStr = commonus.TimeStampToDate(val.FileTime, 10)
departMonthAry = append(departMonthAry, departMonthCont)
}
countSum := len(departMonthAry)
printData := commonus.OutPutList(total, int64(countSum), requestData.Page, requestData.PageSize, departMonthAry)
response.Result(0, printData, "查询成功!", c)
}
//获取部门考核列表
func (d *DutyAssessApi) GetDepartmentAssessList(c *gin.Context) {
var requestData getDepartAssObtains
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
// }
if requestData.Time == "" {
response.Result(103, err, "未知时间!", c)
return
}
if requestData.DepartID == "" {
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
}
isTrue, _ := commonus.AdminClientIdentity()
// isTrue, userCont := commonus.AdminClientIdentity()
if isTrue != true {
response.Result(101, err, "您的身份令牌已经失效!请重新登录获取身份令牌!", c)
return
}
// var departScorsList []assessmentmodel.Departscores
// gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Departscores{}).Select("s_class").Where("`s_file_time` = ? AND `s_state` = 1", assessmentTime)
// attriButeId, attriButeErr := strconv.ParseInt(userCont.AttriBute, 10, 64) //转换管理员属性部门
// if attriButeErr == nil {
// if attriButeId != 0 {
// gormDb = gormDb.Where("`s_depart_id` = ?", attriButeId)
// } else {
// groupId, groupIdErr := strconv.ParseInt(userCont.Group, 10, 64)
// if groupIdErr == nil {
// if groupId != 1 {
// deparIsTrue, departMap := getGroupDepartIdMap(groupId)
// if deparIsTrue == true {
// if len(departMap.Id) > 0 {
// gormDb = gormDb.Where("`s_depart_id` IN ?", departMap.Id)
// }
// }
// }
// }
// }
// }
// scorErr := gormDb.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, val.DepartId, assessmentTime)
// if assErr == true {
// departMonthInfo.Clide = assList
// }
// fmt.Printf("-------->%v----->%v\n", assErr, assList)
// departMonthList = append(departMonthList, departMonthInfo)
// }
// outPrint := commonus.MapOut()
// outPrint["list"] = departMonthList
// 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
}
departIdInt, _ := strconv.ParseInt(requestData.DepartID, 10, 64) //部门ID转换成int64
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, departIdInt, assessmentTime)
if assErr == true {
departMonthInfo.Clide = assList
}
departMonthList = append(departMonthList, departMonthInfo)
}
outPrint := commonus.MapOut()
outPrint["list"] = departMonthList
response.Result(0, outPrint, "获取成功!", c)
}
//获取集团下属分厂
func getGroupDepartIdMap(groupId int64) (isTrue bool, departId getGroupDepart) {
isTrue = false
err, departCont := examtestpage.GetBranchFactoryMap(groupId)
if err != true {
return
}
var idAry []int64
for _, val := range departCont {
idAry = append(idAry, val.Id)
}
departId.Id = idAry
return
}
//获取考核项目列表
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
}

75
gin_server_admin/api/admin/dutyassess/assesstype.go

@ -0,0 +1,75 @@
package dutyassess
import (
"github.com/flipped-aurora/gin-vue-admin/server/commonus"
"github.com/flipped-aurora/gin-vue-admin/server/model/assessmentmodel"
)
type DutyAssessApi struct{}
//获取部门考核列表
type getDepartAssObtain struct {
commonus.PageSetLimt
DepartID string `json:"depart"` //部门Id
Time string `json:"time"` //查询日期
}
type getDepartAssObtains struct {
// commonus.PageSetLimt
DepartID string `json:"depart"` //部门Id
Time string `json:"time"` //查询日期
}
//获取集团分厂
type getGroupDepart struct {
Id []int64
}
//部门月份具体考核详情
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:评论人"`
}
//输出考核关系架构
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 departMonthMap struct {
DepartId int64 `json:"departId"` //部门ID
DepartTitle string `json:"departTitle"` //部门名称
TimeStr string `json:"timestr"` //时间字符串
DateStr string `json:"datestr"` //日期字符串
}

5
gin_server_admin/api/admin/dutyassess/enter.go

@ -0,0 +1,5 @@
package dutyassess
type ApiGroup struct {
DutyAssEss DutyAssessApi
}

9
gin_server_admin/api/admin/enter.go

@ -0,0 +1,9 @@
package admin
import "github.com/flipped-aurora/gin-vue-admin/server/api/admin/dutyassess"
type ApiGroup struct {
DutyAssess dutyassess.ApiGroup
}
var ApiGroupApp = new(ApiGroup)

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

@ -29,8 +29,12 @@ func (d *DutyHandle) AssEssList(c *gin.Context) {
offSetPage := commonus.CalculatePages(requestData.Page, requestData.PageSize)
// var assessList assessmentmodel.AssessMentitems
gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.AssessMentitems{})
if requestData.ParentId != 0 {
gormDb = gormDb.Where("`ai_parent` = ?", requestData.ParentId)
if requestData.ParentId != "" {
parenId, parenIdErr := strconv.ParseInt(requestData.ParentId, 10, 64)
if parenIdErr == nil {
gormDb = gormDb.Where("`ai_parent` = ?", parenId)
}
}
if requestData.Title != "" {
gormDb = gormDb.Where("ai_title LIKE ?", "%"+requestData.Title+"%")
@ -46,6 +50,8 @@ func (d *DutyHandle) AssEssList(c *gin.Context) {
if totalErr != nil {
total = 0
}
// response.Result(0, requestData, "查询成功!", c)
var assessList []assessmentmodel.AssessMentitems
assessListerr := gormDb.Limit(requestData.PageSize).Offset(offSetPage).Find(&assessList).Error
if assessListerr != nil {

77
gin_server_admin/api/v1/assessment/dutylist.go

@ -4,6 +4,7 @@ import (
"strconv"
"time"
"github.com/flipped-aurora/gin-vue-admin/server/api/v1/archiveapi"
"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"
@ -27,8 +28,11 @@ func (d *DutyHandle) DutyList(c *gin.Context) {
}
offSetPage := commonus.CalculatePages(requestData.Page, requestData.PageSize)
gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DutyContent{})
if requestData.ParentId != 0 {
gormDb = gormDb.Where("`dc_parent` = ?", requestData.ParentId)
if requestData.ParentId != "" {
parenId, parenIdErr := strconv.ParseInt(requestData.ParentId, 10, 64)
if parenIdErr == nil {
gormDb = gormDb.Where("`dc_parent` = ?", parenId)
}
}
if requestData.Title != "" {
gormDb = gormDb.Where("dc_title LIKE ?", "%"+requestData.Title+"%")
@ -95,6 +99,26 @@ func (d *DutyHandle) DutyList(c *gin.Context) {
if isTrue == true {
outDutyInfo.ParentTitle = parentCont.Title
}
outDutyInfo.DumpTitle = ""
if val.UserDump != 0 {
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.UserDump})
if usErr == true {
outDutyInfo.UserName = usCont.Name
isTrueBranFact, branFactCont := GetBranchFactory(usCont.DepartmentId)
if isTrueBranFact == true {
outDutyInfo.DumpTitle = branFactCont.Name
}
}
}
if val.Dump != 0 {
isTruew, bfCont := GetBranchFactory(val.Dump)
if isTruew == true {
outDutyInfo.DumpTitle = bfCont.Name
}
}
outDutyMap = append(outDutyMap, outDutyInfo)
}
@ -177,16 +201,39 @@ func (d *DutyHandle) GetDutyInfo(c *gin.Context) {
}
var dutyOutInfo dutyOutput
inFoErr := global.GVA_DB_Performanceappraisal.Where("`dc_id` = ?", requestData.Id).First(&dutyOutInfo).Error
if inFoErr != nil {
response.Result(103, inFoErr, "数据查询失败!", c)
return
}
dutyOutInfo.OutId = strconv.FormatInt(dutyOutInfo.Id, 10)
dutyOutInfo.ParentIdStr = strconv.FormatInt(dutyOutInfo.PartId, 10)
isTrue, parentCont := GetAssEssCont(dutyOutInfo.PartId)
if isTrue == true {
dutyOutInfo.ParentTitle = parentCont.Title
}
if inFoErr != nil {
response.Result(103, inFoErr, "数据查询失败!", c)
return
if dutyOutInfo.Dump != 0 {
isTruew, bfCont := GetBranchFactory(dutyOutInfo.Dump)
if isTruew == true {
dutyOutInfo.DumpTitle = bfCont.Name
}
}
if dutyOutInfo.UserDump != 0 {
dutyOutInfo.UserDumpId = strconv.FormatInt(dutyOutInfo.UserDump, 10)
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": dutyOutInfo.UserDump})
if usErr == true {
dutyOutInfo.UserName = usCont.Name
isTrueBranFact, branFactCont := GetBranchFactory(usCont.DepartmentId)
if isTrueBranFact == true {
dutyOutInfo.DumpTitle = branFactCont.Name
}
}
}
response.Result(0, dutyOutInfo, "数据查询成功!", c)
}
@ -317,3 +364,23 @@ func GetDutyInfoCont(id int64) (isTrue bool, ContInfo assessmentmodel.DutyConten
}
return
}
//获取职责类别内容
func GetDutyInfoContAll(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 := GetDutyClassCont(ContInfo.AssPartId)
if classErr == true {
outAssDutyInfo.ClassTitle = classInfo.Title
}
isTrue = true
return
}

42
gin_server_admin/api/v1/assessment/dutytype.go

@ -48,7 +48,7 @@ type dutyClassState struct {
//考核项目查询参数
type assessRequest struct {
commonus.PageSetLimt
ParentId int64 `json:"parentId"` //父级
ParentId string `json:"parentId"` //父级
Title string `json:"title"`
State int `json:"state"`
}
@ -79,7 +79,7 @@ type eiteAssEssCont struct {
//具体职责查询
type dutyRequest struct {
commonus.PageSetLimt
ParentId int64 `json:"parentId"` //父级
ParentId string `json:"parentId"` //父级
Title string `json:"title"`
State int `json:"state"`
AssEssType int `json:"assesstype"`
@ -91,8 +91,11 @@ type dutyOutput struct {
assessmentmodel.DutyContent
OutIdStruct
ParentIdStr string `json:"parentIdStr"` //部门ID
ParentTitle string `json:"parentTitle"`
ParentIdStr string `json:"parentIdStr"` //父级ID字符型
ParentTitle string `json:"parentTitle"` //父级名称
UserName string `json:"username"` //执行人姓名
DumpTitle string `json:"dumpTitle"` //执行人部门
UserDumpId string `json:"userDumpId"` //执行人ID
}
//添加具体职责
@ -147,6 +150,12 @@ type addSpecificDutyCont struct {
Group int64 `json:"group"`
}
type addDepartDutyCont struct {
ParentId string `json:"parentId"` //部门ID
DutyId string `json:"dutyId"` //具体职责
Score int64 `json:"score"` //分数
}
//编辑部门具体职责
type eiteSpecificDutyCont struct {
commonus.SetId
@ -157,3 +166,28 @@ type eiteSpecificDutyCont struct {
Score int64 `json:"score"` //分数
Group int64 `json:"group"`
}
type eiteDepartDutyCont struct {
commonus.SetId
ParentId string `json:"parentId"` //部门ID
DutyId string `json:"dutyId"` //具体职责
Score int64 `json:"score"` //分数
}
//输出考核关系架构
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:职责类别名称"`
}

146
gin_server_admin/api/v1/assessment/specificduty.go

@ -29,7 +29,7 @@ func (d *DutyHandle) SpecificDutyList(c *gin.Context) {
}
offSetPage := commonus.CalculatePages(requestData.Page, requestData.PageSize)
gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DepartDuty{})
gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DepartDuty{}).Where("`de_satte` IN ?", []int{1, 2})
if requestData.DepartmentId != "" {
departId, departErr := strconv.ParseInt(requestData.DepartmentId, 10, 64)
if departErr == nil {
@ -172,6 +172,150 @@ func (d *DutyHandle) AddSpecificDutyInfo(c *gin.Context) {
}
}
//添加部门具体职责
func (d *DutyHandle) AddDepartDutyInfo(c *gin.Context) {
var requestData addDepartDutyCont
err := c.ShouldBindJSON(&requestData)
if err != nil {
response.Result(101, err, "参数错误!请重新提交!", c)
return
}
var parentId, dutyId int64
if requestData.ParentId == "" {
response.Result(102, err, "请指定归属于被考核部门", c)
return
} else {
parentIds, parentIdErr := strconv.ParseInt(requestData.ParentId, 10, 64)
if parentIdErr != nil {
response.Result(103, err, "请指定归属于被考核部门", c)
return
}
parentId = parentIds
}
if requestData.DutyId == "" {
response.Result(105, err, "请指定考核具体职责", c)
return
} else {
dutyIds, dutyIdErr := strconv.ParseInt(requestData.DutyId, 10, 64)
if dutyIdErr != nil {
response.Result(103, err, "请指定考核具体职责", c)
return
}
dutyId = dutyIds
}
assIsTrue, assInfo := GetDutyInfoContAll(dutyId)
if assIsTrue != true {
response.Result(104, dutyId, "请指定考核项目已禁止使用!", c)
return
}
if requestData.Score < 1 {
response.Result(105, err, "请指定该具体职责参考分值", c)
return
}
var ScoreAll int64
var specDutyInfo assessmentmodel.DepartDuty
scoreErr := global.GVA_DB_Performanceappraisal.Model(&specDutyInfo).Where("`de_partid` = ?", parentId).Pluck("COALESCE(SUM(de_rescore), 0) as rescore", &ScoreAll).Error
if scoreErr != nil {
ScoreAll = 0
}
if ScoreAll+requestData.Score > 100 {
response.Result(106, err, "该部门的总分值超过100。请重新写入该考核项目参考分值!", c)
return
}
//获取部门详细信息
bfIsTrue, bfInfo := GetBranchFactory(parentId)
if bfIsTrue != true {
response.Result(107, err, "该部门不存在,请检查您的提交!", c)
return
}
specDutyInfo.Id = commonus.GetFileNumberEs()
specDutyInfo.Title = ""
specDutyInfo.State = 1
specDutyInfo.Time = time.Now().Unix()
specDutyInfo.PartId = parentId
specDutyInfo.ClassId = assInfo.ClassId
specDutyInfo.AssessId = assInfo.AssessId
specDutyInfo.DutyId = dutyId
specDutyInfo.Rescore = requestData.Score
specDutyInfo.Group = bfInfo.Group
dutyInfoErr := global.GVA_DB_Performanceappraisal.Create(&specDutyInfo).Error
if dutyInfoErr != nil {
response.Result(108, specDutyInfo, "数据写入失败!", c)
} else {
response.Result(0, specDutyInfo, "数据写入成功!", c)
}
}
//编辑具体内容
func (d *DutyHandle) EiteDepartDutyInfo(c *gin.Context) {
var requestData eiteDepartDutyCont
err := c.ShouldBindJSON(&requestData)
if err != nil {
response.Result(101, err, "参数错误!请重新提交!", c)
return
}
if requestData.Id == 0 && requestData.OutId == "" {
response.Result(102, err, "参数错误!请重新提交!", c)
return
}
if requestData.OutId != "" {
idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64)
if inIntErr == nil {
requestData.Id = idInt
}
}
saveData := commonus.MapOut()
var parentId, dutyId int64
if requestData.ParentId != "" {
parentId, _ = strconv.ParseInt(requestData.ParentId, 10, 64)
saveData["de_partid"] = parentId
bfIsTrue, bfInfo := GetBranchFactory(parentId)
if bfIsTrue == true {
saveData["de_group"] = bfInfo.Group
}
}
if requestData.DutyId != "" {
dutyId, _ = strconv.ParseInt(requestData.DutyId, 10, 64)
saveData["de_duty"] = dutyId
assIsTrue, assInfo := GetAssEssCont(dutyId)
if assIsTrue == true {
saveData["de_class"] = assInfo.PartId
saveData["de_assess"] = assInfo.Id
}
}
if requestData.Score > 0 {
var ScoreAll int64
var specDutyInfo assessmentmodel.DepartDuty
scoreErr := global.GVA_DB_Performanceappraisal.Model(&specDutyInfo).Where("`de_partid` = ?", parentId).Pluck("COALESCE(SUM(de_rescore), 0) as rescore", &ScoreAll).Error
if scoreErr != nil {
ScoreAll = 0
}
if ScoreAll+requestData.Score > 100 {
response.Result(107, err, "该部门的总分值超过100。请重新写入该考核项目参考分值!", c)
return
}
saveData["de_rescore"] = requestData.Score
}
saveData["de_time"] = time.Now().Unix()
isTrue, isErr := eiteSpecificDutyInfoCont(requestData.Id, saveData)
if isTrue != true {
response.Result(104, isErr, "修改失败!", c)
return
}
response.Result(0, saveData, "修改成功!", c)
}
//获取部门具体考核项目
func (d *DutyHandle) GetSpecDutyCont(c *gin.Context) {
var requestData commonus.SetId

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

@ -4,3 +4,19 @@ package examtestpage
type getGroupType struct {
Parentid int64 `json:"parentid"`
}
//获取集团及分厂架构
type getGroupDepart struct {
Id int64 `json:"id"`
}
//组织架构员工对照表
type groupRequest struct {
GroupId int64 `json:"groupId"`
}
type groupUser struct {
Id string `json:"id"`
Name string `json:"name"`
Number string `json:"number"`
Children []groupUser `json:"groupUser"`
}

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

@ -857,3 +857,143 @@ func (g *GroupHandleApi) RefreshDataBaseUser(c *gin.Context) {
}
}
//获取集团和分厂架构
func (g *GroupHandleApi) GetGroupDepartMap(c *gin.Context) {
var requestData getGroupDepart
err := c.ShouldBindJSON(&requestData)
if err != nil {
}
gormDb := global.GVA_DB_WatchDate.Model(&wechat.GroupForm{}).Where("`g_parentid` = 1 AND `g_sate` = 1")
if requestData.Id != 0 {
gormDb = gormDb.Where("`g_id` = ?", requestData.Id)
}
var groupMap []GroupMap
groupErr := gormDb.Order("g_id ASC").Find(&groupMap).Error
if groupErr != nil {
response.Result(103, groupErr, "数据获取失败!", c)
return
}
var departList []testpage.BranchFactoryHasMany
// err = global.GVA_DB_Master.Preload("WorkshopSectionStruct").Where("bf_group = ?", 3).Find(&departList)
// groupAry := map[int]interface{}{}
var groupMapStruct []TableData
for i, v := range groupMap {
// fmt.Printf("%v\n", v.Id)
err = global.GVA_DB_Master.Preload("WorkshopSectionStruct").Where("bf_group = ?", v.Id).Find(&departList).Error
if err == nil {
var groupTypeStruct TableData
groupTypeStruct.ID = v.Id
groupTypeStruct.Name = v.Name
groupTypeStruct.Address = true
groupTypeStruct.WxId = strconv.FormatInt(v.Id, 10)
groupTypeStruct.JdId = v.JinDieId
groupTypeStruct.Attributes = 1
groupTypeStruct.Sort = i + 1
groupTypeStruct.QueryId = 1
groupTypeStruct.Date = commonus.TimeStampToDate(v.Time, 6)
bfErr, bfInfo := GetBranchFactoryMap(v.Id)
if bfErr == true {
groupTypeStruct.Children = bfInfo
}
groupTypeStruct.SingId = i + 1 + 3
// groupAry[i] = openGroupMap(departList)
groupMapStruct = append(groupMapStruct, groupTypeStruct)
}
}
sendMap := commonus.MapOut()
sendMap["list"] = groupMapStruct
// fmt.Printf("%v\n", groupMap)
// response.Ok(c)
response.Result(0, sendMap, "获取成功", c)
}
//获得分厂名称
func GetBranchFactoryMap(id int64) (isTrue bool, ContInfo []testpage.BranchFactory) {
isTrue = false
err := global.GVA_DB_Master.Where("bf_group = ?", id).Find(&ContInfo).Error
if err == nil {
isTrue = true
}
return
}
//获取集团架构人员信息对照表
func (g *GroupHandleApi) GetGroupUser(c *gin.Context) {
var requestData groupRequest
err := c.ShouldBindJSON(&requestData)
if err != nil {
}
gormDb := global.GVA_DB_WatchDate.Model(&wechat.GroupForm{}).Where("`g_parentid` = 1 AND `g_sate` = 1")
if requestData.GroupId != 0 {
gormDb = gormDb.Where("`g_id` = ?", requestData.GroupId)
}
var groupMap []wechat.GroupForm
groupErr := gormDb.Order("g_id ASC").Find(&groupMap).Error
if groupErr != nil {
response.Result(103, groupErr, "数据获取失败!", c)
return
}
var groupUserMap []groupUser
for _, val := range groupMap {
var groupUserInfo groupUser
groupUserInfo.Id = strconv.FormatInt(val.Id, 10)
groupUserInfo.Name = val.Name
isGroupTrue, DepartMap := GetDepartMap(val.Id)
if isGroupTrue == true {
groupUserInfo.Children = DepartMap
}
groupUserMap = append(groupUserMap, groupUserInfo)
}
sendMap := commonus.MapOut()
sendMap["list"] = groupUserMap
response.Result(0, sendMap, "获取成功", c)
}
//获取分厂与对应员工
func GetDepartMap(printId int64) (isTrue bool, departMap []groupUser) {
isTrue = false
var branchFactory []testpage.BranchFactory
err := global.GVA_DB_Master.Where("bf_group = ?", printId).Find(&branchFactory).Error
if err != nil {
isTrue = true
}
for _, val := range branchFactory {
var bfInf groupUser
bfInf.Id = strconv.FormatInt(val.Id, 10)
bfInf.Name = val.Name
isGroupTrue, DepartMap := GetBranchFactoryUser(val.Id)
if isGroupTrue == true {
bfInf.Children = DepartMap
}
departMap = append(departMap, bfInf)
}
isTrue = true
return
}
//获取分厂人员列表
func GetBranchFactoryUser(printId int64) (isTrue bool, departMap []groupUser) {
isTrue = false
var userInfo []testpage.PersonalDetails
userErr := global.GVA_DB_Master.Model(&testpage.WorkMan{}).Select("worker_man.*,worker_man_data.*").Joins("left join worker_man_data on worker_man_data.wmd_key = worker_man.wm_key").Where("`wm_bf_id` = ? AND `wm_set` = 1 AND `wm_hire_set` = 1", printId).Find(&userInfo).Error
if userErr != nil {
return
}
for _, val := range userInfo {
var bfInf groupUser
bfInf.Id = strconv.FormatInt(val.Key, 10)
bfInf.Name = val.Name
bfInf.Number = val.Number
departMap = append(departMap, bfInf)
}
isTrue = true
return
}

11
gin_server_admin/api/v1/examtestpage/healthreportstat.go

@ -277,7 +277,7 @@ func CalculationNotReport(time string, decisionTime int64, reportedPeople []map[
}
//向相关人员发送警报 https://docu.hxgk.group/images/2021_11/205c2d8d35491880a1ac9f03d6e879d3.jpg
func sendMessAgeAlarm(calCulTime int64, alarmUser []map[string]interface{}) {
func sendMessAgeAlarm(calCulTime int64, alarmUser []map[string]interface{}) (sendBakc map[string]interface{}) {
// fmt.Printf("%v\n", reflect.TypeOf(alarmUser))
var sendText string
@ -333,13 +333,22 @@ func sendMessAgeAlarm(calCulTime int64, alarmUser []map[string]interface{}) {
sendImgMsg.DuplicateCheckInterval = 1800
callbakcMsg, isTrueCall, callBackCont := sendImgMsg.SendImgMessage()
fmt.Printf("发送信息返回:%v-----------%v----------->%v\n", string(callbakcMsg), isTrueCall, callBackCont)
sendBakc["callbakcMsg"] = string(callbakcMsg)
sendBakc["isTrueCall"] = isTrueCall
sendBakc["callBackCont"] = callBackCont
return
} else {
fmt.Println("没有要通知的人")
sendBakc["errmsg"] = "没有要通知的人"
return
}
} else {
fmt.Println("没有要通知的人")
sendBakc["errmsg"] = "没有要通知的人"
return
}
return
// fmt.Printf("%v---------------------->%v\n", sendText, sendText)
}

8
gin_server_admin/api/v1/examtestpage/healthreportstathand.go

@ -239,8 +239,8 @@ func (h *HealthReportStat) SendRelevantPersonnelMsg(c *gin.Context) {
readBaoJinf = append(readBaoJinf, callPolice)
}
//给相关人员发送信息
sendMessAgeAlarm(calCulTime, readBaoJinf)
sendMsg := sendMessAgeAlarm(calCulTime, readBaoJinf)
response.Result(0, sendMsg, "获取成功", c)
} else {
fmt.Println("没有异常人员!")
}
@ -489,8 +489,8 @@ func (h *HealthReportStat) SendRelevantPersonnelTodayMsg(c *gin.Context) {
readBaoJinf = append(readBaoJinf, callPolice)
}
//给相关人员发送信息
sendMessAgeAlarm(calCulTime, readBaoJinf)
sendMsg := sendMessAgeAlarm(calCulTime, readBaoJinf)
response.Result(0, sendMsg, "获取成功", c)
} else {
fmt.Println("没有异常人员!")
}

11
gin_server_admin/api/v1/staff/stafftype.go

@ -25,3 +25,14 @@ type staffOutInfo struct {
JobTitle string `json:"jobTitle"`
TemaTitle string `json:"temaTitle"`
}
//组织架构员工对照表
type groupRequest struct {
GroupId int64 `json:"groupId"`
}
type groupUser struct {
Id string `json:"id"`
Name string `json:"name"`
Number string `json:"number"`
Children []groupUser `json:"groupUser"`
}

17
gin_server_admin/commonus/publichaneld.go

@ -10,6 +10,7 @@ import (
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/location"
"github.com/flipped-aurora/gin-vue-admin/server/model/systemuser"
"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/utils/redishandel"
@ -609,3 +610,19 @@ func ClientIdentity() (isTrue bool, redisUserInfo testpage.RedisUserInfo) {
}
return
}
//自定义管理端身份解析
func AdminClientIdentity() (isTrue bool, redisAdminInfo systemuser.RedisAdminInfo) {
keyStr := strconv.FormatInt(global.GVA_ADMIN_USERKEY, 10)
redisClient := redishandel.RunRedis()
tokenInfo, isTrue := redisClient.HashGetAll("system:SystemAdminInfo_" + global.GVA_CONFIG.RedisPrefix.Alias + "_" + keyStr)
if isTrue != true {
return
}
identityErr := mapstructure.Decode(tokenInfo, &redisAdminInfo)
if identityErr != nil {
isTrue = false
return
}
return
}

1
gin_server_admin/config.yaml

@ -44,6 +44,7 @@ casbin:
system:
env: 'public' # Change to "develop" to skip authentication for development mode
addr: 8888
#addr: 8889
db-type: 'mysql'
oss-type: 'local' # 控制oss选择走本期还是 七牛等其他仓 自行增加其他oss仓可以在 server/utils/upload/upload.go 中 NewOss函数配置
use-multipoint: false

8
gin_server_admin/initialize/router.go

@ -57,6 +57,12 @@ func Routers() *gin.Engine {
staffMan := router.RouterGroupApp.StaffRouter.StaffRouter //员工相关操作
/*
自定义管理后台
@adminDutyAssess 职责考核
*/
adminDutyAssess := router.RouterGroupApp.AdminRouter.AdminRouter
PublicGroup := Router.Group("")
{
PublicGroup.GET("/", func(c *gin.Context) {
@ -133,6 +139,8 @@ func Routers() *gin.Engine {
{
Questions.InitGroupRouter(MyCustomSystemGroup) //试题相关
systemRouter.InitSystemAdminRouter(MyCustomSystemGroup) //系统管理员
adminDutyAssess.InitStaffRouter(MyCustomSystemGroup) //职责考核
}
InstallPlugin(PublicGroup, PrivateGroup) // 安装插件

18
gin_server_admin/model/systemuser/systemuser.go

@ -64,3 +64,21 @@ type SystemAdminDetails struct {
SystemUser
SystemUserAttribute
}
//管理员Redis信息
type RedisAdminInfo struct {
UserKey string `json:"userkey"`
UserNumber string `json:"usernumber"`
UserPwd string `json:"userpwd"`
UserToken string `json:"usertoken"`
JurisDiction string `json:"jurisdiction"`
MenuOper string `json:"menuOper"`
Wand string `json:"wand"`
Name string `json:"name"`
GroupName string `json:"groupname"`
Group string `json:"group"`
AttriBute string `json:"attribute"`
BranchFactoryName string `json:"branchfactoryname"`
Role string `json:"role"`
RoleName string `json:"roleName"`
}

3
gin_server_admin/router/assessment/assessmentrouter.go

@ -40,6 +40,9 @@ func (s *AssessmentRouter) InitAssessmentRouter(Router *gin.RouterGroup) {
dutyCodeRouter.POST("eitespecdutyinfo", authorityApi.EiteSpecFicDutyInfo) // 修改具体部门考核项目详情
dutyCodeRouter.POST("eitespecdutystate", authorityApi.EiteSpecficDutyState) // 修改状态或删除具体部门考核项目
dutyCodeRouter.POST("adddepartdutyinfo", authorityApi.AddDepartDutyInfo) // 添加具体部门考核项目(副本)
dutyCodeRouter.POST("eitedepartdutyinfo", authorityApi.EiteDepartDutyInfo) // 修改具体部门考核项目详情(副本)
}
}

2
gin_server_admin/router/enter.go

@ -10,6 +10,7 @@ import (
"github.com/flipped-aurora/gin-vue-admin/server/router/shiyan"
"github.com/flipped-aurora/gin-vue-admin/server/router/staffrouter"
"github.com/flipped-aurora/gin-vue-admin/server/router/system"
"github.com/flipped-aurora/gin-vue-admin/server/router/systemadmin"
"github.com/flipped-aurora/gin-vue-admin/server/router/uploaddownload"
"github.com/flipped-aurora/gin-vue-admin/server/router/wechatcallbackrouter"
)
@ -26,6 +27,7 @@ type RouterGroup struct {
ExamQuest examrouter.RouterGroup
DutyAssEssRout assessment.RouterGroup
StaffRouter staffrouter.RouterGroup
AdminRouter systemadmin.RouterGroup
}
var RouterGroupApp = new(RouterGroup)

4
gin_server_admin/router/examtestpage/grouphandle.go

@ -25,5 +25,9 @@ func (g *GroupHandleRouter) InitGroupRouter(Router *gin.RouterGroup) {
groupCodeRouter.POST("/refreshdatabaseuser", authorityApi.RefreshDataBaseUser) //更新企业微信人员信息库
groupCodeRouter.POST("/getgroupdepartmap", authorityApi.GetGroupDepartMap) // 获取集团架构列表(集团分厂)
groupCodeRouter.POST("/getgroupuser", authorityApi.GetGroupUser) //获取集团架构人员信息对照表
}
}

1
gin_server_admin/router/staffrouter/people.go

@ -17,5 +17,6 @@ func (s *StaffRouter) InitStaffRouter(Router *gin.RouterGroup) {
staffRouter.GET("/", authorityApi.Index) //员工档案入口
staffRouter.POST("/stafflist", authorityApi.StaffList) //员工列表
}
}

23
gin_server_admin/router/systemadmin/dutyassess.go

@ -0,0 +1,23 @@
package systemadmin
import (
v1 "github.com/flipped-aurora/gin-vue-admin/server/api/admin"
"github.com/gin-gonic/gin"
)
type AdminRouter struct{}
func (a *AdminRouter) InitStaffRouter(Router *gin.RouterGroup) {
adminRouter := Router.Group("admin")
var authorityApi = v1.ApiGroupApp.DutyAssess.DutyAssEss
{
adminRouter.POST("", authorityApi.Index) //员工档案入口
adminRouter.POST("/", authorityApi.Index) //员工档案入口
adminRouter.GET("", authorityApi.Index) //员工档案入口
adminRouter.GET("/", authorityApi.Index) //员工档案入口
adminRouter.POST("getdepartevaluate", authorityApi.GetDepartEvaluate) //获取部门考核列表
adminRouter.POST("getdepartmentassesslist", authorityApi.GetDepartmentAssessList) //获取考核列表
}
}

5
gin_server_admin/router/systemadmin/enter.go

@ -0,0 +1,5 @@
package systemadmin
type RouterGroup struct {
AdminRouter
}

287
gin_server_admin/其他支持文件/config.yaml

@ -0,0 +1,287 @@
aliyun-oss:
endpoint: yourEndpoint
access-key-id: yourAccessKeyId
access-key-secret: yourAccessKeySecret
bucket-name: yourBucketName
bucket-url: yourBucketUrl
base-path: yourBasePath
autocode:
transfer-restart: true
root: l:\任官钰\代码\gin-vue-admin-master\gin-vue-admin-master
server: /server
server-api: /api/v1/autocode
server-initialize: /initialize
server-model: /model/autocode
server-request: /model/autocode/request/
server-router: /router/autocode
server-service: /service/autocode
web: /web/src
web-api: /api
web-form: /view
web-table: /view
captcha:
key-long: 6
img-width: 240
img-height: 80
casbin:
model-path: ./resource/rbac_model.conf
email:
to: xxx@qq.com
port: 465
from: xxx@163.com
host: smtp.163.com
is-ssl: true
secret: xxx
nickname: test
excel:
dir: ./resource/excel/
jwt:
buffer-time: 86400
expires-time: 604800
issuer: qmPlus
signing-key: a77a9442-4c2b-466b-a650-9495e04d285c
local:
path: uploads/file
mysql:
path: 127.0.0.1:3306
config: charset=utf8mb4&parseTime=True&loc=Local
db-name: gva
username: gva
password: "YNsk3zbP4sTASmzJ"
max-idle-conns: 0
max-open-conns: 0
log-mode: ""
log-zap: false
qiniu:
zone: ZoneHuaDong
bucket: ""
img-path: ""
use-https: false
access-key: ""
secret-key: ""
use-cdn-domains: false
redis:
db: 0
addr: 127.0.0.1:6379
password: ""
redisprefix:
prefix: "HXGK_GO_ZhixingCollege"
alias: "dev"
system:
env: public
addr: 8888
db-type: mysql
oss-type: local
use-multipoint: true
iplimit-count: 15000
iplimit-time: 3600
tencent-cos:
bucket: xxxxx-10005608
region: ap-shanghai
secret-id: xxxxxxxx
secret-key: xxxxxxxx
base-url: https://gin.vue.admin
path-prefix: github.com/flipped-aurora/gin-vue-admin/server
timer:
start: true
spec: '@daily'
detail:
- tableName: sys_operation_records
compareField: created_at
interval: 2160h
- tableName: jwt_blacklists
compareField: created_at
interval: 168h
zap:
level: info
format: console
prefix: '[github.com/flipped-aurora/gin-vue-admin/server]'
director: log
showLine: true
encode-level: LowercaseColorLevelEncoder
stacktrace-key: stacktrace
log-in-console: true
# mysql connect configuration
# 其他数据库配置
#app主数据库
mysqlMaster:
path: '127.0.0.1:3306'
config: 'charset=utf8mb4&parseTime=True&loc=Local'
db-name: 'hengxingaoke_tes'
username: 'hengxingaoke_tes'
password: 'JsTt6iTpkZ85wDnF'
max-idle-conns: 10
max-open-conns: 100
log-mode: false
log-zap: ""
#文档属性数据库
mysqlBookDate:
path: '127.0.0.1:3306'
config: 'charset=utf8mb4&parseTime=True&loc=Local'
db-name: 'learnmessage'
username: 'learnmessage'
password: 'JyppSdcLT27f7dpB'
max-idle-conns: 10
max-open-conns: 100
log-mode: false
log-zap: ""
#微信员工信息表
mysqlWatchDate:
path: '127.0.0.1:3306'
config: 'charset=utf8mb4&parseTime=True&loc=Local'
db-name: 'wechatuser'
username: 'wechatuser'
password: '8jrFG2AzpJPxs88m'
max-idle-conns: 10
max-open-conns: 100
log-mode: false
log-zap: ""
#错题库
mysqlErrorSubjectDate:
path: '127.0.0.1:3306'
config: 'charset=utf8mb4&parseTime=True&loc=Local'
db-name: 'errorsubject'
username: 'errorsubject'
password: 'abRcXzraCMFYC4Me'
max-idle-conns: 10
max-open-conns: 100
log-mode: false
log-zap: ""
#自我测验
mysqlMyTestDate:
path: '127.0.0.1:3306'
config: 'charset=utf8mb4&parseTime=True&loc=Local'
db-name: 'selftestdatabase'
username: 'selftestdatabase'
password: 'mXDWEBJCd5acnCjD'
max-idle-conns: 10
max-open-conns: 100
log-mode: false
log-zap: ""
#图文信息数据库
mysqlBooImgkDate:
path: '127.0.0.1:3306'
config: 'charset=utf8mb4&parseTime=True&loc=Local'
db-name: 'readdocument'
username: 'readdocument'
password: 'CY2yanCmAP8p8bxj'
max-idle-conns: 10
max-open-conns: 100
log-mode: false
log-zap: ""
#计分明细数据库
mysqlIntegralDate:
path: '127.0.0.1:3306'
config: 'charset=utf8mb4&parseTime=True&loc=Local'
db-name: 'leaguetabledata'
username: 'leaguetabledata'
password: 'PxeX8Dnw88G4Jpnr'
max-idle-conns: 10
max-open-conns: 100
log-mode: false
log-zap: ""
#趣味问答
mysqlQADate:
path: '127.0.0.1:3306'
config: 'charset=utf8mb4&parseTime=True&loc=Local'
db-name: 'ques_and_answers'
username: 'ques_and_answers'
password: 'CT7XGBrAwdnXkTNX'
max-idle-conns: 10
max-open-conns: 100
log-mode: false
log-zap: ""
#风云榜统计数据库
mysqlBillboardDate:
path: '127.0.0.1:3306'
config: 'charset=utf8mb4&parseTime=True&loc=Local'
db-name: 'statisticsing'
username: 'statisticsing'
password: '4iMZNtMT8fk8imEb'
max-idle-conns: 10
max-open-conns: 100
log-mode: false
log-zap: ""
#健康上报数据库
mysqlHealthReportDate:
path: '127.0.0.1:3306'
config: 'charset=utf8mb4&parseTime=True&loc=Local'
db-name: 'location'
username: 'location'
password: 'XreBJrkYh7K3jfbm'
max-idle-conns: 10
max-open-conns: 100
log-mode: false
log-zap: ""
#审批流程数据库
mysqlApprovalProcess:
path: '127.0.0.1:3306'
config: 'charset=utf8mb4&parseTime=True&loc=Local'
db-name: 'workflow'
username: 'workflow'
password: 'kSwXD3LBsnJ8dsz4'
max-idle-conns: 100
max-open-conns: 1500
log-mode: false
log-zap: ""
#绩效考核数据库
mysqlPerformanceappraisal:
path: '127.0.0.1:3306'
config: 'charset=utf8mb4&parseTime=True&loc=Local'
db-name: 'perform'
username: 'perform'
password: 'amtzSrN5WnMsS4hb'
max-idle-conns: 100
max-open-conns: 1500
log-mode: false
log-zap: ""
#企业微信相关设置
workwechatid:
companyid: 'ww02f310301953277a' #企业ID
workwechatschool: #知行学院
agentid: 1000008
secretstr: 'YJOHrmHtvevAdctg-06TMLnPokIaLHdfrQMyQolZQC8'
workwechatappmaillist: #通讯录
secretstr: 'yjcQXkh6_116QKjfZfbRSyzdrFFZ9jbVlKJtL2tn3OU'
healthreport: #健康上报
secretstr: 'smjpGmFo5wp18BZGiLaECFr84Blv429v_GFdKp4_0YQ'
#测试企业
workwechatids:
companyid: 'ww708746402de33ba7' #企业ID
workwechatschools: #测试
agentid: 1000021
secretstr: 'rbqos2un6vVY5k_c2aOFK6HUuONeJsiBqwRZXTDVBKU'
workwechatappmaillists: #通讯录
secretstr: 'TSSsJXiqh3RKl0NYIoB-sPc43MUIRJ1ppALWtzyLY94'
healthreports: #健康上报
secretstr: 'smjpGmFo5wp18BZGiLaECFr84Blv429v_GFdKp4_0YQ'
privateConfig: #私人配置
visit: 'http://docu.hxgk.net/uploadfileing/uploadimging'
# visit: 'http://docs.hxgk.group/uploadfileing/uploadimging'
appKey: 'heng_xin_gao_ke_AppKey'
Loading…
Cancel
Save