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.
105 lines
2.5 KiB
105 lines
2.5 KiB
package personnelapi
|
|
|
|
import (
|
|
"hr_server/models"
|
|
"hr_server/overall/overallhandle"
|
|
"time"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2022-11-30 14:05:01
|
|
@ 功能:编辑人员行政组织关系
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (s *StaffApi) EditManOrgCont(c *gin.Context) {
|
|
var requestData EditOrgPeople
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
overallhandle.Result(1, err, c, "数据格式错误!")
|
|
return
|
|
}
|
|
if requestData.Id == "" {
|
|
overallhandle.Result(1, requestData, c, "参数错误!请检查后重新提交!")
|
|
return
|
|
}
|
|
if requestData.OrgId <= 0 {
|
|
overallhandle.Result(1, requestData, c, "请选择归属行政组织!")
|
|
return
|
|
}
|
|
if requestData.Position == 0 {
|
|
overallhandle.Result(1, requestData, c, "请选择归属岗位!")
|
|
return
|
|
}
|
|
if requestData.JobId == 0 {
|
|
overallhandle.Result(1, requestData, c, "请选择职务!")
|
|
return
|
|
}
|
|
if requestData.TeamId == 0 {
|
|
overallhandle.Result(1, requestData, c, "请选择班组!")
|
|
return
|
|
}
|
|
if requestData.JobLeve == 0 {
|
|
requestData.JobLeve = 3
|
|
}
|
|
wher := map[string]interface{}{"`id`": requestData.Id}
|
|
var myCont models.PersonArchives
|
|
err = myCont.GetCont(wher, "`id`", "`admin_org`", "`position`", "`job_id`", "`job_leve`", "`teamid`")
|
|
if err != nil {
|
|
overallhandle.Result(1, err, c, "没有该人员信息!")
|
|
return
|
|
}
|
|
saveData := overallhandle.MapOut()
|
|
if requestData.OrgId != myCont.AdminOrg {
|
|
_, companyId, departmentId, sunDepartId, _ := overallhandle.GetOrgStructure(requestData.OrgId)
|
|
if companyId != 0 {
|
|
saveData["company"] = companyId
|
|
}
|
|
if departmentId != 0 {
|
|
saveData["maindeparment"] = departmentId
|
|
}
|
|
if sunDepartId != 0 {
|
|
saveData["sun_main_deparment"] = sunDepartId
|
|
}
|
|
saveData["admin_org"] = requestData.OrgId
|
|
}
|
|
if requestData.Position != myCont.Position {
|
|
saveData["position"] = requestData.Position
|
|
}
|
|
if requestData.JobId != myCont.JobId {
|
|
var jobCont models.DutiesClassLeve
|
|
jobCont.GetCont(map[string]interface{}{"`d_id`": requestData.Id}, "`c_id`")
|
|
saveData["job_class"] = jobCont.ClassId
|
|
saveData["job_id"] = requestData.JobId
|
|
}
|
|
if requestData.JobLeve != myCont.JobLeve {
|
|
saveData["job_leve"] = requestData.JobLeve
|
|
}
|
|
if requestData.TeamId != myCont.TeamId {
|
|
saveData["teamid"] = requestData.TeamId
|
|
}
|
|
if len(saveData) < 1 {
|
|
overallhandle.Result(0, saveData, c)
|
|
return
|
|
}
|
|
saveData["eite_time"] = time.Now().Unix()
|
|
err = myCont.EiteCont(wher, saveData)
|
|
if err != nil {
|
|
overallhandle.Result(106, err, c)
|
|
return
|
|
}
|
|
overallhandle.Result(0, err, c)
|
|
}
|
|
|