/** * Execute the command. * * @return void */ public function handle() { $companies = Company::all(); $parameter = array(); $report_positions = array(); foreach ($companies as $company) { $parameter[$company->id] = array(); //Accounts $accounts = $company->Accounts->count(); $accounts_no_vehicle = $company->Accounts()->doesntHave('Vehicles')->count(); $accounts_with_vehicle = $accounts - $accounts_no_vehicle; $parameter[$company->id]['Accounts'] = array($accounts, $accounts_with_vehicle, $accounts_no_vehicle); //Vehicles $vehicles = $company->Vehicles->count(); $vehicles_with_device = $company->Vehicles()->has('Device')->count(); $vehicles_no_device = $vehicles - $vehicles_with_device; $parameter[$company->id]['Vehicles'] = array($vehicles, $vehicles_with_device, $vehicles_no_device); //Devices $devices = $company->Devices()->count(); $devices_no_vehicle = $devices - $vehicles_with_device; $parameter[$company->id]['Devices'] = array($devices, $vehicles_with_device, $devices_no_vehicle); //Positions $now = new Carbon(); $now->subDays(5); $vehicles = $company->Vehicles()->has('Device')->get(); $positions = array(); foreach ($vehicles as $vehicle) { $position = $vehicle->Positions()->orderBy('memory_index', 'desc')->first(); if ($position) { if ($position->date < $now) { $positions[] = (object) array('name' => $vehicle->Account->name, 'serial' => $position->serial, 'plate' => $vehicle->plate, 'date' => $position->date, 'obs' => 'Veículo não reportando há pelo menos 5 dias'); } } else { $positions[] = (object) array('name' => $vehicle->Account->name, 'serial' => $vehicle->Device->serial, 'plate' => $vehicle->plate, 'date' => null, 'obs' => 'Veículo não possui registros'); } } usort($positions, function ($a, $b) { return $a->date > $b->date; }); $report_positions[$company->id] = $positions; $no_positions = count($positions); $positions_last_week = $vehicles_with_device - $no_positions; $parameter[$company->id]['Positions'] = array($vehicles_with_device, $positions_last_week, $no_positions); } Storage::put('notreporting.dat', serialize($report_positions)); Storage::put('dashboard.dat', serialize($parameter)); }
public function audit($id) { $company = Company::findOrFail($id); $logs = $company->logs; $audit = array(); $labels = array('name' => 'Nome', 'cnpj' => 'CNPJ', 'insc' => 'Inscrição Estadual', 'phone1' => 'Telefone', 'phone2' => 'Telefone', 'email' => 'E-mail', 'address' => 'Endereço', 'number' => 'Número', 'comp' => 'Complemento', 'quarter' => 'Bairro', 'city' => 'Cidade', 'state' => 'Estado', 'country' => 'País', 'postalcode' => 'CEP'); if ($logs) { foreach ($logs as $log) { foreach ($log->new_value as $key => $value) { $audit[] = array('label' => $labels[$key], 'old' => testVal($log->old_value, $key) ? $log->old_value[$key] : '', 'new' => testVal($log->new_value, $key) ? $log->new_value[$key] : '', 'user' => $log->user->username, 'date' => date('d/m/Y H:i:s', strtotime($log->updated_at))); } } } $grid = \DataGrid::source($audit); $grid->attributes(array("class" => "table table-striped .table-condensed")); $grid->add('label', 'Campo'); $grid->add('old', 'Valor Anterior'); $grid->add('new', 'Novo Valor'); $grid->add('user', 'Alterado por'); $grid->add('date', 'Data/Hora da Alteração'); $grid->paginate(10); return view('layouts.audit', compact('grid')); }
public function getMassDevices(Request $request) { //dd($request->all()); //dd($request->session()->all()); $count = $request->param_count; $params = array(); $values = array(); for ($p = 0; $p < $count; $p++) { $par = 'PAR_' . $p; $val = 'VAL_' . $p; $params[$par] = $request->{$par}; $values[$val] = $request->{$val}; } $request->session()->put('params', $params); $request->session()->put('values', $values); $devices = config("dropdown.devices"); $companies = Company::lists("name", "id")->all(); return view('commands::massdevices', compact('devices', 'companies')); }
public function audit($id) { $device = Device::findOrFail($id); $logs = $device->logs; //dd($logs); $audit = array(); $labels = array('name' => 'Identificação', 'serial' => 'Número de Série', 'model' => 'Modelo', 'company_id' => 'Empresa', 'vehicle_id' => 'Veículo', 'description' => 'Observações'); if ($logs) { foreach ($logs as $log) { foreach ($log->new_value as $key => $value) { switch ($key) { case 'model': $audit[] = array('label' => $labels[$key], 'old' => testVal($log->old_value, $key) ? fieldValue("devices", $log->old_value[$key]) : '[novo]', 'new' => fieldValue("devices", $value), 'user' => $log->user->username, 'date' => date('d/m/Y H:i:s', strtotime($log->updated_at))); break; case 'vehicle_id': $audit[] = array('label' => $labels[$key], 'old' => testVal($log->old_value, $key) ? Vehicle::find($log->old_value[$key])->plate : '[não associado]', 'new' => testVal($log->new_value, $key) ? Vehicle::find($log->new_value[$key])->plate : '[não associado]', 'user' => $log->user->username, 'date' => date('d/m/Y H:i:s', strtotime($log->updated_at))); break; case 'company_id': $audit[] = array('label' => $labels[$key], 'old' => testVal($log->old_value, $key) ? Company::find($log->old_value[$key])->name : '[não associado]', 'new' => testVal($log->new_value, $key) ? Company::find($log->new_value[$key])->name : '[não associado]', 'user' => $log->user->username, 'date' => date('d/m/Y H:i:s', strtotime($log->updated_at))); break; default: $audit[] = array('label' => $labels[$key], 'old' => testVal($log->old_value, $key) ? $log->old_value[$key] : '', 'new' => testVal($log->new_value, $key) ? $log->new_value[$key] : '', 'user' => $log->user->username, 'date' => date('d/m/Y H:i:s', strtotime($log->updated_at))); break; } } } } $grid = \DataGrid::source($audit); $grid->attributes(array("class" => "table table-striped .table-condensed")); $grid->add('label', 'Campo'); $grid->add('old', 'Valor Anterior'); $grid->add('new', 'Novo Valor'); $grid->add('user', 'Usuário'); $grid->add('date', 'Data/Hora'); $grid->orderBy('date', 'DESC'); $grid->paginate(10); return view('layouts.audit', compact('grid')); }
public function audit($id) { $user = User::findOrFail($id); $logs = $user->logs; $audit = array(); $labels = array('name' => 'Nome', 'username' => 'Nome de Usuário', 'email' => 'E-mail', 'company_id' => 'Empresa', 'role' => 'Perfil'); if ($logs) { foreach ($logs as $log) { foreach ($log->new_value as $key => $value) { switch ($key) { case 'role': $audit[] = array('label' => $labels[$key], 'old' => testVal($log->old_value, $key) ? fieldValue("all_roles", $log->old_value[$key]) : '', 'new' => testVal($log->old_value, $key) ? fieldValue("all_roles", $log->new_value[$key]) : '', 'user' => $log->user->username, 'date' => date('d/m/Y H:i:s', strtotime($log->updated_at))); break; case 'company_id': $audit[] = array('label' => $labels[$key], 'old' => testVal($log->old_value, $key) ? Company::find($log->old_value[$key])->name : '[não associado]', 'new' => testVal($log->new_value, $key) ? Company::find($log->new_value[$key])->name : '[não associado]', 'user' => $log->user->username, 'date' => date('d/m/Y H:i:s', strtotime($log->updated_at))); break; default: $audit[] = array('label' => $labels[$key], 'old' => testVal($log->old_value, $key) ? $log->old_value[$key] : '', 'new' => testVal($log->new_value, $key) ? $log->new_value[$key] : '', 'user' => $log->user->username, 'date' => date('d/m/Y H:i:s', strtotime($log->updated_at))); break; } } } } $grid = \DataGrid::source($audit); $grid->attributes(array("class" => "table table-striped .table-condensed")); $grid->add('label', 'Campo'); $grid->add('old', 'Valor Anterior'); $grid->add('new', 'Novo Valor'); $grid->add('user', 'Alterado por'); $grid->add('date', 'Data/Hora da Alteração'); $grid->paginate(10); return view('layouts.audit', compact('grid')); }