Browse Source

修改获取人员列表

v2_dev
超级管理员 3 years ago
parent
commit
3bb8f953c9
  1. 97
      api/version1/personnelapi/staff.go
  2. 9
      api/version1/personnelapi/type.go
  3. 2
      apirouter/personnel/people.go

97
api/version1/personnelapi/staff.go

@ -26,36 +26,64 @@ func (s *StaffApi) StaffList(c *gin.Context) {
// 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")
//SELECT * FROM `man_cont` WHERE `position` = 727 AND `emp_type` IN (1,2,3,4,5,6,7,8,9,10) AND `state` = 1 ORDER BY `company` ASC,`maindeparment` ASC,`admin_org` ASC,`position` ASC LIMIT 20
// sqlStrList := "SELECT * FROM `man_cont`"
// sqlStrCount := "SELECT count(*) FROM `man_cont`"
sqlStr := "WHERE `state` = 1"
var personnelModels []models.ManCont var personnelModels []models.ManCont
gormDb := overall.CONSTANT_DB_HR.Model(&models.ManCont{}) gormDb := overall.CONSTANT_DB_HR.Model(&models.ManCont{})
if requestData.Number != "" { if requestData.Number != "" {
gormDb = gormDb.Where("`number` LIKE ?", "%"+requestData.Number+"%") gormDb = gormDb.Where("`number` LIKE ?", "%"+requestData.Number+"%")
sqlStr = fmt.Sprintf("%v AND `number` LIKE %v", sqlStr, requestData.Number)
} }
if requestData.Name != "" { if requestData.Name != "" {
gormDb = gormDb.Where("`name` LIKE ?", "%"+requestData.Name+"%") gormDb = gormDb.Where("`name` LIKE ?", "%"+requestData.Name+"%")
sqlStr = fmt.Sprintf("%v AND `name` LIKE %v", sqlStr, requestData.Name)
} }
if requestData.HireClass != 0 { if requestData.HireClass != 0 {
gormDb = gormDb.Where("`hire_class` = ?", requestData.HireClass) gormDb = gormDb.Where("`hire_class` = ?", requestData.HireClass)
sqlStr = fmt.Sprintf("%v AND `hire_class` = %v", sqlStr, requestData.HireClass)
} }
if requestData.Company != 0 { if requestData.Company != 0 {
gormDb = gormDb.Where("`company` = ?", requestData.Company) gormDb = gormDb.Where("`company` = ?", requestData.Company)
sqlStr = fmt.Sprintf("%v AND `company` = %v", sqlStr, requestData.Company)
}
if requestData.Deparment != "" {
gormDb = gormDb.Where("FIND_IN_SET(?,p.`deparment`)", requestData.Deparment)
sqlStr = fmt.Sprintf("%v AND `maindeparment` = %v", sqlStr, requestData.Deparment)
} }
// if requestData.Deparment != "" {
// gormDb = gormDb.Where("FIND_IN_SET(?,p.`deparment`)", requestData.Deparment)
// }
if requestData.AdminOrg != 0 { if requestData.AdminOrg != 0 {
gormDb = gormDb.Where("`admin_org` = ?", requestData.AdminOrg) gormDb = gormDb.Where("`admin_org` = ?", requestData.AdminOrg)
sqlStr = fmt.Sprintf("%v AND `admin_org` = %v", sqlStr, requestData.AdminOrg)
} }
if requestData.Position != 0 { if requestData.Position != 0 {
gormDb = gormDb.Where("`position` = ?", requestData.Position) gormDb = gormDb.Where("`position` = ?", requestData.Position)
sqlStr = fmt.Sprintf("%v AND `position` = %v", sqlStr, requestData.Position)
} }
if requestData.EmpType != 0 { if requestData.EmpType != 0 {
gormDb = gormDb.Where("`emp_type` = ?", requestData.EmpType) gormDb = gormDb.Where("`emp_type` = ?", requestData.EmpType)
sqlStr = fmt.Sprintf("%v AND `emp_type` = %v", sqlStr, requestData.EmpType)
} else { } else {
gormDb = gormDb.Where("`emp_type` IN ?", overall.EmployeeStatusIng) // gormDb = gormDb.Where("`emp_type` IN ?", overall.EmployeeStatusIng)
gormDb = gormDb.Where("`emp_type` BETWEEN ? AND ?", 1, 10)
if len(overall.EmployeeStatusIng) > 0 {
var empId []string
for i := 0; i < len(overall.EmployeeStatusIng); i++ {
overEmpId := strconv.Itoa(overall.EmployeeStatusIng[i])
if overallhandle.IsInTrue[string](overEmpId, empId) == false {
empId = append(empId, overEmpId)
}
}
sqlStr = fmt.Sprintf("%v AND `emp_type` IN (%v)", sqlStr, strings.Join(empId, ","))
}
} }
if requestData.Role != "" { if requestData.Role != "" {
gormDb = gormDb.Where("FIND_IN_SET(?,`role`)", requestData.Role) gormDb = gormDb.Where("FIND_IN_SET(?,`role`)", requestData.Role)
sqlStr = fmt.Sprintf("%v AND FIND_IN_SET(%v,`role`)", sqlStr, requestData.Role)
} }
gormDb = gormDb.Where("`state` = 1") gormDb = gormDb.Where("`state` = 1")
var total int64 var total int64
@ -65,7 +93,16 @@ func (s *StaffApi) StaffList(c *gin.Context) {
} }
var positionAry []peopleOutList var positionAry []peopleOutList
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 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)
//原生查询
// selectSqlStr := fmt.Sprintf("%v %v", sqlStrList, sqlStr)
// selectSqlStrCount := fmt.Sprintf("%v %v", sqlStrCount, sqlStr)
// errGorm := overall.CONSTANT_DB_HR.Raw(selectSqlStr).Scan(&personnelModels).Error
// totalErr := overall.CONSTANT_DB_HR.Raw(selectSqlStrCount).Scan(&total).Error
// if totalErr != nil {
// total = 0
// }
// fmt.Printf("personnelModels-------------------->%v---------------->%v---------------->%v\n", total, totalErr, personnelModels)
for _, v := range personnelModels { for _, v := range personnelModels {
var manInCont peopleOutList var manInCont peopleOutList
manInCont.Id = v.Id manInCont.Id = v.Id
@ -150,7 +187,7 @@ func (s *StaffApi) StaffList(c *gin.Context) {
// } // }
// } // }
// } // }
positionAry = append(positionAry, manInCont)
} }
if errGorm != nil { if errGorm != nil {
overallhandle.Result(105, errGorm, c) overallhandle.Result(105, errGorm, c)
@ -1386,3 +1423,51 @@ func workInsideHistoryLog(manKeyNum int64, num string, workHistoryList []insideH
} }
} }
} }
// 修改密码
func (s *StaffApi) EditPassWord(c *gin.Context) {
var requestData editPws
err := c.ShouldBindJSON(&requestData)
if err != nil {
overallhandle.Result(1, err, c, "数据格式不正确!")
return
}
if requestData.Id == "" {
overallhandle.Result(1, err, c, "未知用户ID")
return
}
if requestData.Pwd == "" {
overallhandle.Result(1, err, c, "请输入密码!")
return
}
if requestData.Pwdes == "" {
overallhandle.Result(1, err, c, "请确认密码")
return
}
if requestData.Pwd != requestData.Pwdes {
overallhandle.Result(1, err, c, "您两次输入的密码不一致!")
return
}
//员工档案主
var staffInfo models.PersonArchives
//判断工号是存在
whereAry := overallhandle.MapOut()
whereAry["`key`"] = requestData.Id
if judgeNoErr := staffInfo.GetCont(whereAry, "`key`"); judgeNoErr == nil {
overallhandle.Result(1, requestData, c, "该工号已经被使用!请不要重复使用!")
return
}
//密码加密
var passwordMd5 overallhandle.Md5Encryption
passwordMd5.Md5EncryptionInit(requestData.Pwdes)
passwordMd5Str := passwordMd5.Md5EncryptionAlgorithm()
saveDate := overallhandle.MapOut()
saveDate["`password`"] = passwordMd5Str
saveDate["`eite_time`"] = time.Now().Unix()
err = staffInfo.EiteCont(whereAry, saveDate)
if err != nil {
overallhandle.Result(1, err, c, "修改失败!")
return
}
overallhandle.Result(0, err, c, "修改成功!")
}

