Files
safekat/ci4/app/Entities/Presupuestos/PresupuestoEncuadernacionesEntity.php

64 lines
2.1 KiB
PHP
Executable File

<?php
namespace App\Entities\Presupuestos;
use App\Entities\Compras\ProveedorEntity;
use App\Entities\Tarifas\TarifaEncuadernacionEntity;
use App\Models\Compras\ProveedorModel;
use App\Models\Configuracion\MaquinaModel;
use App\Models\Tarifas\Maquinas\TarifaEncuadernacionMaquinaModel;
use App\Models\Tarifas\TarifaEncuadernacionModel;
use CodeIgniter\Entity;
class PresupuestoEncuadernacionesEntity extends \CodeIgniter\Entity\Entity
{
protected $attributes = [
"id" => null,
"presupuesto_id" => null,
"tarifa_encuadernado_id" => null,
"proveedor_id" => null,
"precio_unidad" => null,
"paginas_por_cuadernillo" => null,
"tiempo" => null,
"precio_total" => null,
"margen" => null,
"created_at" => null,
"updated_at" => null,
];
protected $casts = [
"presupuesto_id" => "int",
"tarifa_encuadernado_id" => "int",
"proveedor_id" => "int",
"precio_unidad" => "float",
"paginas_por_cuadernillo" => "int",
"tiempo" => "float",
"precio_total" => "float",
"margen" => "float",
];
public function maquinas(): array
{
$m = model(TarifaEncuadernacionMaquinaModel::class);
$tarifa_maquinas = $m->where("tarifa_encuadernacion_id", $this->attributes["tarifa_encuadernado_id"])->findAll();
$maquinaModel = model(MaquinaModel::class);
$maquinas = [];
foreach ($tarifa_maquinas as $key => $tarifa_maquina) {
$maquinas[] = $maquinaModel->find($tarifa_maquina->maquina_id);
}
return $maquinas;
}
public function tarifa(): TarifaEncuadernacionEntity
{
$m = model(TarifaEncuadernacionModel::class);
return $m->find($this->attributes["tarifa_encuadernado_id"]);
}
public function proveedor(): ?ProveedorEntity
{
$proveedor = null;
$m = model(ProveedorModel::class);
if ($this->attributes["proveedor_id"]) {
$proveedor = $m->find($this->attributes["proveedor_id"]);
}
return $proveedor;
}
}