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", "is_deleted" => "int",
]; ];
public function tipologia() : ?PapelImpresionTipologia public function tipologia() : ?array
{ {
$m = model(PapelImpresionTipologiaModel::class); $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); $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); $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; protected PapelImpresion $papelImpresion;
public function __construct() { public function __construct()
{
$this->papelImpresionModel = model(PapelImpresionModel::class); $this->papelImpresionModel = model(PapelImpresionModel::class);
$this->papelImpresionModel = model(PapelImpresionModel::class); $this->papelImpresionModel = model(PapelImpresionModel::class);
$this->papelImpresionMargenModel = model(PapelImpresionMargenModel::class); $this->papelImpresionMargenModel = model(PapelImpresionMargenModel::class);
$this->papelImpresionTipologiaModel = model(PapelImpresionTipologiaModel::class); $this->papelImpresionTipologiaModel = model(PapelImpresionTipologiaModel::class);
$this->papelImpresionMaquinaModel = model(MaquinasPapelesImpresionModel::class); $this->papelImpresionMaquinaModel = model(MaquinasPapelesImpresionModel::class);
} }
public function setPapelImpresionEntity(PapelImpresion $papelImpresionEntity) : self public function setPapelImpresionEntity(PapelImpresion $papelImpresionEntity): self
{ {
$this->papelImpresion = $papelImpresionEntity; $this->papelImpresion = $papelImpresionEntity;
return $this; return $this;
} }
public function duplicate(string $newName) : PapelImpresion public function duplicate(string $newName): ?PapelImpresion
{ {
$papelImpresionRow = $this->papelImpresion?->toArray(); $papelImpresionRow = $this->papelImpresion?->toArray();
$papelImpresionMargen = $this->papelImpresion->margen()?->toArray(); $papelImpresionMargenes = $this->papelImpresion->margen();
$papelImpresionTipologia = $this->papelImpresion->tipologia()?->toArray(); $papelImpresionTipologias = $this->papelImpresion->tipologia();
$papelImpresionMaquina = $this->papelImpresion->maquinas_impresion()?->toArray(); $papelImpresionMaquinas = $this->papelImpresion->maquinas_impresion();
$papelImpresionRow['nombre'] = $newName; $papelImpresionRow['nombre'] = $newName;
if($this->papelImpresion){ if ($this->papelImpresion) {
unset($papelImpresionRow["id"]);
$papelImpresionDuplicatedId = $this->papelImpresionModel->insert($papelImpresionRow); $papelImpresionDuplicatedId = $this->papelImpresionModel->insert($papelImpresionRow);
} }
if($papelImpresionMargen){ if ($papelImpresionMargenes) {
$papelImpresionMargen['papel_impresion_id'] = $papelImpresionDuplicatedId; foreach ($papelImpresionMargenes as $papelImpresionMargen) {
$this->papelImpresionMargenModel->insert($papelImpresionMargen); unset($papelImpresionMargen["id"]);
$papelImpresionMargen['papel_impresion_id'] = $papelImpresionDuplicatedId;
$this->papelImpresionMargenModel->insert($papelImpresionMargen);
}
} }
if($papelImpresionTipologia){ if ($papelImpresionTipologias) {
$this->papelImpresionTipologiaModel->insert($papelImpresionTipologia); foreach ($papelImpresionTipologias as $papelImpresionTipologia) {
$papelImpresionTipologia['papel_impresion_id'] = $papelImpresionDuplicatedId; unset($papelImpresionTipologia["id"]);
$papelImpresionTipologia['papel_impresion_id'] = $papelImpresionDuplicatedId;
$this->papelImpresionTipologiaModel->insert($papelImpresionTipologia);
}
} }
if($papelImpresionMaquina){ if ($papelImpresionMaquinas) {
$papelImpresionMaquina['papel_impresion_id'] = $papelImpresionDuplicatedId; foreach ($papelImpresionMaquinas as $papelImpresionMaquina) {
$this->papelImpresionMaquinaModel->insert($papelImpresionMaquina); unset($papelImpresionMaquina["id"]);
$papelImpresionMaquina['papel_impresion_id'] = $papelImpresionDuplicatedId;
$this->papelImpresionMaquinaModel->insert($papelImpresionMaquina);
}
} }
$papelImpresionDuplicated = $this->papelImpresionModel->find($papelImpresionDuplicatedId); $papelImpresionDuplicated = $this->papelImpresionModel->find($papelImpresionDuplicatedId);
return $papelImpresionDuplicated; return $papelImpresionDuplicated;
} }
} }