mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
maquina duplicate
This commit is contained in:
@ -1,6 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace App\Entities\Configuracion;
|
namespace App\Entities\Configuracion;
|
||||||
|
|
||||||
|
use App\Models\Configuracion\MaquinasCallesModel;
|
||||||
|
use App\Models\Configuracion\MaquinasDefectoModel;
|
||||||
|
use App\Models\Configuracion\MaquinasPapelesImpresionModel;
|
||||||
use CodeIgniter\Entity;
|
use CodeIgniter\Entity;
|
||||||
|
|
||||||
class Maquina extends \CodeIgniter\Entity\Entity
|
class Maquina extends \CodeIgniter\Entity\Entity
|
||||||
@ -64,4 +67,27 @@ class Maquina extends \CodeIgniter\Entity\Entity
|
|||||||
"user_created_id" => "int",
|
"user_created_id" => "int",
|
||||||
"user_updated_id" => "int",
|
"user_updated_id" => "int",
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public function papeles_impresion() : ?array
|
||||||
|
{
|
||||||
|
$m = model(MaquinasPapelesImpresionModel::class);
|
||||||
|
return $m->asArray()->where('maquina_id',$this->attributes['id'])->findAll();
|
||||||
|
}
|
||||||
|
public function maquina_defecto(): ?array
|
||||||
|
{
|
||||||
|
$m = model(MaquinasDefectoModel::class);
|
||||||
|
return $m->asArray()->where('maquina_id',$this->attributes['id'])->findAll();
|
||||||
|
}
|
||||||
|
public function maquina_calles() : ?array
|
||||||
|
{
|
||||||
|
$m = model(MaquinasCallesModel::class);
|
||||||
|
return $m->asArray()->where('maquina_id',$this->attributes['id'])->findAll();
|
||||||
|
}
|
||||||
|
public function withAll() : self
|
||||||
|
{
|
||||||
|
$this->attributes['papeles_impresion'] = $this->papeles_impresion();
|
||||||
|
$this->attributes['maquina_calles'] = $this->maquina_calles();
|
||||||
|
$this->attributes['maquina_defecto'] = $this->maquina_defecto();
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
60
ci4/app/Services/MaquinaService.php
Normal file
60
ci4/app/Services/MaquinaService.php
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Services;
|
||||||
|
|
||||||
|
use App\Entities\Configuracion\Maquina;
|
||||||
|
use App\Models\Configuracion\MaquinaModel;
|
||||||
|
use CodeIgniter\Config\BaseService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class MaquinaService extends BaseService
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected Maquina $maquina;
|
||||||
|
protected MaquinaModel $maquinaModel;
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->maquinaModel = model(MaquinaModel::class);
|
||||||
|
|
||||||
|
}
|
||||||
|
public function setMaquinaEntity(Maquina $maquinaEntity): self
|
||||||
|
{
|
||||||
|
$this->maquina = $maquinaEntity;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
public function duplicate(string $newName): ?Maquina
|
||||||
|
{
|
||||||
|
|
||||||
|
$maquina_array = $this->maquina->toArray();
|
||||||
|
$maquinaDuplicatedId = $this->maquinaModel->insert($maquina_array);
|
||||||
|
$maquina_array['nombre'] = $newName;
|
||||||
|
$maquinaWithAllRelations = $this->maquina->withAll()->toArray();
|
||||||
|
|
||||||
|
$maquina_defecto = $maquinaWithAllRelations['maquina_defecto'];
|
||||||
|
$maquina_papeles_impresion = $maquinaWithAllRelations['papeles_impresion'];
|
||||||
|
$maquina_calles = $maquinaWithAllRelations['maquina_calles'];
|
||||||
|
|
||||||
|
foreach ($maquina_defecto as $md)
|
||||||
|
{
|
||||||
|
unset($md['id']);
|
||||||
|
$md['maquina_id'] = $maquinaDuplicatedId;
|
||||||
|
}
|
||||||
|
foreach ($maquina_papeles_impresion as $mpi)
|
||||||
|
{
|
||||||
|
unset($mpi['id']);
|
||||||
|
$mpi['maquina_id'] = $maquinaDuplicatedId;
|
||||||
|
}
|
||||||
|
foreach ($maquina_calles as $mc)
|
||||||
|
{
|
||||||
|
unset($mc['id']);
|
||||||
|
$mc['maquina_id'] = $maquinaDuplicatedId;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->maquinaModel->find($maquinaDuplicatedId)->withAll();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user