39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
|
namespace Incoviba\Model\Venta;
|
|
|
|
use DateTimeInterface;
|
|
use Incoviba\Common\Ideal\Model;
|
|
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;
|
|
|
|
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,
|
|
'fecha_pago' => $this->fechaPago?->format('Y-m-d H:i:s') ?? '',
|
|
'abonado' => $this->abonado ?? false,
|
|
'fecha_abonado' => $this->fechaAbonado?->format('Y-m-d H:i:s') ?? '',
|
|
'uf' => $this->uf ?? 1,
|
|
'pago' => $this->pago ?? '',
|
|
'numero' => $this->numero ?? ''
|
|
]);
|
|
}
|
|
}
|