|
|
|
|
package staff
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"strconv"
|
|
|
|
|
|
|
|
|
|
"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/global"
|
|
|
|
|
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
|
|
|
|
|
"github.com/flipped-aurora/gin-vue-admin/server/model/hrsystem"
|
|
|
|
|
"github.com/flipped-aurora/gin-vue-admin/server/model/systemuser"
|
|
|
|
|
"github.com/flipped-aurora/gin-vue-admin/server/model/testpage"
|
|
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
//员工
|
|
|
|
|
|
|
|
|
|
type StaffPeople struct{}
|
|
|
|
|
|
|
|
|
|
func (s *StaffPeople) Index(c *gin.Context) {
|
|
|
|
|
outPut := commonus.MapOut()
|
|
|
|
|
response.Result(0, outPut, "获取成功", c)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获得员工列表
|
|
|
|
|
func (s *StaffPeople) StaffList(c *gin.Context) {
|
|
|
|
|
var requestData staffRequest
|
|
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
gormDb := 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")
|
|
|
|
|
|
|
|
|
|
if requestData.GroupId != 0 {
|
|
|
|
|
gormDb = gormDb.Where("`wm_group` = ?", requestData.GroupId)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if requestData.BranchFactoryId != 0 {
|
|
|
|
|
gormDb = gormDb.Where("`wm_bf_id` = ?", requestData.BranchFactoryId)
|
|
|
|
|
}
|
|
|
|
|
if requestData.PostId != 0 {
|
|
|
|
|
gormDb = gormDb.Where("`wm_ws_id` = ?", requestData.PostId)
|
|
|
|
|
}
|
|
|
|
|
if requestData.JobId != 0 {
|
|
|
|
|
gormDb = gormDb.Where("`wm_pt_id` = ?", requestData.JobId)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if requestData.UserName != "" {
|
|
|
|
|
gormDb = gormDb.Where("wmd_name LIKE ?", "%"+requestData.UserName+"%")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if requestData.State != 0 {
|
|
|
|
|
gormDb = gormDb.Where("`wm_set` = ?", requestData.State)
|
|
|
|
|
} else {
|
|
|
|
|
gormDb = gormDb.Where("`wm_set` IN ?", []int{1, 2})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var total int64
|
|
|
|
|
totalErr := gormDb.Count(&total).Error
|
|
|
|
|
if totalErr != nil {
|
|
|
|
|
total = 0
|
|
|
|
|
}
|
|
|
|
|
var staffList []testpage.PersonalDetails
|
|
|
|
|
staffListerr := gormDb.Limit(requestData.PageSize).Offset(offSetPage).Order("wm_id desc").Find(&staffList).Error
|
|
|
|
|
if staffListerr != nil {
|
|
|
|
|
response.Result(103, staffListerr, "数据获取失败!", c)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
var staffMap []staffOutInfo
|
|
|
|
|
for _, val := range staffList {
|
|
|
|
|
var staffInfo staffOutInfo
|
|
|
|
|
|
|
|
|
|
staffInfo.Id = val.Id
|
|
|
|
|
|
|
|
|
|
staffInfo.Number = val.Number
|
|
|
|
|
staffInfo.Password = val.Password
|
|
|
|
|
staffInfo.DepartmentId = val.DepartmentId
|
|
|
|
|
staffInfo.WorkshopId = val.WorkshopId
|
|
|
|
|
staffInfo.PostId = val.PostId
|
|
|
|
|
staffInfo.Key = val.Key
|
|
|
|
|
staffInfo.State = val.State
|
|
|
|
|
staffInfo.HireSet = val.HireSet
|
|
|
|
|
staffInfo.Time = val.Time
|
|
|
|
|
staffInfo.EiteTime = val.EiteTime
|
|
|
|
|
staffInfo.UserId = val.UserId
|
|
|
|
|
staffInfo.QuitTime = val.QuitTime
|
|
|
|
|
staffInfo.Group = val.Group
|
|
|
|
|
staffInfo.Soptcheck = val.Soptcheck
|
|
|
|
|
staffInfo.Tema = val.Tema
|
|
|
|
|
staffInfo.IsOne = val.IsOne
|
|
|
|
|
staffInfo.WorkWechatId = val.WorkWechatId
|
|
|
|
|
staffInfo.WechatId = val.WechatId
|
|
|
|
|
|
|
|
|
|
staffInfo.KeyAttr = val.KeyAttr
|
|
|
|
|
staffInfo.Name = val.Name
|
|
|
|
|
staffInfo.Gender = val.Gender
|
|
|
|
|
staffInfo.Age = val.Age
|
|
|
|
|
staffInfo.Tel = val.Tel
|
|
|
|
|
staffInfo.Category = val.Category
|
|
|
|
|
staffInfo.CertificatesType = val.CertificatesType
|
|
|
|
|
staffInfo.CertificatesNum = val.CertificatesNum
|
|
|
|
|
staffInfo.Birthday = val.Birthday
|
|
|
|
|
staffInfo.EntryTime = val.EntryTime
|
|
|
|
|
staffInfo.QuitTimeAttr = val.QuitTimeAttr
|
|
|
|
|
staffInfo.EiteTimeAttr = val.EiteTimeAttr
|
|
|
|
|
staffInfo.Addrest = val.Addrest
|
|
|
|
|
staffInfo.Icon = val.Icon
|
|
|
|
|
staffInfo.NickName = val.NickName
|
|
|
|
|
|
|
|
|
|
staffInfo.KeyStr = strconv.FormatInt(val.Key, 10)
|
|
|
|
|
|
|
|
|
|
isTrueBranFact, branFactCont := assessment.GetBranchFactory(val.DepartmentId)
|
|
|
|
|
if isTrueBranFact == true {
|
|
|
|
|
staffInfo.BranchFactory = branFactCont.Name
|
|
|
|
|
}
|
|
|
|
|
isTrueGroup, groupCont := assessment.GetGroupCont(val.Group)
|
|
|
|
|
if isTrueGroup == true {
|
|
|
|
|
staffInfo.GroupTitle = groupCont.Name
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
isTrueWork, workCont := commonus.GetWorkShopSection(val.WorkshopId)
|
|
|
|
|
if isTrueWork == true {
|
|
|
|
|
staffInfo.PostTitle = workCont.Name
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
staffMap = append(staffMap, staffInfo)
|
|
|
|
|
}
|
|
|
|
|
countSum := len(staffMap)
|
|
|
|
|
printData := commonus.OutPutList(total, int64(countSum), requestData.Page, requestData.PageSize, staffMap)
|
|
|
|
|
response.Result(0, printData, "查询成功!", c)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//通过账号密码获取用户信息
|
|
|
|
|
func GetUserWork(userName, userPwd string) (isTrue bool, staffInfo staffOutInfo) {
|
|
|
|
|
isTrue = false
|
|
|
|
|
var md5JiaMi commonus.Md5Encryption
|
|
|
|
|
md5JiaMi.Md5EncryptionInit(userPwd)
|
|
|
|
|
md5Token := md5JiaMi.Md5EncryptionAlgorithm()
|
|
|
|
|
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_number` = ? AND `wm_pwd` = ?", userName, md5Token).First(&userInfo).Error
|
|
|
|
|
|
|
|
|
|
if userErr != nil {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
// var staffInfo staffOutInfo
|
|
|
|
|
// fmt.Printf("------->%v\n", userInfo.Id)
|
|
|
|
|
staffInfo.Id = userInfo.Id
|
|
|
|
|
|
|
|
|
|
staffInfo.Number = userInfo.Number
|
|
|
|
|
staffInfo.Password = userInfo.Password
|
|
|
|
|
staffInfo.DepartmentId = userInfo.DepartmentId
|
|
|
|
|
staffInfo.WorkshopId = userInfo.WorkshopId
|
|
|
|
|
staffInfo.PostId = userInfo.PostId
|
|
|
|
|
staffInfo.Key = userInfo.Key
|
|
|
|
|
staffInfo.State = userInfo.State
|
|
|
|
|
staffInfo.HireSet = userInfo.HireSet
|
|
|
|
|
staffInfo.Time = userInfo.Time
|
|
|
|
|
staffInfo.EiteTime = userInfo.EiteTime
|
|
|
|
|
staffInfo.UserId = userInfo.UserId
|
|
|
|
|
staffInfo.QuitTime = userInfo.QuitTime
|
|
|
|
|
staffInfo.Group = userInfo.Group
|
|
|
|
|
staffInfo.Soptcheck = userInfo.Soptcheck
|
|
|
|
|
staffInfo.Tema = userInfo.Tema
|
|
|
|
|
staffInfo.IsOne = userInfo.IsOne
|
|
|
|
|
staffInfo.WorkWechatId = userInfo.WorkWechatId
|
|
|
|
|
staffInfo.WechatId = userInfo.WechatId
|
|
|
|
|
|
|
|
|
|
staffInfo.KeyAttr = userInfo.KeyAttr
|
|
|
|
|
staffInfo.Name = userInfo.Name
|
|
|
|
|
staffInfo.Gender = userInfo.Gender
|
|
|
|
|
staffInfo.Age = userInfo.Age
|
|
|
|
|
staffInfo.Tel = userInfo.Tel
|
|
|
|
|
staffInfo.Category = userInfo.Category
|
|
|
|
|
staffInfo.CertificatesType = userInfo.CertificatesType
|
|
|
|
|
staffInfo.CertificatesNum = userInfo.CertificatesNum
|
|
|
|
|
staffInfo.Birthday = userInfo.Birthday
|
|
|
|
|
staffInfo.EntryTime = userInfo.EntryTime
|
|
|
|
|
staffInfo.QuitTimeAttr = userInfo.QuitTimeAttr
|
|
|
|
|
staffInfo.EiteTimeAttr = userInfo.EiteTimeAttr
|
|
|
|
|
staffInfo.Addrest = userInfo.Addrest
|
|
|
|
|
staffInfo.Icon = userInfo.Icon
|
|
|
|
|
staffInfo.NickName = userInfo.NickName
|
|
|
|
|
|
|
|
|
|
staffInfo.KeyStr = strconv.FormatInt(userInfo.Key, 10)
|
|
|
|
|
|
|
|
|
|
isTrueBranFact, branFactCont := assessment.GetBranchFactory(userInfo.DepartmentId)
|
|
|
|
|
if isTrueBranFact == true {
|
|
|
|
|
staffInfo.BranchFactory = branFactCont.Name
|
|
|
|
|
}
|
|
|
|
|
isTrueGroup, groupCont := assessment.GetGroupCont(userInfo.Group)
|
|
|
|
|
if isTrueGroup == true {
|
|
|
|
|
staffInfo.GroupTitle = groupCont.Name
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
isTrueWork, workCont := commonus.GetWorkShopSection(userInfo.WorkshopId)
|
|
|
|
|
if isTrueWork == true {
|
|
|
|
|
staffInfo.PostTitle = workCont.Name
|
|
|
|
|
}
|
|
|
|
|
isTrue = true
|
|
|
|
|
|
|
|
|
|
// fmt.Printf("&&&&&&&&&&&>%v\n", staffInfo)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//通过Hr系统登录确认
|
|
|
|
|
func HrUserInfor(number, pwd string) (isTrue bool, usUpdate OutScanCodeUserInfo) {
|
|
|
|
|
isTrue = false
|
|
|
|
|
|
|
|
|
|
var md5JiaMi commonus.Md5Encryption
|
|
|
|
|
md5JiaMi.Md5EncryptionInit(pwd)
|
|
|
|
|
pwdStr := md5JiaMi.Md5EncryptionAlgorithm()
|
|
|
|
|
|
|
|
|
|
var ueInfo hrsystem.Personnel
|
|
|
|
|
err := global.GVA_DB_HrDataBase.Where("`number` = ? AND `password` = ?", number, pwdStr).First(&ueInfo).Error
|
|
|
|
|
if err != nil {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if ueInfo.State != 1 {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
isTrue = true
|
|
|
|
|
wechatStr := ueInfo.Wechat
|
|
|
|
|
if ueInfo.WorkWechat != "" {
|
|
|
|
|
wechatStr = ueInfo.WorkWechat
|
|
|
|
|
}
|
|
|
|
|
// var usUpdate global.GAV_USER_CONT
|
|
|
|
|
usUpdate.Id = strconv.FormatInt(ueInfo.Id, 10)
|
|
|
|
|
usUpdate.Number = ueInfo.Number // `json:"number"`
|
|
|
|
|
usUpdate.Name = ueInfo.Name // `json:"name"`
|
|
|
|
|
usUpdate.Positionleveles = strconv.FormatInt(ueInfo.PositionLevel, 10) // `json:"positionleveles"`
|
|
|
|
|
usUpdate.Position = strconv.FormatInt(ueInfo.Position, 10) // `json:"position"`
|
|
|
|
|
usUpdate.Adminorg = strconv.FormatInt(ueInfo.AdminOrg, 10) // `json:"adminorg"`
|
|
|
|
|
usUpdate.Company = strconv.FormatInt(ueInfo.Company, 10) // `json:"company"`
|
|
|
|
|
usUpdate.Emptype = strconv.FormatInt(int64(ueInfo.EmpType), 10) // `json:"emptype"`
|
|
|
|
|
usUpdate.Deparment = ueInfo.Deparment // `json:"deparment"`
|
|
|
|
|
usUpdate.Jobclass = strconv.FormatInt(ueInfo.JobClass, 10) // `json:"jobclass"`
|
|
|
|
|
usUpdate.Positiongrade = strconv.FormatInt(ueInfo.PositionGrade, 10) // `json:"positiongrade"`
|
|
|
|
|
usUpdate.Role = ueInfo.Role // `json:"role"`
|
|
|
|
|
usUpdate.Icon = ueInfo.Icon // `json:"icon"`
|
|
|
|
|
usUpdate.Wechat = wechatStr // `json:"wechat"`
|
|
|
|
|
menuStr, buttonStr := getRoleInt(ueInfo.Role)
|
|
|
|
|
usUpdate.Jurisdiction = buttonStr // `json:"jurisdiction"`
|
|
|
|
|
usUpdate.Menuoper = menuStr // `json:"menuoper"`
|
|
|
|
|
oldGroup, _ := getOrgCont(strconv.FormatInt(ueInfo.Company, 10))
|
|
|
|
|
usUpdate.Oldgroup = oldGroup // `json:"oldgroup"`
|
|
|
|
|
olddepart, _ := getOrgCont(ueInfo.Deparment)
|
|
|
|
|
usUpdate.Olddepartment = olddepart // `json:"olddepartment"`
|
|
|
|
|
|
|
|
|
|
usUpdate.State = ueInfo.State
|
|
|
|
|
usUpdate.Password = ueInfo.Password
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取权限点位
|
|
|
|
|
func getRoleInt(roleId string) (menuStr, buttonStr string) {
|
|
|
|
|
var roleInfo systemuser.SystemRole
|
|
|
|
|
err := global.GVA_DB_Master.Where("`r_id` = ?", roleId).First(&roleInfo).Error
|
|
|
|
|
if err != nil {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
menuStr = roleInfo.MenuOper
|
|
|
|
|
buttonStr = roleInfo.Jurisdiction
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取员工公司组织
|
|
|
|
|
func getOrgCont(id string) (oldId, orgName string) {
|
|
|
|
|
var orgInfo hrsystem.AdministrativeOrganization
|
|
|
|
|
err := global.GVA_DB_HrDataBase.Where("`id` = ?", id).First(&orgInfo).Error
|
|
|
|
|
if err != nil {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
oldId = strconv.FormatInt(orgInfo.Schoole, 10)
|
|
|
|
|
orgName = orgInfo.Name
|
|
|
|
|
return
|
|
|
|
|
}
|