noticeId = $notice_id; $this->msgTypeArr = $msg_type_arr; } public function array(): array { $notice = AdminNotice::query()->find($this->noticeId); if (!$notice) { return []; } $msg_type = $this->msgTypeArr[$notice['msg_type']] ?? ''; $pattern_id = $notice['pattern_id']; $last_update_time = get_datetime( 'datetime', strtotime($notice['updated_at']) ); $pattern_name = ParkingPattern::getName($pattern_id); $data = []; $list = ParkingPatternSpace::query()->where( 'pattern_id', $pattern_id )->select()->get()->toArray(); $index = 1; foreach ($list as $item) { $space_id = $item['space_id']; $space = ParkingSpace::query()->find($space_id); $spaceCamera = ParkingSpaceCamera::query()->where('space_id', $space_id)->first(); $space_number = ''; $camera_ip = ''; $device_id = ''; $floor = ''; $license_plate = ''; $space_type = ''; if ($space) { $space_number = $space['number']; if ($space['floor_id']) { $floor = AdminFloor::getName($space['floor_id']); } if ($space['license_plate_id']) { $license_plate = ParkingLicensePlate::getNumber( $space['license_plate_id'] ); } if ($space['space_type_id']) { $license_plate = ParkingSpaceType::getName( $space['space_type_id'] ); } } if ($spaceCamera) { $camera_id = $spaceCamera['camera_id']; $ParkingCamera = ParkingCamera::query()->find($camera_id); if ($ParkingCamera) { $camera_ip = $ParkingCamera['camera_ip']; $device_id = $ParkingCamera['number']; } } $data[] = [ $index, $pattern_name, $msg_type, $camera_ip, $device_id, $floor, $last_update_time, $space_number, $license_plate, $space_type ]; $index += 1; } return $data; } /** * @return array */ public function headings(): array { return [ __('exports.global.index'), __('exports.notice.current_mode'), __('exports.notice.msg_type'), __('exports.notice.camera_ip'), __('exports.notice.device_id'), __('exports.notice.floor'), __('exports.notice.last_update_time'), __('exports.notice.space_number'), __('exports.notice.license_plate'), __('exports.notice.space_type') ]; } }