ot pdf download

This commit is contained in:
amazuecos
2025-03-30 14:22:43 +02:00
parent 50cd951755
commit bc969828b9
16 changed files with 1198 additions and 458 deletions

View File

@ -10,7 +10,8 @@ use App\Models\OrdenTrabajo\OrdenTrabajoTarea;
use App\Models\OrdenTrabajo\OrdenTrabajoUser;
use App\Models\Pedidos\PedidoModel;
use CodeIgniter\Entity\Entity;
use Picqer\Barcode\Renderers\PngRenderer;
use Picqer\Barcode\Types\TypeCode128;
class OrdenTrabajoEntity extends Entity
{
@ -101,4 +102,11 @@ class OrdenTrabajoEntity extends Entity
$this->attributes["dates"] = $ot_dates->fill($data);
return $this;
}
public function getBarCode() : string
{
$barcode = new TypeCode128();
$renderer = new PngRenderer();
$barcodeData = $barcode->getBarcode($this->pedido()->presupuesto()->id);
return base64_encode($renderer->render($barcodeData,200, 50));
}
}

View File

@ -2,6 +2,8 @@
namespace App\Entities\Produccion;
use App\Entities\Usuarios\UserEntity;
use App\Models\Usuarios\UserModel;
use CodeIgniter\Entity\Entity;
class OrdenTrabajoUserEntity extends Entity
@ -10,30 +12,30 @@ class OrdenTrabajoUserEntity extends Entity
protected $dates = ['created_at', 'updated_at', 'deleted_at'];
protected $attributes = [
"orden_trabajo_id"=> null,
"user_created_id"=> null,
"user_update_id"=> null,
"inaplazable_revised_change_user_id"=> null,
"ferro_disponible_hecho_user_id"=> null,
"ferro_disponible_ok_user_id"=> null,
"ferro_entregado_user_id"=> null,
"pendiente_ferro_user_id"=> null,
"ferro_en_cliente_user_id"=> null,
"ferro_ok_user_id"=> null,
"interior_bn_user_id"=> null,
"interior_color_user_id"=> null,
"preparacion_interior_user_id"=> null,
"cubierta_user_id"=> null,
"plastificado_user_id"=> null,
"encuadernacion_user_id"=> null,
"corte_user_id"=> null,
"embalaje_user_id"=> null,
"entrada_manipulado_user_id"=> null,
"pre_formato_user_id"=> null,
"pre_lomo_user_id"=> null,
"pre_solapa_user_id"=> null,
"pre_codbarras_user_id"=> null,
"pre_imposicion_user_id"=> null,
"orden_trabajo_id" => null,
"user_created_id" => null,
"user_update_id" => null,
"inaplazable_revised_change_user_id" => null,
"ferro_disponible_hecho_user_id" => null,
"ferro_disponible_ok_user_id" => null,
"ferro_entregado_user_id" => null,
"pendiente_ferro_user_id" => null,
"ferro_en_cliente_user_id" => null,
"ferro_ok_user_id" => null,
"interior_bn_user_id" => null,
"interior_color_user_id" => null,
"preparacion_interior_user_id" => null,
"cubierta_user_id" => null,
"plastificado_user_id" => null,
"encuadernacion_user_id" => null,
"corte_user_id" => null,
"embalaje_user_id" => null,
"entrada_manipulado_user_id" => null,
"pre_formato_user_id" => null,
"pre_lomo_user_id" => null,
"pre_solapa_user_id" => null,
"pre_codbarras_user_id" => null,
"pre_imposicion_user_id" => null,
"pre_imprimir_user_id" => null
];
// protected array $casts = [
@ -63,4 +65,21 @@ class OrdenTrabajoUserEntity extends Entity
// "pre_imposicion_user_id" => "?integer",
// "pre_imprimir_user_id" => "?integer"
// ];
protected function userBy(string $key): ?UserEntity
{
$user = null;
if (isset($this->attributes[$key])) {
if ($this->attributes[$key]) {
$m = model(UserModel::class);
$user = $m->find($this->attributes[$key]);
}
}
return $user;
}
public function getPlastificadoBy() : ?UserEntity
{
return $this->userBy('plastificado_user_id');
}
}

View File

@ -1,6 +1,8 @@
<?php
namespace App\Entities\Tarifas\Acabados;
use App\Entities\Tarifas\Maquinas\TarifaAcabadoMaquinaEntity;
use App\Models\Tarifas\Maquinas\TarifaAcabadoMaquinaModel;
use CodeIgniter\Entity;
class TarifaAcabadoEntity extends \CodeIgniter\Entity\Entity
@ -32,4 +34,15 @@ class TarifaAcabadoEntity extends \CodeIgniter\Entity\Entity
"user_updated_id" => "int",
"is_deleted" => "int",
];
/**
* Devuelve las maquinas asociadas a esta tarifa de acabado
*
* @return array<MaquinaEntity>
*/
public function maquinas() : array
{
$m = model(TarifaAcabadoMaquinaModel::class);
$ta_maquinas = $m->where('tarifa_acabado_id',$this->attributes['id'])->findAll();
return array_map(fn(TarifaAcabadoMaquinaEntity $ta_maquina) => $ta_maquina->maquina(),$ta_maquinas);
}
}

View File

@ -1,7 +1,9 @@
<?php
namespace App\Entities\Tarifas\Maquinas;
use App\Entities\Configuracion\Maquina;
use App\Entities\Tarifas\Acabados\TarifaAcabadoEntity;
use App\Models\Configuracion\MaquinaModel;
use App\Models\Tarifas\Acabados\TarifaAcabadoModel;
use CodeIgniter\Entity\Entity;
@ -27,4 +29,10 @@ class TarifaAcabadoMaquinaEntity extends Entity
$m = model(TarifaAcabadoModel::class);
return $m->find($this->attributes["tarifa_acabado_id"]);
}
public function maquina() : Maquina
{
$m = model(MaquinaModel::class);
return $m->find($this->attributes["maquina_id"]);
}
}