Files
safekat/ci4/app/Services/PapelImpresionService.php
2025-01-20 22:18:10 +01:00

66 lines
2.7 KiB
PHP

<?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;
}
}