30 changed files with 2187 additions and 223 deletions
@ -0,0 +1,184 @@ |
|||
package administrativeorganization |
|||
|
|||
import ( |
|||
"hr_server/models" |
|||
"hr_server/overall" |
|||
"hr_server/overall/overallhandle" |
|||
"time" |
|||
|
|||
"github.com/gin-gonic/gin" |
|||
) |
|||
|
|||
//获取班组内容
|
|||
func (o *OrganizationApi) GetTeamCont(c *gin.Context) { |
|||
var requestData overallhandle.GetId |
|||
err := c.ShouldBindJSON(&requestData) |
|||
if err != nil { |
|||
overallhandle.Result(100, requestData, c) |
|||
return |
|||
} |
|||
if requestData.IdStr == "" { |
|||
overallhandle.Result(101, requestData, c) |
|||
return |
|||
} |
|||
var getTeamCont models.TeamGroup |
|||
getErr := getTeamCont.GetCont(map[string]interface{}{"`id`": requestData.IdStr}) |
|||
if getErr != nil { |
|||
overallhandle.Result(105, getErr, c) |
|||
return |
|||
} |
|||
overallhandle.Result(0, getTeamCont, c) |
|||
} |
|||
|
|||
//添加班组
|
|||
func (o *OrganizationApi) AddTeamCont(c *gin.Context) { |
|||
var requestData NameVal |
|||
err := c.ShouldBindJSON(&requestData) |
|||
if err != nil { |
|||
overallhandle.Result(100, requestData, c) |
|||
return |
|||
} |
|||
if requestData.Name == "" { |
|||
overallhandle.Result(101, requestData, c) |
|||
return |
|||
} |
|||
var teamCont models.TeamGroup |
|||
errTeam := teamCont.GetCont(map[string]interface{}{"`name`": requestData.Name}) |
|||
if errTeam == nil { |
|||
overallhandle.Result(103, teamCont, c) |
|||
return |
|||
} |
|||
var saveData models.TeamGroup |
|||
saveData.Name = requestData.Name |
|||
saveData.State = 1 |
|||
saveData.Time = time.Now().Unix() |
|||
saveErr := overall.CONSTANT_DB_HR.Create(&saveData).Error |
|||
if saveErr == nil { |
|||
overallhandle.Result(0, saveData, c) |
|||
} else { |
|||
overallhandle.Result(104, saveData, c) |
|||
} |
|||
} |
|||
|
|||
//编辑班组
|
|||
func (o *OrganizationApi) EiteTeamCont(c *gin.Context) { |
|||
var requestData eidtTeamCont |
|||
err := c.ShouldBindJSON(&requestData) |
|||
if err != nil { |
|||
overallhandle.Result(100, requestData, c) |
|||
return |
|||
} |
|||
if requestData.Id == "" { |
|||
overallhandle.Result(101, requestData, c) |
|||
return |
|||
} |
|||
if requestData.Name == "" { |
|||
overallhandle.Result(101, requestData, c) |
|||
return |
|||
} |
|||
var getTeamCont models.TeamGroup |
|||
getErr := getTeamCont.GetCont(map[string]interface{}{"`id`": requestData.Id}) |
|||
if getErr != nil { |
|||
overallhandle.Result(105, getErr, c) |
|||
return |
|||
} |
|||
if getTeamCont.Name != requestData.Name { |
|||
var teamCont models.TeamGroup |
|||
errTeam := teamCont.GetCont(map[string]interface{}{"`name`": requestData.Name}) |
|||
if errTeam == nil { |
|||
overallhandle.Result(103, teamCont, c) |
|||
return |
|||
} |
|||
eidtCont := overallhandle.MapOut() |
|||
eidtCont["name"] = requestData.Name |
|||
eidtCont["time"] = time.Now().Unix() |
|||
eidtErr := getTeamCont.EiteTeamGroupCont(map[string]interface{}{"`id`": requestData.Id}, eidtCont) |
|||
if eidtErr == nil { |
|||
overallhandle.Result(0, eidtCont, c) |
|||
} else { |
|||
overallhandle.Result(106, eidtErr, c) |
|||
} |
|||
} else { |
|||
overallhandle.Result(0, getTeamCont, c) |
|||
} |
|||
} |
|||
|
|||
//编辑状态与删除班组
|
|||
func (o *OrganizationApi) EidtDelTeamCont(c *gin.Context) { |
|||
var requestData EiteJobStateDel |
|||
err := c.ShouldBindJSON(&requestData) |
|||
if err != nil { |
|||
overallhandle.Result(100, requestData, c) |
|||
return |
|||
} |
|||
if requestData.IdStr == "" { |
|||
overallhandle.Result(101, requestData, c) |
|||
return |
|||
} |
|||
if requestData.State == 0 { |
|||
requestData.State = 1 |
|||
} |
|||
if requestData.IsTrue == 0 { |
|||
requestData.IsTrue = 2 |
|||
} |
|||
var getTeamCont models.TeamGroup |
|||
getErr := getTeamCont.GetCont(map[string]interface{}{"`id`": requestData.IdStr}) |
|||
if getErr != nil { |
|||
overallhandle.Result(105, getErr, c) |
|||
return |
|||
} |
|||
whereAry := overallhandle.MapOut() |
|||
whereAry["id"] = requestData.IdStr |
|||
saveData := overallhandle.MapOut() |
|||
saveData["time"] = time.Now().Unix() |
|||
saveData["state"] = requestData.State |
|||
|
|||
if requestData.State != 3 { |
|||
eiteErr := getTeamCont.EiteTeamGroupCont(whereAry, saveData) |
|||
if eiteErr != nil { |
|||
overallhandle.Result(106, eiteErr, c) |
|||
} else { |
|||
overallhandle.Result(0, saveData, c) |
|||
} |
|||
} else { |
|||
if requestData.IsTrue != 1 { |
|||
//软删除
|
|||
eiteErr := getTeamCont.EiteTeamGroupCont(whereAry, saveData) |
|||
if eiteErr != nil { |
|||
overallhandle.Result(106, eiteErr, c) |
|||
} else { |
|||
overallhandle.Result(0, saveData, c) |
|||
} |
|||
} else { |
|||
//硬删除
|
|||
delErr := overall.CONSTANT_DB_HR.Where(whereAry).Delete(&getTeamCont) |
|||
if delErr == nil { |
|||
overallhandle.Result(0, saveData, c) |
|||
} else { |
|||
overallhandle.Result(108, delErr, c) |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
//班组列表
|
|||
func (o *OrganizationApi) TeamContList(c *gin.Context) { |
|||
var requestData JobClassPageSelect |
|||
c.ShouldBindJSON(&requestData) |
|||
gormDb := overall.CONSTANT_DB_HR.Model(&models.TeamGroup{}).Where("`state` = 1") |
|||
if requestData.Name != "" { |
|||
gormDb = gormDb.Where("`name` LIKE ?", "%"+requestData.Name+"%") |
|||
} |
|||
var total int64 |
|||
totalErr := gormDb.Count(&total).Error |
|||
if totalErr != nil { |
|||
total = 0 |
|||
} |
|||
var teamList []models.TeamGroup |
|||
err := gormDb.Limit(requestData.PageSize).Offset(overallhandle.LimitPage(requestData.Page, requestData.PageSize)).Find(&teamList).Error |
|||
if err != nil { |
|||
overallhandle.Result(105, err, c) |
|||
} else { |
|||
overallhandle.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(teamList)), teamList, c) |
|||
} |
|||
} |
|||
@ -0,0 +1,281 @@ |
|||
package personnelapi |
|||
|
|||
//用工关系转换
|
|||
//1:实习生;2:待分配;3:试用员工;4:正式员工;5:停薪留职;6:退休;7:辞退;8:离职
|
|||
func emptypeToInt(emp string) int { |
|||
switch emp { |
|||
case "实习生": |
|||
return 1 |
|||
case "待分配": |
|||
return 2 |
|||
case "试用员工": |
|||
return 3 |
|||
case "正式员工": |
|||
return 4 |
|||
case "停薪留职": |
|||
return 5 |
|||
case "退休": |
|||
return 6 |
|||
case "辞退": |
|||
return 7 |
|||
case "离职": |
|||
return 8 |
|||
default: |
|||
return 1 |
|||
} |
|||
} |
|||
|
|||
//雇佣类型转换
|
|||
//雇佣类型(1:雇佣入职;2:再入职;3:返聘)
|
|||
func hireTypeToInt(hir string) int { |
|||
switch hir { |
|||
case "雇佣入职": |
|||
return 1 |
|||
case "再入职": |
|||
return 2 |
|||
case "返聘": |
|||
return 3 |
|||
default: |
|||
return 1 |
|||
} |
|||
} |
|||
|
|||
/* |
|||
婚姻状态 |
|||
婚姻状况(1:未婚;2:已婚;3:丧偶;4:离异) |
|||
*/ |
|||
func maritalstatusToInt(name string) int { |
|||
switch name { |
|||
case "未婚": |
|||
return 1 |
|||
case "已婚": |
|||
return 2 |
|||
case "丧偶": |
|||
return 3 |
|||
case "离异": |
|||
return 4 |
|||
default: |
|||
return 1 |
|||
} |
|||
} |
|||
|
|||
/* |
|||
星座 |
|||
(1:白羊座;2:金牛座;3:双子座;4:巨蟹座;5:狮子座;6:处女座;7:天枰座;8:天蝎座;9:射手座;10:摩羯座;11:水瓶座;12:双鱼座) |
|||
*/ |
|||
|
|||
func consteToInt(emp string) int { |
|||
switch emp { |
|||
case "白羊座": |
|||
return 1 |
|||
case "金牛座": |
|||
return 2 |
|||
case "双子座": |
|||
return 3 |
|||
case "巨蟹座": |
|||
return 4 |
|||
case "狮子座": |
|||
return 5 |
|||
case "处女座": |
|||
return 6 |
|||
case "天枰座": |
|||
return 7 |
|||
case "天蝎座": |
|||
return 8 |
|||
case "射手座": |
|||
return 9 |
|||
case "摩羯座": |
|||
return 10 |
|||
case "水瓶座": |
|||
return 11 |
|||
case "双鱼座": |
|||
return 12 |
|||
default: |
|||
return 1 |
|||
} |
|||
} |
|||
|
|||
/* |
|||
政治面貌 |
|||
(1:群众; 2:无党派;3:台盟会员;4:九三社员;5:致公党员;6:农工党员;7:民进会员;8:民建会员;9:民盟盟员;10:民革会员,11:共青团员;12:预备党员;13:中共党员) |
|||
*/ |
|||
func politiToInt(emp string) int { |
|||
switch emp { |
|||
case "群众": |
|||
return 1 |
|||
case "无党派": |
|||
return 2 |
|||
case "台盟会员": |
|||
return 3 |
|||
case "九三社员": |
|||
return 4 |
|||
case "致公党员": |
|||
return 5 |
|||
case "农工党员": |
|||
return 6 |
|||
case "民进会员": |
|||
return 7 |
|||
case "民建会员": |
|||
return 8 |
|||
case "民盟盟员": |
|||
return 9 |
|||
case "民革会员": |
|||
return 10 |
|||
case "共青团员": |
|||
return 11 |
|||
case "预备党员": |
|||
return 12 |
|||
case "中共党员": |
|||
return 13 |
|||
default: |
|||
return 1 |
|||
} |
|||
} |
|||
|
|||
/* |
|||
性别 |
|||
(1:男性;2:女性;3:中性) |
|||
*/ |
|||
func genderToInt(name string) int { |
|||
switch name { |
|||
case "男": |
|||
return 1 |
|||
case "女": |
|||
return 2 |
|||
case "中性": |
|||
return 3 |
|||
case "男性": |
|||
return 1 |
|||
case "女性": |
|||
return 2 |
|||
default: |
|||
return 1 |
|||
} |
|||
} |
|||
|
|||
/* |
|||
健康状况 |
|||
(1:良好;2:一般;3:较弱,4:有生理缺陷;5:残废) |
|||
*/ |
|||
func healthToInt(name string) int { |
|||
switch name { |
|||
case "良好": |
|||
return 1 |
|||
case "一般": |
|||
return 2 |
|||
case "较弱": |
|||
return 3 |
|||
case "有生理缺陷": |
|||
return 4 |
|||
case "残废": |
|||
return 5 |
|||
default: |
|||
return 2 |
|||
} |
|||
} |
|||
|
|||
/* |
|||
健康状况 |
|||
(1:主职;2:兼职) |
|||
*/ |
|||
func assignTypeToInt(name string) int { |
|||
switch name { |
|||
case "主职": |
|||
return 1 |
|||
default: |
|||
return 2 |
|||
} |
|||
} |
|||
|
|||
/* |
|||
变动类型 |
|||
(1:预入职;2:雇佣入职;3:转正;4:晋升;5:降级;6:职等调整;7:调动调入;8:跨公司调动调入;9:借调;10:平调;11:兼职;12:预离职;13:离职;14:退休;15:返聘;16:员工初始化;) |
|||
*/ |
|||
func changeTypeToInt(emp string) int { |
|||
switch emp { |
|||
case "预入职": |
|||
return 1 |
|||
case "雇佣入职": |
|||
return 2 |
|||
case "转正": |
|||
return 3 |
|||
case "晋升": |
|||
return 4 |
|||
case "降级": |
|||
return 5 |
|||
case "职等调整": |
|||
return 6 |
|||
case "调动调入": |
|||
return 7 |
|||
case "跨公司调动调入": |
|||
return 8 |
|||
case "借调": |
|||
return 9 |
|||
case "平调": |
|||
return 10 |
|||
case "兼职": |
|||
return 11 |
|||
case "预离职": |
|||
return 12 |
|||
case "离职": |
|||
return 13 |
|||
case "退休": |
|||
return 14 |
|||
case "返聘": |
|||
return 15 |
|||
case "员工初始化": |
|||
return 16 |
|||
default: |
|||
return 1 |
|||
} |
|||
} |
|||
|
|||
/* |
|||
学历 |
|||
(1:初中及以下;2:中专;3:高中;4:中技;5:高技;6:函数专科;7:大学专科;8:函数本科;9:大学本科;10:硕士研究生;11:博士研究生;12:专家、教授) |
|||
*/ |
|||
|
|||
func ducationToInt(emp string) int { |
|||
switch emp { |
|||
case "初中及以下": |
|||
return 1 |
|||
case "中专": |
|||
return 2 |
|||
case "高中": |
|||
return 3 |
|||
case "中技": |
|||
return 4 |
|||
case "高技": |
|||
return 5 |
|||
case "函数专科": |
|||
return 6 |
|||
case "大学专科": |
|||
return 7 |
|||
case "函数本科": |
|||
return 8 |
|||
case "大学本科": |
|||
return 9 |
|||
case "硕士研究生": |
|||
return 10 |
|||
case "博士研究生": |
|||
return 11 |
|||
case "专家、教授": |
|||
return 12 |
|||
default: |
|||
return 1 |
|||
} |
|||
} |
|||
|
|||
//学位(0:无;1:学士;2:硕士;3:博士)int
|
|||
func hestacademicdegreeToInt(hir string) int { |
|||
switch hir { |
|||
case "学士": |
|||
return 1 |
|||
case "硕士": |
|||
return 2 |
|||
case "博士": |
|||
return 3 |
|||
default: |
|||
return 0 |
|||
} |
|||
} |
|||
@ -0,0 +1,113 @@ |
|||
package personnelapi |
|||
|
|||
//添加员工参数
|
|||
type addKingdeePersonneles struct { |
|||
Number string `json:"fnumber"` //工号1
|
|||
Name string `json:"name"` //姓名1
|
|||
Icon string `json:"icon"` //头像
|
|||
HireType string `json:"hiretype"` //1雇佣类型(1:雇佣入职;2:再入职;3:返聘)int
|
|||
EmpType string `json:"emptype"` //用工关系(1:实习生;2:待分配;3:试用员工;4:正式员工;5:停薪留职;6:退休;7:辞退;8:离职) int
|
|||
|
|||
Company string `json:"company"` //公司
|
|||
MainDepartment string `json:"maindepartment"` //主部门
|
|||
Department []string `json:"department"` //分厂(部室)
|
|||
AdminOrg string `json:"adminorg"` //工段
|
|||
|
|||
Position string `json:"fposition"` //职位(岗位)1
|
|||
JobName string `json:"jobname"` //职务
|
|||
PositionGrade string `json:"positiongrade"` //入职等级 int64
|
|||
//员工副表
|
|||
Passportno string `json:"passportno"` //护照号码
|
|||
Globalroaming string `json:"globalroaming"` //国际区号
|
|||
IDCardNo string `json:"idcardno"` //身份证号码
|
|||
IDCardStartTime string `json:"idcardstartdate"` //身份证有效期开始
|
|||
IDCardEndTime string `json:"idcardenddate"` //身份证有效期结束
|
|||
IDCardAddress string `json:"idcardaddress"` //身份证地址
|
|||
IDCardIsSued string `json:"idcardissued"` //身份证签发机关
|
|||
Mobilephone string `json:"mobilephone"` //联系电话
|
|||
Email string `json:"email"` //电子邮件
|
|||
Gender string `json:"gender"` //性别 int
|
|||
Birthday string `json:"birthday"` //生日
|
|||
Nation string `json:"nation"` //民族
|
|||
NativePlace string `json:"nativeplace"` //籍贯
|
|||
Health string `json:"health"` //健康状况(1:良好;2:一般;3:较弱,4:有生理缺陷;5:残废 int
|
|||
Maritalstatus string `json:"maritalstatus"` //婚姻状况(1:未婚;2:已婚;3:丧偶;4:离异) int
|
|||
CurrentResidence string `json:"currentresidence"` //现居地
|
|||
WorkingDate string `json:"workingdate"` //参加工作日期
|
|||
EntryDate string `json:"entrydate"` //入职日期
|
|||
ProbationPeriod string `json:"probationperiod"` //试用期(月)int
|
|||
ConfirmationDate string `json:"confirmationdate"` //转正日期
|
|||
|
|||
Constellation string `json:"constellation"` //星座(1:白羊座;2:金牛座;3:双子座;4:巨蟹座;5:狮子座;6:处女座;7:天枰座;8:天蝎座;9:射手座;10:摩羯座;11:水瓶座;12:双鱼座) int
|
|||
PoliticalOutlook string `json:"politicaloutlook"` //政治面貌(1:群众; 2:无党派;3:台盟会员;4:九三社员;5:致公党员;6:农工党员;7:民进会员;8:民建会员;9:民盟盟员;10:民革会员,11:共青团员;12:预备党员;13:中共党员) int
|
|||
|
|||
//退役军人
|
|||
Isveterans string `json:"isveterans"` //是否为退役军人(1:是;2:否) int
|
|||
Veteransnumber string `json:"veteransnumber"` //退役证编号
|
|||
//双职工表
|
|||
//是否为双职工
|
|||
Iisdoubleworker string `json:"isdoubleworker"` //是否双职工(1:是;2:否) int
|
|||
SpouseName string `json:"spousename"` //配偶姓名
|
|||
SpouseCompany string `json:"spousecompany"` //配偶所在公司
|
|||
SpouseDepartment string `json:"spousedepartment"` //配偶所在部门
|
|||
SpousePosition string `json:"spouseposition"` //配偶所在岗位
|
|||
SpouseTel string `json:"spousetel"` //配偶联系方式
|
|||
//教育经历表
|
|||
//最高学历
|
|||
HighestGraduationSchool string `json:"highestschool"` //毕业学校
|
|||
HighestEducation string `json:"highesteducation"` //学历(1:初中及以下;2:中专;3:高中;4:中技;5:高技;6:函数专科;7:大学专科;8:函数本科;9:大学本科;10:硕士研究生;11:博士研究生;12:专家、教授)int
|
|||
HighestSubject string `json:"highestsubject"` //专业
|
|||
HighestAdmissionTime string `json:"highestadmissiontime"` //入学时间
|
|||
HighestGraduationTime string `json:"highestgraduationtime"` //毕业时间
|
|||
HighestAcademicDegree string `json:"highestacademicdegree"` //学位(0:无;1:学士;2:硕士;3:博士)int
|
|||
//第一学历
|
|||
FirstGraduationSchool string `json:"firstschool"` //毕业学校
|
|||
FirstEducation string `json:"firsteducation"` //学历(1:初中及以下;2:中专;3:高中;4:中技;5:高技;6:函数专科;7:大学专科;8:函数本科;9:大学本科;10:硕士研究生;11:博士研究生;12:专家、教授)int
|
|||
FirstSubject string `json:"firstsubject"` //专业
|
|||
FirstAdmissionTime string `json:"firstadmissiontime"` //入学时间
|
|||
FirstGraduationTime string `json:"firstgraduationtime"` //毕业时间
|
|||
FirstAcademicDegree string `json:"firstacademicdegree"` //学位(0:无;1:学士;2:硕士;3:博士)int
|
|||
|
|||
//紧急联系人表
|
|||
//紧急联系人一
|
|||
UrgentNameOne string `json:"urgentnameone"` //姓名
|
|||
UrgentRelationshipOne string `json:"urgentrelationshipone"` //与紧急联系人
|
|||
UrgentMobilephoneOne string `json:"urgentmobilephoneone"` //联系电话
|
|||
|
|||
//紧急联系人二
|
|||
UrgentNameTwo string `json:"urgentnametwo"` //姓名
|
|||
UrgentRelationshipTwo string `json:"urgentrelationshiptwo"` //与紧急联系人
|
|||
UrgentMobilephoneTwo string `json:"urgentmobilephonetwo"` //联系电话
|
|||
//员工家属表
|
|||
MemberOfFamily []memberOfFamilyes `json:"memberoffamily"` //家庭成员
|
|||
//集团外工作履历
|
|||
WorkHistoryList []workHistoryAry `json:"workhistorylist"` //工作履历
|
|||
//集团内工作履历
|
|||
InsideWorkHistory []insideHistoryer `json:"insideworkhistory"` //工作履历
|
|||
} |
|||
|
|||
//家庭成员
|
|||
type memberOfFamilyes struct { |
|||
emergencyContact |
|||
Company string `json:"company"` //公司
|
|||
Department string `json:"department"` //分厂(部室)
|
|||
Position string `json:"fposition"` //职位(岗位)
|
|||
PoliticalOutlook string `json:"politicaloutlook"` //政治面貌(1:群众;2:无党派;3:台盟会员;4:九三社员;5:致公党员;6:农工党员;7:民进会员;8:民建会员;9:民盟盟员;10:民革会员,11:共青团员;12:预备党员;13:中共党员) int
|
|||
IdStr string `json:"idstr"` |
|||
} |
|||
|
|||
//集团内部工作履历
|
|||
type insideHistoryer struct { |
|||
Group string `json:"group"` //集团
|
|||
Company string `json:"company"` //公司
|
|||
Department string `json:"department"` //部室
|
|||
Workshop string `json:"workshop"` //二级部门或车间
|
|||
WorkshopSection string `json:"grop"` //`json:"workshopsection"` //工段
|
|||
Position string `json:"fposition"` //职位
|
|||
GradePositions int64 `json:"gradepositions"` //职等
|
|||
StartTime string `json:"starttime"` //开始日期
|
|||
EndTime string `json:"endtime"` //结束日期
|
|||
ChangeType string `json:"changetype"` //变动类型(1:预入职;2:雇佣入职;3:转正;4:晋升;5:降级;6:职等调整;7:调动调入;8:跨公司调动调入;9:借调;10:平调;11:兼职;12:预离职;13:离职;14:退休;15:返聘;16:员工初始化;)
|
|||
AssignType string `json:"assigntype"` |
|||
// Grop string `json:"grop"` //工段
|
|||
} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,39 @@ |
|||
package models |
|||
|
|||
import ( |
|||
"hr_server/overall" |
|||
"strings" |
|||
) |
|||
|
|||
type InsideWorkView struct { |
|||
InsideWorkHistory |
|||
GroupNumber string `json:"groupnumber" gorm:"column:g_number;type:varchar(50) unsigned;default:'';not null;comment:行政编码"` |
|||
GroupName string `json:"groupname" gorm:"column:g_name;type:varchar(255) unsigned;default:'';not null;comment:组织名称"` |
|||
CompanyNumber string `json:"companynumber" gorm:"column:c_number;type:varchar(50) unsigned;default:'';not null;comment:行政编码"` |
|||
CompanyName string `json:"companyname" gorm:"column:c_name;type:varchar(255) unsigned;default:'';not null;comment:组织名称"` |
|||
DepartmentNumber string `json:"departmentnumber" gorm:"column:d_number;type:varchar(50) unsigned;default:'';not null;comment:行政编码"` |
|||
DepartmentName string `json:"departmentname" gorm:"column:d_name;type:varchar(255) unsigned;default:'';not null;comment:组织名称"` |
|||
WorkShopNumber string `json:"workshopnumber" gorm:"column:ws_number;type:varchar(50) unsigned;default:'';not null;comment:行政编码"` |
|||
WorkShopName string `json:"workshopname" gorm:"column:ws_name;type:varchar(255) unsigned;default:'';not null;comment:组织名称"` |
|||
SectionNumber string `json:"sectionnumber" gorm:"column:w_number;type:varchar(50) unsigned;default:'';not null;comment:行政编码"` |
|||
SectionName string `json:"sectionnasectionme" gorm:"column:w_name;type:varchar(255) unsigned;default:'';not null;comment:组织名称"` |
|||
PostJobNumber string `json:"postjobnumber" gorm:"column:p_number;type:varchar(50) unsigned;default:'';not null;comment:职位编码"` |
|||
PostJobName string `json:"postjobname" gorm:"column:p_name;type:varchar(255) unsigned;default:'';not null;comment:职位名称"` |
|||
TeamName string `json:"teamname" gorm:"column:r_name;type:varchar(255) unsigned;default:'';not null;comment:班组名称"` |
|||
} |
|||
|
|||
func (InsideWorkView *InsideWorkView) TableName() string { |
|||
return "inside_work_view" |
|||
} |
|||
|
|||
//获取详细内容
|
|||
func (cont *InsideWorkView) GetCont(whereMap interface{}, field ...string) (err error) { |
|||
gormDb := overall.CONSTANT_DB_HR.Model(&cont) |
|||
if len(field) > 0 { |
|||
fieldStr := strings.Join(field, ",") |
|||
gormDb = gormDb.Select(fieldStr) |
|||
} |
|||
gormDb = gormDb.Where(whereMap) |
|||
err = gormDb.First(&cont).Error |
|||
return |
|||
} |
|||
@ -0,0 +1,36 @@ |
|||
package models |
|||
|
|||
import ( |
|||
"hr_server/overall" |
|||
"strings" |
|||
) |
|||
|
|||
//金蝶对照记录
|
|||
type KingdeeLog struct { |
|||
Id int64 `json:"id" gorm:"primaryKey;column:id;type:bigint(20) unsigned;not null;comment:Id;index"` |
|||
Number string `json:"name" gorm:"column:name;type:varchar(255) unsigned;default:'';not null;comment:工号"` |
|||
Cont string `json:"cont" gorm:"column:cont;type:longtext unsigned;default:'';not null;comment:内容"` |
|||
Time int64 `json:"time" gorm:"column:time;type:bigint(20) unsigned;default:0;not null;comment:创建时间"` |
|||
} |
|||
|
|||
func (KingdeeLog *KingdeeLog) TableName() string { |
|||
return "kingdee_log" |
|||
} |
|||
|
|||
//编辑职务分类内容
|
|||
func (KingdeeLog *KingdeeLog) EidtCont(whereMap map[string]interface{}, saveData map[string]interface{}) (err error) { |
|||
err = overall.CONSTANT_DB_HR.Model(&KingdeeLog).Where(whereMap).Updates(saveData).Error |
|||
return |
|||
} |
|||
|
|||
//获取详细内容
|
|||
func (cont *KingdeeLog) GetCont(whereMap interface{}, field ...string) (err error) { |
|||
gormDb := overall.CONSTANT_DB_HR.Model(&cont) |
|||
if len(field) > 0 { |
|||
fieldStr := strings.Join(field, ",") |
|||
gormDb = gormDb.Select(fieldStr) |
|||
} |
|||
gormDb = gormDb.Where(whereMap) |
|||
err = gormDb.First(&cont).Error |
|||
return |
|||
} |
|||
@ -0,0 +1,36 @@ |
|||
package models |
|||
|
|||
import ( |
|||
"hr_server/overall" |
|||
"strings" |
|||
) |
|||
|
|||
//班组
|
|||
type TeamGroup struct { |
|||
Id int64 `json:"id" gorm:"primaryKey;column:id;type:bigint(20) unsigned;not null;comment:Id;index"` |
|||
Name string `json:"name" gorm:"column:name;type:varchar(255) unsigned;default:'';not null;comment:班组名称"` |
|||
Time int64 `json:"time" gorm:"column:time;type:bigint(20) unsigned;default:0;not null;comment:创建时间"` |
|||
State int `json:"state" gorm:"column:state;type:int(1) unsigned;default:1;not null;comment:状态(1:启用;2:禁用;3:删除)"` |
|||
} |
|||
|
|||
func (TeamGroup *TeamGroup) TableName() string { |
|||
return "teamgroup" |
|||
} |
|||
|
|||
//编辑班组内容
|
|||
func (TeamGroup *TeamGroup) EiteTeamGroupCont(whereMap map[string]interface{}, saveData map[string]interface{}) (err error) { |
|||
err = overall.CONSTANT_DB_HR.Model(&TeamGroup).Where(whereMap).Updates(saveData).Error |
|||
return |
|||
} |
|||
|
|||
//获取详细内容
|
|||
func (cont *TeamGroup) GetCont(whereMap interface{}, field ...string) (err error) { |
|||
gormDb := overall.CONSTANT_DB_HR.Model(&cont) |
|||
if len(field) > 0 { |
|||
fieldStr := strings.Join(field, ",") |
|||
gormDb = gormDb.Select(fieldStr) |
|||
} |
|||
gormDb = gormDb.Where(whereMap) |
|||
err = gormDb.First(&cont).Error |
|||
return |
|||
} |
|||
@ -0,0 +1,247 @@ |
|||
## 参数对照与问题说明 |
|||
|
|||
### 参数对照 |
|||
|
|||
```json |
|||
{ |
|||
|
|||
//主 |
|||
"fnumber": "207488", //工号 |
|||
"name": "王明明", //姓名1 |
|||
"positiongrade": "", //入职等级 int64 |
|||
"emptype": "正式员工", //用工关系(1:实习生;2:待分配;3:试用员工;4:正式员工;5:停薪留职;6:退休;7:辞退;8:离职) int |
|||
"icon": "", //头像 |
|||
"maindepartment": "ArIAAAAAAZ3M567U", //主部门 |
|||
"hiretype": "", //1雇佣类型(1:雇佣入职;2:再入职;3:返聘) |
|||
"company": "ArIAAAAAAZ3M567U", //公司 |
|||
"fposition": "egp3YvoIRo+39jgSX8wYFnSuYS4=", //职位 |
|||
|
|||
|
|||
//员工副表 |
|||
"idcardno": "370786198401123019", //身份证号码 |
|||
"maritalstatus": "已婚", //婚姻状况(1:未婚;2:已婚;3:丧偶;4:离异) int |
|||
"birthday": "1984-01-12 00:00:00",//生日 |
|||
"nation": "汉族",//民族 |
|||
"probationperiod": "0", //试用期(月)int |
|||
"constellation": "摩羯座", //星座(1:白羊座;2:金牛座;3:双子座;4:巨蟹座;5:狮子座;6:处女座;7:天枰座;8:天蝎座;9:射手座;10:摩羯座;11:水瓶座;12:双鱼座) |
|||
"mobilephone": "13953717979", //联系电话 |
|||
"nativeplace": "山东省潍坊市昌邑市", //籍贯 |
|||
|
|||
"politicaloutlook": "", //政治面貌(1:群众; 2:无党派;3:台盟会员;4:九三社员;5:致公党员;6:农工党员;7:民进会员;8:民建会员;9:民盟盟员;10:民革会员,11:共青团员;12:预备党员;13:中共党员) |
|||
"currentresidence": "济宁市嵩文大道", //现居地 |
|||
"gender": "男", //性别 |
|||
"entrydate": "2021-03-01 00:00:00", //入职日期 |
|||
"workingdate": "2013-10-29 00:00:00", //参加工作日期 |
|||
"health": "良好", //健康状况(1:良好;2:一般;3:较弱,4:有生理缺陷;5:残废 |
|||
|
|||
"confirmationdate": "",//转正日期 |
|||
|
|||
//退役军人 |
|||
"isveterans": "1", //是否为退役军人(1:是;2:否) int |
|||
"veteransnumber": "", //退役证编号 |
|||
|
|||
//是否为双职工 |
|||
"spousename": "", //配偶姓名 |
|||
"isdoubleworker": "1", //是否双职工(1:是;2:否) |
|||
"spousecompany": "",//配偶所在公司 |
|||
"spousedepartment": "", //配偶所在部门 |
|||
"spouseposition": "", //配偶所在岗位 |
|||
"spousetel": "",//配偶联系方式 |
|||
|
|||
//紧急联系人一 |
|||
"urgentnameone": "侯亚利", //姓名 |
|||
"urgentrelationshipone": "",//与紧急联系人关系 |
|||
"urgentmobilephoneone": "15166730668", //联系电话 |
|||
//紧急联系人二 |
|||
"urgentnametwo": "", //姓名 |
|||
"urgentrelationshiptwo": "", //与紧急联系人关系 |
|||
"urgentmobilephonetwo": "", //联系电话 |
|||
//最高学历 |
|||
"highestschool": "江南大学", //毕业学校 |
|||
"highestsubject": "工商管理专业", //专业 |
|||
"highestadmissiontime": "2017-09-01 00:00:00", //入学时间 |
|||
"highestgraduationtime": "2020-01-20 00:00:00",//毕业时间 |
|||
"highestacademicdegree": "", //学位(0:无;1:学士;2:硕士;3:博士)int |
|||
|
|||
"highesteducation": "5a35e819-0101-1000-e000-1a1fc0a83c7f9B3E5DD3", //学历(1:初中及以下;2:中专;3:高中;4:中技;5:高技;6:函数专科;7:大学专科;8:函数本科;9:大学本科;10:硕士研究生;11:博士研究生;12:专家、教授)int |
|||
|
|||
//第一学历 |
|||
"firstsubject": "工商管理专业", //专业 |
|||
"firstschool": "江南大学", //毕业学校 |
|||
"firstadmissiontime": "", //入学时间 |
|||
"firstgraduationtime": "2020-01-20 00:00:00", //毕业时间 |
|||
"firstacademicdegree": "", //学位(0:无;1:学士;2:硕士;3:博士)int |
|||
"firsteducation": "5a35e819-0101-1000-e000-1a1fc0a83c7f9B3E5DD3", //学历 |
|||
|
|||
//家庭成员 |
|||
"memberoffamily":[ |
|||
|
|||
{ //您的数据结构 |
|||
"fid": "ArIAAAAmGH+A733t", |
|||
"sjh": "", |
|||
"dw": "济宁高新区中心小学", |
|||
"glgx": "配偶", |
|||
"gxmc": "侯亚丽", |
|||
"zzmm": "" |
|||
}, |
|||
{//我这边接收的数据参数 |
|||
"name":"", |
|||
"relationship":"", |
|||
"mobilephone":"", |
|||
"company":"", //公司 |
|||
"department":"", //分厂(部室) |
|||
"fposition":"", //职位(岗位) |
|||
"politicaloutlook":"", //政治面貌(1:群众;2:无党派;3:台盟会员;4:九三社员;5:致公党员;6:农工党员;7:民进会员;8:民建会员;9:民盟盟员;10:民革会员,11:共青团员;12:预备党员;13:中共党员) |
|||
} |
|||
], |
|||
//集团内部工作履历 |
|||
"insideworkhistory": [ |
|||
{ //您的数据结构 |
|||
"fid": "ArIAAAAmGH+A733t", |
|||
"assigntype": "主职", |
|||
"changetype": "雇佣入职", |
|||
"gradepositions": "", |
|||
"fposition": "qYNSJ5nzSkqChrWfqMvRWXSuYS4=", |
|||
"endtime": "2021-05-31 00:00:00", |
|||
"company": "ArIAAAAAAZ3M567U", |
|||
"starttime": "2021-03-01 00:00:00", |
|||
"grop": "ArIAAAAENnfM567U", |
|||
"department": "ArIAAAAAAZ3M567U", |
|||
"workshopsection": "qYNSJ5nzSkqChrWfqMvRWXSuYS4=" |
|||
}, |
|||
{//我这边接收的数据参数 |
|||
"group":"", //集团 |
|||
"company":"", //公司 |
|||
"department":"", //部室 |
|||
"workshop":"", //二级部门或车间 |
|||
"workshopsection":"", //工段 |
|||
"fposition":"", //职位 |
|||
"gradepositions":"", //职等 |
|||
"starttime":"", //开始日期 |
|||
"endtime":"", //结束日期 |
|||
"changetype":"", //变动类型(1:预入职;2:雇佣入职;3:转正;4:晋升;5:降级;6:职等调整;7:调动调入;8:跨公司调动调入;9:借调;10:平调;11:兼职;12:预离职;13:离职;14:退休;15:返聘;16:员工初始化;) |
|||
} |
|||
], |
|||
//工作履历 |
|||
"workhistorylist": [ |
|||
{ |
|||
"witness": "", //证明人 |
|||
"entrytime": "1999-01-01 00:00:00", //入职时间 |
|||
"fpersonid": "ArIAAAAmGH+A733t", |
|||
"fjob": "", |
|||
"fposition": "", //职务 |
|||
"leavedate": "2002-04-02 00:00:00", //离职日期 |
|||
"company": "青岛海景花园后厨", //公司 |
|||
"department": "", //部门 |
|||
"witnesstel": "", //证明人电话 |
|||
"remarks": "" //备注 |
|||
|
|||
} |
|||
] |
|||
|
|||
} |
|||
|
|||
``` |
|||
|
|||
### 问题说明 |
|||
|
|||
|
|||
1、我这边没有的参数,不知代表什么事项 |
|||
|
|||
```json |
|||
|
|||
"idcardbegindate": "", //无 |
|||
"fid": "ArIAAAAmGH+A733t", |
|||
"idcardissueorg": "", |
|||
"assigntype": "主职", |
|||
"idcardenddate": "", |
|||
|
|||
``` |
|||
|
|||
2、我这边需要,未传的参数 |
|||
|
|||
```json |
|||
|
|||
"adminorg":"", //主行政组织 |
|||
"jobname":"",//主职务 |
|||
"idcardnostarttime":"", //身份证有效期开始 |
|||
"idcardnoendtime":"", //身份证有效期结束 |
|||
"idcardnoaddress":"", //身份证地址 |
|||
"idcardissued":"", //身份证签发机关 |
|||
"email":"", //电子邮件 |
|||
|
|||
``` |
|||
|
|||
3、学位与学历这块没有传给我基础数据。我这边拿不到具体值 |
|||
|
|||
```json |
|||
|
|||
"highesteducation": "5a35e819-0101-1000-e000-1a1fc0a83c7f9B3E5DD3", 学位没有对照值 |
|||
"firsteducation": "5a35e819-0101-1000-e000-1a1fc0a83c7f9B3E5DD3", 学历 |
|||
|
|||
``` |
|||
|
|||
4、家庭成员参数不匹配 |
|||
|
|||
```json |
|||
|
|||
{ |
|||
"memberoffamily":[ |
|||
|
|||
{ //您的数据结构 |
|||
"fid": "ArIAAAAmGH+A733t", |
|||
"sjh": "", |
|||
"dw": "济宁高新区中心小学", |
|||
"glgx": "配偶", |
|||
"gxmc": "侯亚丽", |
|||
"zzmm": "" |
|||
}, |
|||
{//我这边接收的数据参数 |
|||
"name":"", |
|||
"relationship":"", |
|||
"mobilephone":"", |
|||
"company":"", //公司 |
|||
"department":"", //分厂(部室) |
|||
"fposition":"", //职位(岗位) |
|||
"politicaloutlook":"", //政治面貌(1:群众;2:无党派;3:台盟会员;4:九三社员;5:致公党员;6:农工党员;7:民进会员;8:民建会员;9:民盟盟员;10:民革会员,11:共青团员;12:预备党员;13:中共党员) |
|||
} |
|||
], |
|||
} |
|||
|
|||
``` |
|||
|
|||
5、集团内工作履历参数不匹配 |
|||
|
|||
```json |
|||
|
|||
{ |
|||
"insideworkhistory": [ |
|||
{ //您的数据结构 |
|||
"fid": "ArIAAAAmGH+A733t", |
|||
"assigntype": "主职", |
|||
"changetype": "雇佣入职", |
|||
"gradepositions": "", |
|||
"fposition": "qYNSJ5nzSkqChrWfqMvRWXSuYS4=", |
|||
"endtime": "2021-05-31 00:00:00", |
|||
"company": "ArIAAAAAAZ3M567U", |
|||
"starttime": "2021-03-01 00:00:00", |
|||
"grop": "ArIAAAAENnfM567U", |
|||
"department": "ArIAAAAAAZ3M567U", |
|||
"workshopsection": "qYNSJ5nzSkqChrWfqMvRWXSuYS4=" |
|||
}, |
|||
{//我这边接收的数据参数 |
|||
"group":"", //集团 |
|||
"company":"", //公司 |
|||
"department":"", //部室 |
|||
"workshop":"", //二级部门或车间 |
|||
"workshopsection":"", //工段 |
|||
"fposition":"", //职位 |
|||
"gradepositions":"", //职等 |
|||
"starttime":"", //开始日期 |
|||
"endtime":"", //结束日期 |
|||
"changetype":"", //变动类型(1:预入职;2:雇佣入职;3:转正;4:晋升;5:降级;6:职等调整;7:调动调入;8:跨公司调动调入;9:借调;10:平调;11:兼职;12:预离职;13:离职;14:退休;15:返聘;16:员工初始化;) |
|||
} |
|||
] |
|||
} |
|||
|
|||
``` |
|||
Loading…
Reference in new issue