Browse Source

修正集团内工作阅历重复加入问题

v2_dev
超级管理员 3 years ago
parent
commit
4567de4f1e
  1. 4
      api/jindie_docking/dockingorganization/controller.go
  2. 26
      api/version1/personnelapi/kingdeenew.go
  3. 148
      api/version1/personnelapi/staff.go
  4. 18
      api/version1/personnelapi/type.go

4
api/jindie_docking/dockingorganization/controller.go

@ -343,6 +343,7 @@ func OrgAdmin() {
return return
} }
var kingDeeIdAry []string var kingDeeIdAry []string
//进行职务对照 //进行职务对照
for _, v := range orgInfo { for _, v := range orgInfo {
if overallhandle.StringIsInMap(v.Id, kingDeeIdAry) == false { if overallhandle.StringIsInMap(v.Id, kingDeeIdAry) == false {
@ -433,6 +434,7 @@ func OrgAdmin() {
var parentContCorre models.AdministrativeOrganization var parentContCorre models.AdministrativeOrganization
parentErr := parentContCorre.GetCont(map[string]interface{}{"kingdeeid": cv.Id}, "`id`", "`superior`") parentErr := parentContCorre.GetCont(map[string]interface{}{"kingdeeid": cv.Id}, "`id`", "`superior`")
if parentErr == nil { if parentErr == nil {
if cv.Superior != "" {
var orgCorrePrent models.AdministrativeOrganization var orgCorrePrent models.AdministrativeOrganization
orgCorrePrentErr := orgCorrePrent.GetCont(map[string]interface{}{"kingdeeid": cv.Superior}, "id") orgCorrePrentErr := orgCorrePrent.GetCont(map[string]interface{}{"kingdeeid": cv.Superior}, "id")
if orgCorrePrentErr == nil { if orgCorrePrentErr == nil {
@ -445,6 +447,8 @@ func OrgAdmin() {
} }
} }
} }
}
} }
//关闭已经弃用得行政组织 //关闭已经弃用得行政组织
var orgAdminAll []models.AdministrativeOrganization var orgAdminAll []models.AdministrativeOrganization

26
api/version1/personnelapi/kingdeenew.go

@ -16,12 +16,17 @@ import (
// 金蝶人员信息对接 // 金蝶人员信息对接
func (s *StaffApi) NewKingdee(c *gin.Context) { func (s *StaffApi) NewKingdee(c *gin.Context) {
overallhandle.WriteLog("t", "开始执行行人员信息对接对照")
var requestData addKingdeePersonneles var requestData addKingdeePersonneles
c.ShouldBindJSON(&requestData) c.ShouldBindJSON(&requestData)
if requestData.Number == "" { if requestData.Number == "" {
overallhandle.Result(1, requestData.Number, c, "工号不能为空!") overallhandle.Result(1, requestData.Number, c, "工号不能为空!")
jieShouData, _ := json.Marshal(requestData)
overallhandle.WriteLog("i", "接收到的参数!", string(jieShouData))
overallhandle.WriteLog("e", "结束执行行人员信息对接对照。原因工号不能为空!")
return return
} }
var saveKingDee models.KingdeeLog var saveKingDee models.KingdeeLog
saveKingDee.Number = requestData.Number saveKingDee.Number = requestData.Number
requesJson, _ := json.Marshal(requestData) requesJson, _ := json.Marshal(requestData)
@ -45,6 +50,7 @@ func (s *StaffApi) NewKingdee(c *gin.Context) {
overallhandle.Result(104, manErr, c) overallhandle.Result(104, manErr, c)
return return
} }
overallhandle.WriteLog("t", "执行行人员信息对接对照结束!")
overallhandle.Result(0, manErr, c) overallhandle.Result(0, manErr, c)
} }
@ -1336,25 +1342,32 @@ func editInsideWorkHistoryMan(manKeyNum int64, contList []insideHistoryer) {
//判断是否已经存在集团内工作履历 //判断是否已经存在集团内工作履历
var insideWork []models.InsideWorkHistory var insideWork []models.InsideWorkHistory
err := overall.CONSTANT_DB_HR.Model(&models.InsideWorkHistory{}).Select("`id`").Where("`key` = ?", manKeyNum).Find(&insideWork).Error err := overall.CONSTANT_DB_HR.Model(&models.InsideWorkHistory{}).Select("`id`").Where("`key` = ?", manKeyNum).Find(&insideWork).Error
fmt.Printf("isErr---err--insideWork-->%v-------->%v\n", err, insideWork) // fmt.Printf("isErr---err--insideWork-->%v-------->%v\n", err, insideWork)
var topGroup int64 = 0 var topGroup int64 = 0
var groupTopCont models.AdministrativeOrganization var groupTopCont models.AdministrativeOrganization
groupTopCont.GetCont(map[string]interface{}{"superior": 0}, "id") groupTopCont.GetCont(map[string]interface{}{"superior": 0}, "id")
topGroup = groupTopCont.Id topGroup = groupTopCont.Id
if err == nil && len(insideWork) > 0 { if err == nil && len(insideWork) > 0 {
// if err == nil {
var iInt []int var iInt []int
for i, v := range contList { for i, v := range contList {
var wssCont models.AdministrativeOrganization var wssCont models.AdministrativeOrganization
wssCont.GetCont(map[string]interface{}{"kingdeeid": v.WorkshopSection}, "id") wssCont.GetCont(map[string]interface{}{"kingdeeid": v.WorkshopSection}, "id") //工段信息
//集团 //集团
var groupContes models.AdministrativeOrganization var groupContes models.AdministrativeOrganization
if v.Group != "" {
groupContes.GetCont(map[string]interface{}{"kingdeeid": v.Group}, "id") groupContes.GetCont(map[string]interface{}{"kingdeeid": v.Group}, "id")
// fmt.Printf("groupContes------------>%v\n", groupContes)
if groupContes.Id == 0 { if groupContes.Id == 0 {
groupContes.Id = topGroup groupContes.Id = topGroup
} }
} else {
groupContes.Id = topGroup
}
// fmt.Printf("groupContes---err--->%v-------->%v\n", topGroup, groupContes)
//部门 //部门
var dempCont models.AdministrativeOrganization var dempCont models.AdministrativeOrganization
dempCont.GetCont(map[string]interface{}{"kingdeeid": v.Department}, "id") dempCont.GetCont(map[string]interface{}{"kingdeeid": v.Department}, "id")
@ -1363,6 +1376,7 @@ func editInsideWorkHistoryMan(manKeyNum int64, contList []insideHistoryer) {
dempCont.Id = overallhandle.RecursionOrgLeve(wssCont.Id, 4) dempCont.Id = overallhandle.RecursionOrgLeve(wssCont.Id, 4)
} }
} }
//公司 //公司
var compayCont models.AdministrativeOrganization var compayCont models.AdministrativeOrganization
compayCont.GetCont(map[string]interface{}{"kingdeeid": v.Company}, "id") compayCont.GetCont(map[string]interface{}{"kingdeeid": v.Company}, "id")
@ -1372,7 +1386,8 @@ func editInsideWorkHistoryMan(manKeyNum int64, contList []insideHistoryer) {
var insiCont models.InsideWorkHistory var insiCont models.InsideWorkHistory
isErr := insiCont.GetCont(map[string]interface{}{"`key`": manKeyNum, "`group`": groupContes.Id, "`company`": compayCont.Id, "`department`": dempCont.Id, "workshop_section": wssCont.Id, "position": postCont.Id}) isErr := insiCont.GetCont(map[string]interface{}{"`key`": manKeyNum, "`group`": groupContes.Id, "`company`": compayCont.Id, "`department`": dempCont.Id, "workshop_section": wssCont.Id, "position": postCont.Id})
// fmt.Printf("isErr--1----->%v\n", isErr)
// fmt.Printf("isErr--->wssCont---------->%v-------->groupContes---------->%v-------->dempCont--------->%v-------->compayCont--------->%v-------->postCont---------->%v---------->%v--->%v--->%v----->v.Group----->%v\n", wssCont, groupContes, dempCont, compayCont, postCont, i, iInt, isErr, v.Group)
if isErr == nil { if isErr == nil {
iInt = append(iInt, i) iInt = append(iInt, i)
saveData := overallhandle.MapOut() saveData := overallhandle.MapOut()
@ -1587,6 +1602,7 @@ func editInsideWorkHistoryMan(manKeyNum int64, contList []insideHistoryer) {
overall.CONSTANT_DB_HR.Create(&addData) overall.CONSTANT_DB_HR.Create(&addData)
} }
} }
} else { } else {
//不存在集团内部工作经历,进行新政 //不存在集团内部工作经历,进行新政
var addData []models.InsideWorkHistory var addData []models.InsideWorkHistory

148
api/version1/personnelapi/staff.go

@ -23,78 +23,133 @@ func (s *StaffApi) StaffList(c *gin.Context) {
requestData.PageSize = 10 requestData.PageSize = 10
} }
// gormDb := overall.CONSTANT_DB_HR.Model(&models.JobClass{}).Select("").Joins("left join administrative_organization_type as aot on aot.id = administrative_organization.organization_type") // gormDb := overall.CONSTANT_DB_HR.Model(&models.JobClass{}).Select("").Joins("left join administrative_organization_type as aot on aot.id = administrative_organization.organization_type")
var personnelModels models.Personnel // var personnelModels models.Personnel
gormDb := overall.CONSTANT_DB_HR.Table(fmt.Sprintf("%s p", personnelModels.TableName())).Select("p.*,pc.mobilephone,pc.gender,pc.isdoubleworker,pc.isveterans,pc.entrydate,pc.probationperiod,pc.planformaldate").Joins("left join personnel_content as pc on pc.number = p.number") // gormDb := overall.CONSTANT_DB_HR.Table(fmt.Sprintf("%s p", personnelModels.TableName())).Select("p.*,pc.mobilephone,pc.gender,pc.isdoubleworker,pc.isveterans,pc.entrydate,pc.probationperiod,pc.planformaldate").Joins("left join personnel_content as pc on pc.number = p.number")
var personnelModels []models.ManCont
gormDb := overall.CONSTANT_DB_HR.Model(&models.ManCont{})
if requestData.Number != "" { if requestData.Number != "" {
gormDb = gormDb.Where("p.number LIKE ?", "%"+requestData.Number+"%") gormDb = gormDb.Where("`number` LIKE ?", "%"+requestData.Number+"%")
} }
if requestData.Name != "" { if requestData.Name != "" {
gormDb = gormDb.Where("p.name LIKE ?", "%"+requestData.Name+"%") gormDb = gormDb.Where("`name` LIKE ?", "%"+requestData.Name+"%")
} }
if requestData.HireClass != 0 { if requestData.HireClass != 0 {
gormDb = gormDb.Where("p.hire_class = ?", requestData.HireClass) gormDb = gormDb.Where("`hire_class` = ?", requestData.HireClass)
} }
if requestData.Company != 0 { if requestData.Company != 0 {
gormDb = gormDb.Where("p.company = ?", requestData.Company) gormDb = gormDb.Where("`company` = ?", requestData.Company)
} }
// if requestData.Deparment != "" { // if requestData.Deparment != "" {
// gormDb = gormDb.Where("FIND_IN_SET(?,p.`deparment`)", requestData.Deparment) // gormDb = gormDb.Where("FIND_IN_SET(?,p.`deparment`)", requestData.Deparment)
// } // }
if requestData.AdminOrg != 0 { if requestData.AdminOrg != 0 {
gormDb = gormDb.Where("p.admin_org = ?", requestData.AdminOrg) gormDb = gormDb.Where("`admin_org` = ?", requestData.AdminOrg)
} }
if requestData.Position != 0 { if requestData.Position != 0 {
gormDb = gormDb.Where("p.position = ?", requestData.Position) gormDb = gormDb.Where("`position` = ?", requestData.Position)
} }
if requestData.EmpType != 0 { if requestData.EmpType != 0 {
gormDb = gormDb.Where("p.emp_type = ?", requestData.EmpType) gormDb = gormDb.Where("`emp_type` = ?", requestData.EmpType)
} else { } else {
gormDb = gormDb.Where("p.emp_type IN ?", overall.EmployeeStatusIng) gormDb = gormDb.Where("`emp_type` IN ?", overall.EmployeeStatusIng)
} }
if requestData.Role != "" { if requestData.Role != "" {
gormDb = gormDb.Where("FIND_IN_SET(?,p.`role`)", requestData.Role) gormDb = gormDb.Where("FIND_IN_SET(?,`role`)", requestData.Role)
} }
gormDb = gormDb.Where("p.state = 1") gormDb = gormDb.Where("`state` = 1")
var total int64 var total int64
totalErr := gormDb.Count(&total).Error totalErr := gormDb.Count(&total).Error
if totalErr != nil { if totalErr != nil {
total = 0 total = 0
} }
var positionAry []peopleOutList var positionAry []peopleOutList
errGorm := gormDb.Order("p.company ASC,p.deparment ASC,p.admin_org ASC,p.position ASC").Limit(requestData.PageSize).Offset(overallhandle.LimitPage(requestData.Page, requestData.PageSize)).Find(&positionAry).Error errGorm := gormDb.Order("`company` ASC,`maindeparment` ASC,`admin_org` ASC,`position` ASC").Limit(requestData.PageSize).Offset(overallhandle.LimitPage(requestData.Page, requestData.PageSize)).Find(&personnelModels).Error
fmt.Printf("%v\n", positionAry) // fmt.Printf("%v\n", positionAry)
for i, v := range positionAry { for _, v := range personnelModels {
var manInCont peopleOutList
positionAry[i].KeyStr = strconv.FormatInt(positionAry[i].Key, 10) manInCont.Id = v.Id
manInCont.Number = v.Number //员工工号"`
var getSpur models.Position manInCont.Name = v.Name //姓名"`
getWhe := overallhandle.MapOut() manInCont.Icon = v.Icon //头像"`
getWhe["id"] = v.Position manInCont.HireClass = v.HireClass //雇佣类型(1:雇佣入职;2:再入职;)"`
getSpur.GetCont(getWhe, "name") manInCont.EmpType = v.EmpType // 用工关系(1:实习生;2:待分配;3:试用员工;4:正式员工;5:停薪留职;6:退休;7:辞退;8:离职)"`
positionAry[i].PositionName = getSpur.Name manInCont.Company = v.Company //入职公司"`
manInCont.MainDeparment = v.MainDeparment //主部门"`
var getSpurDepart models.AdministrativeOrganization manInCont.SunMainDeparment = v.SunMainDeparment //二级主部门"`
getWheDepart := overallhandle.MapOut() manInCont.Deparment = v.Deparment //部门"`
getWheDepart["id"] = v.Company manInCont.AdminOrg = v.AdminOrg //所属行政组织"`
getSpurDepart.GetCont(getWheDepart, "name") manInCont.TeamId = v.TeamId //班组"`
positionAry[i].CompanyName = getSpurDepart.Name manInCont.Position = v.Position //职位"`
manInCont.JobClass = v.JobClass //职务分类"`
//获取部门 manInCont.JobId = v.JobId //职务"`
departmentAry := strings.Split(v.Deparment, ",") manInCont.JobLeve = v.JobLeve //职务等级"`
if len(departmentAry) > 0 { manInCont.Time = v.Time //写入时间"`
var departCont []getDepartmentInfo manInCont.EiteTime = v.EiteTime //编辑时间"`
departErr := overall.CONSTANT_DB_HR.Model(&models.AdministrativeOrganization{}).Select("id,number,name").Where("`id` IN ?", departmentAry).Order("`organization_type` ASC").Find(&departCont).Error manInCont.Wechat = v.Wechat //微信UserId"`
manInCont.WorkWechat = v.WorkWechat //企业微信UserId"`
if departErr == nil { manInCont.State = v.State //状态(1:启用;2:禁用;3:删除)`
var departNameAry []string manInCont.Key = v.Key //key"`
for _, d_v := range departCont { manInCont.IsAdmin = v.IsAdmin //是否为管理员(1:不是;2:分公司;3:集团管理员;4:超级管`
departNameAry = append(departNameAry, d_v.Name) manInCont.Password = v.Password //密码"`
} manInCont.Role = v.Role //角色"`
if len(departNameAry) > 0 { manInCont.Idcardno = v.Idcardno //身份证号"`
positionAry[i].DeparmentName = strings.Join(departNameAry, " ") manInCont.Passportno = v.Passportno //护照号码"`
} manInCont.Globalroaming = v.Globalroaming //国际区号"`
} manInCont.Mobilephone = v.Mobilephone //手机号码"`
} manInCont.Email = v.Email //电子邮件"`
manInCont.Gender = v.Gender //性别(1:男性;2:女性;3:中性)"`
manInCont.Birthday = v.Birthday //debirthday"`
manInCont.Myfolk = v.Myfolk //民族"`
manInCont.Nativeplace = v.Nativeplace //籍贯"`
manInCont.Idcardstartdate = v.Idcardstartdate //身份证有效期开始"`
manInCont.Idcardenddate = v.Idcardenddate //身份证有效期结束"`
manInCont.Idcardaddress = v.Idcardaddress //身份证地址"`
manInCont.IdcardIssued = v.IdcardIssued //身份证签发机关"`
manInCont.Health = v.Health //健康状况(1:良好;2:一般;3:较弱,4:有生理缺陷;5:残废)"`
manInCont.Maritalstatus = v.Maritalstatus //婚姻状况(1:未婚;2:已婚;3:丧偶;4:离异)"`
manInCont.Internaltelephone = v.Internaltelephone //内线电话"`
manInCont.Currentresidence = v.Currentresidence //现居住地址"`
manInCont.Constellation = v.Constellation //星座(1:白羊座;2:金牛座;3:双子座;4:巨蟹座;5:狮子座;6:处女座;7:天枰座;8:天蝎座;9:射手座;10:摩羯座;11:水瓶座;12:双鱼座)"`
manInCont.Isdoubleworker = v.Isdoubleworker //是否双职工(1:是;2:否)"`
manInCont.Isveterans = v.Isveterans //是否为退役军人(1:是;2:否)"`
manInCont.Veteransnumber = v.Veteransnumber //退役证编号"`
manInCont.Jobstartdate = v.Jobstartdate //参加工作日期"`
manInCont.Entrydate = v.Entrydate //入职日期"`
manInCont.Probationperiod = v.Probationperiod //试用期"`
manInCont.Planformaldate = v.Planformaldate //预计转正日期"`
manInCont.PoliticalOutlook = v.PoliticalOutlook //政治面貌(1:群众;2:无党派;3:台盟会员;4:九三社员;5:致公党员;6:农工党员;7:民进会员;8:民建会员;9:民盟盟员;10:民革会员,11:共青团员;12:预备党员;13:中共党员)"`
// positionAry[i].KeyStr = strconv.FormatInt(positionAry[i].Key, 10)
// var getSpur models.Position
// getWhe := overallhandle.MapOut()
// getWhe["id"] = v.Position
// getSpur.GetCont(getWhe, "name")
// positionAry[i].PositionName = getSpur.Name
// var getSpurDepart models.AdministrativeOrganization
// getWheDepart := overallhandle.MapOut()
// getWheDepart["id"] = v.Company
// getSpurDepart.GetCont(getWheDepart, "name")
// positionAry[i].CompanyName = getSpurDepart.Name
// //获取部门
// departmentAry := strings.Split(v.Deparment, ",")
// if len(departmentAry) > 0 {
// var departCont []getDepartmentInfo
// departErr := overall.CONSTANT_DB_HR.Model(&models.AdministrativeOrganization{}).Select("id,number,name").Where("`id` IN ?", departmentAry).Order("`organization_type` ASC").Find(&departCont).Error
// if departErr == nil {
// var departNameAry []string
// for _, d_v := range departCont {
// departNameAry = append(departNameAry, d_v.Name)
// }
// if len(departNameAry) > 0 {
// positionAry[i].DeparmentName = strings.Join(departNameAry, " ")
// }
// }
// }
} }
if errGorm != nil { if errGorm != nil {
@ -1294,7 +1349,6 @@ func doubleWorkerStaffNoXiecheng(manKeyNum int64, numStr string, dobleMan []Doub
} }
//
func workInsideHistoryLog(manKeyNum int64, num string, workHistoryList []insideHistoryerMy) { func workInsideHistoryLog(manKeyNum int64, num string, workHistoryList []insideHistoryerMy) {
defer synPro.Done() defer synPro.Done()
if len(workHistoryList) > 0 && manKeyNum != 0 { if len(workHistoryList) > 0 && manKeyNum != 0 {

18
api/version1/personnelapi/type.go

@ -37,18 +37,20 @@ type peopleList struct {
// 人员列表输出 // 人员列表输出
type peopleOutList struct { type peopleOutList struct {
models.Personnel models.ManCont
Mobilephone string `json:"mobilephone" gorm:"column:mobilephone;type:varchar(50) unsigned;default:'';not null;comment:手机号码"` // Mobilephone string `json:"mobilephone" gorm:"column:mobilephone;type:varchar(50) unsigned;default:'';not null;comment:手机号码"`
Gender int `json:"gender" gorm:"column:type;gender:tinyint(1) unsigned;default:1;not null;comment:性别(1:男性;2:女性;3:中性)"` // Gender int `json:"gender" gorm:"column:type;gender:tinyint(1) unsigned;default:1;not null;comment:性别(1:男性;2:女性;3:中性)"`
Isdoubleworker int `json:"isdoubleworker" gorm:"column:type;isdoubleworker:tinyint(1) unsigned;default:1;not null;comment:是否双职工(1:是;2:否)"` // Isdoubleworker int `json:"isdoubleworker" gorm:"column:type;isdoubleworker:tinyint(1) unsigned;default:1;not null;comment:是否双职工(1:是;2:否)"`
Isveterans int `json:"isveterans" gorm:"column:type;isveterans:tinyint(1) unsigned;default:1;not null;comment:是否为退役军人(1:是;2:否)"` // Isveterans int `json:"isveterans" gorm:"column:type;isveterans:tinyint(1) unsigned;default:1;not null;comment:是否为退役军人(1:是;2:否)"`
Entrydate int64 `json:"entrydate" gorm:"column:entrydate;type:bigint(20) unsigned;default:0;not null;comment:入职日期"` // Entrydate int64 `json:"entrydate" gorm:"column:entrydate;type:bigint(20) unsigned;default:0;not null;comment:入职日期"`
Probationperiod int64 `json:"probationperiod" gorm:"column:probationperiod;type:int(5) unsigned;default:0;not null;comment:试用期"` // Probationperiod int64 `json:"probationperiod" gorm:"column:probationperiod;type:int(5) unsigned;default:0;not null;comment:试用期"`
Planformaldate int64 `json:"planformaldate" gorm:"column:planformaldate;type:bigint(20) unsigned;default:0;not null;comment:预计转正日期"` // Planformaldate int64 `json:"planformaldate" gorm:"column:planformaldate;type:bigint(20) unsigned;default:0;not null;comment:预计转正日期"`
CompanyName string `json:"companyname"` //公司名称 CompanyName string `json:"companyname"` //公司名称
DeparmentName string `json:"deparmentname"` //部门名称 DeparmentName string `json:"deparmentname"` //部门名称
OrdName string `json:"ordname"` //部门名称
PositionName string `json:"positionname"` //职位 PositionName string `json:"positionname"` //职位
KeyStr string `json:"keystr"` //身份认证 KeyStr string `json:"keystr"` //身份认证
IdStr string `json:"idstr"` //身份认证
} }
type peopleManOutList struct { type peopleManOutList struct {
models.ManCont models.ManCont

Loading…
Cancel
Save