Merge branch 'feat/sk-17' into 'main'

fix duplicate

See merge request jjimenez/safekat!485
This commit is contained in:
Alvaro
2025-01-21 08:58:02 +00:00
2 changed files with 36 additions and 26 deletions

View File

@ -53,19 +53,19 @@ class PapelImpresion extends \CodeIgniter\Entity\Entity
"is_deleted" => "int",
];
public function tipologia() : ?PapelImpresionTipologia
public function tipologia() : ?array
{
$m = model(PapelImpresionTipologiaModel::class);
return $m->where('papel_impresion_id',$this->attributes["id"])->first();
return $m->asArray()->where('papel_impresion_id',$this->attributes["id"])->findAll();
}
public function maquinas_impresion() : ?MaquinasPapelesImpresionEntity
public function maquinas_impresion() : ?array
{
$m = model(MaquinasPapelesImpresionModel::class);
return $m->where('papel_impresion_id',$this->attributes["id"])->first();
return $m->asArray()->where('papel_impresion_id',$this->attributes["id"])->findAll();
}
public function margen() : ?PapelImpresionMargen
public function margen() : ?array
{
$m = model(PapelImpresionMargenModel::class);
return $m->where('papel_impresion_id',$this->attributes["id"])->first();
return $m->asArray()->where('papel_impresion_id',$this->attributes["id"])->findAll();
}
}

View File

@ -23,44 +23,54 @@ class PapelImpresionService extends BaseService
protected PapelImpresion $papelImpresion;
public function __construct() {
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
public function setPapelImpresionEntity(PapelImpresion $papelImpresionEntity): self
{
$this->papelImpresion = $papelImpresionEntity;
return $this;
}
public function duplicate(string $newName) : PapelImpresion
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();
$papelImpresionMargenes = $this->papelImpresion->margen();
$papelImpresionTipologias = $this->papelImpresion->tipologia();
$papelImpresionMaquinas = $this->papelImpresion->maquinas_impresion();
$papelImpresionRow['nombre'] = $newName;
if($this->papelImpresion){
if ($this->papelImpresion) {
unset($papelImpresionRow["id"]);
$papelImpresionDuplicatedId = $this->papelImpresionModel->insert($papelImpresionRow);
}
if($papelImpresionMargen){
$papelImpresionMargen['papel_impresion_id'] = $papelImpresionDuplicatedId;
$this->papelImpresionMargenModel->insert($papelImpresionMargen);
if ($papelImpresionMargenes) {
foreach ($papelImpresionMargenes as $papelImpresionMargen) {
unset($papelImpresionMargen["id"]);
$papelImpresionMargen['papel_impresion_id'] = $papelImpresionDuplicatedId;
$this->papelImpresionMargenModel->insert($papelImpresionMargen);
}
}
if($papelImpresionTipologia){
$this->papelImpresionTipologiaModel->insert($papelImpresionTipologia);
$papelImpresionTipologia['papel_impresion_id'] = $papelImpresionDuplicatedId;
if ($papelImpresionTipologias) {
foreach ($papelImpresionTipologias as $papelImpresionTipologia) {
unset($papelImpresionTipologia["id"]);
$papelImpresionTipologia['papel_impresion_id'] = $papelImpresionDuplicatedId;
$this->papelImpresionTipologiaModel->insert($papelImpresionTipologia);
}
}
if($papelImpresionMaquina){
$papelImpresionMaquina['papel_impresion_id'] = $papelImpresionDuplicatedId;
$this->papelImpresionMaquinaModel->insert($papelImpresionMaquina);
if ($papelImpresionMaquinas) {
foreach ($papelImpresionMaquinas as $papelImpresionMaquina) {
unset($papelImpresionMaquina["id"]);
$papelImpresionMaquina['papel_impresion_id'] = $papelImpresionDuplicatedId;
$this->papelImpresionMaquinaModel->insert($papelImpresionMaquina);
}
}
$papelImpresionDuplicated = $this->papelImpresionModel->find($papelImpresionDuplicatedId);
return $papelImpresionDuplicated;
return $papelImpresionDuplicated;
}
}
}