PatientSatisfaction.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. package Patient
  2. import (
  3. "FollowUp_Notice/lib"
  4. "FollowUp_Notice/logs"
  5. "github.com/beego/beego/v2/adapter/orm"
  6. "time"
  7. )
  8. var (
  9. Question1 = "初入病房时医护人员及时询问病情和检查"
  10. Question2 = "是否有告知管床医生和护士是谁"
  11. Question3 = "对住院期间入院注意事项的交代"
  12. Question4 = "在住院期间,对病情的解释"
  13. Question5 = "对医护人员的服务态度"
  14. )
  15. // 患者满意度
  16. type PatientSatisfaction struct {
  17. Id int `orm:"column(ID);size(11);auto;pk"`
  18. T_id string `orm:"size(256);null"` // 发送id
  19. T_uid int `orm:"index;size(100);null"` // 用户id
  20. T_pid int `orm:"index;size(100);null"` // 患者id
  21. T_question1 string `orm:"size(256);null"` // 问题1
  22. T_question2 string `orm:"size(256);null"` // 问题2
  23. T_question3 string `orm:"size(256);null"` // 问题3
  24. T_question4 string `orm:"size(256);null"` // 问题4
  25. T_question5 string `orm:"size(256);null"` // 问题5
  26. CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now_add 第一次保存时才设置时间
  27. }
  28. func (t *PatientSatisfaction) TableName() string {
  29. return "patient_satisfaction" // 数据库名称 // ************** 替换 FormulaList **************
  30. }
  31. type PatientSatisfaction_R struct {
  32. Id int
  33. T_id string // 用户id
  34. T_uid int // 用户id
  35. T_pid int // 患者id
  36. T_p_name string // 患者名称
  37. T_question1 string // 问题1
  38. T_question2 string // 问题2
  39. T_question3 string // 问题3
  40. T_question4 string // 问题4
  41. T_question5 string // 问题5
  42. CreateTime string //auto_now_add 第一次保存时才设置时间
  43. }
  44. func PatientSatisfactionToPatientSatisfaction_R(r PatientSatisfaction) (m PatientSatisfaction_R) {
  45. m.Id = r.Id
  46. m.T_id = r.T_id
  47. m.T_uid = r.T_uid
  48. m.T_pid = r.T_pid
  49. m.T_p_name = Read_Patient_T_name_Get(r.T_pid)
  50. m.T_question1 = r.T_question1
  51. m.T_question2 = r.T_question2
  52. m.T_question3 = r.T_question3
  53. m.T_question4 = r.T_question4
  54. m.T_question5 = r.T_question5
  55. m.CreateTime = r.CreateTime.Format("2006-01-02 15:04:05")
  56. return
  57. }
  58. func init() {
  59. //注册模型
  60. orm.RegisterModel(new(PatientSatisfaction))
  61. }
  62. // 获取 ById
  63. func Read_PatientSatisfaction_ByT_uid(T_uid int) (r []PatientSatisfaction, err error) {
  64. o := orm.NewOrm()
  65. qs := o.QueryTable(new(PatientSatisfaction))
  66. _, err = qs.Filter("T_uid", T_uid).All(&r)
  67. if err != nil {
  68. logs.Error(lib.FuncName(), err)
  69. }
  70. return
  71. }
  72. // 获取 ById
  73. func Read_PatientSatisfaction_List(T_uid int, page, page_z int) (r_ []PatientSatisfaction_R, cnt int64) {
  74. o := orm.NewOrm()
  75. qs := o.QueryTable(new(PatientSatisfaction))
  76. var offset int64
  77. if page <= 1 {
  78. offset = 0
  79. } else {
  80. offset = int64((page - 1) * page_z)
  81. }
  82. var r []PatientSatisfaction
  83. _, err := qs.Limit(page_z, offset).Filter("T_uid", T_uid).OrderBy("-Id").All(&r)
  84. if err != nil {
  85. logs.Error(lib.FuncName(), err)
  86. }
  87. cnt, err = qs.Filter("T_uid", T_uid).Count()
  88. if err != nil {
  89. logs.Error(lib.FuncName(), err)
  90. }
  91. for _, v := range r {
  92. r_ = append(r_, PatientSatisfactionToPatientSatisfaction_R(v))
  93. }
  94. return
  95. }
  96. // 添加
  97. func Add_PatientSatisfaction(r PatientSatisfaction) (id int64, err error) {
  98. o := orm.NewOrm()
  99. qs := o.QueryTable(new(PatientSatisfaction))
  100. var obj PatientSatisfaction
  101. err = qs.Filter("T_id", r.T_id).One(&obj)
  102. if err != nil && err.Error() == orm.ErrNoRows.Error() {
  103. id, err = o.Insert(&r)
  104. if err != nil {
  105. logs.Error(lib.FuncName(), err)
  106. }
  107. return
  108. }
  109. if obj.Id > 0 {
  110. r.Id = obj.Id
  111. _, err := o.Update(&r, "T_question1", "T_question2", "T_question3", "T_question4", "T_question5")
  112. if err != nil {
  113. logs.Error(lib.FuncName(), err)
  114. }
  115. }
  116. return int64(r.Id), err
  117. }
  118. // 获取 ById
  119. func Read_PatientSatisfaction_ByT_id(T_id string) (r PatientSatisfaction, err error) {
  120. o := orm.NewOrm()
  121. qs := o.QueryTable(new(PatientSatisfaction))
  122. err = qs.Filter("T_id", T_id).One(&r)
  123. if err != nil {
  124. logs.Error(lib.FuncName(), err)
  125. }
  126. return
  127. }