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.
75 lines
2.6 KiB
75 lines
2.6 KiB
package modelskpi
|
|
|
|
import (
|
|
"appPlatform/overall"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
// 定性测评指标子栏目
|
|
type QualitativeTarget struct {
|
|
Id int64 `json:"id" gorm:"primary_key;column:q_id;type:bigint(20) unsigned;not null;comment:Id;index"`
|
|
Title string `json:"title" gorm:"column:q_title;type:varchar(255);comment:指标子栏目名称"`
|
|
ParentId int64 `json:"parentid" gorm:"column:q_parent_id;type:bigint(20) unsigned;default:0;not null;comment:归属指标"`
|
|
State int `json:"state" gorm:"column:q_state;type:int(1) unsigned;default:1;not null;comment:状态(1:启用;2:禁用;3:删除)"`
|
|
AddTime int64 `json:"addTime" gorm:"column:q_time;type:bigint(20) unsigned;default:0;not null;comment:制定时间"`
|
|
Depart string `json:"depart" gorm:"column:q_depart;type:mediumtext;comment:关联部门"`
|
|
}
|
|
|
|
func (QualitativeTarget *QualitativeTarget) TableName() string {
|
|
return "qualitative_target"
|
|
}
|
|
|
|
// 编辑内容
|
|
func (cont *QualitativeTarget) EiteCont(whereMap interface{}, saveData interface{}) (err error) {
|
|
err = overall.CONSTANT_DB_KPI.Model(&cont).Where(whereMap).Updates(saveData).Error
|
|
return
|
|
}
|
|
|
|
// 获取内容
|
|
func (cont *QualitativeTarget) GetCont(whereMap interface{}, field ...string) (err error) {
|
|
gormDb := overall.CONSTANT_DB_KPI.Model(&cont)
|
|
if len(field) > 0 {
|
|
fieldStr := strings.Join(field, ",")
|
|
gormDb = gormDb.Select(fieldStr)
|
|
}
|
|
gormDb = gormDb.Where(whereMap)
|
|
err = gormDb.First(&cont).Error
|
|
return
|
|
}
|
|
|
|
// 根据条件获取总数
|
|
func (cont *QualitativeTarget) CountCont(whereMap interface{}) (countId int64) {
|
|
overall.CONSTANT_DB_KPI.Model(&cont).Where(whereMap).Count(&countId)
|
|
return
|
|
}
|
|
|
|
// 读取全部信息
|
|
func (cont *QualitativeTarget) ContMap(whereMap interface{}, field ...string) (countAry []QualitativeTarget, err error) {
|
|
gormDb := overall.CONSTANT_DB_KPI.Model(&cont)
|
|
if len(field) > 0 {
|
|
fieldStr := strings.Join(field, ",")
|
|
gormDb = gormDb.Select(fieldStr)
|
|
}
|
|
err = gormDb.Where(whereMap).Order("sort ASC").Find(&countAry).Error
|
|
return
|
|
}
|
|
|
|
// 删除内容
|
|
func (cont *QualitativeTarget) DelCont(whereMap interface{}) (err error) {
|
|
err = overall.CONSTANT_DB_KPI.Where(whereMap).Delete(&cont).Error
|
|
return
|
|
}
|
|
|
|
// 判断子目标是否存在
|
|
func (cont *QualitativeTarget) JudgeIsTrue(whereMap interface{}, addCont QualitativeTarget) (err error) {
|
|
err = cont.GetCont(whereMap)
|
|
if err != nil {
|
|
err = overall.CONSTANT_DB_KPI.Create(&addCont).Error
|
|
} else {
|
|
if cont.State != 1 {
|
|
err = cont.EiteCont(map[string]interface{}{"`q_id`": cont.Id}, map[string]interface{}{"`q_state`": 1, "`q_time`": time.Now().Unix()})
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|