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.
655 lines
21 KiB
655 lines
21 KiB
package postpc
|
|
|
|
import (
|
|
"key_performance_indicators/models/modelshr"
|
|
"key_performance_indicators/models/modelskpi"
|
|
"key_performance_indicators/overall"
|
|
"key_performance_indicators/overall/publicmethod"
|
|
"strconv"
|
|
"time"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// 提交岗位定量目标设定
|
|
func (a *ApiMethod) SetEvaluationObjectives(c *gin.Context) {
|
|
var requestData SetEvaluationObjectives
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
publicmethod.Result(1, err, c, "数据获取失败!")
|
|
return
|
|
}
|
|
if requestData.Year == 0 {
|
|
publicmethod.Result(1, err, c, "请填写年度")
|
|
return
|
|
}
|
|
// if requestData.Group == "" {
|
|
// publicmethod.Result(1, err, c, "请选择归属集团")
|
|
// return
|
|
// }
|
|
if requestData.DepartMent == "" {
|
|
publicmethod.Result(1, err, c, "请选择归属行政组织")
|
|
return
|
|
}
|
|
if requestData.PostId == "" {
|
|
publicmethod.Result(1, err, c, "请选择归属岗位")
|
|
return
|
|
}
|
|
if requestData.Dimension == "" {
|
|
publicmethod.Result(1, err, c, "请选择归属维度")
|
|
return
|
|
}
|
|
if requestData.Target == "" {
|
|
publicmethod.Result(1, err, c, "请选择归属指标")
|
|
return
|
|
}
|
|
switch requestData.Cycle {
|
|
case 1:
|
|
if len(requestData.CycleAdded) != 1 {
|
|
publicmethod.Result(1, err, c, "年度只可填写一条!")
|
|
return
|
|
}
|
|
case 2:
|
|
if len(requestData.CycleAdded) > 4 {
|
|
publicmethod.Result(1, err, c, "季度最多只可填写四条!")
|
|
return
|
|
}
|
|
if len(requestData.CycleAdded) < 1 {
|
|
publicmethod.Result(1, err, c, "季度至少填写一条!")
|
|
return
|
|
}
|
|
case 3:
|
|
if len(requestData.CycleAdded) > 12 {
|
|
publicmethod.Result(1, err, c, "月度最多只可填写十二条!")
|
|
return
|
|
}
|
|
if len(requestData.CycleAdded) < 1 {
|
|
publicmethod.Result(1, err, c, "月度至少填写一条!")
|
|
return
|
|
}
|
|
default:
|
|
publicmethod.Result(1, err, c, "请选择周期")
|
|
return
|
|
}
|
|
|
|
orgId, _ := strconv.ParseInt(requestData.DepartMent, 10, 64)
|
|
_, companyId, departmentId, _, _ := publicmethod.GetOrgStructure(orgId) //公司部门
|
|
|
|
var timecopy []int64
|
|
|
|
gromDb := overall.CONSTANT_DB_KPI.Model(&modelskpi.QuanPostConfig{}).Select("Timecopy").Where("`group` = ? AND `org_id` = ? AND `post_id` = ? AND `dimension` = ? AND `target` = ? AND `year` = ? ", companyId, requestData.DepartMent, requestData.PostId, requestData.Dimension, requestData.Target, requestData.Year)
|
|
|
|
judgeErr := gromDb.Find(&timecopy).Error
|
|
|
|
if judgeErr == nil {
|
|
if len(timecopy) > 0 {
|
|
publicmethod.Result(1, judgeErr, c, "已经存在!不要重复添加!")
|
|
return
|
|
}
|
|
}
|
|
|
|
var saveData []modelskpi.QuanPostConfig
|
|
var eiteAddData []int64
|
|
for _, v := range requestData.CycleAdded {
|
|
if judgeErr != nil {
|
|
|
|
var saveDataCont modelskpi.QuanPostConfig
|
|
saveDataCont.CompanyId = companyId
|
|
saveDataCont.DepartmentId = departmentId
|
|
saveDataCont.OrgId = orgId //行政组织
|
|
postIdInt, _ := strconv.ParseInt(requestData.PostId, 10, 64)
|
|
saveDataCont.PostId = postIdInt //岗位
|
|
dimensionId, _ := strconv.ParseInt(requestData.Dimension, 10, 64)
|
|
saveDataCont.Dimension = dimensionId //维度
|
|
|
|
targetId, _ := strconv.ParseInt(requestData.Target, 10, 64)
|
|
saveDataCont.Target = targetId //指标
|
|
|
|
saveDataCont.Type = int64(requestData.Cycle)
|
|
saveDataCont.Year = requestData.Year
|
|
saveDataCont.Timecopy = v.Id
|
|
if v.Zeroprize < 0 {
|
|
saveDataCont.Zeroprize = 0
|
|
} else {
|
|
saveDataCont.Zeroprize = v.Zeroprize * 100
|
|
}
|
|
if v.Allprize < 0 {
|
|
saveDataCont.Allprize = 0
|
|
} else {
|
|
saveDataCont.Allprize = v.Allprize * 100
|
|
}
|
|
if v.Capping > 0 {
|
|
saveDataCont.Capping = 1
|
|
saveDataCont.CappingVal = v.Capping * 100
|
|
} else {
|
|
saveDataCont.Capping = 2
|
|
saveDataCont.CappingVal = 0
|
|
}
|
|
saveDataCont.Time = time.Now().Unix()
|
|
saveDataCont.State = 1
|
|
saveData = append(saveData, saveDataCont)
|
|
} else {
|
|
if len(timecopy) <= 0 {
|
|
var saveDataCont modelskpi.QuanPostConfig
|
|
// orgId, _ := strconv.ParseInt(requestData.DepartMent, 10, 64)
|
|
// _, saveDataCont.CompanyId, saveDataCont.DepartmentId, _, _ = publicmethod.GetOrgStructure(orgId) //公司部门
|
|
saveDataCont.CompanyId = companyId
|
|
saveDataCont.DepartmentId = departmentId
|
|
saveDataCont.OrgId = orgId //行政组织
|
|
postIdInt, _ := strconv.ParseInt(requestData.PostId, 10, 64)
|
|
saveDataCont.PostId = postIdInt //岗位
|
|
dimensionId, _ := strconv.ParseInt(requestData.Dimension, 10, 64)
|
|
saveDataCont.Dimension = dimensionId //维度
|
|
|
|
targetId, _ := strconv.ParseInt(requestData.Target, 10, 64)
|
|
saveDataCont.Target = targetId //指标
|
|
|
|
saveDataCont.Type = int64(requestData.Cycle)
|
|
saveDataCont.Year = requestData.Year
|
|
saveDataCont.Timecopy = v.Id
|
|
if v.Zeroprize < 0 {
|
|
saveDataCont.Zeroprize = 0
|
|
} else {
|
|
saveDataCont.Zeroprize = v.Zeroprize * 100
|
|
}
|
|
if v.Allprize < 0 {
|
|
saveDataCont.Allprize = 0
|
|
} else {
|
|
saveDataCont.Allprize = v.Allprize * 100
|
|
}
|
|
if v.Capping > 0 {
|
|
saveDataCont.Capping = 1
|
|
saveDataCont.CappingVal = v.Capping * 100
|
|
} else {
|
|
saveDataCont.Capping = 2
|
|
saveDataCont.CappingVal = 0
|
|
}
|
|
saveDataCont.Time = time.Now().Unix()
|
|
saveDataCont.State = 1
|
|
saveData = append(saveData, saveDataCont)
|
|
} else {
|
|
for _, s_v := range timecopy {
|
|
if s_v != v.Id {
|
|
var saveDataCont modelskpi.QuanPostConfig
|
|
// orgId, _ := strconv.ParseInt(requestData.DepartMent, 10, 64)
|
|
// _, saveDataCont.CompanyId, saveDataCont.DepartmentId, _, _ = publicmethod.GetOrgStructure(orgId) //公司部门
|
|
saveDataCont.CompanyId = companyId
|
|
saveDataCont.DepartmentId = departmentId
|
|
saveDataCont.OrgId = orgId //行政组织
|
|
postIdInt, _ := strconv.ParseInt(requestData.PostId, 10, 64)
|
|
saveDataCont.PostId = postIdInt //岗位
|
|
dimensionId, _ := strconv.ParseInt(requestData.Dimension, 10, 64)
|
|
saveDataCont.Dimension = dimensionId //维度
|
|
|
|
targetId, _ := strconv.ParseInt(requestData.Target, 10, 64)
|
|
saveDataCont.Target = targetId //指标
|
|
|
|
saveDataCont.Type = int64(requestData.Cycle)
|
|
saveDataCont.Year = requestData.Year
|
|
saveDataCont.Timecopy = v.Id
|
|
if v.Zeroprize < 0 {
|
|
saveDataCont.Zeroprize = 0
|
|
} else {
|
|
saveDataCont.Zeroprize = v.Zeroprize * 100
|
|
}
|
|
if v.Allprize < 0 {
|
|
saveDataCont.Allprize = 0
|
|
} else {
|
|
saveDataCont.Allprize = v.Allprize * 100
|
|
}
|
|
if v.Capping > 0 {
|
|
saveDataCont.Capping = 1
|
|
saveDataCont.CappingVal = v.Capping * 100
|
|
} else {
|
|
saveDataCont.Capping = 2
|
|
saveDataCont.CappingVal = 0
|
|
}
|
|
saveDataCont.Time = time.Now().Unix()
|
|
saveDataCont.State = 1
|
|
saveData = append(saveData, saveDataCont)
|
|
} else {
|
|
eiteDataMap := publicmethod.MapOut[string]()
|
|
eiteDataMap["type"] = requestData.Cycle
|
|
eiteDataMap["timecopy"] = v.Id
|
|
if v.Zeroprize < 0 {
|
|
eiteDataMap["zeroprize"] = 0
|
|
} else {
|
|
|
|
eiteDataMap["zeroprize"] = v.Zeroprize * 100
|
|
}
|
|
if v.Allprize < 0 {
|
|
eiteDataMap["allprize"] = 0
|
|
} else {
|
|
|
|
eiteDataMap["allprize"] = v.Allprize * 100
|
|
}
|
|
if v.Capping > 0 {
|
|
|
|
eiteDataMap["capping"] = 1
|
|
eiteDataMap["capping_val"] = v.Capping * 100
|
|
} else {
|
|
eiteDataMap["capping"] = 2
|
|
eiteDataMap["capping_val"] = 0
|
|
}
|
|
eiteDataMap["time"] = time.Now().Unix()
|
|
gromDb := overall.CONSTANT_DB_KPI.Model(&modelskpi.QuanPostConfig{}).Select("Timecopy").Where("`company_id` = ? AND `org_id` = ? AND `post_id` = ? AND `dimension` = ? AND `target` = ? AND `year` = ? AND `type` = ?", companyId, requestData.DepartMent, requestData.PostId, requestData.Dimension, requestData.Target, requestData.Year, requestData.Cycle)
|
|
|
|
gromDb.Updates(eiteDataMap)
|
|
eiteAddData = append(eiteAddData, 1)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if len(saveData) <= 0 && len(eiteAddData) <= 0 {
|
|
publicmethod.Result(1, err, c, "没有要添加的数据!")
|
|
return
|
|
}
|
|
if len(saveData) > 0 {
|
|
saveErr := overall.CONSTANT_DB_KPI.Create(&saveData).Error
|
|
if saveErr != nil {
|
|
publicmethod.Result(1, err, c, "数据添加失败!")
|
|
return
|
|
}
|
|
}
|
|
publicmethod.Result(0, err, c)
|
|
}
|
|
|
|
// 岗位定量考核目标列表
|
|
func (a *ApiMethod) PostConfigList(c *gin.Context) {
|
|
var requestData SelectQuantitativeConfig
|
|
c.ShouldBindJSON(&requestData)
|
|
// if err != nil {
|
|
// publicmethod.Result(1, err, c, "数据获取失败!")
|
|
// return
|
|
// }
|
|
// var qualConfigList []assessmentmodel.QuantitativeConfig
|
|
var qualConfigList []modelskpi.QuanPostConfigTarget
|
|
gormDb := overall.CONSTANT_DB_KPI
|
|
if requestData.GroupId != "" {
|
|
gormDb = gormDb.Where("`company_id` = ?", requestData.GroupId)
|
|
}
|
|
if requestData.DepartmentID != "" {
|
|
gormDb = gormDb.Where("`org_id` = ?", requestData.DepartmentID)
|
|
}
|
|
if requestData.PostId != "" {
|
|
gormDb = gormDb.Where("`post_id` = ?", requestData.PostId)
|
|
}
|
|
if requestData.Dimension != "" {
|
|
gormDb = gormDb.Where("`dimension` = ?", requestData.Dimension)
|
|
}
|
|
if requestData.Target != "" {
|
|
gormDb = gormDb.Where("`target` = ?", requestData.Target)
|
|
}
|
|
|
|
switch requestData.Type {
|
|
case 1:
|
|
gormDb = gormDb.Where("`type` = ?", requestData.Type)
|
|
case 2:
|
|
gormDb = gormDb.Where("`type` = ?", requestData.Type)
|
|
if requestData.Class != 0 {
|
|
gormDb = gormDb.Where("`timecopy` = ?", requestData.Class)
|
|
}
|
|
case 3:
|
|
gormDb = gormDb.Where("`type` = ?", requestData.Type)
|
|
if requestData.Class != 0 {
|
|
gormDb = gormDb.Where("`timecopy` = ?", requestData.Class)
|
|
}
|
|
default:
|
|
}
|
|
if requestData.Year != 0 {
|
|
gormDb = gormDb.Where("`year` = ?", requestData.Year)
|
|
}
|
|
if requestData.State != 0 {
|
|
gormDb = gormDb.Where("`state` = ?", requestData.State)
|
|
}
|
|
if requestData.Title != "" {
|
|
gormDb = gormDb.Where("`title` LIKE ?", "%"+requestData.Title+"%")
|
|
}
|
|
// gormDb = gormDb.Order("group ASC,departmentid ASC,dimension ASC,target ASC,targetconfig ASC").Order("year DESC").Order("timecopy ASC,id ASC")
|
|
gormDb = gormDb.Order("`company_id` ASC").Order("`department_id` ASC").Order("`org_id` ASC").Order("`post_id` ASC").Order("`dimension` ASC").Order("`target` ASC").Order("`year` DESC").Order("`timecopy` ASC").Order("`id` ASC")
|
|
contErr := gormDb.Find(&qualConfigList).Error
|
|
if contErr != nil {
|
|
publicmethod.Result(1, contErr, c, "没有数据!")
|
|
return
|
|
}
|
|
var outList []OutQuantitativeConfig
|
|
for _, v := range qualConfigList {
|
|
var outCont OutQuantitativeConfig
|
|
outCont.Id = v.Id
|
|
outCont.Title = v.Title
|
|
outCont.CompanyId = v.CompanyId
|
|
outCont.DepartmentId = v.DepartmentId
|
|
outCont.OrgId = v.OrgId
|
|
outCont.PostId = v.PostId
|
|
|
|
outCont.Dimension = v.Dimension
|
|
outCont.Target = v.Target
|
|
|
|
outCont.Type = v.Type
|
|
outCont.Year = v.Year
|
|
outCont.Timecopy = v.Timecopy
|
|
outCont.Zeroprize = v.Zeroprize / 100
|
|
outCont.Allprize = v.Allprize / 100
|
|
outCont.Capping = v.Capping
|
|
outCont.CappingVal = v.CappingVal / 100
|
|
outCont.Time = v.Time
|
|
outCont.State = v.State
|
|
outCont.DimensionId = strconv.FormatInt(v.Dimension, 10)
|
|
|
|
var companyCont modelshr.AdministrativeOrganization
|
|
companyCont.GetCont(map[string]interface{}{"`id`": v.CompanyId}, "id", "name")
|
|
outCont.GroupTitle = companyCont.Name
|
|
|
|
var departmenCont modelshr.AdministrativeOrganization
|
|
departmenCont.GetCont(map[string]interface{}{"`id`": v.DepartmentId}, "id", "name")
|
|
outCont.DepartmentTitle = departmenCont.Name
|
|
|
|
var postCont modelshr.Position
|
|
postCont.GetCont(map[string]interface{}{"`id`": v.PostId}, "id", "name")
|
|
outCont.PostTitle = postCont.Name
|
|
|
|
var dimensionCont modelskpi.DutyClass
|
|
dimensionCont.GetCont(map[string]interface{}{"`id`": v.Dimension}, "id", "title")
|
|
outCont.DimensionTitle = dimensionCont.Title
|
|
|
|
outCont.TargetTitle = v.Title
|
|
// dErr, departmentInfo := commonus.GetBranchFactory(v.DepartmentId)
|
|
// if dErr == true {
|
|
// outCont.DimensionTitle = departmentInfo.Name
|
|
// }
|
|
// targetInfo, tErr := commonus.GetTargetInfo(v.Target)
|
|
// if tErr == true {
|
|
// outCont.TargetTitle = targetInfo.Title
|
|
// }
|
|
|
|
outList = append(outList, outCont)
|
|
}
|
|
publicmethod.Result(0, outList, c)
|
|
}
|
|
|
|
// 修改考核目标设置
|
|
func (a *ApiMethod) EiteQuantitativeConfig(c *gin.Context) {
|
|
var requestData []EiteQuantConfig
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
publicmethod.Result(1, err, c, "数据获取失败!")
|
|
return
|
|
}
|
|
if len(requestData) < 1 {
|
|
publicmethod.Result(1, err, c, "数据获取失败!")
|
|
return
|
|
}
|
|
for _, v := range requestData {
|
|
eiteCont := publicmethod.MapOut[string]()
|
|
eiteCont["allprize"] = v.Allprize * 100
|
|
eiteCont["zeroprize"] = v.Zeroprize * 100
|
|
eiteCont["capping_val"] = v.Capping * 100
|
|
err = overall.CONSTANT_DB_KPI.Model(&modelskpi.QuanPostConfig{}).Where("`id` = ?", v.Id).Updates(eiteCont).Error
|
|
}
|
|
if err != nil {
|
|
publicmethod.Result(104, err, c)
|
|
} else {
|
|
publicmethod.Result(0, err, c)
|
|
}
|
|
}
|
|
|
|
// 删除考核目标设置
|
|
func (a *ApiMethod) DelQuantitativeConfig(c *gin.Context) {
|
|
var requestData []string
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
publicmethod.Result(1, err, c, "数据获取失败!")
|
|
return
|
|
}
|
|
if len(requestData) < 1 {
|
|
publicmethod.Result(1, err, c, "数据获取失败!")
|
|
return
|
|
}
|
|
err = overall.CONSTANT_DB_KPI.Where("`id` IN ?", requestData).Delete(&modelskpi.QuanPostConfig{}).Error
|
|
if err != nil {
|
|
publicmethod.Result(108, err, c)
|
|
} else {
|
|
publicmethod.Result(0, err, c)
|
|
}
|
|
}
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2022-11-12 13:25:51
|
|
@ 功能: 删除考核目标设置(新版)
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) NewDelQuantitativeConfig(c *gin.Context) {
|
|
var receivedValue newDelTargetConfig
|
|
err := c.ShouldBindJSON(&receivedValue)
|
|
if err != nil {
|
|
publicmethod.Result(100, err, c)
|
|
return
|
|
}
|
|
if receivedValue.OrgID == "" || receivedValue.PostId == "" || receivedValue.Dimension == "" || receivedValue.Target == "" || receivedValue.Type == 0 || receivedValue.Year == 0 {
|
|
publicmethod.Result(101, receivedValue, c, "数据获取失败!")
|
|
return
|
|
}
|
|
err = overall.CONSTANT_DB_KPI.Where("`org_id` = ? AND `post_id` = ? AND `dimension` = ? AND `target` = ? AND `type` = ? AND `year` = ?", receivedValue.OrgID, receivedValue.PostId, receivedValue.Dimension, receivedValue.Target, receivedValue.Type, receivedValue.Year).Delete(&modelskpi.QuanPostConfig{}).Error
|
|
if err != nil {
|
|
publicmethod.Result(108, err, c)
|
|
} else {
|
|
publicmethod.Result(0, err, c)
|
|
}
|
|
}
|
|
|
|
// 查看定量岗位考核目标设定
|
|
func (a *ApiMethod) LookPosttiveConfig(c *gin.Context) {
|
|
var requestData SelectQuantitativeConfig
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
publicmethod.Result(1, err, c, "数据获取失败!")
|
|
return
|
|
}
|
|
// var qualConfigList []assessmentmodel.QuantitativeConfig
|
|
var qualConfigList []modelskpi.QuanPostConfigTarget
|
|
gormDb := overall.CONSTANT_DB_KPI
|
|
if requestData.GroupId != "" {
|
|
gormDb = gormDb.Where("`company_id` = ?", requestData.GroupId)
|
|
}
|
|
if requestData.DepartmentID != "" {
|
|
gormDb = gormDb.Where("`department_id` = ?", requestData.DepartmentID)
|
|
}
|
|
if requestData.OrgID != "" {
|
|
gormDb = gormDb.Where("`org_id` = ?", requestData.OrgID)
|
|
}
|
|
if requestData.PostId != "" {
|
|
gormDb = gormDb.Where("`post_id` = ?", requestData.PostId)
|
|
}
|
|
if requestData.Dimension != "" {
|
|
gormDb = gormDb.Where("`dimension` = ?", requestData.Dimension)
|
|
}
|
|
if requestData.Target != "" {
|
|
gormDb = gormDb.Where("`target` = ?", requestData.Target)
|
|
}
|
|
|
|
switch requestData.Type {
|
|
case 1:
|
|
gormDb = gormDb.Where("`type` = ?", requestData.Type)
|
|
case 2:
|
|
gormDb = gormDb.Where("`type` = ?", requestData.Type)
|
|
if requestData.Class != 0 {
|
|
gormDb = gormDb.Where("`timecopy` = ?", requestData.Class)
|
|
}
|
|
case 3:
|
|
gormDb = gormDb.Where("`type` = ?", requestData.Type)
|
|
if requestData.Class != 0 {
|
|
gormDb = gormDb.Where("`timecopy` = ?", requestData.Class)
|
|
}
|
|
default:
|
|
}
|
|
if requestData.Year != 0 {
|
|
gormDb = gormDb.Where("`year` = ?", requestData.Year)
|
|
}
|
|
if requestData.State != 0 {
|
|
gormDb = gormDb.Where("`state` = ?", requestData.State)
|
|
}
|
|
if requestData.Title != "" {
|
|
gormDb = gormDb.Where("`title` LIKE ?", "%"+requestData.Title+"%")
|
|
}
|
|
// gormDb = gormDb.Order("group ASC,departmentid ASC,dimension ASC,target ASC,targetconfig ASC").Order("year DESC").Order("timecopy ASC,id ASC")
|
|
gormDb = gormDb.Order("`company_id` ASC").Order("`department_id` ASC").Order("`org_id` ASC").Order("`dimension` ASC").Order("`target` ASC").Order("`year` DESC").Order("`timecopy` ASC").Order("`id` ASC")
|
|
contErr := gormDb.Find(&qualConfigList).Error
|
|
if contErr != nil {
|
|
publicmethod.Result(1, err, c, "没有数据!")
|
|
return
|
|
}
|
|
var outList []OutQuantitativeConfig
|
|
for _, v := range qualConfigList {
|
|
var outCont OutQuantitativeConfig
|
|
outCont.Id = v.Id
|
|
outCont.IdStr = strconv.FormatInt(v.Id, 10)
|
|
outCont.DepartmentId = v.DepartmentId
|
|
outCont.CompanyId = v.CompanyId
|
|
outCont.Dimension = v.Dimension
|
|
outCont.PostId = v.PostId
|
|
outCont.Target = v.Target
|
|
outCont.Type = v.Type
|
|
outCont.Year = v.Year
|
|
outCont.Timecopy = v.Timecopy
|
|
outCont.Zeroprize = v.Zeroprize / 100
|
|
outCont.Allprize = v.Allprize / 100
|
|
outCont.Time = v.Time
|
|
outCont.State = v.State
|
|
outCont.DimensionId = strconv.FormatInt(v.Dimension, 10)
|
|
|
|
var companyCont modelshr.AdministrativeOrganization
|
|
companyCont.GetCont(map[string]interface{}{"`id`": v.CompanyId}, "id", "name")
|
|
outCont.GroupTitle = companyCont.Name
|
|
|
|
var departmenCont modelshr.AdministrativeOrganization
|
|
departmenCont.GetCont(map[string]interface{}{"`id`": v.DepartmentId}, "id", "name")
|
|
outCont.DepartmentTitle = departmenCont.Name
|
|
|
|
var postCont modelshr.Position
|
|
postCont.GetCont(map[string]interface{}{"`id`": v.PostId}, "id", "name")
|
|
outCont.PostTitle = postCont.Name
|
|
|
|
var dimensionCont modelskpi.DutyClass
|
|
dimensionCont.GetCont(map[string]interface{}{"`id`": v.Dimension}, "id", "title")
|
|
outCont.DimensionTitle = dimensionCont.Title
|
|
|
|
outCont.TargetTitle = v.Title
|
|
|
|
outCont.Capping = v.Capping
|
|
outCont.CappingVal = v.CappingVal / 100
|
|
outList = append(outList, outCont)
|
|
}
|
|
publicmethod.Result(0, outList, c)
|
|
}
|
|
|
|
// 岗位定量考核目标列表(新版)
|
|
func (a *ApiMethod) PostConfigListNews(c *gin.Context) {
|
|
var requestData SelectQuantitativeConfig
|
|
c.ShouldBindJSON(&requestData)
|
|
// if err != nil {
|
|
// publicmethod.Result(1, err, c, "数据获取失败!")
|
|
// return
|
|
// }
|
|
// var qualConfigList []assessmentmodel.QuantitativeConfig
|
|
var qualConfigList []modelskpi.QuanPostConfigTarget
|
|
gormDb := overall.CONSTANT_DB_KPI.Model(&modelskpi.QuanPostConfigTarget{}).Distinct("`company_id`,`department_id`,`org_id`,`post_id`,`dimension`,`target`,`title`,`year`,`type`")
|
|
if requestData.GroupId != "" {
|
|
gormDb = gormDb.Where("`company_id` = ?", requestData.GroupId)
|
|
}
|
|
if requestData.DepartmentID != "" {
|
|
gormDb = gormDb.Where("`org_id` = ?", requestData.DepartmentID)
|
|
}
|
|
if requestData.PostId != "" {
|
|
gormDb = gormDb.Where("`post_id` = ?", requestData.PostId)
|
|
}
|
|
if requestData.Dimension != "" {
|
|
gormDb = gormDb.Where("`dimension` = ?", requestData.Dimension)
|
|
}
|
|
if requestData.Target != "" {
|
|
gormDb = gormDb.Where("`target` = ?", requestData.Target)
|
|
}
|
|
|
|
if requestData.Year != 0 {
|
|
gormDb = gormDb.Where("`year` = ?", requestData.Year)
|
|
}
|
|
if requestData.State != 0 {
|
|
gormDb = gormDb.Where("`state` = ?", requestData.State)
|
|
} else {
|
|
gormDb = gormDb.Where("`state` = 1")
|
|
}
|
|
if requestData.Type != 0 {
|
|
gormDb = gormDb.Where("`type` = ?", requestData.Type)
|
|
}
|
|
if requestData.Title != "" {
|
|
gormDb = gormDb.Where("`title` LIKE ?", "%"+requestData.Title+"%")
|
|
}
|
|
// gormDb = gormDb.Order("group ASC,departmentid ASC,dimension ASC,target ASC,targetconfig ASC").Order("year DESC").Order("timecopy ASC,id ASC")
|
|
gormDb = gormDb.Order("`company_id` ASC").Order("`department_id` ASC").Order("`org_id` ASC").Order("`post_id` ASC").Order("`dimension` ASC").Order("`target` ASC").Order("`year` DESC")
|
|
contErr := gormDb.Find(&qualConfigList).Error
|
|
if contErr != nil {
|
|
publicmethod.Result(1, contErr, c, "没有数据!")
|
|
return
|
|
}
|
|
var outList []OutQuantitativeConfig
|
|
for _, v := range qualConfigList {
|
|
var outCont OutQuantitativeConfig
|
|
outCont.Id = v.Id
|
|
outCont.Title = v.Title
|
|
outCont.CompanyId = v.CompanyId
|
|
outCont.DepartmentId = v.DepartmentId
|
|
outCont.OrgId = v.OrgId
|
|
outCont.PostId = v.PostId
|
|
|
|
outCont.Dimension = v.Dimension
|
|
outCont.Target = v.Target
|
|
|
|
outCont.Type = v.Type
|
|
outCont.Year = v.Year
|
|
outCont.Timecopy = v.Timecopy
|
|
outCont.Zeroprize = v.Zeroprize / 100
|
|
outCont.Allprize = v.Allprize / 100
|
|
outCont.Capping = v.Capping
|
|
outCont.CappingVal = v.CappingVal / 100
|
|
outCont.Time = v.Time
|
|
outCont.State = v.State
|
|
outCont.DimensionId = strconv.FormatInt(v.Dimension, 10)
|
|
|
|
var companyCont modelshr.AdministrativeOrganization
|
|
companyCont.GetCont(map[string]interface{}{"`id`": v.CompanyId}, "id", "name")
|
|
outCont.GroupTitle = companyCont.Name
|
|
|
|
var departmenCont modelshr.AdministrativeOrganization
|
|
departmenCont.GetCont(map[string]interface{}{"`id`": v.DepartmentId}, "id", "name")
|
|
outCont.DepartmentTitle = departmenCont.Name
|
|
|
|
var postCont modelshr.Position
|
|
postCont.GetCont(map[string]interface{}{"`id`": v.PostId}, "id", "name")
|
|
outCont.PostTitle = postCont.Name
|
|
|
|
var dimensionCont modelskpi.DutyClass
|
|
dimensionCont.GetCont(map[string]interface{}{"`id`": v.Dimension}, "id", "title")
|
|
outCont.DimensionTitle = dimensionCont.Title
|
|
|
|
outCont.TargetTitle = v.Title
|
|
// dErr, departmentInfo := commonus.GetBranchFactory(v.DepartmentId)
|
|
// if dErr == true {
|
|
// outCont.DimensionTitle = departmentInfo.Name
|
|
// }
|
|
// targetInfo, tErr := commonus.GetTargetInfo(v.Target)
|
|
// if tErr == true {
|
|
// outCont.TargetTitle = targetInfo.Title
|
|
// }
|
|
|
|
outList = append(outList, outCont)
|
|
}
|
|
publicmethod.Result(0, outList, c)
|
|
}
|
|
|