123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <?php
- namespace catchAdmin\alarm\model;
- use catcher\base\CatchModel as Model;
- use catchAdmin\permissions\model\DataRangScopeTrait;
- use catchAdmin\alarm\model\get\AlarmReportGet;
- use think\facade\Db;
- class AlarmReport extends Model
- {
-
- public $name = 'alarm_report';
- use DataRangScopeTrait;
- use AlarmReportGet;
-
- public $field = array(
- 'id',
-
- 'device_number',
-
- 'alarm_time',
-
- 'station_code',
-
- 'address',
-
- 'is_read',
-
- 'student_id',
-
- 'creator_id',
-
- 'created_at',
-
- 'updated_at',
-
- 'deleted_at',
-
- 'fence_id',
-
- 'alarm_type',
-
- 'longitude',
-
- 'latitude',
- );
- public function getList()
- {
- return $this->dataRange()
- ->catchSearch()
- ->append(['alarm_type_name','alarm_time_str','realname','sent_result'])
- ->order($this->aliasField('id'), 'desc')
- ->paginate();
- }
-
- public function getDetail($id)
- {
-
- $alarm_info = $this->where('id', $id)
- ->append(['alarm_type_name','realname'])
- ->findOrEmpty();
- if ($alarm_info->isEmpty()) {
- return [];
- }
- return $alarm_info;
- }
-
- public function getTotalGrowthCountByDate($date)
- {
- return $this->dataRange()
- ->field('alarm_type,count(*) as count')
- ->catchSearch()
- ->whereBetweenTime('alarm_time', 0, $date .' 23:59:59')
- ->group('alarm_type')
- ->select();
- }
-
- public function searchDeviceNumberAttr($query, $value, $data)
- {
- return $query->where('device_number', 'like', '%'. $value . '%');
- }
-
- public function searchIsReadAttr($query, $value, $data)
- {
- return $query->where('is_read', $value);
- }
-
-
- public function searchFenceIdAttr($query, $value, $data)
- {
- return $query->where('fence_id', $value);
- }
-
- public function searchAlarmTypeAttr($query, $value, $data)
- {
- return $query->where('alarm_type', $value);
- }
- }
|