pie !== null) { $sum += $this->pie->pagado($moneda); if (isset($this->pie->reajuste) and $this->pie->reajuste !== null) { $sum += $this->pie->reajuste->valor($moneda); } } if ($this->escritura !== null) { $sum += $this->escritura->pago->valor($moneda); } return $sum; } public function prometido(string $moneda = Pago::UF): float { $sum = 0; if (isset($this->pie)) { $sum += $this->pie->valor($moneda); } if (isset($this->escritura)) { $sum += $this->escritura->pago->valor($moneda); } return $sum; } public function total(string $moneda = Pago::UF): float { $sum = $this->anticipo($moneda); if (isset($this->bonoPie)) { $sum += $this->bonoPie->pago->valor($moneda); } if (isset($this->subsidio)) { $sum += $this->subsidio->ahorro->valor($moneda); $sum += $this->subsidio->subsidio->valor($moneda); } if (isset($this->credito)) { $sum += $this->credito->pago->valor($moneda); } return $sum; } public function ids(): array { return [ 'pie_id' => $this->pie?->id, 'escritura_id' => $this->escritura?->id, 'bono_pie_id' => $this->bonoPie?->id, 'credito_id' => $this->credito?->id, 'subsidio_id' => $this->subsidio?->id, 'devolucion_id' => $this->devolucion?->id ]; } public function jsonSerialize(): mixed { return [ 'pie' => $this->pie ?? null, 'escritura' => $this->escritura ?? null, 'bono_pie' => $this->bonoPie ?? null, 'subsidio' => $this->subsidio ?? null, 'credito' => $this->credito ?? null, 'devolucion' => $this->devolucion ?? null ]; } }