AlarmRecords.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace catchAdmin\alarm\model;
  3. use catcher\base\CatchModel as Model;
  4. use catchAdmin\permissions\model\DataRangScopeTrait;
  5. use catchAdmin\alarm\model\get\AlarmRecordsGet;
  6. class AlarmRecords extends Model
  7. {
  8. // 表名
  9. public $name = 'alarm_records';
  10. use DataRangScopeTrait;
  11. use AlarmRecordsGet;
  12. // 数据库字段映射
  13. public $field = array(
  14. 'id',
  15. // 卡号
  16. 'device_number',
  17. // 告警原因
  18. 'alarm_reason',
  19. // 处理人ID
  20. 'handler_id',
  21. // 开始时间
  22. 'start_time',
  23. // 结束时间
  24. 'end_time',
  25. // 告警状态
  26. 'state',
  27. // 备注
  28. 'comment',
  29. // 处理结果
  30. 'result',
  31. // 创建人ID
  32. 'creator_id',
  33. // 创建时间
  34. 'created_at',
  35. // 更新时间
  36. 'updated_at',
  37. // 软删除
  38. 'deleted_at',
  39. );
  40. public function getList()
  41. {
  42. return $this->dataRange()
  43. ->catchSearch()
  44. ->append(['result_text','end_time_text','start_time_text','handler_name','reason_text'])
  45. ->order($this->aliasField('id'), 'desc')
  46. ->paginate();
  47. }
  48. /**
  49. * 学号
  50. */
  51. public function searchRealnameAttr($query, $value, $data)
  52. {
  53. return $query->where('realname', 'like', '%'. $value . '%');
  54. }
  55. /**
  56. * 学号
  57. */
  58. public function searchDeviceNumberAttr($query, $value, $data)
  59. {
  60. return $query->where('device_number', 'like', '%'. $value . '%');
  61. }
  62. /**
  63. * 告警原因
  64. */
  65. public function searchAlarmReasonAttr($query, $value, $data)
  66. {
  67. return $query->where('alarm_reason', $value);
  68. }
  69. /**
  70. * 是否处理
  71. */
  72. public function searchIsHandleAttr($query, $value, $data)
  73. {
  74. if($value==0){
  75. return $query->whereNull('end_time');
  76. }elseif($value==1){
  77. return $query->whereNotNull('end_time');
  78. }
  79. }
  80. }