File manager - Edit - /var/www/html/portal/app/Http/Services/DividaAtiva/DividaAtivaArquivosService.php
Back
<?php namespace App\Http\Services\DividaAtiva; use App\Models\DividaAtiva\DividaAtivaPlanilha; use App\Models\DividaAtiva\DividaAtivaArquivo; use App\Models\DividaAtiva\DividaAtiva; use App\Imports\DividaAtiva\DividaAtivaPlanilhaImport; use Illuminate\Support\Facades\DB; use App\Http\Resources\DividaAtiva\DividaAtivaArquivosResource; use Illuminate\Support\Facades\Auth; use Illuminate\Contracts\Pagination\LengthAwarePaginator; use Illuminate\Http\RedirectResponse; use Maatwebsite\Excel\Facades\Excel; class DividaAtivaArquivosService { public function listPlanilhas(): LengthAwarePaginator { return DividaAtivaPlanilha::orderByDesc('created_at')->paginate(20); } public function storePlanilha(array $data): RedirectResponse { try { DB::beginTransaction(); DividaAtivaPlanilha::create($data); DB::commit(); return redirect()->route('admin.dividaAtiva.planilhas') ->with('success', "* A planilha da dívida ativa chamada {$data['nome']} foi importada sucesso!"); } catch (\Exception $e) { DB::rollBack(); return redirect()->route('admin.dividaAtiva.planilhas') ->withInput() ->with('error', 'Erro tentar importar a planilha da dívida ativa. '.$e->getMessage()); } } public function destroyPlanilha(DividaAtivaPlanilha $planilha): RedirectResponse { try { $ds = DIRECTORY_SEPARATOR; if ($planilha->link && $planilha->link !== 'pmar/assets/img/icons/neutro.png') { $search = "pmar{$ds}assets{$ds}img"; $file_exist = storage_path().str_replace($search, "{$ds}app{$ds}public", $planilha->link); if (@file_exists($file_exist)) { @unlink($file_exist); } } DB::beginTransaction(); DividaAtivaPlanilha::destroy($planilha->id); DB::commit(); return redirect()->route('admin.dividaAtiva.planilhas') ->with('success', "* A planilha da divida ativa com o nome de {$planilha->nome} foi excluída com sucesso! Esta ação não pode ser desfeita!"); } catch (\Exception $e) { DB::rollBack(); return redirect()->route('admin.dividaAtiva.planilhas') ->withInput() ->with('error', 'Erro tentar excluir esta planilha da divida ativa. '.$e->getMessage()); } } public function statusPlanilha(DividaAtivaPlanilha $planilha, string $status): RedirectResponse { try { DB::beginTransaction(); $planilha->fill(['status' => $status])->save(); DB::commit(); return redirect()->route('admin.dividaAtiva.planilhas') ->with('success', "* O status da planilha de divida ativa com o nome de {$planilha->nome} foi alterado com sucesso!"); } catch (\Exception $e) { DB::rollBack(); return redirect()->route('admin.dividaAtiva.planilhas') ->withInput() ->with('error', 'Erro ao tentar alterar o status desta planilha de divida ativa. '.$e->getMessage()); } } public function importarDados(DividaAtivaPlanilha $planilha): RedirectResponse { try { $path = public_path($planilha->link); $import = new DividaAtivaPlanilhaImport(); Excel::import($import, $path); DB::beginTransaction(); $registros = $import->getRegistros(); foreach ($registros as $registro) { $arquivo_array = [ 'owner_id' => Auth::user()->id, 'tipo' => $planilha->tipo, 'nome' => $planilha->nome, 'link' => $planilha->link, 'status' => 'ATIVADO', ]; $arquivo = DividaAtivaArquivo::create($arquivo_array); $divida_array = [ 'owner_id' => Auth::user()->id, 'user_id' => DividaAtivaArquivosResource::getUserIdInRegisters($registro->cpf ?? '', $registro->cnpj ?? ''), 'divida_ativa_registro_id' => (string) $registro->id, 'divida_ativa_arquivo_id' => (string) $arquivo->id, 'status' => 'ATIVADO', ]; DividaAtiva::create($divida_array); } $planilha->fill(['importada' => 1])->save(); DB::commit(); return redirect()->route('admin.dividaAtiva.planilhas') ->with('success', '* Registros importados com sucesso!'); } catch (\Exception $e) { DB::rollBack(); return redirect()->route('admin.dividaAtiva.planilhas') ->withInput() ->with('error', 'Erro ao tentar importar os registros da planilha de divida ativa. '.$e->getMessage()); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings