绩效考核
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.
 
 
 

1302 lines
44 KiB

package examtestpage
import (
"encoding/json"
"errors"
"fmt"
"strconv"
"time"
"gin_server_admin/commonus"
"gin_server_admin/global"
"gin_server_admin/model/common/response"
"gin_server_admin/model/hrsystem"
"gin_server_admin/model/testpage"
"gin_server_admin/model/wechat"
"gin_server_admin/utils/redishandel"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
)
// 集团分厂管理模块
type GroupHandleApi struct{}
// 集团栏目
type GroupMap struct {
Id int64 `json:"id" gorm:"column:g_id;type:bigint(20);;primaryKey;unique;not null;autoIncrement;index"`
Name string `json:"name" gorm:"column:g_name;type:varchar(255);not null;comment:组织名称"` //'组织名称',
Time int64 `json:"time" gorm:"column:g_time;type:bigint(20) unsigned;default:0;not null;comment:编辑时间"` //'编辑时间',
Parentid int64 `json:"parentid" gorm:"column:g_parentid;type:bigint(20) unsigned;default:0;not null;comment:父级栏目"`
Sate int8 `json:"state" gorm:"column:g_sate;type:tinyint(1) unsigned;default:1;not null;comment:状态"` //'状态',
JinDieId string `json:"jindieid" gorm:"column:g_jindie_id;type:bigint(20) unsigned;default:0;not null;comment:金蝶ID"` //金蝶ID
}
type TableData struct {
ID int64 `json:"id"`
Name string `json:"name"`
Address bool `json:"address"`
WxId string `json:"wxId"`
JdId string `json:"jdId"`
Attributes int8 `json:"attributes"`
Sort int `json:"sort"`
Date string `json:"date"`
Children interface{} `json:"children"`
QueryId int `json:"queryid"`
SingId int `json:"singid"`
ErgodicID string `json:"ergodicid"`
}
// POST提交参数
type postGroupCanshu struct {
Id int64 `json:"id" from:"id"`
TypeId int `json:"typeid" from:"typeid"`
}
// 集团列表
func (g *GroupHandleApi) GroupList(c *gin.Context) {
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 groupMapStruct []TableData
// err := global.GVA_DB_WatchDate.Model(&groupStruct).Where("g_parentid = ?", 1).Find(&groupMap).Error //获取集团信息
err := gormDb.Find(&groupMap).Error
if err != nil {
fmt.Println(err)
response.Result(100, groupMapStruct, "集团架构获取失败!", c)
return
}
var departList []testpage.BranchFactoryHasMany
// err = global.GVA_DB_Master.Preload("WorkshopSectionStruct").Where("bf_group = ?", 3).Find(&departList)
// groupAry := map[int]interface{}{}
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)
groupTypeStruct.Children = openGroupMap(i+1, departList)
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 openGroupMap(singid int, data []testpage.BranchFactoryHasMany) []TableData {
// openMapData := map[int]interface{}{}
var mapStruct []TableData
for i, v := range data {
var kk TableData
kk.ID = v.Id
kk.Name = v.Name
kk.Address = true
if v.Set != 1 {
kk.Address = false
}
kk.WxId = strconv.FormatInt(v.WechatId, 10)
kk.JdId = ""
kk.Attributes = v.Attribute
kk.Sort = i + 1
kk.QueryId = 2
kk.Date = commonus.TimeStampToDate(v.Time, 6)
var sunGroup []TableData
for ii, vv := range v.WorkshopSectionStruct {
var kk_i TableData
kk_i.ID = vv.Id
kk_i.Name = vv.Name
kk_i.Address = true
if vv.Set != 1 {
kk_i.Address = false
}
kk_i.WxId = ""
kk_i.JdId = ""
kk_i.Attributes = 0
kk_i.Sort = ii + 1
kk_i.QueryId = 3
kk_i.Date = commonus.TimeStampToDate(vv.Time, 6)
kk_i.SingId, _ = strconv.Atoi(strconv.Itoa(singid) + strconv.Itoa(i) + strconv.Itoa(ii))
// kk_i.Children = []map[string]interface{}{}
sunGroup = append(sunGroup, kk_i)
}
kk.Children = sunGroup
kk.SingId, _ = strconv.Atoi(strconv.Itoa(singid) + strconv.Itoa(i) + strconv.Itoa(4))
mapStruct = append(mapStruct, kk)
}
return mapStruct
}
//获取集团信息
/*
@id 集团ID
*/
func (g *GroupHandleApi) GetGroupInfo(c *gin.Context) {
var id postGroupCanshu
_ = c.ShouldBindJSON(&id) //获取提交的参数
if id.Id == 0 {
response.Result(101, id, "您的参数不正确!请检查您的提交!", c)
}
var groupStruct wechat.GroupForm //集团表结构
err := global.GVA_DB_WatchDate.Where("g_id = ?", id.Id).First(&groupStruct).Error //获取集团信息
if err != nil {
response.Result(100, groupStruct, "获取失败", c)
return
}
sendMap := commonus.MapOut()
sendMap["list"] = groupStruct
// fmt.Printf("====>%v\n", id.Id)
response.Result(0, groupStruct, "获取成功", c)
}
/*
获取子公司信息
@id 子公司ID
*/
func (g *GroupHandleApi) GetSubsidiaryInfo(c *gin.Context) {
var id postGroupCanshu
_ = c.ShouldBindJSON(&id) //获取提交的参数
if id.Id == 0 {
response.Result(101, id, "您的参数不正确!请检查您的提交!", c)
}
var subsidiaryStruct testpage.BranchFactory //子公司表结构
err := global.GVA_DB_Master.Where("bf_id = ?", id.Id).First(&subsidiaryStruct).Error //获取子公司信息
if err != nil {
response.Result(100, subsidiaryStruct, "获取失败", c)
return
}
sendMap := commonus.MapOut()
sendMap["list"] = subsidiaryStruct
response.Result(0, subsidiaryStruct, "获取成功", c)
}
/*
获取工段信息
@id 工段ID
*/
func (g *GroupHandleApi) GetGroupPositionInfo(c *gin.Context) {
var id postGroupCanshu
_ = c.ShouldBindJSON(&id) //获取提交的参数
if id.Id == 0 {
response.Result(101, id, "您的参数不正确!请检查您的提交!", c)
}
var workShopesStruct testpage.WorkShopsection //工段表结构
err := global.GVA_DB_Master.Where("ws_id = ?", id.Id).First(&workShopesStruct).Error //获取工段信息
if err != nil {
response.Result(100, workShopesStruct, "获取失败", c)
return
}
sendMap := commonus.MapOut()
sendMap["list"] = workShopesStruct
response.Result(0, workShopesStruct, "获取成功", c)
}
/*
删除操作
@id 要删除的ID
@type 要删除的类型
*/
func (g *GroupHandleApi) DelGroupInfo(c *gin.Context) {
var postInfo postGroupCanshu
err := c.ShouldBindJSON(&postInfo)
if err != nil {
response.Result(100, err, "您的参数不正确!请检查您的提交!", c)
return
}
if postInfo.Id == 0 {
response.Result(101, postInfo.Id, "您的参数不正确!请检查您的提交!", c)
return
}
var errSun error
switch postInfo.TypeId {
case 1:
// fmt.Println("A1")
errSun = DelDepartment(postInfo.Id)
case 2:
errSun = DelWorhPost(postInfo.Id)
default:
// fmt.Println("A2")
errSun = DelterGroup(postInfo.Id)
}
// fmt.Printf("%v===========>%T\n", postInfo.TypeId, postInfo.TypeId)
if errSun != nil {
msg := fmt.Sprintf("删除失败!%v", errSun)
response.Result(102, errSun, msg, c)
return
}
sendMap := commonus.MapOut()
sendMap["list"] = errSun
response.Result(0, errSun, "获取成功", c)
}
/*
软删除集团信息
@id 集团ID
*/
func DelterGroup(id int64) error {
assignErr := global.GVA_DB_WatchDate.Model(&wechat.GroupForm{}).Where("g_parentid = ? and g_id = ?", 1, id).First(&GroupMap{}).Error //获取集团信息
if errors.Is(assignErr, gorm.ErrRecordNotFound) {
return errors.New("该集团不存在!")
}
err := global.GVA_DB_WatchDate.Where("g_id = ?", id).First(&wechat.GroupForm{}).Update("g_sate", 2).Error
return err
}
/*
软删除分厂信息
@id 分厂ID
*/
func DelDepartment(id int64) error {
assignErr := global.GVA_DB_Master.Where("bf_set = ? and bf_id = ?", 1, id).First(&testpage.BranchFactory{}).Error //获取分厂或部室信息
if errors.Is(assignErr, gorm.ErrRecordNotFound) {
return errors.New("该分厂或部室不存在!")
}
err := global.GVA_DB_Master.Where("bf_id = ?", id).First(&testpage.BranchFactory{}).Update("bf_set", 3).Error
return err
}
/*
软删除分厂信息
@id 分厂ID
*/
func DelWorhPost(id int64) error {
assignErr := global.GVA_DB_Master.Where("ws_set = ? and ws_id = ?", 1, id).First(&testpage.WorkShopsection{}).Error //获取分厂或部室信息
if errors.Is(assignErr, gorm.ErrRecordNotFound) {
return errors.New("该工段不存在!")
}
err := global.GVA_DB_Master.Where("ws_id = ?", id).First(&testpage.WorkShopsection{}).Update("ws_set", 3).Error
return err
}
//添加组织架构(集团信息)
/*
@id 部门ID
@name 部门名称
@parentid 上级部门ID。顶级部门的上级ID为1
@state 状态(1:启用;2:禁用)
@jindieid 金蝶ID
*/
func (g *GroupHandleApi) AddGroupInfo(c *gin.Context) {
var groupInfo GroupMap
_ = c.ShouldBindJSON(&groupInfo) //获取提交的参数
if groupInfo.Parentid == 0 {
response.Result(101, groupInfo, "您的参数不正确!请检查您的提交!", c)
return
}
if groupInfo.Name == "" {
response.Result(102, groupInfo, "您的参数不正确!请检查您的提交!", c)
return
}
var groupStruct wechat.GroupForm //集团表结构
var groupMap GroupMap //要获取的集团架构字段
err := global.GVA_DB_WatchDate.Model(&groupStruct).Where("g_name = ?", groupInfo.Name).First(&groupMap).Error //获取集团信息
if err == nil {
response.Result(103, groupMap, "该集团名称已经存在!请更换!", c)
return
}
var dep commonus.DePartMentInfo
addId, adderr := dep.AddDepartment(groupInfo.Parentid, groupInfo.Name)
if adderr != true {
response.Result(1003, groupInfo.Name, "该集团添加失败(企业微信通讯故障!)", c)
return
}
groupStruct.Id = addId
groupStruct.Name = groupInfo.Name
groupStruct.Parentid = groupInfo.Parentid
groupStruct.Orderes = 1
groupStruct.Time = time.Now().Unix()
groupStruct.Sate = 1
groupStruct.Group = ""
groupStruct.GroupSun = ""
groupStruct.JinDieId = 0
result := global.GVA_DB_WatchDate.Create(&groupStruct).Error
if result != nil {
commonus.DelDepartment(addId)
response.Result(1004, groupStruct, "该集团添加失败(写入数据库错误!)", c)
return
}
// redisClient := redishandel.RunRedis()
// redisClient.SetRedisTime(7200)
// redisClient.Set("kaifa", "1234565")
// jsh, _ := redisClient.Get("kaifa")
// fmt.Printf("%v ----------%v ********** %v\n", ton, add, id)
// fmt.Printf("%v ----------%v ********** %v\n", ton, err, jsh)
// jsonBytes, _ := json.Marshal(groupInfo)
// commonus.CurlPostJosn("111", jsonBytes)
// fmt.Printf("%v ----------%T ********** %v********** %v\n", jsonBytes, jsonBytes, addId, adderr)
sendMap := commonus.MapOut()
sendMap["list"] = groupStruct
response.Result(0, groupStruct, "添加成功", c)
}
/*
修改组织架构(集团信息)
@id 部门ID
@name 部门名称
@parentid 上级部门ID。顶级部门的上级ID为1
@state 状态(1:启用;2:禁用)
@jindieid 金蝶ID
*/
func (g *GroupHandleApi) EiteGroupInfo(c *gin.Context) {
var groupInfo GroupMap
_ = c.ShouldBindJSON(&groupInfo) //获取提交的参数
if groupInfo.Id == 0 {
response.Result(101, groupInfo, "您的参数不正确!请检查您的提交!", c)
return
}
var groupStruct wechat.GroupForm //集团表结构 //要获取的集团架构字段
judgeErr := global.GVA_DB_WatchDate.Where("g_id = ?", groupInfo.Id).First(&groupStruct).Error //获取集团信息
if judgeErr != nil {
response.Result(101, judgeErr, "该集团不存在!请检查你的数据!", c)
return
}
if groupInfo.Name == "" {
response.Result(102, groupInfo, "请提交修改后的集团名称!", c)
return
} else {
groupStruct.Name = groupInfo.Name
}
if groupInfo.Parentid != 0 {
groupStruct.Parentid = groupInfo.Parentid
}
if groupInfo.Sate != 0 {
groupStruct.Sate = groupInfo.Sate
}
if groupInfo.JinDieId != "" {
jinDieId, jinDeiErr := strconv.ParseInt(groupInfo.JinDieId, 10, 64)
if jinDeiErr != nil {
groupStruct.JinDieId = 0
} else {
groupStruct.JinDieId = jinDieId
}
}
groupStruct.Time = time.Now().Unix()
affairOperation := global.GVA_DB_WatchDate.Begin()
saveErr := affairOperation.Save(groupStruct).Error
if saveErr != nil {
affairOperation.Rollback()
response.Result(102, groupInfo, "数据写入失败!", c)
return
}
var dep commonus.DePartMentInfo
_, saveErrwe := dep.SaveDepartment(groupStruct.Id, groupStruct.Orderes, groupStruct.Parentid, groupStruct.Name, "")
if saveErrwe != true {
affairOperation.Rollback()
response.Result(102, groupInfo, "与企业微信通讯失败", c)
return
}
affairOperation.Commit()
sendMap := commonus.MapOut()
sendMap["list"] = groupStruct
response.Result(0, groupStruct, "修改成功", c)
}
// 获取单个成员信息
type getOneUserSendDate struct {
UserId string `json:"userid" from:"userid"`
}
// 获取成员详细信息
func (g *GroupHandleApi) GetOneUserInfoAll(c *gin.Context) {
var groupInfo getOneUserSendDate
_ = c.ShouldBindJSON(&groupInfo) //获取提交的参数
if groupInfo.UserId == "" {
response.Result(101, groupInfo, "您的参数不正确!请检查您的提交!", c)
return
}
redisClient := redishandel.RunRedis()
isTrue, tokenInfo := redisClient.HashGet("deUserAry:wechat_"+global.GVA_CONFIG.RedisPrefix.Alias, "userinfo_"+"_"+groupInfo.UserId)
if isTrue != true {
userInfo, msg, _ := commonus.GetOneAddressBookMember(groupInfo.UserId)
var callBackData commonus.WechatUserInfo
json.Unmarshal(userInfo, &callBackData)
var us commonus.UserListStruct
json.Unmarshal(userInfo, &us)
userMap := commonus.MapOut()
json.Unmarshal(userInfo, &userMap)
jsonUser, _ := json.Marshal(us)
redisClient.SetRedisTime(2678400)
redisClient.HashSet("deUserAry:wechat_"+global.GVA_CONFIG.RedisPrefix.Alias, "userinfo_"+"_"+groupInfo.UserId, string(jsonUser))
response.Result(0, us, msg, c)
} else {
var us commonus.UserListStruct
json.Unmarshal([]byte(tokenInfo), &us)
response.Result(0, us, "获取成功", c)
}
// fmt.Printf("%v=============>%v\n", kjs, userMap)
// var sendText commonus.SendText
// sendText.Touser = groupInfo.UserId
// sendText.MsgType = "text"
// appId, _ := strconv.ParseInt(global.GVA_CONFIG.WorkWechatSchool.AgentId, 10, 64)
// fmt.Printf("AppId===>%v\n", global.GVA_CONFIG.WorkWechatSchool.AgentId)
// sendText.AgentId = appId
// sendText.Text.Content = "异常规矩人员 \n人员列表\n" + callBackData.Name + " 打卡地址:" + callBackData.Address + " \n张义良 打卡地址:" + callBackData.Address + "\n<a href=\"https://www.hxgk.group\">查看详情</a>"
// sendText.DuplicateCheckInterval = 1800
// sendText.SendTextMessage()
}
// 获取单个成员信息
type getDeparMentUserSendDate struct {
Id int `json:"id" from:"id"`
FetchChild int `json:"fetch_child" from:"fetch_child"`
}
// 获取部门成员 GetDepartmentUserList
func (g *GroupHandleApi) GetDepartMentUserInfoAll(c *gin.Context) {
var groupInfo getDeparMentUserSendDate
_ = c.ShouldBindJSON(&groupInfo) //获取提交的参数
if groupInfo.Id == 0 {
response.Result(101, groupInfo, "您的参数不正确!请检查您的提交!", c)
return
}
redisClient := redishandel.RunRedis()
redisClient.SetRedisTime(2678400)
isTrueStr, departmentUserList := redisClient.Get("deUserAry:wechat_user_list" + global.GVA_CONFIG.RedisPrefix.Alias + "_" + strconv.Itoa(groupInfo.Id))
if isTrueStr == false {
userInfo, msg, _ := commonus.GetDepartmentUserList(groupInfo.Id)
var callBackData commonus.WechatUserInfoDepartment
json.Unmarshal(userInfo, &callBackData)
for _, v := range callBackData.UserList {
isTrue, _ := redisClient.HashGet("deUserAry:wechat_"+global.GVA_CONFIG.RedisPrefix.Alias, "userinfo_"+"_"+v.UserId)
if isTrue != true {
// var us commonus.UserListStruct
jsonBytes, _ := json.Marshal(v)
// redisClient.SetRedisTime(7200)
redisClient.HashSet("deUserAry:wechat_"+global.GVA_CONFIG.RedisPrefix.Alias, "userinfo_"+"_"+v.UserId, string(jsonBytes))
}
userInset := commonus.MapOut()
userInset["userid"] = v.UserId
userInset["name"] = v.Name
jsonDepartment, _ := json.Marshal(v.Department)
userInset["department"] = string(jsonDepartment)
userInset["position"] = v.Position
userInset["mobile"] = v.Mobile
userInset["gender"] = v.Gender
userInset["email"] = v.Email
userInset["avatar"] = v.Avatar
userInset["status"] = v.Status
jsonExtattr, _ := json.Marshal(v.Extattr)
userInset["extattr"] = string(jsonExtattr)
userInset["main_department"] = v.MainDepartment
userInset["qr_code"] = v.QrCode
jsonIsLeaderInDept, _ := json.Marshal(v.IsLeaderInDept)
userInset["is_leader_in_dept"] = string(jsonIsLeaderInDept)
userInset["thumb_avatar"] = v.ThumbAvatar
userInset["time"] = time.Now().Unix()
var userInfoStruct wechat.WechatUsers
myErr := global.GVA_DB_WatchDate.Where("userid = ?", v.UserId).First(&userInfoStruct).Error
if myErr == nil {
saveErr := global.GVA_DB_WatchDate.Model(&userInfoStruct).Where("userid = ?", v.UserId).Save(userInset).Error
if saveErr != nil {
fmt.Printf("%v(%v) 信息更新失败\n", v.Name, v.UserId)
}
} else {
userInset["u_id"] = commonus.GetFileNumber()
createErr := global.GVA_DB_WatchDate.Model(&userInfoStruct).Create(userInset).Error
if createErr != nil {
fmt.Printf("%v(%v) 信息写入失败\n", v.Name, v.UserId)
}
}
// fmt.Printf("isTrue ====> %v\n", isTrue)
}
jsonUserStr, _ := json.Marshal(callBackData.UserList)
redisClient.Set("deUserAry:wechat_user_list"+global.GVA_CONFIG.RedisPrefix.Alias+"_"+strconv.Itoa(groupInfo.Id), string(jsonUserStr))
msg = "获取成功!"
returnData := commonus.MapOut()
returnData["count"] = len(callBackData.UserList)
returnData["list"] = callBackData.UserList
response.Result(0, returnData, msg, c)
} else {
var userAry []commonus.UserListStruct
jsonUserList := json.Unmarshal([]byte(departmentUserList), &userAry)
if jsonUserList != nil {
response.Result(102, jsonUserList, "部门人员列表获取错误!", c)
return
}
msges := "获取成功!"
returnData := commonus.MapOut()
returnData["count"] = len(userAry)
returnData["list"] = userAry
response.Result(203, returnData, msges, c)
}
}
// 刷新集团成员数据库
func (g *GroupHandleApi) RefreshDataBaseUser(c *gin.Context) {
var userAry []wechat.WechatUsers
var weChatAry []commonus.UserListStruct
userErr := global.GVA_DB_WatchDate.Find(&userAry) //获取数据库所有成员
redisClient := redishandel.RunRedis()
redisClient.SetRedisTime(7200)
isTrueStr, departmentUserList := redisClient.Get("RefreshUserAry:wechat_user_all_" + global.GVA_CONFIG.RedisPrefix.Alias)
if isTrueStr != true {
jsonErr := json.Unmarshal([]byte(departmentUserList), &weChatAry)
if jsonErr != nil {
wechatAllList, _, isYes := commonus.GetDepartmentUserList(1) //企业微信所有成员
if isYes == true {
var callBackData commonus.WechatUserInfoDepartment
jsonErrs := json.Unmarshal(wechatAllList, &callBackData)
if jsonErrs != nil {
response.Result(101, jsonErrs, "Json解析错误!", c)
return
}
if callBackData.Errcode != 0 {
response.Result(102, callBackData.ErrMsg, "获取企业微信数据错误!", c)
return
}
weChatAry = callBackData.UserList
jsonUserStr, _ := json.Marshal(callBackData.UserList)
redisClient.Set("RefreshUserAry:wechat_user_all"+global.GVA_CONFIG.RedisPrefix.Alias, string(jsonUserStr))
}
}
} else {
jsonUserList := json.Unmarshal([]byte(departmentUserList), &weChatAry)
if jsonUserList != nil {
wechatAllList, _, isYes := commonus.GetDepartmentUserList(1) //企业微信所有成员
if isYes == true {
var callBackData commonus.WechatUserInfoDepartment
jsonErrs := json.Unmarshal(wechatAllList, &callBackData)
if jsonErrs != nil {
response.Result(101, jsonErrs, "Json解析错误!", c)
return
}
if callBackData.Errcode != 0 {
response.Result(102, callBackData.ErrMsg, "获取企业微信数据错误!", c)
return
}
weChatAry = callBackData.UserList
jsonUserStr, _ := json.Marshal(callBackData.UserList)
redisClient.Set("RefreshUserAry:wechat_user_all"+global.GVA_CONFIG.RedisPrefix.Alias, string(jsonUserStr))
}
}
}
var judgeUID []int64
if len(userAry) > 0 && len(weChatAry) > 0 {
var userAryest []wechat.WechatUsers
var saveAry []wechat.WechatUsers
var delAry []wechat.SignOutWechatUsers
if len(userAry) < len(weChatAry) {
for _, c_v := range weChatAry {
panding := false
for _, u_v := range userAry {
if c_v.UserId == u_v.Userid {
//判断是否有要更新的数据
if c_v.Status != u_v.Status || c_v.MainDepartment != int(u_v.MainDepartment) || c_v.Mobile != u_v.Mobile {
var saveUserAry wechat.WechatUsers
saveUserAry.Uid = u_v.Uid
saveUserAry.Userid = c_v.UserId
saveUserAry.Name = c_v.Name
jsonDepartment, departErr := json.Marshal(c_v.Department)
if departErr == nil {
saveUserAry.Department = string(jsonDepartment)
} else {
saveUserAry.Department = fmt.Sprintf("[%s]", c_v.MainDepartment)
}
saveUserAry.Position = c_v.Position
saveUserAry.Mobile = c_v.Mobile
genderInt, genderErr := strconv.Atoi(c_v.Gender)
if genderErr == nil {
saveUserAry.Gender = genderInt
} else {
saveUserAry.Gender = 1
}
saveUserAry.Email = c_v.Email
saveUserAry.Avatar = c_v.Avatar
saveUserAry.Status = c_v.Status
jsonExtattr, extarErr := json.Marshal(c_v.Extattr)
if extarErr == nil {
saveUserAry.Extattr = string(jsonExtattr)
} else {
saveUserAry.Extattr = "{\"attrs\":[]}"
}
saveUserAry.MainDepartment = int64(c_v.MainDepartment)
saveUserAry.QrCode = c_v.QrCode
jsonIsLeaderInDept, isErr := json.Marshal(c_v.IsLeaderInDept)
if isErr == nil {
saveUserAry.IsLeaderInDept = string(jsonIsLeaderInDept)
} else {
saveUserAry.IsLeaderInDept = "[0]"
}
saveUserAry.ThumbAvatar = c_v.ThumbAvatar
saveUserAry.UserNumber = u_v.UserNumber
saveUserAry.SysBf = u_v.SysBf
saveUserAry.SysWs = u_v.SysWs
saveUserAry.SysPs = u_v.SysPs
saveUserAry.WmTema = u_v.WmTema
saveUserAry.IsAdmin = u_v.IsAdmin
saveUserAry.IsRole = u_v.IsRole
saveUserAry.Pwd = u_v.Pwd
saveUserAry.Time = time.Now().Unix()
saveAry = append(saveAry, saveUserAry)
}
panding = true
}
}
//数据库不存在的数据
if panding == false {
var addUserAry wechat.WechatUsers
uidVal := commonus.GetFileNumberEs()
if len(judgeUID) > 0 {
judTrue := false
for _, judUid := range judgeUID {
if judUid == uidVal {
judTrue = true
// fmt.Printf("重复ID-------->%v\n", uidVal)
}
}
if judTrue == true {
time.Sleep(5 * time.Millisecond)
uidVal = commonus.GetFileNumberEs()
}
judgeUID = append(judgeUID, uidVal)
} else {
judgeUID = append(judgeUID, uidVal)
}
addUserAry.Uid = uidVal
addUserAry.Userid = c_v.UserId
addUserAry.Name = c_v.Name
jsonDepartment, departErr := json.Marshal(c_v.Department)
if departErr == nil {
addUserAry.Department = string(jsonDepartment)
} else {
addUserAry.Department = fmt.Sprintf("[%s]", c_v.MainDepartment)
}
addUserAry.Position = c_v.Position
addUserAry.Mobile = c_v.Mobile
genderInt, genderErr := strconv.Atoi(c_v.Gender)
if genderErr == nil {
addUserAry.Gender = genderInt
} else {
addUserAry.Gender = 1
}
addUserAry.Email = c_v.Email
addUserAry.Avatar = c_v.Avatar
addUserAry.Status = c_v.Status
jsonExtattr, extarErr := json.Marshal(c_v.Extattr)
if extarErr == nil {
addUserAry.Extattr = string(jsonExtattr)
} else {
addUserAry.Extattr = "{\"attrs\":[]}"
}
addUserAry.MainDepartment = int64(c_v.MainDepartment)
addUserAry.QrCode = c_v.QrCode
jsonIsLeaderInDept, isErr := json.Marshal(c_v.IsLeaderInDept)
if isErr == nil {
addUserAry.IsLeaderInDept = string(jsonIsLeaderInDept)
} else {
addUserAry.IsLeaderInDept = "[0]"
}
addUserAry.ThumbAvatar = c_v.ThumbAvatar
addUserAry.UserNumber = ""
addUserAry.SysBf = 0
addUserAry.SysWs = 0
addUserAry.SysPs = 0
addUserAry.WmTema = 0
addUserAry.IsAdmin = 1
addUserAry.IsRole = 0
addUserAry.Pwd = ""
addUserAry.Time = time.Now().Unix()
userAryest = append(userAryest, addUserAry)
}
}
var addRow int64
var saveRow int64
addRow = 0
saveRow = 0
if len(userAryest) > 0 {
addDate := global.GVA_DB_WatchDate.Create(&userAryest)
addRow = addDate.RowsAffected
}
if len(saveAry) > 0 {
saveDate := global.GVA_DB_WatchDate.Save(&saveAry)
saveRow = saveDate.RowsAffected
}
returnUserInset := commonus.MapOut()
returnUserInset["save_len"] = len(saveAry)
returnUserInset["save"] = saveAry
returnUserInset["add_len"] = len(userAryest)
returnUserInset["add"] = userAryest
returnUserInset["addRow"] = addRow
returnUserInset["saveRow"] = saveRow
response.Result(200, returnUserInset, "完成!", c)
} else {
var delUid []int64
//获取需要删除的信息
for _, cd_v := range userAry {
pandingDel := false
for _, ud_v := range weChatAry {
if cd_v.Userid == ud_v.UserId {
pandingDel = true
}
}
if pandingDel == false {
var delUserInfo wechat.SignOutWechatUsers
uidVal := commonus.GetFileNumberEs()
if len(judgeUID) > 0 {
judTrue := false
for _, judUid := range judgeUID {
if judUid == uidVal {
judTrue = true
// fmt.Printf("重复ID-------->%v\n", uidVal)
}
}
if judTrue == true {
time.Sleep(5 * time.Millisecond)
uidVal = commonus.GetFileNumberEs()
}
judgeUID = append(judgeUID, uidVal)
} else {
judgeUID = append(judgeUID, uidVal)
}
delUserInfo.Uid = uidVal
delUserInfo.Userid = cd_v.Userid
delUserInfo.Name = cd_v.Name
delUserInfo.Department = cd_v.Department
delUserInfo.Position = cd_v.Position
delUserInfo.Mobile = cd_v.Mobile
delUserInfo.Gender = cd_v.Gender
delUserInfo.Email = cd_v.Email
delUserInfo.Avatar = cd_v.Avatar
delUserInfo.Status = cd_v.Status
delUserInfo.Extattr = cd_v.Extattr
delUserInfo.MainDepartment = int64(cd_v.MainDepartment)
delUserInfo.QrCode = cd_v.QrCode
delUserInfo.IsLeaderInDept = cd_v.IsLeaderInDept
delUserInfo.ThumbAvatar = cd_v.ThumbAvatar
delUserInfo.UserNumber = cd_v.UserNumber
delUserInfo.SysBf = cd_v.SysBf
delUserInfo.SysWs = cd_v.SysWs
delUserInfo.SysPs = cd_v.SysPs
delUserInfo.WmTema = cd_v.WmTema
delUserInfo.IsAdmin = cd_v.IsAdmin
delUserInfo.IsRole = cd_v.IsRole
delUserInfo.Pwd = cd_v.Pwd
delUserInfo.Time = time.Now().Unix()
delAry = append(delAry, delUserInfo)
delUid = append(delUid, cd_v.Uid)
}
}
var addRowDel int64
addRowDel = 0
if len(delUid) > 0 {
addDateDel := global.GVA_DB_WatchDate.Create(&delAry)
addRowDel = addDateDel.RowsAffected
var delUserCont wechat.WechatUsers
global.GVA_DB_WatchDate.Delete(&delUserCont, delUid)
}
returnUserInset := commonus.MapOut()
returnUserInset["delAry_len"] = len(delAry)
returnUserInset["delAry"] = delAry
returnUserInset["addRowDel"] = addRowDel
returnUserInset["judgeUID"] = judgeUID
returnUserInset["judgeUID_len"] = len(judgeUID)
returnUserInset["delUid"] = len(delUid)
response.Result(2001, returnUserInset, "完成!", c)
}
} else {
returnUserInset := commonus.MapOut()
returnUserInset["userErr"] = userErr
returnUserInset["weChatAry"] = weChatAry
response.Result(1102, returnUserInset, "您的参数不正确!请检查您的提交!", c)
}
}
// 获取集团和分厂架构
func (g *GroupHandleApi) GetGroupDepartMap(c *gin.Context) {
var requestData getGroupDepart
c.ShouldBindJSON(&requestData)
if requestData.Id == 0 && requestData.IdStr == "" {
requestData.Id = 0
}
if requestData.IdStr != "" {
idInt64, _ := strconv.ParseInt(requestData.IdStr, 10, 64)
requestData.Id = idInt64
}
var govMap []OutGovCont
gormDb := global.GVA_DB_HrDataBase.Model(&hrsystem.AdministrativeOrganization{}).Select("administrative_organization.*,aot.name as classname,aot.level").Joins("left join administrative_organization_type as aot on aot.id = administrative_organization.organization_type").Where("administrative_organization.`state` = 1")
if requestData.Level != 0 {
gormDb = gormDb.Where("aot.level <= ?", requestData.Level)
}
if requestData.All == 0 {
if requestData.Id == 0 {
requestData.Id = 312
}
gormDb = gormDb.Where("administrative_organization.id NOT IN ?", []int{312, 293, 305, 306, 307})
}
groupErr := gormDb.Find(&govMap).Error
if groupErr != nil {
response.Result(103, groupErr, "数据获取失败!", c)
return
}
var gTreeAry []outGov
for i, v := range govMap {
var govInfo outGov
govInfo.ID = v.Id
govInfo.Name = v.Name
govInfo.Address = true
govInfo.WxId = strconv.FormatInt(v.Id, 10)
govInfo.JdId = "1"
govInfo.Attributes = 1
govInfo.Superior = v.Superior
govInfo.Sort = i + 1
govInfo.QueryId = 1
govInfo.Date = commonus.TimeStampToDate(v.Time, 6)
govInfo.ErgodicID = v.Number //fmt.Sprintf("%v_%v", v.Id, i)
govInfo.SingId = i + 1 + 3
govInfo.ClassName = v.ClassName
govInfo.Level = v.Level
gTreeAry = append(gTreeAry, govInfo)
}
govMapThree := GovThreeList(requestData.Id, gTreeAry)
response.Result(0, govMapThree, "获取成功", c)
}
// 递归树
func GovThreeList(parentId int64, govAry []outGov) []govThree {
var govMap []govThree
for _, v := range govAry {
// var zhucont govThree
if v.Superior == parentId {
child := GovThreeList(v.ID, govAry)
govMap = append(govMap, govThree{v, child})
}
}
return govMap
}
// 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)
// groupTypeStruct.ErgodicID = fmt.Sprintf("%v_%v", v.Id, i)
// bfErr, bfInfo := GetBranchFactoryMapEs(v.Id, i)
// 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
}
type bfMapJbqList struct {
testpage.BranchFactory
ErgodicID string `json:"ergodicid"`
}
func GetBranchFactoryMapEs(id int64, jbq int) (isTrue bool, ContInfo []bfMapJbqList) {
isTrue = false
var ContInfoBf []testpage.BranchFactory
err := global.GVA_DB_Master.Where("bf_group = ?", id).Find(&ContInfoBf).Error
if err != nil {
return
}
for index, val := range ContInfoBf {
var bfMapCont bfMapJbqList
bfMapCont.Id = val.Id
bfMapCont.Name = val.Name
bfMapCont.Set = val.Set
bfMapCont.Uid = val.Uid
bfMapCont.Time = val.Time
bfMapCont.Attribute = val.Attribute
bfMapCont.Group = val.Group
bfMapCont.WechatId = val.WechatId
bfMapCont.ErgodicID = fmt.Sprintf("%v_%v_%v", val.Id, jbq, index)
ContInfo = append(ContInfo, bfMapCont)
}
isTrue = true
return
}
// 获取集团架构人员信息对照表
func (g *GroupHandleApi) GetGroupUser(c *gin.Context) {
var requestData getGroupDepart
c.ShouldBindJSON(&requestData)
if requestData.Id == 0 && requestData.IdStr == "" {
requestData.Id = 0
}
if requestData.IdStr != "" {
idInt64, _ := strconv.ParseInt(requestData.IdStr, 10, 64)
requestData.Id = idInt64
}
var govMap []OutGovCont
gormDb := global.GVA_DB_HrDataBase.Model(&hrsystem.AdministrativeOrganization{}).Select("administrative_organization.*,aot.id as aotid,aot.name as classname,aot.level").Joins("left join administrative_organization_type as aot on aot.id = administrative_organization.organization_type").Where("administrative_organization.`state` = 1 AND aot.id IN (1,2,3,5)")
if requestData.Level != 0 {
gormDb = gormDb.Where("aot.level <= ?", requestData.Level)
}
if requestData.All == 0 {
if requestData.Id == 0 {
requestData.Id = 312
}
gormDb = gormDb.Where("administrative_organization.id NOT IN ?", []int{312, 293, 305, 306, 307})
}
groupErr := gormDb.Find(&govMap).Error
if groupErr != nil {
response.Result(103, groupErr, "数据获取失败!", c)
return
}
var departAry []govUserCont
for _, v := range govMap {
var departInfo govUserCont
departInfo.ID = v.Id //`json:"id"`
departInfo.Name = v.Name //`json:"name"`
departInfo.Number = v.Number //`json:"State"`
departInfo.ClassName = v.ClassName //`json:"classname"`
departInfo.Level = v.Level //`json:"level"`
departInfo.Superior = v.Superior
departInfo.UserList = getUserList(v.Id, requestData.Level)
departAry = append(departAry, departInfo)
}
govMapThree := GovUserThreeList(requestData.Id, departAry)
response.Result(0, govMapThree, "获取成功", c)
}
func (g *GroupHandleApi) GetGroupUserOld(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
}
type departSelect struct {
Id string `json:"id"`
}
// 获取分厂列表
func (g *GroupHandleApi) GetDepartmentListOld(c *gin.Context) {
var requestData commonus.SetIds
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
}
}
var bfList []testpage.BranchFactory
errData := global.GVA_DB_Master.Where("bf_group = ? AND bf_set = 1", requestData.Id).Find(&bfList).Error
if errData != nil {
response.Result(101, errData, "数据获取失败!", c)
return
}
response.Result(0, bfList, "数据获取成功!", c)
}
// 获取分厂列表
func (g *GroupHandleApi) GetDepartmentList(c *gin.Context) {
var requestData getGroupDepart
c.ShouldBindJSON(&requestData)
if requestData.Id == 0 && requestData.IdStr == "" {
requestData.Id = 0
}
if requestData.IdStr != "" {
idInt64, _ := strconv.ParseInt(requestData.IdStr, 10, 64)
requestData.Id = idInt64
}
var govMap []OutGovCont
gormDb := global.GVA_DB_HrDataBase.Model(&hrsystem.AdministrativeOrganization{}).Select("administrative_organization.*,aot.name as classname,aot.level").Joins("left join administrative_organization_type as aot on aot.id = administrative_organization.organization_type").Where("administrative_organization.`state` = 1")
if requestData.Level != 0 {
gormDb = gormDb.Where("aot.level <= ?", requestData.Level)
}
if requestData.All == 0 {
if requestData.Id == 0 {
requestData.Id = 312
}
gormDb = gormDb.Where("administrative_organization.id NOT IN ?", []int{312, 293, 305, 306, 307})
}
groupErr := gormDb.Find(&govMap).Error
if groupErr != nil {
response.Result(103, groupErr, "数据获取失败!", c)
return
}
var departAry []govDepart
for _, v := range govMap {
var departInfo govDepart
departInfo.ID = v.Id //`json:"id"`
departInfo.Name = v.Name //`json:"name"`
departInfo.State = v.State //`json:"State"`
departInfo.Uid = 1 //`json:"Uid"`
departInfo.Time = v.Time //`json:"time"`
departInfo.Attributes = 1 //`json:"attributes"`
departInfo.Superior = v.Superior //`json:"superior"`
departInfo.Group = v.OrganizationType //`json:"group"`
departInfo.WechatId = strconv.FormatInt(v.WechatOrganizationId, 10) //`json:"wechatid"`
departInfo.ClassName = v.ClassName //`json:"classname"`
departInfo.Level = v.Level //`json:"level"`
departAry = append(departAry, departInfo)
}
govMapThree := GovDepartThreeList(requestData.Id, departAry)
response.Result(0, govMapThree, "获取成功", c)
}
// 递归树
func GovDepartThreeList(parentId int64, govAry []govDepart) []govDepartThree {
var govMap []govDepartThree
for _, v := range govAry {
// var zhucont govThree
if v.Superior == parentId {
child := GovDepartThreeList(v.ID, govAry)
govMap = append(govMap, govDepartThree{v, child})
}
}
return govMap
}
// 递归树
func GovUserThreeList(parentId int64, govAry []govUserCont) []govUserContThree {
// fmt.Printf("parentId---------->%v\n", parentId)
var govMap []govUserContThree
for _, v := range govAry {
// var zhucont govThree
if v.Superior == parentId {
child := GovUserThreeList(v.ID, govAry)
govMap = append(govMap, govUserContThree{v, child})
}
}
return govMap
}
// 获取Hr人员信息
func getUserList(departmentId int64, level int) (userList []peopleList) {
var userAry []hrsystem.PersonArchives
gormDb := global.GVA_DB_HrDataBase.Model(&hrsystem.PersonArchives{}).Select("`id`,`number`,`name`,`wechat`,`work_wechat`,`key`").Where("state = 1 AND emp_type BETWEEN 1 AND 10 ")
if level <= 4 {
gormDb = gormDb.Where(" FIND_IN_SET(?,`maindeparment`)", departmentId)
} else {
gormDb = gormDb.Where(" FIND_IN_SET(?,`admin_org`)", departmentId)
}
err := gormDb.Find(&userAry).Error
// err := global.GVA_DB_HrDataBase.Model(&hrsystem.Personnel{}).Select("`id`,`number`,`name`,`wechat`,`work_wechat`,`key`,admin_org").Where("state = 1 AND admin_org = ?", departmentId).Find(&userAry).Error
if err != nil {
return
}
for _, v := range userAry {
var userCont peopleList
userCont.ID = v.Id //`json:"id"`
userCont.Name = v.Name //`json:"name"`
userCont.Number = v.Number //`json:"number"`
userCont.Key = strconv.FormatInt(v.Key, 10) //`json:"key"`
userCont.WechatId = v.Wechat //`json:"wechatid"`
if v.WorkWechat != "" {
userCont.WechatId = v.WorkWechat
}
userList = append(userList, userCont)
}
return
}
func getUserListold(departmentId int64) (userList []peopleList) {
var userAry []hrsystem.Personnel
err := global.GVA_DB_HrDataBase.Model(&hrsystem.Personnel{}).Select("`id`,`number`,`name`,`wechat`,`work_wechat`,`key`").Where("state = 1 AND FIND_IN_SET(?,`deparment`)", departmentId).Find(&userAry).Error
// err := global.GVA_DB_HrDataBase.Model(&hrsystem.Personnel{}).Select("`id`,`number`,`name`,`wechat`,`work_wechat`,`key`,admin_org").Where("state = 1 AND admin_org = ?", departmentId).Find(&userAry).Error
if err != nil {
return
}
for _, v := range userAry {
var userCont peopleList
userCont.ID = v.Id //`json:"id"`
userCont.Name = v.Name //`json:"name"`
userCont.Number = v.Number //`json:"number"`
userCont.Key = strconv.FormatInt(v.Key, 10) //`json:"key"`
userCont.WechatId = v.Wechat //`json:"wechatid"`
if v.WorkWechat != "" {
userCont.WechatId = v.WorkWechat
}
userList = append(userList, userCont)
}
return
}