Consolidar command

This commit is contained in:
2022-03-25 15:04:10 -03:00
parent dbad283e14
commit ee3133da72
5 changed files with 33 additions and 13 deletions

View File

@ -13,7 +13,7 @@ class Consolidar {
}
public function __invoke(Request $request, Handler $handler): Response {
if (!$this->service->isConsolidado()) {
$this->service->consolidar();
$this->service->queue();
}
return $handler->handle($request);
}

View File

@ -2,6 +2,7 @@
namespace Contabilidad\Common\Service;
use Carbon\Carbon;
use Contabilidad\Queue;
use \Model;
use ProVM\Common\Factory\Model as ModelFactory;
use Contabilidad\Consolidado;
@ -21,24 +22,30 @@ class Consolidar {
return $this->cuentas;
}
public function isConsolidado() {
$consolidado = true;
public function isConsolidado(): bool {
$cuentas = $this->getCuentas();
if ($cuentas === null) {
return false;
return true;
}
foreach ($cuentas as $cuenta) {
$transacciones = $cuenta->hasTransacciones();
if (!$transacciones) {
continue;
}
$consolidados = $cuenta->hasConsolidados();
if (!$consolidados and $transacciones) {
$consolidado = false;
break;
$pendientes = $cuenta->hasConsolidadosPending();
if ($pendientes) {
return false;
}
}
return $consolidado;
return true;
}
public function queue() {
$data = [
'command' => 'consolidar',
'created' => Carbon::now()->format('Y-m-d H:i:s')
];
$queue = Queue::add($this->factory, $data);
$queue->save();
}
public function consolidar() {
ini_set('max_execution_time', 60*5);