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.
279 lines
6.3 KiB
279 lines
6.3 KiB
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)
|
|
}
|
|
|