PerformanceTarget.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package Performance
  2. import (
  3. db "ERP_salary/initialize"
  4. "ERP_salary/logs"
  5. "sync"
  6. "time"
  7. "gogs.baozhida.cn/zoie/ERP_libs/lib"
  8. )
  9. // 绩效点
  10. type PerformanceTarget struct {
  11. Id int `json:"Id" gorm:"primaryKey;autoIncrement;comment:主键编码"`
  12. T_name string `json:"T_name" gorm:"size:128"` // 绩效点名称
  13. T_operator string `json:"T_operator" gorm:"size:128"` // 运算符 <,≥
  14. T_assess_points int `json:"T_assess_points" gorm:"size:4"` // 月考试绩效点数量
  15. T_base float64 `json:"T_base" gorm:"type:decimal(10,1)"` // 无责底薪
  16. T_post float64 `json:"T_post" gorm:"type:decimal(10,1)"` // 补助
  17. T_perf float64 `json:"T_perf" gorm:"type:decimal(10,1)"` // 绩效金额
  18. T_State int `json:"T_State" gorm:"column:t__state;size(2);default(1)"` // 0删除 1 正常
  19. CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` // auto_now_add 第一次保存时才设置时间
  20. UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"` // auto_now 每次 model 保存时都会对时间自动更新
  21. }
  22. func (e *PerformanceTarget) TableName() string {
  23. return "performance_target"
  24. }
  25. var PerformanceTarget_list *sync.Map
  26. func init() {
  27. //注册模型
  28. PerformanceTarget_list = new(sync.Map)
  29. }
  30. // 获取全部
  31. func Read_PerformanceTarget_All_Map() {
  32. logs.Println("=========== 初始化考核指标 =========")
  33. var r []PerformanceTarget
  34. err := db.DB.Model(&PerformanceTarget{}).
  35. Where("t__state = ?", 1).
  36. Find(&r).Error
  37. if err != nil {
  38. logs.Error(lib.FuncName(), err)
  39. return
  40. }
  41. for _, v := range r {
  42. PerformanceTarget_list.Store(v.Id, v)
  43. }
  44. }
  45. func Read_PerformanceTarget_Get(Id int) PerformanceTarget {
  46. v, ok := PerformanceTarget_list.Load(Id)
  47. if ok {
  48. return v.(PerformanceTarget)
  49. } else {
  50. return PerformanceTarget{}
  51. }
  52. }