mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
feat : duplicar papel impresion con relaciones
This commit is contained in:
66
ci4/app/Services/PapelImpresionService.php
Normal file
66
ci4/app/Services/PapelImpresionService.php
Normal file
@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services;
|
||||
|
||||
use App\Entities\Configuracion\PapelImpresion;
|
||||
use App\Models\Configuracion\MaquinasPapelesImpresionModel;
|
||||
use App\Models\Configuracion\PapelImpresionMargenModel;
|
||||
use App\Models\Configuracion\PapelImpresionModel;
|
||||
use App\Models\Configuracion\PapelImpresionTipologiaModel;
|
||||
use CodeIgniter\Config\BaseService;
|
||||
|
||||
|
||||
|
||||
class PapelImpresionService extends BaseService
|
||||
{
|
||||
|
||||
protected PapelImpresionModel $papelImpresionModel;
|
||||
protected PapelImpresionTipologiaModel $papelImpresionTipologiaModel;
|
||||
protected MaquinasPapelesImpresionModel $maquinaPapelImpresionModel;
|
||||
protected PapelImpresionMargenModel $papelImpresionMargenModel;
|
||||
protected MaquinasPapelesImpresionModel $papelImpresionMaquinaModel;
|
||||
|
||||
|
||||
protected PapelImpresion $papelImpresion;
|
||||
|
||||
|
||||
public function __construct() {
|
||||
$this->papelImpresionModel = model(PapelImpresionModel::class);
|
||||
$this->papelImpresionModel = model(PapelImpresionModel::class);
|
||||
$this->papelImpresionMargenModel = model(PapelImpresionMargenModel::class);
|
||||
$this->papelImpresionTipologiaModel = model(PapelImpresionTipologiaModel::class);
|
||||
$this->papelImpresionMaquinaModel = model(MaquinasPapelesImpresionModel::class);
|
||||
}
|
||||
public function setPapelImpresionEntity(PapelImpresion $papelImpresionEntity) : self
|
||||
{
|
||||
$this->papelImpresion = $papelImpresionEntity;
|
||||
return $this;
|
||||
}
|
||||
public function duplicate(string $newName) : PapelImpresion
|
||||
{
|
||||
$papelImpresionRow = $this->papelImpresion?->toArray();
|
||||
$papelImpresionMargen = $this->papelImpresion->margen()?->toArray();
|
||||
$papelImpresionTipologia = $this->papelImpresion->tipologia()?->toArray();
|
||||
$papelImpresionMaquina = $this->papelImpresion->maquinas_impresion()?->toArray();
|
||||
|
||||
$papelImpresionRow['nombre'] = $newName;
|
||||
if($this->papelImpresion){
|
||||
$papelImpresionDuplicatedId = $this->papelImpresionModel->insert($papelImpresionRow);
|
||||
}
|
||||
if($papelImpresionMargen){
|
||||
$papelImpresionMargen['papel_impresion_id'] = $papelImpresionDuplicatedId;
|
||||
$this->papelImpresionMargenModel->insert($papelImpresionMargen);
|
||||
}
|
||||
if($papelImpresionTipologia){
|
||||
$this->papelImpresionTipologiaModel->insert($papelImpresionTipologia);
|
||||
$papelImpresionTipologia['papel_impresion_id'] = $papelImpresionDuplicatedId;
|
||||
}
|
||||
if($papelImpresionMaquina){
|
||||
$papelImpresionMaquina['papel_impresion_id'] = $papelImpresionDuplicatedId;
|
||||
$this->papelImpresionMaquinaModel->insert($papelImpresionMaquina);
|
||||
}
|
||||
$papelImpresionDuplicated = $this->papelImpresionModel->find($papelImpresionDuplicatedId);
|
||||
return $papelImpresionDuplicated;
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user