AlarmRecords.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. 'alarm_type',
  28. // 备注
  29. 'comment',
  30. // 处理结果
  31. 'result',
  32. // 创建人ID
  33. 'creator_id',
  34. // 创建时间
  35. 'created_at',
  36. // 更新时间
  37. 'updated_at',
  38. // 软删除
  39. 'deleted_at',
  40. );
  41. public function getList()
  42. {
  43. return $this->dataRange()
  44. ->catchSearch()
  45. ->append(['result_text','end_time_text','start_time_text','device_name','reason_text'])
  46. ->order($this->aliasField('id'), 'desc')
  47. ->paginate();
  48. }
  49. /**
  50. * 学号
  51. */
  52. public function searchRealnameAttr($query, $value, $data)
  53. {
  54. return $query->where('realname', 'like', '%'. $value . '%');
  55. }
  56. /**
  57. * 学号
  58. */
  59. public function searchDeviceNumberAttr($query, $value, $data)
  60. {
  61. return $query->where('device_number', 'like', '%'. $value . '%');
  62. }
  63. /**
  64. * 告警原因
  65. */
  66. public function searchAlarmReasonAttr($query, $value, $data)
  67. {
  68. return $query->where('alarm_reason', $value);
  69. }
  70. /**
  71. * 是否处理
  72. */
  73. public function searchIsHandleAttr($query, $value, $data)
  74. {
  75. if($value==0){
  76. return $query->whereNull('end_time');
  77. }elseif($value==1){
  78. return $query->whereNotNull('end_time');
  79. }
  80. }
  81. }