package modelskpi import ( "appPlatform/overall" "strings" "time" ) // 岗位考核指标权重 type DepartDimePostWeight struct { Id int64 `json:"id" gorm:"primaryKey;column:id;type:bigint(20) unsigned;not null;comment:Id;index"` Type int64 `json:"type" gorm:"column:type;type:bigint(20) unsigned;default:0;not null;comment:1:定性考核;2:定量考核"` Orgid int64 `json:"orgid" gorm:"column:orgid;type:bigint(20) unsigned;default:0;not null;comment:行政组织"` Postid int64 `json:"postid" gorm:"column:postid;type:bigint(20) unsigned;default:0;not null;comment:岗位"` Dimension int64 `json:"dimension" gorm:"column:dimension;type:bigint(20) unsigned;default:0;not null;comment:考核维度"` Target int64 `json:"target" gorm:"column:target;type:bigint(20) unsigned;default:0;not null;comment:指标"` Weight float64 `json:"weight" gorm:"column:weight;type:int(6) unsigned;default:0;not null;comment:权重"` Addtime int64 `json:"addtime" gorm:"column:time;type:bigint(20) unsigned;default:0;not null;comment:添加时间"` Hierarchy int64 `json:"hierarchy" gorm:"column:hierarchy;type:bigint(20) unsigned;default:0;not null;comment:维度;2:指标"` Quote int64 `json:"quote" gorm:"column:is_quote;type:bigint(20) unsigned;default:0;not null;comment:1:不是引用;2:引用部门"` } func (DepartDimePostWeight *DepartDimePostWeight) TableName() string { return "depart_dime_post_weight" } // 编辑内容 func (cont *DepartDimePostWeight) EiteCont(whereMap interface{}, saveData interface{}) (err error) { err = overall.CONSTANT_DB_KPI.Model(&cont).Where(whereMap).Updates(saveData).Error return } // 获取内容 func (cont *DepartDimePostWeight) 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 *DepartDimePostWeight) CountCont(whereMap interface{}) (countId int64) { overall.CONSTANT_DB_KPI.Model(&cont).Where(whereMap).Count(&countId) return } // 读取全部信息 func (cont *DepartDimePostWeight) ContMap(whereMap interface{}, field ...string) (countAry []DepartDimePostWeight, 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).Find(&countAry).Error return } // 删除内容 func (cont *DepartDimePostWeight) DelCont(whereMap interface{}) (err error) { err = overall.CONSTANT_DB_KPI.Where(whereMap).Delete(&cont).Error return } /** @ 作者: 秦东 @ 时间: 2022-10-25 14:47:00 @ 功能: @ 参数 # @ 返回值 # */ // 写入岗位考核维度与指标权重 func (cont *DepartDimePostWeight) WriteTargetWeight() (err error) { where := make(map[string]interface{}) // where := publicmethod.MapOut[string]() where["`orgid`"] = cont.Orgid where["`postid`"] = cont.Postid where["`dimension`"] = cont.Dimension where["`hierarchy`"] = cont.Hierarchy where["`is_quote`"] = cont.Quote if cont.Hierarchy == 1 { var oldCont DepartDimePostWeight err = oldCont.GetCont(where) if err != nil { err = overall.CONSTANT_DB_KPI.Create(&cont).Error return } else { // editWhe := publicmethod.MapOut[string]() editWhe := make(map[string]interface{}) editWhe["`id`"] = oldCont.Id // saveAry := publicmethod.MapOut[string]() saveAry := make(map[string]interface{}) saveAry["`weight`"] = cont.Weight saveAry["`time`"] = time.Now().Unix() err = oldCont.EiteCont(editWhe, saveAry) return } } else { where["`target`"] = cont.Target var oldCont DepartDimePostWeight err = oldCont.GetCont(where) if err != nil { err = overall.CONSTANT_DB_KPI.Create(&cont).Error return } else { // editWhe := publicmethod.MapOut[string]() editWhe := make(map[string]interface{}) editWhe["`id`"] = oldCont.Id // saveAry := publicmethod.MapOut[string]() saveAry := make(map[string]interface{}) saveAry["`weight`"] = cont.Weight saveAry["`time`"] = time.Now().Unix() err = oldCont.EiteCont(editWhe, saveAry) return } } return }