init commit
All checks were successful
build-api-image / build (push) Successful in 51s

This commit is contained in:
Antonio Lopes dos Santos
2026-08-04 16:52:02 -03:00
commit afec302c3e
11594 changed files with 1636728 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
<?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');
}
}

View File

@@ -0,0 +1,44 @@
<?php
namespace App\Http\Controllers\Impressao\Farmacia\Livro;
use App\Enums\Cadastro\Material\LivroRegistro;
use App\Http\Controllers\Controller;
use App\Models\Cadastro\Estabelecimento\CentroCusto;
use App\Models\Farmacia\Livro;
use App\Models\Intranet\Cliente;
use App\Utils\Exports\Pdf1;
class TermoFechamentoController extends Controller
{
private const TITLE = 'TERMO DE FECHAMENTO';
private const TEMPLATE = 'farmacia.livro.termo-fechamento';
public static function getTemplate($livroId)
{
$livro = Livro::findOrFail($livroId);
$municipio = Cliente::where('link', app('config')->get('database.default'))->first()->municipio->nome;
$infraestruturaLogada = CentroCusto::findOrFail(auth()->payload()->get('centro_custo_id'))->infraestrutura;
return [
'isLivroTalidomida' => $livro->livro_registro_id == LivroRegistro::TALIDOMIDA,
'numero' => $livro->numero,
'fechadoEm' => $livro->fechado_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,
];
}
public function __invoke($livroId)
{
return Pdf1::generate(self::TITLE, self::TEMPLATE, self::getTemplate($livroId));
}
}