|
|
|
@ -2,6 +2,7 @@ package personnelapi |
|
|
|
|
|
|
|
import ( |
|
|
|
"fmt" |
|
|
|
"hr_server/middleware/snowflake" |
|
|
|
"hr_server/models" |
|
|
|
"hr_server/overall" |
|
|
|
"hr_server/overall/overallhandle" |
|
|
|
@ -193,6 +194,9 @@ func eidtAddManContJinDie(perArcInfo models.PersonArchives, manCont addKingdeePe |
|
|
|
//编辑工作履历
|
|
|
|
synPro.Add(1) |
|
|
|
go editWorkHistoryMan(perArcInfo.Key, manCont.Number, manCont.WorkHistoryList) |
|
|
|
//编辑集团内工作履历
|
|
|
|
synPro.Add(1) |
|
|
|
go editInsideWorkHistoryMan(perArcInfo.Key, manCont.InsideWorkHistory) |
|
|
|
synPro.Wait() |
|
|
|
} |
|
|
|
} |
|
|
|
@ -203,7 +207,13 @@ func eidtAddManContJinDie(perArcInfo models.PersonArchives, manCont addKingdeePe |
|
|
|
//新增员工
|
|
|
|
func newAddManContJinDie(oldSchool models.WorkMan, manCont addKingdeePersonnel) error { |
|
|
|
|
|
|
|
manKeyNum := overallhandle.TableNumber() |
|
|
|
var manKeyNum int64 = 0 |
|
|
|
node, nodeErr := snowflake.NewWorker(1) |
|
|
|
if nodeErr == nil { |
|
|
|
manKeyNum = node.GetId() |
|
|
|
} else { |
|
|
|
manKeyNum = overallhandle.TableNumber() |
|
|
|
} |
|
|
|
if oldSchool.Key != 0 { |
|
|
|
manKeyNum = oldSchool.Key |
|
|
|
} |
|
|
|
@ -344,9 +354,12 @@ func newAddManContJinDie(oldSchool models.WorkMan, manCont addKingdeePersonnel) |
|
|
|
//编辑员工教育经历
|
|
|
|
synPro.Add(1) |
|
|
|
go educatExperKingdeeNew(manKeyNum, manCont) |
|
|
|
//编辑工作履历
|
|
|
|
//编辑集团外工作履历
|
|
|
|
synPro.Add(1) |
|
|
|
go editWorkHistoryMan(manKeyNum, manCont.Number, manCont.WorkHistoryList) |
|
|
|
//编辑集团内工作履历
|
|
|
|
synPro.Add(1) |
|
|
|
go editInsideWorkHistoryMan(manKeyNum, manCont.InsideWorkHistory) |
|
|
|
synPro.Wait() |
|
|
|
} |
|
|
|
return nil |
|
|
|
@ -371,13 +384,20 @@ func editManAuxiliaryDataNew(manKeyNum int64, manCont addKingdeePersonnel) { |
|
|
|
saveData["idcardno"] = manCont.IDCardNo |
|
|
|
} |
|
|
|
if manCont.IDCardStartTime != "" { |
|
|
|
idCardStarTime, _ := overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.IDCardStartTime)) |
|
|
|
idCardStarTime, idCarErr := overallhandle.DateToTimeStamp(manCont.IDCardStartTime) |
|
|
|
if idCarErr == false { |
|
|
|
idCardStarTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.IDCardStartTime)) |
|
|
|
} |
|
|
|
|
|
|
|
if idCardStarTime != manInfo.Idcardstartdate { |
|
|
|
saveData["idcardstartdate"] = idCardStarTime |
|
|
|
} |
|
|
|
} |
|
|
|
if manCont.IDCardEndTime != "" { |
|
|
|
idCardEndTime, _ := overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.IDCardEndTime)) |
|
|
|
idCardEndTime, idCardEndTimeErr := overallhandle.DateToTimeStamp(manCont.IDCardEndTime) |
|
|
|
if idCardEndTimeErr == false { |
|
|
|
idCardEndTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.IDCardEndTime)) |
|
|
|
} |
|
|
|
if idCardEndTime != manInfo.Idcardenddate { |
|
|
|
saveData["idcardenddate"] = idCardEndTime |
|
|
|
} |
|
|
|
@ -398,7 +418,10 @@ func editManAuxiliaryDataNew(manKeyNum int64, manCont addKingdeePersonnel) { |
|
|
|
saveData["gender"] = manCont.Gender |
|
|
|
} |
|
|
|
if manCont.Birthday != "" { |
|
|
|
brrthday, _ := overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.Birthday)) |
|
|
|
brrthday, brrthdayErr := overallhandle.DateToTimeStamp(manCont.Birthday) |
|
|
|
if brrthdayErr == false { |
|
|
|
brrthday, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.Birthday)) |
|
|
|
} |
|
|
|
if brrthday != manInfo.Birthday { |
|
|
|
saveData["birthday"] = brrthday |
|
|
|
} |
|
|
|
@ -437,13 +460,20 @@ func editManAuxiliaryDataNew(manKeyNum int64, manCont addKingdeePersonnel) { |
|
|
|
} |
|
|
|
} |
|
|
|
if manCont.WorkingDate != "" { |
|
|
|
workInData, _ := overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.WorkingDate)) |
|
|
|
workInData, workInDataErr := overallhandle.DateToTimeStamp(manCont.WorkingDate) |
|
|
|
if workInDataErr == false { |
|
|
|
workInData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.WorkingDate)) |
|
|
|
} |
|
|
|
|
|
|
|
if workInData != manInfo.Jobstartdate { |
|
|
|
saveData["jobstartdate"] = workInData |
|
|
|
} |
|
|
|
} |
|
|
|
if manCont.EntryDate != "" { |
|
|
|
entryData, _ := overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.EntryDate)) |
|
|
|
entryData, entryDataErr := overallhandle.DateToTimeStamp(manCont.EntryDate) |
|
|
|
if entryDataErr == false { |
|
|
|
entryData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.EntryDate)) |
|
|
|
} |
|
|
|
if entryData != manInfo.Entrydate { |
|
|
|
saveData["entrydate"] = entryData |
|
|
|
} |
|
|
|
@ -452,14 +482,21 @@ func editManAuxiliaryDataNew(manKeyNum int64, manCont addKingdeePersonnel) { |
|
|
|
saveData["probationperiod"] = manCont.ProbationPeriod |
|
|
|
entryData := manInfo.Entrydate |
|
|
|
if manCont.EntryDate != "" { |
|
|
|
entryData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.EntryDate)) |
|
|
|
entryDataErr := false |
|
|
|
entryData, entryDataErr = overallhandle.DateToTimeStamp(manCont.EntryDate) |
|
|
|
if entryDataErr == false { |
|
|
|
entryData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.EntryDate)) |
|
|
|
} |
|
|
|
} |
|
|
|
planformalData := overallhandle.GetFutureMonthTime(entryData, manCont.ProbationPeriod, 2) |
|
|
|
saveData["planformaldate"] = planformalData |
|
|
|
} |
|
|
|
|
|
|
|
if manCont.ConfirmationDate != "" { |
|
|
|
planformalData, _ := overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.ConfirmationDate)) |
|
|
|
planformalData, planformalDataErr := overallhandle.DateToTimeStamp(manCont.ConfirmationDate) |
|
|
|
if planformalDataErr == false { |
|
|
|
planformalData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.ConfirmationDate)) |
|
|
|
} |
|
|
|
saveData["planformaldate"] = planformalData |
|
|
|
} |
|
|
|
if manCont.PoliticalOutlook != 0 && manCont.PoliticalOutlook != manInfo.PoliticalOutlook { |
|
|
|
@ -477,12 +514,20 @@ func editManAuxiliaryDataNew(manKeyNum int64, manCont addKingdeePersonnel) { |
|
|
|
manInfo.Idcardno = manCont.IDCardNo |
|
|
|
idCardStarTime := time.Now().Unix() |
|
|
|
if manCont.IDCardStartTime != "" { |
|
|
|
idCardStarTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.IDCardStartTime)) |
|
|
|
idCardStarTimeErr := false |
|
|
|
idCardStarTime, idCardStarTimeErr = overallhandle.DateToTimeStamp(manCont.IDCardStartTime) |
|
|
|
if idCardStarTimeErr == false { |
|
|
|
idCardStarTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.IDCardStartTime)) |
|
|
|
} |
|
|
|
} |
|
|
|
manInfo.Idcardstartdate = idCardStarTime //身份证有效期开始
|
|
|
|
idCardEndTime := time.Now().Unix() |
|
|
|
if manCont.IDCardEndTime != "" { |
|
|
|
idCardEndTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.IDCardEndTime)) |
|
|
|
idCardEndTimeErr := false |
|
|
|
idCardEndTime, idCardEndTimeErr = overallhandle.DateToTimeStamp(manCont.IDCardEndTime) |
|
|
|
if idCardEndTimeErr == false { |
|
|
|
idCardEndTime, idCardEndTimeErr = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.IDCardEndTime)) |
|
|
|
} |
|
|
|
} |
|
|
|
manInfo.Idcardenddate = idCardEndTime //身份证有效期结束
|
|
|
|
manInfo.Idcardaddress = manCont.IDCardAddress //身份证地址
|
|
|
|
@ -490,7 +535,11 @@ func editManAuxiliaryDataNew(manKeyNum int64, manCont addKingdeePersonnel) { |
|
|
|
manInfo.Mobilephone = manCont.Mobilephone |
|
|
|
manInfo.Email = manCont.Email |
|
|
|
manInfo.Gender = manCont.Gender |
|
|
|
brrthday, _ := overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.Birthday)) |
|
|
|
|
|
|
|
brrthday, brrthdayErr := overallhandle.DateToTimeStamp(manCont.Birthday) |
|
|
|
if brrthdayErr == false { |
|
|
|
brrthday, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.Birthday)) |
|
|
|
} |
|
|
|
manInfo.Birthday = brrthday |
|
|
|
manInfo.Myfolk = manCont.Nation |
|
|
|
manInfo.Nativeplace = manCont.NativePlace |
|
|
|
@ -504,18 +553,31 @@ func editManAuxiliaryDataNew(manKeyNum int64, manCont addKingdeePersonnel) { |
|
|
|
manInfo.Veteransnumber = manCont.Veteransnumber |
|
|
|
workInData := time.Now().Unix() |
|
|
|
if manCont.WorkingDate != "" { |
|
|
|
workInData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.WorkingDate)) |
|
|
|
workInDataErr := false |
|
|
|
workInData, workInDataErr = overallhandle.DateToTimeStamp(manCont.WorkingDate) |
|
|
|
if workInDataErr == false { |
|
|
|
workInData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.WorkingDate)) |
|
|
|
} |
|
|
|
} |
|
|
|
manInfo.Jobstartdate = workInData |
|
|
|
entryData := time.Now().Unix() |
|
|
|
if manCont.EntryDate != "" { |
|
|
|
entryData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.EntryDate)) |
|
|
|
entryDataErr := false |
|
|
|
entryData, entryDataErr = overallhandle.DateToTimeStamp(manCont.EntryDate) |
|
|
|
if entryDataErr == false { |
|
|
|
entryData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.EntryDate)) |
|
|
|
} |
|
|
|
} |
|
|
|
manInfo.Entrydate = entryData |
|
|
|
manInfo.Probationperiod = manCont.ProbationPeriod |
|
|
|
planformalData := time.Now().Unix() |
|
|
|
if manCont.ConfirmationDate != "" { |
|
|
|
planformalData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.ConfirmationDate)) |
|
|
|
planformalDataErr := false |
|
|
|
planformalData, planformalDataErr = overallhandle.DateToTimeStamp(manCont.ConfirmationDate) |
|
|
|
if planformalDataErr == false { |
|
|
|
planformalData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.ConfirmationDate)) |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
planformalData = overallhandle.GetFutureMonthTime(entryData, manCont.ProbationPeriod, 2) |
|
|
|
} |
|
|
|
@ -763,13 +825,19 @@ func educatExperKingdeeNew(manKeyNum int64, manCont addKingdeePersonnel) { |
|
|
|
eitdCont["academic_degree"] = manCont.HighestAcademicDegree |
|
|
|
} |
|
|
|
if manCont.HighestAdmissionTime != "" { |
|
|
|
entranceTime, _ := overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.HighestAdmissionTime)) |
|
|
|
entranceTime, entranceTimeErr := overallhandle.DateToTimeStamp(manCont.HighestAdmissionTime) |
|
|
|
if entranceTimeErr == false { |
|
|
|
entranceTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.HighestAdmissionTime)) |
|
|
|
} |
|
|
|
if entranceTime != perEduContHig.AdmissionTime { |
|
|
|
eitdCont["admission_time"] = entranceTime |
|
|
|
} |
|
|
|
} |
|
|
|
if manCont.HighestGraduationTime != "" { |
|
|
|
graduationTime, _ := overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.HighestGraduationTime)) |
|
|
|
graduationTime, graduationTimeErr := overallhandle.DateToTimeStamp(manCont.HighestGraduationTime) |
|
|
|
if graduationTimeErr == false { |
|
|
|
graduationTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.HighestGraduationTime)) |
|
|
|
} |
|
|
|
if graduationTime != perEduContHig.GraduationTime { |
|
|
|
eitdCont["graduation_time"] = graduationTime |
|
|
|
} |
|
|
|
@ -797,12 +865,20 @@ func educatExperKingdeeNew(manKeyNum int64, manCont addKingdeePersonnel) { |
|
|
|
perEduContHig.Subject = manCont.HighestSubject // 专业"`
|
|
|
|
entranceTime := time.Now().Unix() |
|
|
|
if manCont.HighestAdmissionTime != "" { |
|
|
|
entranceTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.HighestAdmissionTime)) |
|
|
|
entranceTimeErr := false |
|
|
|
entranceTime, entranceTimeErr = overallhandle.DateToTimeStamp(manCont.HighestAdmissionTime) |
|
|
|
if entranceTimeErr == false { |
|
|
|
entranceTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.HighestAdmissionTime)) |
|
|
|
} |
|
|
|
} |
|
|
|
perEduContHig.AdmissionTime = entranceTime // 入学时间"`
|
|
|
|
graduationTime := time.Now().Unix() |
|
|
|
if manCont.HighestGraduationTime != "" { |
|
|
|
graduationTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.HighestGraduationTime)) |
|
|
|
graduationTimeErr := false |
|
|
|
graduationTime, graduationTimeErr = overallhandle.DateToTimeStamp(manCont.HighestGraduationTime) |
|
|
|
if graduationTimeErr == false { |
|
|
|
graduationTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.HighestGraduationTime)) |
|
|
|
} |
|
|
|
} |
|
|
|
perEduContHig.GraduationTime = graduationTime // 毕业时间"`
|
|
|
|
perEduContHig.Time = time.Now().Unix() // 写入时间"`
|
|
|
|
@ -827,13 +903,19 @@ func educatExperKingdeeNew(manKeyNum int64, manCont addKingdeePersonnel) { |
|
|
|
eitdContFirst["academic_degree"] = manCont.FirstAcademicDegree |
|
|
|
} |
|
|
|
if manCont.FirstAdmissionTime != "" { |
|
|
|
entranceTimeFirst, _ := overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.FirstAdmissionTime)) |
|
|
|
entranceTimeFirst, entranceTimeFirstErr := overallhandle.DateToTimeStamp(manCont.FirstAdmissionTime) |
|
|
|
if entranceTimeFirstErr == false { |
|
|
|
entranceTimeFirst, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.FirstAdmissionTime)) |
|
|
|
} |
|
|
|
if entranceTimeFirst != perEduContFirst.AdmissionTime { |
|
|
|
eitdContFirst["admission_time"] = entranceTimeFirst |
|
|
|
} |
|
|
|
} |
|
|
|
if manCont.FirstGraduationTime != "" { |
|
|
|
graduationTimeFirst, _ := overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.FirstGraduationTime)) |
|
|
|
graduationTimeFirst, graduationTimeFirstErr := overallhandle.DateToTimeStamp(manCont.FirstGraduationTime) |
|
|
|
if graduationTimeFirstErr == false { |
|
|
|
graduationTimeFirst, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.FirstGraduationTime)) |
|
|
|
} |
|
|
|
if graduationTimeFirst != perEduContFirst.GraduationTime { |
|
|
|
eitdContFirst["graduation_time"] = graduationTimeFirst |
|
|
|
} |
|
|
|
@ -861,12 +943,20 @@ func educatExperKingdeeNew(manKeyNum int64, manCont addKingdeePersonnel) { |
|
|
|
perEduContFirst.Subject = manCont.FirstSubject // 专业"`
|
|
|
|
entranceTimeFirst := time.Now().Unix() |
|
|
|
if manCont.HighestAdmissionTime != "" { |
|
|
|
entranceTimeFirst, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.HighestAdmissionTime)) |
|
|
|
entranceTimeFirstErr := false |
|
|
|
entranceTimeFirst, entranceTimeFirstErr = overallhandle.DateToTimeStamp(manCont.HighestAdmissionTime) |
|
|
|
if entranceTimeFirstErr == false { |
|
|
|
entranceTimeFirst, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.HighestAdmissionTime)) |
|
|
|
} |
|
|
|
} |
|
|
|
perEduContFirst.AdmissionTime = entranceTimeFirst // 入学时间"`
|
|
|
|
graduationTimef := time.Now().Unix() |
|
|
|
if manCont.HighestGraduationTime != "" { |
|
|
|
graduationTimef, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.HighestGraduationTime)) |
|
|
|
graduationTimefErr := false |
|
|
|
graduationTimef, _ = overallhandle.DateToTimeStamp(manCont.HighestGraduationTime) |
|
|
|
if graduationTimefErr == false { |
|
|
|
graduationTimef, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", manCont.HighestGraduationTime)) |
|
|
|
} |
|
|
|
} |
|
|
|
perEduContFirst.GraduationTime = graduationTimef // 毕业时间"`
|
|
|
|
perEduContFirst.Time = time.Now().Unix() // 写入时间"`
|
|
|
|
@ -890,13 +980,20 @@ func editWorkHistoryMan(manKeyNum int64, num string, workHistoryList []workHisto |
|
|
|
if isEidtErr == nil { |
|
|
|
saveDate := overallhandle.MapOut() |
|
|
|
if wvs.EntryTime != "" { //入职时间"`
|
|
|
|
entryData, _ := overallhandle.DateToTimeStamp(fmt.Sprintf("%v 12:00:00", wvs.EntryTime)) |
|
|
|
|
|
|
|
entryData, entryDataErr := overallhandle.DateToTimeStamp(wvs.EntryTime) |
|
|
|
if entryDataErr == false { |
|
|
|
entryData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 12:00:00", wvs.EntryTime)) |
|
|
|
} |
|
|
|
if entryData != whCont.EntryTime { |
|
|
|
saveDate["entry_time"] = entryData |
|
|
|
} |
|
|
|
} |
|
|
|
if wvs.LeaveDate != "" { //离职日期"`
|
|
|
|
leaveTime, _ := overallhandle.DateToTimeStamp(fmt.Sprintf("%v 12:00:00", wvs.LeaveDate)) |
|
|
|
leaveTime, leaveTimeErr := overallhandle.DateToTimeStamp(wvs.LeaveDate) |
|
|
|
if leaveTimeErr == false { |
|
|
|
leaveTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 12:00:00", wvs.LeaveDate)) |
|
|
|
} |
|
|
|
if leaveTime != whCont.Leavedate { |
|
|
|
saveDate["leavedate"] = leaveTime |
|
|
|
} |
|
|
|
@ -925,12 +1022,20 @@ func editWorkHistoryMan(manKeyNum int64, num string, workHistoryList []workHisto |
|
|
|
addWorkCont.Job = wvs.Position //职务"`
|
|
|
|
entryData := time.Now().Unix() |
|
|
|
if wvs.EntryTime != "" { |
|
|
|
entryData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 12:00:00", wvs.EntryTime)) |
|
|
|
entryDataErr := false |
|
|
|
entryData, entryDataErr = overallhandle.DateToTimeStamp(wvs.EntryTime) |
|
|
|
if entryDataErr == false { |
|
|
|
entryData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 12:00:00", wvs.EntryTime)) |
|
|
|
} |
|
|
|
} |
|
|
|
addWorkCont.EntryTime = entryData //入职时间"`
|
|
|
|
leaveTime := time.Now().Unix() |
|
|
|
if wvs.LeaveDate != "" { |
|
|
|
leaveTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 12:00:00", wvs.LeaveDate)) |
|
|
|
leaveTimeErr := false |
|
|
|
leaveTime, leaveTimeErr = overallhandle.DateToTimeStamp(wvs.LeaveDate) |
|
|
|
if leaveTimeErr == false { |
|
|
|
leaveTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 12:00:00", wvs.LeaveDate)) |
|
|
|
} |
|
|
|
} |
|
|
|
addWorkCont.Leavedate = leaveTime //离职日期"`
|
|
|
|
addWorkCont.Witness = wvs.Witness //证明人"`
|
|
|
|
@ -952,12 +1057,20 @@ func editWorkHistoryMan(manKeyNum int64, num string, workHistoryList []workHisto |
|
|
|
addWorkCont.Job = v.Position //职务"`
|
|
|
|
entryData := time.Now().Unix() |
|
|
|
if v.EntryTime != "" { |
|
|
|
entryData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 12:00:00", v.EntryTime)) |
|
|
|
entryDataErr := false |
|
|
|
entryData, entryDataErr = overallhandle.DateToTimeStamp(v.EntryTime) |
|
|
|
if entryDataErr == false { |
|
|
|
entryData, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 12:00:00", v.EntryTime)) |
|
|
|
} |
|
|
|
} |
|
|
|
addWorkCont.EntryTime = entryData //入职时间"`
|
|
|
|
leaveTime := time.Now().Unix() |
|
|
|
if v.LeaveDate != "" { |
|
|
|
leaveTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 12:00:00", v.LeaveDate)) |
|
|
|
leaveTimeErr := false |
|
|
|
leaveTime, leaveTimeErr = overallhandle.DateToTimeStamp(v.LeaveDate) |
|
|
|
if leaveTimeErr == false { |
|
|
|
leaveTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 12:00:00", v.LeaveDate)) |
|
|
|
} |
|
|
|
} |
|
|
|
addWorkCont.Leavedate = leaveTime //离职日期"`
|
|
|
|
addWorkCont.Witness = v.Witness //证明人"`
|
|
|
|
@ -973,3 +1086,331 @@ func editWorkHistoryMan(manKeyNum int64, num string, workHistoryList []workHisto |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//编辑集团内工作经历
|
|
|
|
func editInsideWorkHistoryMan(manKeyNum int64, contList []insideHistory) { |
|
|
|
defer synPro.Done() |
|
|
|
if len(contList) > 0 && manKeyNum > 0 { |
|
|
|
//判断是否已经存在集团内工作履历
|
|
|
|
var insideWork []models.InsideWorkHistory |
|
|
|
err := overall.CONSTANT_DB_HR.Model(&models.InsideWorkHistory{}).Select("`id`").Where("`key` = ?", manKeyNum).Find(&insideWork).Error |
|
|
|
fmt.Printf("isErr---err---->%v\n", err) |
|
|
|
var topGroup int64 = 0 |
|
|
|
var groupTopCont models.AdministrativeOrganization |
|
|
|
groupTopCont.GetCont(map[string]interface{}{"superior": 0}, "id") |
|
|
|
topGroup = groupTopCont.Id |
|
|
|
|
|
|
|
if err == nil { |
|
|
|
var iInt []int |
|
|
|
for i, v := range contList { |
|
|
|
var wssCont models.AdministrativeOrganization |
|
|
|
wssCont.GetCont(map[string]interface{}{"kingdeeid": v.WorkshopSection}, "id") |
|
|
|
var insiCont models.InsideWorkHistory |
|
|
|
isErr := insiCont.GetCont(map[string]interface{}{"`key`": manKeyNum, "workshop_section": wssCont.Id}) |
|
|
|
fmt.Printf("isErr--1----->%v\n", isErr) |
|
|
|
if isErr == nil { |
|
|
|
iInt = append(iInt, i) |
|
|
|
saveData := overallhandle.MapOut() |
|
|
|
if v.Group != "" { |
|
|
|
var groupCont models.AdministrativeOrganization |
|
|
|
groupCont.GetCont(map[string]interface{}{"kingdeeid": v.Group}, "id") |
|
|
|
if groupCont.Id != insiCont.Group { |
|
|
|
saveData["group"] = groupCont.Id |
|
|
|
} |
|
|
|
} |
|
|
|
if v.Company != "" { |
|
|
|
var companyCont models.AdministrativeOrganization |
|
|
|
companyCont.GetCont(map[string]interface{}{"kingdeeid": v.Company}, "id") |
|
|
|
if companyCont.Id != insiCont.Company { |
|
|
|
saveData["company"] = companyCont.Id |
|
|
|
} |
|
|
|
} |
|
|
|
if v.Department != "" { |
|
|
|
var departmentCont models.AdministrativeOrganization |
|
|
|
departmentCont.GetCont(map[string]interface{}{"kingdeeid": v.Department}, "id") |
|
|
|
if departmentCont.Id != insiCont.Department { |
|
|
|
saveData["department"] = departmentCont.Id |
|
|
|
} |
|
|
|
} |
|
|
|
if v.Workshop != "" { |
|
|
|
var workshopCont models.AdministrativeOrganization |
|
|
|
workshopCont.GetCont(map[string]interface{}{"kingdeeid": v.Workshop}, "id") |
|
|
|
if workshopCont.Id != insiCont.WorkShop { |
|
|
|
saveData["workshop"] = workshopCont.Id |
|
|
|
} |
|
|
|
} |
|
|
|
if v.WorkshopSection != "" && wssCont.Id != insiCont.WorkshopSection { |
|
|
|
saveData["workshop_section"] = wssCont.Id |
|
|
|
} |
|
|
|
if v.Position != "" { |
|
|
|
var positionCont models.Position |
|
|
|
positionCont.GetCont(map[string]interface{}{"kingdeeid": v.Position}, "id") |
|
|
|
if positionCont.Id != insiCont.Position { |
|
|
|
saveData["position"] = positionCont.Id |
|
|
|
} |
|
|
|
} |
|
|
|
if v.GradePositions != 0 && insiCont.GradePositions != insiCont.GradePositions { |
|
|
|
saveData["grade_positions"] = v.GradePositions |
|
|
|
} |
|
|
|
if v.StartTime != "" { |
|
|
|
startTime, startTimeErr := overallhandle.DateToTimeStamp(v.StartTime) |
|
|
|
if startTimeErr == false { |
|
|
|
startTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", v.StartTime)) |
|
|
|
} |
|
|
|
if startTime != insiCont.StartTime { |
|
|
|
saveData["start_time"] = startTime |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if v.StartTime != "" { |
|
|
|
if v.EndTime != "至今" && v.EndTime != "2199-12-31 00:00:00" && v.EndTime != "2199-12-31" && v.EndTime != "7258003200" { |
|
|
|
|
|
|
|
endTime, endTimeErr := overallhandle.DateToTimeStamp(v.EndTime) |
|
|
|
if endTimeErr == false { |
|
|
|
endTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", v.EndTime)) |
|
|
|
} |
|
|
|
if endTime != insiCont.EndTime { |
|
|
|
saveData["end_time"] = endTime |
|
|
|
saveData["state"] = 2 |
|
|
|
} |
|
|
|
} else { |
|
|
|
saveData["end_time"] = 0 |
|
|
|
saveData["state"] = 1 |
|
|
|
} |
|
|
|
} |
|
|
|
if v.ChangeType != 0 && v.ChangeType != insiCont.ChangeType { |
|
|
|
saveData["end_time"] = v.ChangeType |
|
|
|
} |
|
|
|
if len(saveData) > 0 { |
|
|
|
insiCont.EditCont(map[string]interface{}{"`id`": insiCont.Id}, saveData) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if len(iInt) < len(contList) { |
|
|
|
var addData []models.InsideWorkHistory |
|
|
|
for ii, vv := range contList { |
|
|
|
if overallhandle.IsInTrue[int](ii, iInt) == false { |
|
|
|
var cont models.InsideWorkHistory |
|
|
|
cont.Key = manKeyNum //员工识别符"`
|
|
|
|
if vv.Group != "" { |
|
|
|
var groupCont models.AdministrativeOrganization |
|
|
|
groupErr := groupCont.GetCont(map[string]interface{}{"kingdeeid": vv.Group}, "id") |
|
|
|
if groupErr == nil { |
|
|
|
cont.Group = groupCont.Id //集团"`
|
|
|
|
} else { |
|
|
|
cont.Group = topGroup //集团"`
|
|
|
|
} |
|
|
|
} else { |
|
|
|
cont.Group = topGroup //集团"`
|
|
|
|
} |
|
|
|
if vv.Company != "" { |
|
|
|
var companyCont models.AdministrativeOrganization |
|
|
|
companyErr := companyCont.GetCont(map[string]interface{}{"kingdeeid": vv.Company}, "id") |
|
|
|
if companyErr == nil { |
|
|
|
cont.Company = companyCont.Id //部室"`
|
|
|
|
} else { |
|
|
|
cont.Company = topGroup //部室"`
|
|
|
|
} |
|
|
|
} else { |
|
|
|
cont.Company = topGroup //部室"`
|
|
|
|
} |
|
|
|
if vv.Department != "" { |
|
|
|
var departCont models.AdministrativeOrganization |
|
|
|
departErr := departCont.GetCont(map[string]interface{}{"kingdeeid": vv.Department}, "id") |
|
|
|
if departErr == nil { |
|
|
|
cont.Department = departCont.Id //部室"`
|
|
|
|
} else { |
|
|
|
cont.Department = topGroup //部室"`
|
|
|
|
} |
|
|
|
} else { |
|
|
|
cont.Department = topGroup //部室"`
|
|
|
|
} |
|
|
|
|
|
|
|
if vv.Workshop != "" { |
|
|
|
var workShopCont models.AdministrativeOrganization |
|
|
|
workShopErr := workShopCont.GetCont(map[string]interface{}{"kingdeeid": vv.Workshop}, "id") |
|
|
|
if workShopErr == nil { |
|
|
|
cont.WorkShop = workShopCont.Id //部室"`
|
|
|
|
} else { |
|
|
|
cont.WorkShop = 0 //二级部门或车间"`
|
|
|
|
} |
|
|
|
} else { |
|
|
|
cont.WorkShop = 0 //二级部门或车间"`
|
|
|
|
} |
|
|
|
|
|
|
|
if vv.WorkshopSection != "" { |
|
|
|
var workShopSecCont models.AdministrativeOrganization |
|
|
|
workShopSecErr := workShopSecCont.GetCont(map[string]interface{}{"kingdeeid": vv.WorkshopSection}, "id") |
|
|
|
if workShopSecErr == nil { |
|
|
|
cont.WorkshopSection = workShopSecCont.Id //工段"`
|
|
|
|
} else { |
|
|
|
cont.WorkshopSection = 0 //工段"`
|
|
|
|
} |
|
|
|
} else { |
|
|
|
cont.WorkshopSection = 0 //工段"`
|
|
|
|
} |
|
|
|
|
|
|
|
if vv.Position != "" { |
|
|
|
var positionCont models.Position |
|
|
|
positionErr := positionCont.GetCont(map[string]interface{}{"kingdeeid": vv.Position}, "id") |
|
|
|
if positionErr == nil { |
|
|
|
cont.Position = positionCont.Id //职位"`
|
|
|
|
} else { |
|
|
|
cont.Position = 1 //职位"`
|
|
|
|
} |
|
|
|
} else { |
|
|
|
cont.Position = 1 //职位"`
|
|
|
|
} |
|
|
|
|
|
|
|
cont.GradePositions = vv.GradePositions //职等"`
|
|
|
|
|
|
|
|
startTime := time.Now().Unix() |
|
|
|
if vv.StartTime != "" { |
|
|
|
startTimeErr := false |
|
|
|
startTime, startTimeErr = overallhandle.DateToTimeStamp(vv.StartTime) |
|
|
|
if startTimeErr == false { |
|
|
|
startTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", vv.StartTime)) |
|
|
|
} |
|
|
|
} |
|
|
|
cont.StartTime = startTime //开始日期"`
|
|
|
|
cont.State = 1 //状态(1:启用;2:禁用;3:删除)"`
|
|
|
|
if vv.EndTime != "" { |
|
|
|
if vv.EndTime != "至今" && vv.EndTime != "2199-12-31 00:00:00" && vv.EndTime != "2199-12-31" && vv.EndTime != "7258003200" { |
|
|
|
endTime, endTimeErr := overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", vv.EndTime)) |
|
|
|
if endTimeErr == false { |
|
|
|
endTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", vv.EndTime)) |
|
|
|
} |
|
|
|
cont.EndTime = endTime |
|
|
|
cont.State = 2 |
|
|
|
} |
|
|
|
} |
|
|
|
cont.Team = 1 //班组(1:长白;2:甲;3:乙;4:丙;5:丁)"`
|
|
|
|
changeTypes := vv.ChangeType |
|
|
|
if changeTypes == 0 { |
|
|
|
changeTypes = 1 |
|
|
|
} |
|
|
|
cont.ChangeType = changeTypes //变动类型(1:预入职;2:雇佣入职;3:转正;4:职等调整;5:调动调入;6:借调;7:兼职;8:预离职;9:离职;10:退休;11:返聘;12:员工初始化;)"`
|
|
|
|
cont.Time = time.Now().Unix() //:创建时间"`
|
|
|
|
|
|
|
|
addData = append(addData, cont) |
|
|
|
} |
|
|
|
} |
|
|
|
if len(addData) > 0 { |
|
|
|
overall.CONSTANT_DB_HR.Create(&addData) |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
//不存在集团内部工作经历,进行新政
|
|
|
|
var addData []models.InsideWorkHistory |
|
|
|
for _, v := range contList { |
|
|
|
var cont models.InsideWorkHistory |
|
|
|
cont.Key = manKeyNum //员工识别符"`
|
|
|
|
if v.Group != "" { |
|
|
|
var groupCont models.AdministrativeOrganization |
|
|
|
groupErr := groupCont.GetCont(map[string]interface{}{"kingdeeid": v.Group}, "id") |
|
|
|
if groupErr == nil { |
|
|
|
cont.Group = groupCont.Id //集团"`
|
|
|
|
} else { |
|
|
|
cont.Group = topGroup //集团"`
|
|
|
|
} |
|
|
|
} else { |
|
|
|
cont.Group = topGroup //集团"`
|
|
|
|
} |
|
|
|
if v.Company != "" { |
|
|
|
var companyCont models.AdministrativeOrganization |
|
|
|
companyErr := companyCont.GetCont(map[string]interface{}{"kingdeeid": v.Company}, "id") |
|
|
|
if companyErr == nil { |
|
|
|
cont.Company = companyCont.Id //部室"`
|
|
|
|
} else { |
|
|
|
cont.Company = topGroup //部室"`
|
|
|
|
} |
|
|
|
} else { |
|
|
|
cont.Company = topGroup //部室"`
|
|
|
|
} |
|
|
|
if v.Department != "" { |
|
|
|
var departCont models.AdministrativeOrganization |
|
|
|
departErr := departCont.GetCont(map[string]interface{}{"kingdeeid": v.Department}, "id") |
|
|
|
if departErr == nil { |
|
|
|
cont.Department = departCont.Id //部室"`
|
|
|
|
} else { |
|
|
|
cont.Department = topGroup //部室"`
|
|
|
|
} |
|
|
|
} else { |
|
|
|
cont.Department = topGroup //部室"`
|
|
|
|
} |
|
|
|
|
|
|
|
if v.Workshop != "" { |
|
|
|
var workShopCont models.AdministrativeOrganization |
|
|
|
workShopErr := workShopCont.GetCont(map[string]interface{}{"kingdeeid": v.Workshop}, "id") |
|
|
|
if workShopErr == nil { |
|
|
|
cont.WorkShop = workShopCont.Id //部室"`
|
|
|
|
} else { |
|
|
|
cont.WorkShop = 0 //二级部门或车间"`
|
|
|
|
} |
|
|
|
} else { |
|
|
|
cont.WorkShop = 0 //二级部门或车间"`
|
|
|
|
} |
|
|
|
|
|
|
|
if v.WorkshopSection != "" { |
|
|
|
var workShopSecCont models.AdministrativeOrganization |
|
|
|
workShopSecErr := workShopSecCont.GetCont(map[string]interface{}{"kingdeeid": v.WorkshopSection}, "id") |
|
|
|
if workShopSecErr == nil { |
|
|
|
cont.WorkshopSection = workShopSecCont.Id //工段"`
|
|
|
|
} else { |
|
|
|
cont.WorkshopSection = 0 //工段"`
|
|
|
|
} |
|
|
|
} else { |
|
|
|
cont.WorkshopSection = 0 //工段"`
|
|
|
|
} |
|
|
|
|
|
|
|
if v.Position != "" { |
|
|
|
var positionCont models.Position |
|
|
|
positionErr := positionCont.GetCont(map[string]interface{}{"kingdeeid": v.Position}, "id") |
|
|
|
if positionErr == nil { |
|
|
|
cont.Position = positionCont.Id //职位"`
|
|
|
|
} else { |
|
|
|
cont.Position = 1 //职位"`
|
|
|
|
} |
|
|
|
} else { |
|
|
|
cont.Position = 1 //职位"`
|
|
|
|
} |
|
|
|
|
|
|
|
cont.GradePositions = v.GradePositions //职等"`
|
|
|
|
|
|
|
|
startTime := time.Now().Unix() |
|
|
|
if v.StartTime != "" { |
|
|
|
startTimeErr := false |
|
|
|
startTime, startTimeErr = overallhandle.DateToTimeStamp(v.StartTime) |
|
|
|
if startTimeErr == false { |
|
|
|
startTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", v.StartTime)) |
|
|
|
} |
|
|
|
} |
|
|
|
cont.StartTime = startTime //开始日期"`
|
|
|
|
|
|
|
|
cont.State = 1 //状态(1:启用;2:休眠;3:删除)"`
|
|
|
|
if v.EndTime != "" { |
|
|
|
if v.EndTime != "至今" && v.EndTime != "2199-12-31 00:00:00" && v.EndTime != "2199-12-31" && v.EndTime != "7258003200" { |
|
|
|
endTime, endTimeErr := overallhandle.DateToTimeStamp(v.EndTime) |
|
|
|
if endTimeErr == false { |
|
|
|
endTime, _ = overallhandle.DateToTimeStamp(fmt.Sprintf("%v 00:00:00", v.EndTime)) |
|
|
|
} |
|
|
|
cont.EndTime = endTime |
|
|
|
cont.State = 2 //状态(1:启用;2:休眠;3:删除)"`
|
|
|
|
} |
|
|
|
} |
|
|
|
cont.Team = 1 //班组(1:长白;2:甲;3:乙;4:丙;5:丁)"`
|
|
|
|
changeTypes := v.ChangeType |
|
|
|
if changeTypes == 0 { |
|
|
|
changeTypes = 1 |
|
|
|
} |
|
|
|
cont.ChangeType = changeTypes //变动类型(1:预入职;2:雇佣入职;3:转正;4:职等调整;5:调动调入;6:借调;7:兼职;8:预离职;9:离职;10:退休;11:返聘;12:员工初始化;)"`
|
|
|
|
cont.Time = time.Now().Unix() //:创建时间"`
|
|
|
|
|
|
|
|
addData = append(addData, cont) |
|
|
|
} |
|
|
|
if len(addData) > 0 { |
|
|
|
overall.CONSTANT_DB_HR.Create(&addData) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|