9
api/version1/personnelapi/type.go

@ -28,7 +28,7 @@ type peopleList struct {
Name string `json:"name"` //name Name string `json:"name"` //name
HireClass int `json:"hireclass"` //雇佣类型 HireClass int `json:"hireclass"` //雇佣类型
Company int64 `json:"company"` //公司 Company int64 `json:"company"` //公司
// Deparment string `json:"deparment"` //部门 Deparment string `json:"deparment"` //部门
AdminOrg int64 `json:"adminorg"` //所属行政组织 AdminOrg int64 `json:"adminorg"` //所属行政组织
Position int64 `json:"position"` //职位 Position int64 `json:"position"` //职位
EmpType int `json:"emptype"` //用工关系(1:实习生;2:待分配;3:试用员工;4:正式员工;5:停薪留职;6:退休;7:辞退;8:离职) EmpType int `json:"emptype"` //用工关系(1:实习生;2:待分配;3:试用员工;4:正式员工;5:停薪留职;6:退休;7:辞退;8:离职)
@ -451,3 +451,10 @@ type eidtInsideHistoryWork struct {
Id string `json:"id"` Id string `json:"id"`
insideHistoryerMy insideHistoryerMy
} }
// 修改密码
type editPws struct {
Id string `json:"id"`
Pwd string `json:"pwd"`
Pwdes string `json:"pwdes"`
}

