Files
oficial/app/src/Model/Venta/Cuota.php

52 lines
1.4 KiB
PHP
Raw Normal View History

<?php
namespace Incoviba\Model\Venta;
use DateTimeInterface;
use Incoviba\Common\Ideal\Model;
2024-03-26 09:38:20 -03:00
use Incoviba\Model\Contabilidad\Banco;
class Cuota extends Model
{
public Pie $pie;
public DateTimeInterface $fecha;
public float $valor;
public ?bool $estado;
public ?Banco $banco;
public ?DateTimeInterface $fechaPago;
public ?bool $abonado;
public ?DateTimeInterface $fechaAbonado;
public ?float $uf;
public ?Pago $pago;
public ?int $numero;
2025-05-13 20:10:24 -04:00
public function isPagada(): bool
{
return $this->pago->isPagado();
}
public function isAbonada(): bool
{
return $this->pago->isAbonado();
}
2025-05-13 20:17:53 -04:00
public function isRechazada(): bool
{
return $this->pago->isRechazado();
}
2025-05-13 20:10:24 -04:00
public function jsonSerialize(): mixed
{
return array_merge(parent::jsonSerialize(), [
'pie_id' => $this->pie->id,
'fecha' => $this->fecha->format('Y-m-d H:i:s'),
'valor' => $this->valor,
'estado' => $this->estado ?? false,
'banco' => $this->banco,
2023-12-22 14:15:09 -03:00
'fecha_pago' => $this->fechaPago?->format('Y-m-d H:i:s') ?? '',
'abonado' => $this->abonado ?? false,
2023-12-22 14:15:09 -03:00
'fecha_abonado' => $this->fechaAbonado?->format('Y-m-d H:i:s') ?? '',
'uf' => $this->uf ?? 1,
'pago' => $this->pago ?? '',
'numero' => $this->numero ?? ''
]);
}
}