Order totals for tipocuenta
This commit is contained in:
@ -46,33 +46,43 @@ class Categoria extends Model {
|
||||
])
|
||||
->many();
|
||||
}
|
||||
protected $activos;
|
||||
public function activos() {
|
||||
if ($this->activos === null) {
|
||||
$this->activos = $this->getCuentasOf('Activo');
|
||||
protected $cuentas_of;
|
||||
public function getCuentas() {
|
||||
if ($this->cuentas_of === null) {
|
||||
$tipos = $this->factory->find(TipoCuenta::class)->many();
|
||||
$cos = [];
|
||||
foreach ($tipos as $tipo) {
|
||||
$p = strtolower($tipo->descripcion) . 's';
|
||||
$cos[$p] = [];
|
||||
$cuentas = $this->getCuentasOf($tipos->descripcion);
|
||||
if ($cuentas === null) {
|
||||
continue;
|
||||
}
|
||||
$cos[$p] = $cuentas;
|
||||
}
|
||||
$this->cuentas_of = $cos;
|
||||
}
|
||||
return $this->activos();
|
||||
return $this->cuentas_of;
|
||||
}
|
||||
protected $pasivos;
|
||||
public function pasivos() {
|
||||
if ($this->pasivos === null) {
|
||||
$this->activos = $this->getCuentasOf('Pasivo');
|
||||
protected $totales;
|
||||
public function getTotales(Service $service) {
|
||||
if ($this->totales === null) {
|
||||
$tipos = $this->factory->find(TipoCuenta::class)->many();
|
||||
$totals = [];
|
||||
foreach ($tipos as $tipo) {
|
||||
$p = strtolower($tipo->descripcion) . 's';
|
||||
$totals[$p] = 0;
|
||||
$cuentas = $this->getCuentasOf($tipo->descripcion);
|
||||
if ($cuentas === null) {
|
||||
continue;
|
||||
}
|
||||
$totals[$p] = array_reduce($cuentas, function($sum, $item) use ($service) {
|
||||
return $sum + $item->saldo($service, true);
|
||||
});
|
||||
}
|
||||
$this->totales = $totals;
|
||||
}
|
||||
return $this->pasivos;
|
||||
}
|
||||
protected $ganancias;
|
||||
public function ganancias() {
|
||||
if ($this->ganancias === null) {
|
||||
$this->ganancias = $this->getCuentasOf('Ganancia');
|
||||
}
|
||||
return $this->ganancias;
|
||||
}
|
||||
protected $perdidas;
|
||||
public function perdidas() {
|
||||
if ($this->perdidas === null) {
|
||||
$this->perdidas = $this->getCuentasOf('Perdida');
|
||||
}
|
||||
return $this->perdidas;
|
||||
return $this->totales;
|
||||
}
|
||||
|
||||
protected $saldo;
|
||||
|
@ -33,6 +33,26 @@ class TipoCategoria extends Model {
|
||||
['categorias.tipo_id', $this->id]
|
||||
])->many();
|
||||
}
|
||||
protected $totales;
|
||||
public function getTotales(Service $service) {
|
||||
if ($this->totales === null) {
|
||||
$tipos = $this->factory->find(TipoCuenta::class)->many();
|
||||
$totals = [];
|
||||
foreach ($tipos as $tipo) {
|
||||
$p = strtolower($tipo->descripcion) . 's';
|
||||
$totals[$p] = 0;
|
||||
$cuentas = $this->getCuentasOf($tipo->descripcion);
|
||||
if ($cuentas === null) {
|
||||
continue;
|
||||
}
|
||||
$totals[$p] = array_reduce($cuentas, function($sum, $item) use ($service) {
|
||||
return $sum + $item->saldo($service, true);
|
||||
});
|
||||
}
|
||||
$this->totales = $totals;
|
||||
}
|
||||
return $this->totales;
|
||||
}
|
||||
|
||||
protected $saldo;
|
||||
public function saldo(Service $service = null) {
|
||||
|
Reference in New Issue
Block a user