2
apirouter/personnel/people.go

@ -19,6 +19,7 @@ func (p *PersonnelRoute) InitRouterGroup(route *gin.RouterGroup) {
apiRouter.POST("archiveslist", apiHandle.ArchivesList) //人员列表(新) apiRouter.POST("archiveslist", apiHandle.ArchivesList) //人员列表(新)
apiRouter.POST("archivescont", apiHandle.ArchivesCon) //个人档案 apiRouter.POST("archivescont", apiHandle.ArchivesCon) //个人档案
apiRouter.POST("kingdeehr", apiHandle.NewKingdee) //对接金蝶HR系统 apiRouter.POST("kingdeehr", apiHandle.NewKingdee) //对接金蝶HR系统
apiRouter.POST("editpassword", apiHandle.EditPassWord) //修改密码
//双职工 //双职工
apiRouter.POST("doubleworkerlist", apiHandle.DoubleWorkerList) //双职工列表 apiRouter.POST("doubleworkerlist", apiHandle.DoubleWorkerList) //双职工列表
apiRouter.POST("adddoubleworker", apiHandle.AddDoubleWorkerApi) //添加双职工 apiRouter.POST("adddoubleworker", apiHandle.AddDoubleWorkerApi) //添加双职工
@ -67,6 +68,7 @@ func (p *PersonnelRouteKingdee) InitRouterGroup(route *gin.RouterGroup) {
apiRouter.POST("archiveslist", apiHandle.ArchivesList) //人员列表(新) apiRouter.POST("archiveslist", apiHandle.ArchivesList) //人员列表(新)
apiRouter.POST("archivescont", apiHandle.ArchivesCon) //个人档案 apiRouter.POST("archivescont", apiHandle.ArchivesCon) //个人档案
apiRouter.POST("kingdeehr", apiHandle.NewKingdee) //对接金蝶HR系统 apiRouter.POST("kingdeehr", apiHandle.NewKingdee) //对接金蝶HR系统
apiRouter.POST("editpassword", apiHandle.EditPassWord) //修改密码
//双职工 //双职工
apiRouter.POST("adddoubleworker", apiHandle.AddDoubleWorkerApi) //添加双职工 apiRouter.POST("adddoubleworker", apiHandle.AddDoubleWorkerApi) //添加双职工
apiRouter.POST("eidtdoubleworker", apiHandle.EidtDoubleWorkerApi) //编辑双职工 apiRouter.POST("eidtdoubleworker", apiHandle.EidtDoubleWorkerApi) //编辑双职工

Loading…
Cancel
Save