File manager - Edit - /var/www/html/gop/api/app/Http/Services/DocumentoService.php
Back
<?php namespace App\Http\Services; use App\Models\Fornecimento; use App\Models\Obra; use App\Models\Termo; use Carbon\Carbon; use Illuminate\Support\Facades\Storage; use PDF; class DocumentoService { public function pdfOrdemServico(Obra $obra) { $endereco = $obra->endereco ? "{$obra->endereco->logradouro}, {$obra->endereco->numero}, {$obra->endereco->bairro}, {$obra->endereco->cidade} - {$obra->endereco->estado}" : 'Não Informado'; $data = [ 'documento' => 'Ordem de Serviço', 'numero' => $obra->numero ?: 'Não Informado', 'ano' => $obra->ano ?: 'Não Informado', 'favorecido' => $obra->empresa->nome ?: 'Não Informado', 'servico' => $obra->servico ?: 'Não Informado', 'endereco' => $endereco, 'contrato' => $obra->contrato ?: 'Não Informado', 'prazo' => Carbon::createFromFormat('Y-m-d', $obra->prazo_ajustado) ->format('d/m/Y') ?: 'Não Informado', 'licitacao' => $obra->modalidade ?: 'Não Informado', 'valor' => $obra->valor_inicial ?: 'Não Informado', 'empenhos' => $obra->empenhos ?: null, 'texto' => 'Pela presente Ordem de Serviço, fica a empresa acima, autorizada a iniciar os serviços descritos, os quais serão acompanhados por servidor desta Secretaria abaixo designado, que exercerá a fiscalização dos mesmos em conformidade com o Termo de Referência.', 'data' => $this->dataAtual(), 'assinatura_ordenador' => null, 'assinatura_fiscal' => null, 'nome_responsavel_firma' => $obra->responsavelFirma->prestador->nome ?: null, 'assinatura_firma' => $obra->responsavelFirma->prestador->assinatura ?: null, 'nome_responsavel_tecnico' => $obra->responsavelTecnico->prestador->nome ?: null, 'assinatura_tecnico' => $obra->responsavelTecnico->prestador->assinatura ?: null, ]; return $this->geraPdf($data, "public/pdfs/ordem/{$obra->numero}-{$obra->ano}.pdf", 'ordem_servico'); } public function pdfOrdemFornecimento(Fornecimento $fornecimento) { $local = $fornecimento->endereco ? "{$fornecimento->endereco->logradouro}, {$fornecimento->endereco->numero}, {$fornecimento->endereco->bairro}, {$fornecimento->endereco->cidade} - {$fornecimento->endereco->estado}" : ''; $endereco = $fornecimento->empresa?->endereco ? "{$fornecimento->empresa?->endereco?->logradouro}, {$fornecimento->empresa?->endereco?->numero}, {$fornecimento->empresa?->endereco?->bairro}" : ''; $data = [ 'documento' => 'ORDEM DE FORNECIMENTO', 'numero' => $fornecimento->obra->numero ?: '', 'ano' => $fornecimento->obra->ano ?: '', 'empresa' => $fornecimento->empresa->nome ?: '', 'material' => $fornecimento->material ?: '', 'telefone' => $fornecimento->empresa->telefone ?: '', 'email' => $fornecimento->empresa->email ?: '', 'endereco' => $endereco ?: '', 'cidade' => $fornecimento->empresa?->endereco?->cidade ?: '', 'uf' => $fornecimento->empresa?->endereco?->estado ?: '', 'cnpj' => $fornecimento->empresa->cnpj ?: '', 'processo' => $fornecimento->processo ?: '', 'nota' => $fornecimento->empenho?->numero ?: '', 'prazo' => Carbon::createFromFormat('Y-m-d', $fornecimento->prazo_entrega) ->format('d/m/Y') ?: '', 'local' => $local ?: '', 'horario' => $fornecimento->horario_entrega ?: '', 'texto1' => 'É de responsabilidade do fornecedor o carregamento, transporte e descarregamento dos materiais fornecidos com pessoal disponibilizado pelo fornecedor.', 'texto2' => 'Pela presente Ordem de fornecimento, fica a firma acima, autorizada a entregar os materiais abaixo descritos.', 'data' => $this->dataAtual(), 'items' => $fornecimento->materiais ?: [], ]; return $this->geraPdf($data, "public/pdfs/fornecimento/{$fornecimento->obra->numero}-{$fornecimento->obra->ano}.pdf", 'ordem_fornecimento'); } public function pdfTRD(Termo $termo) { $endereco = $termo->endereco ? "{$termo->endereco->logradouro}, {$termo->endereco->numero}, {$termo->endereco->bairro}, {$termo->endereco->cidade} - {$termo->endereco->estado}" : 'Não Informado'; $data = [ 'documento' => 'TERMO DE RECEBIMENTO DEFINITIVO', 'numero' => $termo->numero ?: 'Não Informado', 'ano' => $termo->ano ?: 'Não Informado', 'favorecido' => $termo->empresa->nome ?: 'Não Informado', 'servico' => $termo->servico ?: 'Não Informado', 'endereco' => $endereco, 'contrato' => $termo->contrato ?: 'Não Informado', 'prazo' => Carbon::createFromFormat('Y-m-d', $termo->prazo) ->format('d/m/Y') ?: 'Não Informado', 'licitacao' => $termo->modalidade ?: 'Não Informado', 'valor' => $termo->valor ?: 'Não Informado', 'nota_empenho' => $termo->empenho ?: 'Não Informado', 'texto' => "Pelo presente Termo de Recebimento, ficam aceitos os serviços acima descritos e executados pela firma supracitada, de acordo com a Ordem de Serviço {$termo->obra->numero}/{$termo->obra->ano}/SDR.", 'data' => $this->dataAtual(), 'assinatura_ordenador' => null, 'assinatura_fiscal' => null, 'nome_responsavel_firma' => $termo->responsavelFirma->prestador->nome ?: null, 'assinatura_firma' => $termo->responsavelFirma->prestador->assinatura ?: null, 'nome_responsavel_tecnico' => $termo->responsavelTecnico->prestador->nome ?: null, 'assinatura_tecnico' => $termo->responsavelTecnico->prestador->assinatura ?: null, ]; return $this->geraPdf($data, "public/pdfs/trd/{$termo->numero}-{$termo->ano}.pdf", 'termo'); } public function pdfTRP(Termo $termo) { $endereco = $termo->endereco ? "{$termo->endereco->logradouro}, {$termo->endereco->numero}, {$termo->endereco->bairro}, {$termo->endereco->cidade} - {$termo->endereco->estado}" : 'Não Informado'; $data = [ 'documento' => 'TERMO DE RECEBIMENTO PROVISÓRIO', 'numero' => $termo->numero ?: 'Não Informado', 'ano' => $termo->ano ?: 'Não Informado', 'favorecido' => $termo->empresa->nome ?: 'Não Informado', 'servico' => $termo->servico ?: 'Não Informado', 'endereco' => $endereco, 'contrato' => $termo->contrato ?: 'Não Informado', 'prazo' => Carbon::createFromFormat('Y-m-d', $termo->prazo) ->format('d/m/Y') ?: 'Não Informado', 'licitacao' => $termo->modalidade ?: 'Não Informado', 'valor' => $termo->valor ?: 'Não Informado', 'nota_empenho' => $termo->empenho ?: 'Não Informado', 'texto' => "Pelo presente Termo de Recebimento, ficam provisoriamente aceitos os serviços acima descritos e executados pela firma supracitada, de acordo com a Ordem de Serviço {$termo->obra->numero}/{$termo->obra->ano}/SDR.", 'data' => $this->dataAtual(), 'assinatura_ordenador' => null, 'assinatura_fiscal' => null, 'nome_responsavel_firma' => $termo->responsavelFirma->prestador->nome ?: null, 'assinatura_firma' => $termo->responsavelFirma->prestador->assinatura ?: null, 'nome_responsavel_tecnico' => $termo->responsavelTecnico->prestador->nome ?: null, 'assinatura_tecnico' => $termo->responsavelTecnico->prestador->assinatura ?: null, ]; return $this->geraPdf($data, "public/pdfs/trp/{$termo->numero}-{$termo->ano}.pdf", 'termo'); } public function geraPdf(array $data, string $path = 'pdfs/teste.pdf', $template = null) { $pdf = PDF::loadView($template, $data); $pdf->setOption('margin-top', 10); $pdf->setOption('margin-bottom', 10); $pdfContent = $pdf->output(); Storage::put($path, $pdfContent); return storage_path($path); } public function dataAtual() { $dataAtual = now(); $mesesEmPortugues = [ 1 => 'janeiro', 2 => 'fevereiro', 3 => 'março', 4 => 'abril', 5 => 'maio', 6 => 'junho', 7 => 'julho', 8 => 'agosto', 9 => 'setembro', 10 => 'outubro', 11 => 'novembro', 12 => 'dezembro', ]; $mes = $mesesEmPortugues[$dataAtual->month]; $dataFormatada = $dataAtual->format('d \d\e ').$mes.$dataAtual->format(' \d\e Y'); return $dataFormatada; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings