From bc02e3f2bbbbb70adac43f496ee661c881d18ea3 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Wed, 22 Jan 2025 17:44:05 +0100 Subject: [PATCH] add MaquinaService class --- ci4/app/Services/MaquinaService.php | 36 ++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/ci4/app/Services/MaquinaService.php b/ci4/app/Services/MaquinaService.php index b384b7d7..05737527 100644 --- a/ci4/app/Services/MaquinaService.php +++ b/ci4/app/Services/MaquinaService.php @@ -4,6 +4,10 @@ namespace App\Services; use App\Entities\Configuracion\Maquina; use App\Models\Configuracion\MaquinaModel; +use App\Models\Configuracion\MaquinasCallesModel; +use App\Models\Configuracion\MaquinasDefectoModel; +use App\Models\Configuracion\MaquinasPapelesImpresionModel; +use App\Models\Configuracion\MaquinasTarifasImpresionModel; use CodeIgniter\Config\BaseService; @@ -16,45 +20,65 @@ class MaquinaService extends BaseService protected Maquina $maquina; protected MaquinaModel $maquinaModel; + protected MaquinasDefectoModel $maquinaDefectoModel; + protected MaquinasCallesModel $maquinaCalleModel; + protected MaquinasPapelesImpresionModel $maquinaPapelesImpresionModel; + protected MaquinasTarifasImpresionModel $maquinaTarifaImpresionModel; public function __construct() { $this->maquinaModel = model(MaquinaModel::class); + $this->maquinaDefectoModel = model(MaquinasDefectoModel::class); + $this->maquinaCalleModel = model(MaquinasCallesModel::class); + $this->maquinaPapelesImpresionModel = model(MaquinasPapelesImpresionModel::class); + $this->maquinaTarifaImpresionModel = model(MaquinasTarifasImpresionModel::class); + } - public function setMaquinaEntity(Maquina $maquinaEntity): self + public function setMaquina(int $maquina_id): self { - $this->maquina = $maquinaEntity; + $this->maquina = $this->maquinaModel->find($maquina_id); return $this; } public function duplicate(string $newName): ?Maquina { $maquina_array = $this->maquina->toArray(); - $maquinaDuplicatedId = $this->maquinaModel->insert($maquina_array); $maquina_array['nombre'] = $newName; + $maquinaDuplicatedId = $this->maquinaModel->insert($maquina_array); $maquinaWithAllRelations = $this->maquina->withAll()->toArray(); $maquina_defecto = $maquinaWithAllRelations['maquina_defecto']; $maquina_papeles_impresion = $maquinaWithAllRelations['papeles_impresion']; $maquina_calles = $maquinaWithAllRelations['maquina_calles']; + $maquina_tarifas_impresion = $maquinaWithAllRelations['tarifas_impresion']; + foreach ($maquina_defecto as $md) { unset($md['id']); - $md['maquina_id'] = $maquinaDuplicatedId; + $md['maquina_id'] = $maquinaDuplicatedId; + $this->maquinaDefectoModel->insert($md); + } foreach ($maquina_papeles_impresion as $mpi) { unset($mpi['id']); - $mpi['maquina_id'] = $maquinaDuplicatedId; + $mpi['maquina_id'] = $maquinaDuplicatedId; + $this->maquinaPapelesImpresionModel->insert($mpi); } foreach ($maquina_calles as $mc) { unset($mc['id']); $mc['maquina_id'] = $maquinaDuplicatedId; + $this->maquinaCalleModel->insert($mc); + } + foreach ($maquina_tarifas_impresion as $mti) + { + unset($mti['id']); + $mti['maquina_id'] = $maquinaDuplicatedId; + $this->maquinaTarifaImpresionModel->insert($mti); } - return $this->maquinaModel->find($maquinaDuplicatedId)->withAll(); } }