70 lines
2.5 KiB
PHP
70 lines
2.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Impressao\Farmacia\Livro;
|
|
|
|
use App\Enums\Cadastro\Material\LivroRegistro;
|
|
use App\Enums\Cadastro\Material\LivroRegistroTipo;
|
|
use App\Enums\Farmacia\LivroStatus;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Cadastro\Estabelecimento\CentroCusto;
|
|
use App\Models\Farmacia\Livro;
|
|
use App\Models\Intranet\Cliente;
|
|
use App\Services\Farmacia\LivroService;
|
|
use App\Utils\Exports\Pdf1;
|
|
|
|
class LivroController extends Controller
|
|
{
|
|
private static $TITLE = 'LIVRO DE ';
|
|
private const TEMPLATE = 'farmacia.livro.livro';
|
|
|
|
public static function getTemplate($livro)
|
|
{
|
|
$municipio = Cliente::where('link', app('config')->get('database.default'))->first()->municipio->nome;
|
|
$infraestruturaLogada = CentroCusto::findOrFail(auth()->payload()->get('centro_custo_id'))->infraestrutura;
|
|
|
|
$isTalidomida = $livro->livro_registro_id == LivroRegistro::TALIDOMIDA;
|
|
|
|
return [
|
|
'isLivroTalidomida' => $isTalidomida,
|
|
'isLivroTalidomidaABase' => $isTalidomida
|
|
&& $livro->livro_registro_tipo_id == LivroRegistroTipo::A_BASE,
|
|
'isLivroTalidomidaEspecifico' => $isTalidomida
|
|
&& $livro->livro_registro_tipo_id == LivroRegistroTipo::ESPECIFICO,
|
|
'numero' => $livro->numero,
|
|
'abertoEm' => $livro->aberto_em->format('d/m/Y'),
|
|
'livroRegistro' => $livro->livroRegistro->nome,
|
|
'livroRegistroTipo' => $livro->livroRegistroTipo->nome ?? null,
|
|
'quantidadePaginas' => $livro->quantidade_paginas,
|
|
'registro' => $livro->registro,
|
|
'firma' => "PREFEITURA MUNICIPAL DE {$municipio}",
|
|
'farmacia' => $infraestruturaLogada->nome,
|
|
'usuarioFarmaceutico' => $livro->usuarioFarmaceutico->cidadao->nome,
|
|
'endereco' => $infraestruturaLogada->endereco->completo,
|
|
'inscricaoEstadual' => $livro->inscricao_estadual,
|
|
'autoridadeSanitaria' => $livro->autoridade_sanitaria,
|
|
'paginas' => LivroService::getLivroCompletoImpressao($livro->id),
|
|
];
|
|
}
|
|
|
|
public function __invoke($id)
|
|
{
|
|
$livro = Livro::findOrFail($id);
|
|
|
|
if ($livro->livro_registro_id == LivroRegistro::TALIDOMIDA) {
|
|
|
|
self::$TITLE .= 'TALIDOMIDA';
|
|
}
|
|
else {
|
|
|
|
self::$TITLE .= 'PSICOTRÓPICOS';
|
|
}
|
|
|
|
if ($livro->status_id === LivroStatus::ABERTO) {
|
|
|
|
self::$TITLE .= ' - PARCIAL';
|
|
}
|
|
|
|
return Pdf1::generate(self::$TITLE, self::TEMPLATE, self::getTemplate($livro), 'landscape');
|
|
}
|
|
}
|