package staff import ( "strconv" "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) where := commonus.MapOut() where["id"] = val.Group orgCont, _ := commonus.GetNewOrgCont(where, "id", "name") staffInfo.GroupTitle = orgCont.Name whereDepart := commonus.MapOut() whereDepart["id"] = val.DepartmentId orgContDepart, _ := commonus.GetNewOrgCont(whereDepart, "id", "name") staffInfo.BranchFactory = orgContDepart.Name // 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) where := commonus.MapOut() where["id"] = userInfo.Group orgCont, _ := commonus.GetNewOrgCont(where, "id", "name") staffInfo.GroupTitle = orgCont.Name whereDepart := commonus.MapOut() whereDepart["id"] = userInfo.DepartmentId orgContDepart, _ := commonus.GetNewOrgCont(whereDepart, "id", "name") staffInfo.BranchFactory = orgContDepart.Name // 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 }