dddd
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

210 lines
6.6 KiB

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/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
}