Browse Source

部门指标细则完成

pull/4/head
超级管理员 3 years ago
parent
commit
98d51755ae
  1. 396
      api/version1/departmentseting/departmentpc/qualitativekpi.go
  2. 36
      api/version1/departmentseting/departmentpc/type.go
  3. 17
      apirouter/v1/departmentseting/pc.go
  4. 2
      models/modelskpi/detailed_target.go
  5. 1
      models/modelskpi/target_report.go

396
api/version1/departmentseting/departmentpc/qualitativekpi.go

@ -3,6 +3,7 @@ package departmentpc
import (
"encoding/json"
"fmt"
"key_performance_indicators/middleware/snowflake"
"key_performance_indicators/models/modelshr"
"key_performance_indicators/models/modelskpi"
"key_performance_indicators/overall"
@ -662,6 +663,13 @@ func handleDetarildTargetRepart(targetId, targetSunId, bylawsId int64, repart []
tarReportCont.EiteCont(map[string]interface{}{"`id`": tarReportCont.Id}, map[string]interface{}{"`state`": 1, "`man_department`": manCont.MainDeparment, "`time`": time.Now().Unix()})
}
} else {
xiZe := 3
if targetId != 0 && targetSunId != 0 && bylawsId == 0 {
xiZe = 2
} else if targetId != 0 && targetSunId == 0 && bylawsId == 0 {
xiZe = 1
}
tarReportCont.TargetId = targetId //指标ID"`
tarReportCont.TargetSunId = targetSunId //子目标"`
tarReportCont.TargetBylaws = bylawsId //指标细则"`
@ -674,6 +682,7 @@ func handleDetarildTargetRepart(targetId, targetSunId, bylawsId int64, repart []
tarReportCont.ManDepartment = manCont.MainDeparment //提报人所在部门"`
tarReportCont.Time = time.Now().Unix() //写入时间"`
tarReportCont.Class = 1 //1:定性考核;2:定量考核"`
tarReportCont.Level = xiZe //1:指标;2:子目标;3:细则
overall.CONSTANT_DB_KPI.Create(&tarReportCont)
}
}
@ -1143,10 +1152,10 @@ func (a *ApiMethod) DelSonTarget(c *gin.Context) {
go softDetaildeCont(sonTargetCont.ParentId, sonTargetCont.Id, delTime)
//软删除所有此子栏目相关的联部门
syncSeting.Add(1)
go softDelTargetDepartment(sonTargetCont.ParentId, sonTargetCont.Id, delTime)
go softDelTargetDepartment(map[string]interface{}{"target_id": sonTargetCont.ParentId, "target_sun_id": sonTargetCont.Id, "`state`": 1}, delTime)
//软删除所有此子栏目相关联的提报人
syncSeting.Add(1)
go softDelTargetReport(sonTargetCont.ParentId, sonTargetCont.Id, delTime)
go softDelTargetReport(map[string]interface{}{"`target_id`": sonTargetCont.ParentId, "`target_sun_id`": sonTargetCont.Id, "`state`": 1}, delTime)
//软删除此栏目
var delTargetSon modelskpi.QualitativeTarget
err = delTargetSon.EiteCont(map[string]interface{}{"`q_id`": sonTargetCont.Id}, map[string]interface{}{"`q_state`": 3, "`q_time`": delTime})
@ -1166,17 +1175,17 @@ func softDetaildeCont(targetId, sonTargetId, delTime int64) {
}
// 软删除所有此子栏目相关联的提报人
func softDelTargetReport(targetId, sonTargetId, delTime int64) {
func softDelTargetReport(where interface{}, delTime int64) {
defer syncSeting.Done()
var delTargetReport modelskpi.TargetReport
delTargetReport.EiteCont(map[string]interface{}{"`target_id`": targetId, "`target_sun_id`": sonTargetId, "`state`": 1}, map[string]interface{}{"`state`": 3, "`time`": delTime})
delTargetReport.EiteCont(where, map[string]interface{}{"`state`": 3, "`time`": delTime})
}
// 软删除所有此子栏目相关的联部门
func softDelTargetDepartment(targetId, sonTargetId, delTime int64) {
func softDelTargetDepartment(where interface{}, delTime int64) {
defer syncSeting.Done()
var delTargetDepartment modelskpi.TargetDepartment
delTargetDepartment.EiteCont(map[string]interface{}{"target_id": targetId, "target_sun_id": sonTargetId, "`state`": 1}, map[string]interface{}{"`state`": 3, "`time`": delTime})
delTargetDepartment.EiteCont(where, map[string]interface{}{"`state`": 3, "`time`": delTime})
}
// 获取单一指标细则内容
@ -1199,4 +1208,379 @@ func (a *ApiMethod) GetOneDetailedTarget(c *gin.Context) {
publicmethod.Result(107, err, c)
return
}
var outDataCont NewOutPutDetailedTarget
outDataCont.Id = strconv.FormatInt(detailedTargetCont.Id, 10)
outDataCont.Title = detailedTargetCont.Title //考核内容
outDataCont.Content = detailedTargetCont.Content //备注说明
outDataCont.Unit = detailedTargetCont.Company //单位
biaoZhun := ""
if detailedTargetCont.MinScore != 0 {
biaoZhun = fmt.Sprintf("%v-%v", detailedTargetCont.MinScore, detailedTargetCont.MaxScore)
} else {
biaoZhun = fmt.Sprintf("%v", detailedTargetCont.MaxScore)
}
outDataCont.ReferenceScore = biaoZhun //考核标准
outDataCont.Cycles = detailedTargetCont.Cycles //1:班;2:天;3:周;4:月;5:季度;6:年
outDataCont.CycleAttres = detailedTargetCont.CycleAttres //辅助计数
outDataCont.Operator, outDataCont.ReportManList, _ = getDetailedReport(detailedTargetCont.ParentId, detailedTargetCont.ParentIdSun, detailedTargetCont.Id, 1) //考核执行人
outDataCont.AddOrReduce = detailedTargetCont.AddReduce //操作类型 1:减少;2:增加;3:用户自定义
outDataCont.CensorType = strings.Split(detailedTargetCont.CensorType, ",") //检查方式(1:现场检查;2:资料检查;3:事件触发)
outDataCont.CensorCont = detailedTargetCont.CensorCont //客观证据
outDataCont.CensorRate = detailedTargetCont.CensorRate //检查频次
outDataCont.DepartmentList, _, _ = getDetailedDepartment(detailedTargetCont.ParentId, detailedTargetCont.ParentIdSun, detailedTargetCont.Id, 1) //接受考核的部门
publicmethod.Result(0, outDataCont, c)
}
// 获取指标细则接受考核部门
func getDetailedDepartment(targetId, targetSunId, bylawsId int64, class int) (departmentStr []string, departmentInfo []departOutcome, err error) {
if class == 0 {
class = 1
}
var departmentId []int64
err = overall.CONSTANT_DB_KPI.Model(&modelskpi.TargetDepartment{}).Distinct("`department_id`").Where("`state` = 1 AND `level` = ? AND `target_id` = ? AND `target_sun_id` = ? AND `target_bylaws` = ?", class, targetId, targetSunId, bylawsId).Find(&departmentId).Error
if err != nil || len(departmentId) < 1 {
return
}
var orgList []modelshr.AdministrativeOrganization
gormDb := overall.CONSTANT_DB_HR.Model(&modelshr.AdministrativeOrganization{}).Select("`id`,`name`,`superior`,`ispower`")
if len(departmentId) > 1 {
gormDb = gormDb.Where("`id` IN ?", departmentId)
} else {
gormDb = gormDb.Where("`id` = ?", departmentId)
}
err = gormDb.Find(&orgList).Error
if err != nil || len(orgList) < 1 {
return
}
for _, v := range orgList {
departIdStr := strconv.FormatInt(v.Id, 10)
if publicmethod.IsInTrue[string](departIdStr, departmentStr) == false {
var departCont departOutcome
departCont.Id = departIdStr
departCont.Name = v.Name
departCont.Superior = strconv.FormatInt(v.Superior, 10) //上级
departCont.Ispower = v.IsPower //是否为主部门
departmentStr = append(departmentStr, departIdStr)
departmentInfo = append(departmentInfo, departCont)
}
}
return
}
// 获取指标细则执行人
func getDetailedReport(targetId, targetSunId, bylawsId int64, class int) (userKey []string, userCont []printReportCont, err error) {
if class == 0 {
class = 1
}
var userKeyInt []int64
err = overall.CONSTANT_DB_KPI.Model(&modelskpi.TargetReport{}).Distinct("`man_key`").Where("`state` = 1 AND `type` = ? AND `target_id` = ? AND `target_sun_id` = ? AND `target_bylaws` = ?", class, targetId, targetSunId, bylawsId).Find(&userKeyInt).Error
if err != nil || len(userKeyInt) < 1 {
return
}
var userContList []modelshr.PersonArchives
gormDb := overall.CONSTANT_DB_HR.Model(&modelshr.PersonArchives{}).Select("`id`,`number`,`name`,`icon`,`company`,`maindeparment`")
if len(userKeyInt) > 1 {
gormDb = gormDb.Where("`key` IN ?", userKeyInt)
} else {
gormDb = gormDb.Where("`key` = ?", userKeyInt)
}
err = gormDb.Find(&userContList).Error
if err != nil || len(userContList) < 1 {
return
}
for _, v := range userContList {
userKeyStr := strconv.FormatInt(v.Id, 10)
if publicmethod.IsInTrue[string](userKeyStr, userKey) == false {
var userInfo printReportCont
userInfo.Id = userKeyStr
userInfo.Name = v.Name
var groupCont modelshr.AdministrativeOrganization
groupCont.GetCont(map[string]interface{}{"`id`": v.Company}, "`name`")
userInfo.GroupName = groupCont.Name
var deparHrCont modelshr.AdministrativeOrganization
deparHrCont.GetCont(map[string]interface{}{"`id`": v.Company}, "`name`")
userInfo.DepartmentName = deparHrCont.Name
userInfo.Icon = v.Icon
userInfo.Number = v.Number
userKey = append(userKey, userKeyStr)
userCont = append(userCont, userInfo)
}
}
return
}
// 编辑单一指标细则内容
func (a *ApiMethod) EditOneDetailedTarget(c *gin.Context) {
var receivedValue editOneDetailedTargetInfo
c.ShouldBindJSON(&receivedValue)
var judgeDetaCont modelskpi.DetailedTarget
judgeDetaErr := judgeDetaCont.GetCont(map[string]interface{}{"`dt_id`": receivedValue.Id})
if judgeDetaErr != nil {
publicmethod.Result(107, receivedValue, c)
return
}
if receivedValue.Title == "" {
publicmethod.Result(1, receivedValue, c, "请输入考核细则名称!")
return
}
//判断指标细则是否符合规则
if receivedValue.ReferenceScore == "" {
publicmethod.Result(1, receivedValue, c, "请输入考核细则相关考核标准!")
return
} else {
scoreAry := strings.Split(receivedValue.ReferenceScore, "-")
scoreLen := len(scoreAry)
if scoreLen < 1 {
publicmethod.Result(1, receivedValue, c, "考核标准不符合要求!请仔细填写!")
return
}
if scoreLen == 1 {
maxScore, maxErr := strconv.ParseFloat(scoreAry[0], 64)
if maxErr != nil {
publicmethod.Result(1, maxErr, c, "考核标准不符合要求!请仔细填写!")
return
}
var maxIntErr error
_, maxIntErr = strconv.ParseInt(strconv.FormatFloat(maxScore*100, 'f', -1, 64), 10, 64)
if maxIntErr != nil {
publicmethod.Result(1, maxIntErr, c, "考核标准不符合要求!请仔细填写!")
return
}
} else {
minScore, minErr := strconv.ParseFloat(scoreAry[0], 64)
if minErr != nil {
publicmethod.Result(1, minErr, c, "考核标准不符合要求!请仔细填写!")
return
}
maxScore, maxErr := strconv.ParseFloat(scoreAry[scoreLen-1], 64)
if maxErr != nil {
publicmethod.Result(1, maxErr, c, "考核标准不符合要求!请仔细填写!")
return
}
var minIntErr error
_, minIntErr = strconv.ParseInt(strconv.FormatFloat(minScore*100, 'f', -1, 64), 10, 64)
if minIntErr != nil {
publicmethod.Result(1, minIntErr, c, "考核标准不符合要求!请仔细填写!")
return
}
var maxIntErr error
_, maxIntErr = strconv.ParseInt(strconv.FormatFloat(maxScore*100, 'f', -1, 64), 10, 64)
if maxIntErr != nil {
publicmethod.Result(1, maxIntErr, c, "考核标准不符合要求!请仔细填写!")
return
}
}
}
if len(receivedValue.DepartmentList) < 1 {
//获取子栏目接受考核部门
var aboutTarDepList []int64
aboutTDErr := overall.CONSTANT_DB_KPI.Model(&modelskpi.TargetDepartment{}).Distinct("`department_id`").Where("`state` = 1 AND `level` = 1 AND `target_id` = ? AND `target_sun_id` = ?", judgeDetaCont.ParentId, judgeDetaCont.ParentIdSun).Find(&aboutTarDepList).Error
if aboutTDErr == nil {
for _, atdv := range aboutTarDepList {
receivedValue.DepartmentList = append(receivedValue.DepartmentList, strconv.FormatInt(atdv, 10))
}
}
}
if len(receivedValue.QualEvalSunList.Operator) < 1 {
var aboutTarDepRepList []int64
aboutReTDErr := overall.CONSTANT_DB_KPI.Model(&modelskpi.TargetReport{}).Distinct("`man_key`").Where("`state` = 1 AND `type` = 1 AND `target_id` = ? AND `target_sun_id` = ?", judgeDetaCont.ParentId, judgeDetaCont.ParentIdSun).Find(&aboutTarDepRepList).Error
if aboutReTDErr == nil {
for _, atdv := range aboutTarDepRepList {
receivedValue.QualEvalSunList.Operator = append(receivedValue.QualEvalSunList.Operator, strconv.FormatInt(atdv, 10))
}
}
}
err := editDetaAdd(judgeDetaCont.ParentId, judgeDetaCont.ParentIdSun, receivedValue.QualEvalSunList, judgeDetaCont, receivedValue.DepartmentList)
if err != nil {
publicmethod.Result(106, receivedValue, c)
return
}
publicmethod.Result(0, err, c)
}
// 删除单一指标细则
func (a *ApiMethod) DelOneDetailedTarget(c *gin.Context) {
var receivedValue publicmethod.PublicId
err := c.ShouldBindJSON(&receivedValue)
if err != nil {
publicmethod.Result(100, receivedValue, c)
return
}
if receivedValue.Id == "" {
publicmethod.Result(101, receivedValue, c)
return
}
where := publicmethod.MapOut[string]()
where["dt_id"] = receivedValue.Id
var detailedTargetCont modelskpi.DetailedTarget
err = detailedTargetCont.GetCont(where)
if err != nil {
publicmethod.Result(107, err, c)
return
}
delTime := time.Now().Unix()
err = detailedTargetCont.EiteCont(where, map[string]interface{}{"dt_state": 3, "dt_time": delTime})
if err != nil {
publicmethod.Result(106, err, c)
return
}
//软删除所有此子栏目相关的联部门
syncSeting.Add(1)
go softDelTargetDepartment(map[string]interface{}{"target_id": detailedTargetCont.ParentId, "`target_sun_id`": detailedTargetCont.ParentIdSun, "target_bylaws": detailedTargetCont.Id, "`state`": 1}, delTime)
//软删除所有此子栏目相关联的提报人
syncSeting.Add(1)
go softDelTargetReport(map[string]interface{}{"`target_id`": detailedTargetCont.ParentId, "`target_sun_id`": detailedTargetCont.ParentIdSun, "target_bylaws": detailedTargetCont.Id, "`state`": 1}, delTime)
syncSeting.Wait()
publicmethod.Result(0, err, c)
}
// 添加部门指标
func (a *ApiMethod) AddDepartmentTarget(c *gin.Context) {
var receivedValue addTargetContDepart
err := c.ShouldBindJSON(&receivedValue)
if err != nil {
publicmethod.Result(100, err, c)
return
}
if receivedValue.Name == "" {
publicmethod.Result(101, err, c, "请输入指标名称!!")
return
}
if receivedValue.Nature == 0 {
receivedValue.Nature = 1
}
if receivedValue.Share == 0 {
receivedValue.Share = 1
} else {
if receivedValue.Share > 1 {
if len(receivedValue.AcceptDepartmentId) < 1 {
publicmethod.Result(101, err, c, "您选择了此指标为指定部门使用!但您未指定具体使用部门!请指定相关使用部门!")
return
}
}
}
if receivedValue.Unit == "" {
publicmethod.Result(101, err, c, "请输入计量单位!")
return
}
if receivedValue.Cycles == 0 {
receivedValue.Cycles = 4
}
if receivedValue.CycleAttres == 0 {
receivedValue.CycleAttres = 1
}
if receivedValue.ScoringMethod == 0 {
receivedValue.ScoringMethod = 1
}
JudgeIsTrue := publicmethod.MapOut[string]()
err = overall.CONSTANT_DB_KPI.Model(&modelskpi.EvaluationTarget{}).Select("et_title").Where("`et_title` = ? AND `et_type` = ? AND `et_dimension` = ?", receivedValue.Name, receivedValue.Nature, receivedValue.Dimension).First(&JudgeIsTrue).Error
if err == nil {
publicmethod.Result(101, err, c, "此考核指标已经存在!请不要重复添加!")
return
}
var uuId int64 = 0
snowflakeId, snowflakeErr := snowflake.NewWorker(1)
if snowflakeErr != nil {
uuId = publicmethod.TableNumber()
} else {
uuId = snowflakeId.GetId()
}
var saveData modelskpi.EvaluationTarget
saveData.Title = receivedValue.Name //指标名称"`
saveData.Type = receivedValue.Nature //1:定性考核;2:定量考核"`
saveData.State = 1 //状态(1:启用;2:禁用;3:删除)"`
saveData.AddTime = time.Now().Unix() //制定时间"`
saveData.Share = 1 //1:共用;2:私用"`
saveData.RelevantDepartments = strings.Join(receivedValue.AcceptDepartmentId, ",") //相关部门"`
dimensionId, _ := strconv.ParseInt(receivedValue.Dimension, 10, 64)
saveData.Dimension = dimensionId //维度"`
saveData.Key = uuId //UUID"`
saveData.Report = strings.Join(receivedValue.Operator, ",") //上报人"`
saveData.Uniteing = receivedValue.Unit //计量单位"`
saveData.Cycles = receivedValue.Cycles //1:班;2:天;3:周;4:月;5:季度;6:年"`
saveData.CycleAttres = receivedValue.CycleAttres //辅助计数"`
saveData.VisibleRange = strings.Join(receivedValue.VisibleRangeDepart, ",") //可见范围"`
saveData.VisibleRangeGroup = strings.Join(receivedValue.VisibleRangeGroup, ",") //可见范围(集团)"`
saveData.ScoringMethod = receivedValue.ScoringMethod //计分方式(1:自动;2:手动)"`
err = overall.CONSTANT_DB_KPI.Create(&saveData).Error
if err != nil {
publicmethod.Result(104, err, c)
return
}
if len(receivedValue.AcceptDepartmentId) > 0 {
syncSeting.Add(1)
go handleDetarildTargetDepart(saveData.Id, 0, 0, receivedValue.AcceptDepartmentId, 1)
}
if len(receivedValue.Operator) > 0 {
syncSeting.Add(1)
go handleDetarildTargetRepart(saveData.Id, 0, 0, receivedValue.Operator, 1)
}
syncSeting.Wait()
publicmethod.Result(0, err, c)
}
// 获取关联部门
func GetAboutDepartment(where interface{}, level int) (departmentId []int64, departmentIdStr []string, err error) {
err = overall.CONSTANT_DB_KPI.Model(&modelskpi.TargetDepartment{}).Distinct("`department_id`").Where(where).Find(&departmentId).Error
if err == nil {
for _, v := range departmentId {
departmentIdStr = append(departmentIdStr, strconv.FormatInt(v, 10))
}
}
return
}
// 获取关联提报人
func GetAboutReport(where interface{}, level int) (userKey []int64, userKeyStr []string, err error) {
err = overall.CONSTANT_DB_KPI.Model(&modelskpi.TargetReport{}).Distinct("`man_key`").Where(where).Find(&userKey).Error
if err == nil {
for _, v := range userKey {
userKeyStr = append(userKeyStr, strconv.FormatInt(v, 10))
}
}
return
}
// 获取单一指标详细内容
func (a *ApiMethod) GetOneTergetInfo(c *gin.Context) {
var receivedValue publicmethod.PublicId
err := c.ShouldBindJSON(&receivedValue)
if err != nil {
publicmethod.Result(100, receivedValue, c)
return
}
if receivedValue.Id == "" {
publicmethod.Result(101, receivedValue, c)
return
}
where := publicmethod.MapOut[string]()
where["et_id"] = receivedValue.Id
var targetCont modelskpi.EvaluationTarget
err = targetCont.GetCont(where)
if err != nil {
publicmethod.Result(107, err, c)
return
}
var outCont printOneTargetCont
outCont.Id = strconv.FormatInt(targetCont.Id, 10)
outCont.Name = targetCont.Title
outCont.Share = targetCont.Share //1:共用;2:私用
outCont.AcceptDepartmentId = strings.Split(targetCont.RelevantDepartments, ",") //接受考核部门
outCont.Operator = strings.Split(targetCont.Report, ",") //考核执行人
outCont.Dimension = strconv.FormatInt(targetCont.Dimension, 10) //维度
outCont.Nature = targetCont.Type //性质 1:定性考核;2:定量考核
outCont.Unit = targetCont.Uniteing //单位
outCont.Cycles = targetCont.Cycles //1:班;2:天;3:周;4:月;5:季度;6:年
outCont.CycleAttres = targetCont.CycleAttres //辅助计数
outCont.ScoringMethod = targetCont.ScoringMethod //计分方式(1:自动;2:手动)'
outCont.VisibleRangeGroup = strings.Split(targetCont.VisibleRangeGroup, ",") //可见范围(集团)
outCont.VisibleRangeDepart = strings.Split(targetCont.VisibleRange, ",") //可见范围(分厂)
publicmethod.Result(0, outCont, c)
}

36
api/version1/departmentseting/departmentpc/type.go

@ -148,3 +148,39 @@ type outCont struct {
publicmethod.PublicId
publicmethod.PublicName
}
// 输出新版指标细则详细内容
type NewOutPutDetailedTarget struct {
publicmethod.PublicId
QualEvalSunList
ReportManList []printReportCont `json:"reportmanlist"` //上报人
DepartmentList []string `json:"departmentlist"` //接受考核的部门
}
// 修改单一指标细则内容提交参数
type editOneDetailedTargetInfo struct {
basisSonTargetAddDet
DepartmentList []string `json:"departmentlist"` //接受考核的部门
}
// 添加部门指标参数
type addTargetContDepart struct {
publicmethod.PublicName
Share int `json:"share"` //1:共用;2:私用
AcceptDepartmentId []string `json:"acceptdepartmentid"` //接受考核部门
Operator []string `json:"userlist"` //考核执行人
Dimension string `json:"dimension"` //维度
Nature int `json:"nature"` //性质 1:定性考核;2:定量考核
Unit string `json:"unit"` //单位
Cycles int `json:"cycle"` //1:班;2:天;3:周;4:月;5:季度;6:年
CycleAttres int `json:"cycleattr"` //辅助计数
ScoringMethod int `json:"scoringmethod"` //计分方式(1:自动;2:手动)'
VisibleRangeGroup []string `json:"visiblerangegroup"` //可见范围(集团)
VisibleRangeDepart []string `json:"visiblerangedepart"` //可见范围(分厂)
}
// 输出单一指标详细内容
type printOneTargetCont struct {
publicmethod.PublicId
addTargetContDepart
}

17
apirouter/v1/departmentseting/pc.go

@ -15,17 +15,26 @@ func (a *ApiRouter) RouterGroupPc(router *gin.RouterGroup) {
apiRouter.GET("", methodBinding.Index) //入口
apiRouter.POST("", methodBinding.Index) //入口
apiRouter.POST("departmenttargetlist", methodBinding.DepartmentTargetList) //部门指标列表
apiRouter.POST("shiyan", methodBinding.Shiyan) //实验
apiRouter.POST("getdepartabouttarget", methodBinding.GetDepartAboutTarget) //获取部门定性考核部门关联列表
apiRouter.POST("gettargetreport", methodBinding.GetTargetReport) //获取部门指标相关执行人
apiRouter.POST("departmenttargetlist", methodBinding.DepartmentTargetList) //部门指标列表
apiRouter.POST("shiyan", methodBinding.Shiyan) //实验
apiRouter.POST("getdepartabouttarget", methodBinding.GetDepartAboutTarget) //获取部门定性考核部门关联列表
apiRouter.POST("gettargetreport", methodBinding.GetTargetReport) //获取部门指标相关执行人
apiRouter.POST("addsuntargetdetailed", methodBinding.AddSunTargetDetailed) //添加定性考核子栏目及细则
apiRouter.POST("getdepartmenttragetcontlist", methodBinding.GetDepartmentTragetContList) //获取定性考核指标列表内容
apiRouter.POST("basissontargetadddetailed", methodBinding.BasisSonTargetAddDetailed) //根据指标栏目新增指标细则
apiRouter.POST("basistargetdearpetmentgetpost", methodBinding.BasisTargetDearpetmentGetPost) //根据指标和部门获取相关岗位
apiRouter.POST("basistaegetdeparmentreport", methodBinding.BasisTaegetDeparmentReport) //获取部门指标岗位提交人
apiRouter.POST("editsontargetdepartmentreport", methodBinding.EditSonTargetDepartmentReport) //修改子栏目标题名称级考核关联部门及提报人
apiRouter.POST("getsontargetcont", methodBinding.GetSonTargetCont) //获取子栏目基础信息
apiRouter.POST("delsontarget", methodBinding.DelSonTarget) //删除子栏目
apiRouter.POST("getonedetailedtarget", methodBinding.GetOneDetailedTarget) //获取单一指标细则内容
apiRouter.POST("edit_one_detailed_target", methodBinding.EditOneDetailedTarget) //编辑单一指标细则内容
apiRouter.POST("del_one_detailed_target", methodBinding.DelOneDetailedTarget) //删除单一指标细则
apiRouter.POST("add_department_target", methodBinding.AddDepartmentTarget) //添加部门指标
apiRouter.POST("get_one_terget_info", methodBinding.GetOneTergetInfo) //获取单一指标详细内容
}
}

2
models/modelskpi/detailed_target.go

@ -33,7 +33,7 @@ func (DetailedTarget *DetailedTarget) TableName() string {
// 编辑内容
func (cont *DetailedTarget) EiteCont(whereMap interface{}, saveData interface{}) (err error) {
err = overall.CONSTANT_DB_KPI.Model(&cont).Where(whereMap).Updates(saveData).Error
err = overall.CONSTANT_DB_KPI.Model(&cont).Where(whereMap).Updates(&saveData).Error
return
}

1
models/modelskpi/target_report.go

@ -19,6 +19,7 @@ type TargetReport struct {
ManDepartment int64 `json:"mandepartment" gorm:"column:man_department;type:bigint(20) unsigned;default:0;not null;comment:提报人所在部门"`
Time int64 `json:"time" gorm:"column:time;type:bigint(20) unsigned;default:0;not null;comment:写入时间"`
Class int `json:"class" gorm:"column:type;class:tinyint(1) unsigned;default:1;not null;comment:1:定性考核;2:定量考核"`
Level int `json:"level" gorm:"column:type_level;type:tinyint(1) unsigned;default:1;not null;comment:类型(1:指标;2:子目标;3:细则)"`
}
func (TargetReport *TargetReport) TableName() string {

Loading…
Cancel
Save