package personnelapi import ( "hr_server/models" "hr_server/overall" "hr_server/overall/overallhandle" "time" "github.com/gin-gonic/gin" ) /* * @ 作者: 秦东 @ 时间: 2024-07-04 08:43:33 @ 功能: 奖惩记录 @ 参数 # @ 返回值 # @ 方法原型 # */ func (s *StaffApi) RewPunList(c *gin.Context) { var requestData RewPunType c.ShouldBindJSON(&requestData) // err := c.ShouldBindJSON(&requestData) // if err != nil { // overallhandle.Result(100, requestData.Id, c) // return // } if requestData.Id == "" { overallhandle.Result(101, requestData.Id, c) return } if requestData.Page < 0 { requestData.Page = 1 } if requestData.PageSize < 0 { requestData.PageSize = 10 } var list []SendRewPunInfo gormDb := overall.CONSTANT_DB_HR.Model(&models.RewardsPenalties{}).Where("`state` = 1 AND `userkey` = ?", requestData.Id) if requestData.State != 0 { if requestData.State == 1 { gormDb = gormDb.Where("`types` = ?", 1) } else { gormDb = gormDb.Where("`types` = ?", 2) } } var total int64 totalErr := gormDb.Count(&total).Error if totalErr != nil { total = 0 } gormDb = overallhandle.PageTurningSettings(gormDb, requestData.Page, requestData.PageSize) err := gormDb.Order("`years` DESC").Order("`months` ASC").Order("`id` DESC").Find(&list).Error if err != nil { overallhandle.Result(107, requestData.Id, c) return } for i, v := range list { list[i].TimedataStr = overallhandle.UnixTimeToDay(v.TimeData, 14) list[i].LevelName = overallhandle.RewPunLevel(v.Level) list[i].RewPunClassName = overallhandle.RewPunLevelClass(v.RewPunClass) } overallhandle.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(list)), list, c) } /* * @ 作者: 秦东 @ 时间: 2024-07-04 09:24:59 @ 功能: 绩效考核成绩 @ 参数 # @ 返回值 # @ 方法原型 # */ func (s *StaffApi) AssessmentRecords(c *gin.Context) { var requestData RewPunType c.ShouldBindJSON(&requestData) if requestData.Id == "" { overallhandle.Result(101, requestData.Id, c) return } if requestData.Page < 0 { requestData.Page = 1 } if requestData.PageSize < 0 { requestData.PageSize = 10 } var list []SendMeritslog gormDb := overall.CONSTANT_DB_HR.Model(&models.Meritslog{}).Where("`userkey` = ?", requestData.Id) if requestData.State != 0 { if requestData.State == 1 { gormDb = gormDb.Where("`status` = ?", 1) } else { gormDb = gormDb.Where("`status` = ?", 2) } } var total int64 totalErr := gormDb.Count(&total).Error if totalErr != nil { total = 0 } gormDb = overallhandle.PageTurningSettings(gormDb, requestData.Page, requestData.PageSize) err := gormDb.Order("`years` DESC").Order("`months` ASC").Order("`id` DESC").Find(&list).Error if err != nil { overallhandle.Result(107, requestData.Id, c) return } for i, v := range list { list[i].TimedataStr = overallhandle.UnixTimeToDay(v.TimeData, 14) } overallhandle.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(list)), list, c) } /* * @ 作者: 秦东 @ 时间: 2024-07-04 13:18:47 @ 功能: 员工关系 @ 参数 # @ 返回值 # @ 方法原型 # */ func (s *StaffApi) PeopleEmploymentRelationship(c *gin.Context) { var requestData overallhandle.ConstId err := c.ShouldBindJSON(&requestData) if err != nil { overallhandle.Result(100, err, c) return } if requestData.Id == "" { overallhandle.Result(101, err, c) return } var myInfo models.PersonnelContent err = myInfo.GetCont(map[string]interface{}{"`key`": requestData.Id}, "`channel`", "`entrydate`", "`jobstartdate`") if err != nil { overallhandle.Result(107, err, c) return } var sendInfo SendSheHuiGuanxi sendInfo.Channel = overallhandle.JoinJobChanelStr(myInfo.Channel) sendInfo.Jobstartdate = overallhandle.UnixTimeToDay(myInfo.Jobstartdate, 14) sendInfo.Entrydate = overallhandle.UnixTimeToDay(myInfo.Entrydate, 14) cruTime := time.Now().Unix() sendInfo.SheHuiGongli, _ = overallhandle.CalculateYearDifference(myInfo.Jobstartdate, cruTime, 0) sendInfo.JiTuanGongli, _ = overallhandle.CalculateYearDifference(myInfo.Entrydate, cruTime, 0) overallhandle.Result(0, sendInfo, c) } /* * @ 作者: 秦东 @ 时间: 2024-07-04 15:20:34 @ 功能: 职称列表 @ 参数 # @ 返回值 # @ 方法原型 # */ func (s *StaffApi) PeopleTitle(c *gin.Context) { var requestData overallhandle.ConstId err := c.ShouldBindJSON(&requestData) if err != nil { overallhandle.Result(100, err, c) return } if requestData.Id == "" { overallhandle.Result(101, err, c) return } var list []SendAcademicTitle err = overall.CONSTANT_DB_HR.Model(&models.AcademicTitle{}).Where("`userKey` = ?", requestData.Id).Order("`time` DESC").Order("`id` DESC").Find(&list).Error if err != nil { overallhandle.Result(107, err, c) return } for i, v := range list { list[i].TimeStr = overallhandle.UnixTimeToDay(v.Time, 14) } overallhandle.Result(0, list, c) } /* * @ 作者: 秦东 @ 时间: 2024-07-04 15:27:05 @ 功能: 荣誉 @ 参数 # @ 返回值 # @ 方法原型 # */ func (s *StaffApi) PeopleHonor(c *gin.Context) { var requestData HonorsType c.ShouldBindJSON(&requestData) if requestData.Id == "" { overallhandle.Result(101, requestData.Id, c) return } if requestData.Page < 0 { requestData.Page = 1 } if requestData.PageSize < 0 { requestData.PageSize = 10 } var list []SendCertificateHonors gormDb := overall.CONSTANT_DB_HR.Model(&models.CertificateHonors{}).Where("`userkey` = ?", requestData.Id) if requestData.State != 0 { if requestData.State == 1 { gormDb = gormDb.Where("`state` = ?", 1) } else { gormDb = gormDb.Where("`state` = ?", 2) } } if requestData.Types != 0 { gormDb = gormDb.Where("`types` = ?", requestData.Types) } var total int64 totalErr := gormDb.Count(&total).Error if totalErr != nil { total = 0 } gormDb = overallhandle.PageTurningSettings(gormDb, requestData.Page, requestData.PageSize) err := gormDb.Order("`years` DESC").Order("`months` ASC").Order("`id` DESC").Find(&list).Error if err != nil { overallhandle.Result(107, requestData.Id, c) return } for i, v := range list { if v.TimeData != 0 { list[i].TimeDataStr = overallhandle.UnixTimeToDay(v.TimeData, 14) } if v.EndTime != 0 { list[i].EndTimeStr = overallhandle.UnixTimeToDay(v.EndTime, 14) } } overallhandle.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(list)), list, c) }