task_report.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package bo
  2. import (
  3. "fmt"
  4. "scd_check_tools/logger"
  5. "scd_check_tools/models/enum"
  6. "strconv"
  7. "github.com/astaxie/beego/orm"
  8. )
  9. //检测任务报告模型
  10. type T_data_task_report struct {
  11. Id int `orm:"pk"`
  12. Name string // '报告名称' ,
  13. Code string // '报告编号' ,
  14. TaskId int // '所属检测任务' ,
  15. State int // '生成状态;1 生成中 2生成结束' ,
  16. Doc string //'下载路径' ,
  17. Cr int // '创建人' ,
  18. Ct string // '创建时间' ,
  19. Ur int // '更新人' ,
  20. Ut string // '更新时间'
  21. }
  22. //检测任务管理对象
  23. type TaskReportMgr struct {
  24. Model T_data_task_report
  25. DeviceBaseModel
  26. }
  27. var modelDesc3 = "检测报告"
  28. func init() {
  29. orm.RegisterModel(new(T_data_task_report))
  30. }
  31. //生成报告
  32. func (c *TaskReportMgr) Make() (err error) {
  33. dblog := new(SystemLog)
  34. dblog.SetUserInfo(c.GetUserInfo())
  35. dblog.Audittype = enum.AuditType_check_task
  36. dblog.Logtype = enum.LogType_Insert
  37. dblog.Eventtype = enum.OptEventType_Bus
  38. dblog.Eventlevel = enum.OptEventLevel_Hight
  39. db := orm.NewOrm()
  40. if c.Model.Id == 0 {
  41. c.Model.Cr, _ = strconv.Atoi(c.GetUserId())
  42. _, err = db.Insert(&c.Model)
  43. } else {
  44. c.Model.Ur, _ = strconv.Atoi(c.GetUserId())
  45. _, err = db.Update(&c.Model)
  46. }
  47. if err != nil {
  48. logger.Logger.Error(err)
  49. dblog.Description = fmt.Sprintf("生成%s失败:%s,操作数据:%+v", modelDesc3, err.Error(), c.Model)
  50. dblog.Fail2()
  51. } else {
  52. dblog.Description = fmt.Sprintf("生成%s成功,操作数据:%+v", modelDesc3, c.Model)
  53. dblog.Success2()
  54. }
  55. return err
  56. }
  57. func (c *TaskReportMgr) One(taskid int) (T_data_task_report, error) {
  58. o := orm.NewOrm()
  59. c.Model.TaskId = taskid
  60. err := o.Read(&c.Model)
  61. if err != nil {
  62. logger.Logger.Error(err)
  63. }
  64. return c.Model, err
  65. }
  66. //根据model中指定的id删除检测任务报告
  67. func (c *TaskReportMgr) Delete() (err error) {
  68. dblog := new(SystemLog)
  69. dblog.SetUserInfo(c.GetUserInfo())
  70. dblog.Audittype = enum.AuditType_check_task
  71. dblog.Logtype = enum.LogType_Delete
  72. dblog.Eventtype = enum.OptEventType_Bus
  73. dblog.Eventlevel = enum.OptEventLevel_Hight
  74. db := orm.NewOrm()
  75. if c.Model.Id > 0 {
  76. db.Read(&c.Model)
  77. _, err = db.Delete(&c.Model)
  78. }
  79. if c.Model.TaskId > 0 {
  80. _, err = db.Raw("delete from t_data_task_report where task_id=?", c.Model.TaskId).Exec()
  81. }
  82. if err != nil {
  83. logger.Logger.Error(err)
  84. dblog.Description = fmt.Sprintf("删除%s%d失败:%s", modelDesc3, c.Model.TaskId, err.Error())
  85. dblog.Fail2()
  86. } else {
  87. dblog.Description = fmt.Sprintf("删除%s%d成功", modelDesc3, c.Model.TaskId)
  88. dblog.Success2()
  89. }
  90. return err
  91. }