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,62 @@
<?php
namespace App\Http\Controllers\Impressao\Almoxarifado;
use App\Http\Controllers\Controller;
use App\Models\Cadastro\Grupo\Grupo;
use App\Models\Cadastro\Subgrupo\Subgrupo;
use App\Services\Almoxarifado\BalanceteService;
use App\Utils\Exports\Pdf1;
use Carbon\Carbon;
class BalanceteController extends Controller
{
private const TITLE = 'BALANCETE';
private const TEMPLATE = 'almoxarifado.balancete';
public static function getTemplate()
{
$periodo = [
'inicio' => Carbon::createFromFormat('d/m/Y', request()->inicio)->setTime(0, 0, 0),
'fim' => Carbon::createFromFormat('d/m/Y', request()->fim)->setTime(23, 59, 59),
];
$grupo = request()->query('grupo_id') ? Grupo::find(request()->query('grupo_id')) : null;
$subgrupo = request()->query('subgrupo_id') ? Subgrupo::find(request()->query('subgrupo_id')) : null;
$colunas = collect(request()->selectedCols);
$balancete = BalanceteService::getBalancete($periodo, request()->grupo_id, request()->subgrupo_id, request()->origem_programatica_id);
BalanceteService::formatarSaldos($balancete);
$itens = null;
if ($colunas->contains('material')) {
$itens = $balancete['por_material'];
}
else if ($colunas->contains('subgrupo')) {
$itens = $balancete['por_subgrupo'];
}
else {
$itens = $balancete['por_grupo'];
}
return [
'inicio' => request()->inicio,
'fim' => request()->fim,
'grupo' => $grupo->nome ?? null,
'subgrupo' => $subgrupo->nome ?? null,
'colunas' => $colunas,
'itens' => $itens,
'totalizadores' => $balancete['totalizadores'],
];
}
public function __invoke()
{
return Pdf1::generate(self::TITLE, self::TEMPLATE, self::getTemplate());
}
}