edb_inspection_dashboard.go 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package edb_inspection
  2. import (
  3. "eta/eta_api/global"
  4. "eta/eta_api/utils"
  5. "time"
  6. "gorm.io/gorm"
  7. )
  8. // EdbInspectionDashboard
  9. // @Description: 巡检看板表
  10. type EdbInspectionDashboard struct {
  11. DashboardId int64 `gorm:"column:dashboard_id;primaryKey;autoIncrement" description:"巡检看板ID"`
  12. Source int `gorm:"column:source" description:"数据源ID"`
  13. TerminalCode string `gorm:"column:terminal_code" description:"终端编码"`
  14. InspectionRecordId int64 `gorm:"column:inspection_record_id" description:"巡检记录ID"`
  15. InspectionTime time.Time `gorm:"column:inspection_time" description:"巡检时间"`
  16. InspectionResult int8 `gorm:"column:inspection_result" description:"巡检结果(1:成功,2:失败)"`
  17. ErrorReason string `gorm:"column:error_reason" description:"错误原因"`
  18. CreateTime time.Time `gorm:"column:create_time" description:"创建时间"`
  19. ModifyTime time.Time `gorm:"column:modify_time" description:"修改时间"`
  20. }
  21. // Add
  22. // @Description: 添加巡检看板记录
  23. // @receiver m
  24. // @return err error
  25. func (m *EdbInspectionDashboard) Add() (err error) {
  26. m.CreateTime = time.Now()
  27. m.ModifyTime = time.Now()
  28. err = global.DbMap[utils.DbNameIndex].Create(m).Error
  29. return
  30. }
  31. // Update
  32. // @Description: 更新巡检看板记录
  33. // @receiver m
  34. // @param cols []string
  35. // @return err error
  36. func (m *EdbInspectionDashboard) Update(cols []string) (err error) {
  37. m.ModifyTime = time.Now()
  38. err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(m).Error
  39. return
  40. }
  41. // GetById
  42. // @Description: 根据ID获取巡检看板记录
  43. // @param dashboardId int64
  44. // @return item *EdbInspectionDashboard
  45. // @return err error
  46. func GetDashboardById(dashboardId int64) (item *EdbInspectionDashboard, err error) {
  47. sql := `SELECT * FROM edb_inspection_dashboard WHERE dashboard_id = ?`
  48. err = global.DbMap[utils.DbNameIndex].Raw(sql, dashboardId).First(&item).Error
  49. return
  50. }
  51. // GetListByTerminalCode
  52. // @Description: 根据终端编码获取巡检看板记录列表
  53. // @param terminalCode string
  54. // @return list []*EdbInspectionDashboard
  55. // @return err error
  56. func GetDashboardListByTerminalCode(terminalCode string) (list []*EdbInspectionDashboard, err error) {
  57. sql := `SELECT * FROM edb_inspection_dashboard WHERE terminal_code = ? ORDER BY inspection_time DESC`
  58. err = global.DbMap[utils.DbNameIndex].Raw(sql, terminalCode).Find(&list).Error
  59. return
  60. }
  61. // GetListByInspectionRecordId
  62. // @Description: 根据巡检记录ID获取巡检看板记录列表
  63. // @param inspectionRecordId int64
  64. // @return list []*EdbInspectionDashboard
  65. // @return err error
  66. func GetDashboardListByInspectionRecordId(inspectionRecordId int64) (list []*EdbInspectionDashboard, err error) {
  67. sql := `SELECT * FROM edb_inspection_dashboard WHERE inspection_record_id = ? ORDER BY inspection_time DESC`
  68. err = global.DbMap[utils.DbNameIndex].Raw(sql, inspectionRecordId).Find(&list).Error
  69. return
  70. }
  71. // GetDashboardBySourceAndTerminalCode
  72. // @Description: 根据源和终端编码获取巡检看板记录
  73. // @param source int
  74. // @param terminalCode string
  75. // @return item *EdbInspectionDashboard
  76. // @return err error
  77. func GetDashboardBySourceAndTerminalCode(source int, terminalCode string) (item *EdbInspectionDashboard, err error) {
  78. sql := `SELECT * FROM edb_inspection_dashboard WHERE source = ? AND terminal_code = ?`
  79. err = global.DbMap[utils.DbNameIndex].Raw(sql, source, terminalCode).First(&item).Error
  80. return
  81. }
  82. type DashboardList struct {
  83. DashboardId int64 `gorm:"column:dashboard_id;primaryKey;autoIncrement"`
  84. Source int `gorm:"column:source"`
  85. TerminalCode string `gorm:"column:terminal_code"`
  86. TerminalName string `gorm:"column:terminal_name"`
  87. InspectionRecordId int64 `gorm:"column:inspection_record_id"`
  88. InspectionTime string `gorm:"column:inspection_time"`
  89. InspectionResult int8 `gorm:"column:inspection_result"`
  90. ErrorReason string `gorm:"column:error_reason"`
  91. }
  92. // 查询列表,安装状态排序,失败的排在前面,状态相同,按照source排序,查询终端名称
  93. func GetDashboardList() (list []*DashboardList, err error) {
  94. sql := `SELECT edb_inspection_dashboard.*, edb_terminal.name as terminal_name FROM edb_inspection_dashboard left join edb_terminal on edb_inspection_dashboard.terminal_code = edb_terminal.terminal_code ORDER BY inspection_result DESC, source ASC`
  95. err = global.DbMap[utils.DbNameIndex].Raw(sql).Find(&list).Error
  96. return
  97. }
  98. func (m *DashboardList) AfterFind(scope *gorm.DB) (err error) {
  99. m.InspectionTime = utils.GormDateStrToDateTimeStr(m.InspectionTime)
  100. return
  101. }