Device.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. namespace catchAdmin\device\model;
  3. use catcher\base\CatchModel as Model;
  4. use catchAdmin\device\model\search\DeviceSearch;
  5. use catchAdmin\device\model\get\DeviceGet;
  6. use catchAdmin\permissions\model\DataRangScopeTrait;
  7. class Device extends Model
  8. {
  9. use DeviceSearch;
  10. use DeviceGet;
  11. use DataRangScopeTrait;
  12. // 表名
  13. public $name = 'devices';
  14. // 数据库字段映射
  15. public $field = array(
  16. 'id',
  17. // GPS编号
  18. 'imei',
  19. // 标签编号
  20. 'rfid',
  21. // 设备名称
  22. 'name',
  23. // 设备型号
  24. 'model',
  25. // 关联物体
  26. 'bind_id',
  27. // 所属部门
  28. 'department_id',
  29. // ICCID
  30. 'iccid',
  31. // 应用场景
  32. 'scenario',
  33. // SIM卡号
  34. 'sim_no',
  35. // 经度
  36. 'longitude',
  37. // 纬度
  38. 'latitude',
  39. // 在线时间
  40. 'online_time',
  41. // 地址
  42. 'address',
  43. // 定位模式
  44. 'loc_mode',
  45. // 软件版本
  46. 'soft_ver',
  47. // 硬件版本
  48. 'hard_ver',
  49. // 备注
  50. 'remark',
  51. // 创建人ID
  52. 'creator_id',
  53. // 创建时间
  54. 'created_at',
  55. // 更新时间
  56. 'updated_at',
  57. // 软删除
  58. 'deleted_at',
  59. );
  60. /**
  61. * 获取设备列表
  62. */
  63. public function getList()
  64. {
  65. $res = $this->dataRange()
  66. ->catchSearch()
  67. ->append(['status_icon','status_text'])
  68. ->order($this->aliasField('online_time'), 'desc')
  69. ->paginate();
  70. return $res;
  71. }
  72. /**
  73. * 获取设备列表
  74. */
  75. public function getDeviceList($field, $order)
  76. {
  77. $res = $this->dataRange()
  78. ->catchSearch()
  79. ->append(['depart_name', 'device_state', 'alarm_state_text', 'bind_number', 'creator_user', 'model_text','net_state','loc_mode_text','alarm_reason'])
  80. ->order($this->aliasField($field), $order)
  81. ->paginate();
  82. return $res;
  83. }
  84. /**
  85. * 获取设备导出列表
  86. */
  87. public function getDevicesExportList()
  88. {
  89. $res = $this->dataRange()
  90. ->catchSearch()
  91. ->append(['depart_name', 'device_state', 'alarm_state_text', 'bind_number', 'creator_user', 'model_text','net_state','loc_mode_text','alarm_reason'])
  92. ->order($this->aliasField('id'), 'desc')
  93. ->select();
  94. return $res;
  95. }
  96. }