"
+ )
+ ->toJson(true);
}
- protected function getOrientacionOptions()
- {
- $orientacionOptions = [
- '' => lang('Basic.global.pleaseSelect'),
- 'H' => 'H',
- 'V' => 'V',
- ];
- return $orientacionOptions;
- }
public function selectImposicion()
{
$data = $this->model->querySelect($this->request->getGet('q'));
return $this->response->setJSON($data);
}
+ public function selectImposicionEsquema()
+ {
+ $data = $this->imposicionEsquemaModel->querySelect($this->request->getGet('q'));
+ return $this->response->setJSON($data);
+ }
+ public function find_imposicion(int $imposicion_id)
+ {
+ $imposicionEntity = $this->model->find($imposicion_id)->withImposicionEsquema();
+ return $this->response->setJSON($imposicionEntity);
+ }
+ public function find_imposicion_esquema(int $imposicion_esquema_id)
+ {
+ $imposicionEsquemaEntity = $this->imposicionEsquemaModel->find($imposicion_esquema_id);
+ return $this->response->setJSON($imposicionEsquemaEntity);
+ }
+ public function create()
+ {
+ $bodyData = $this->request->getPost();
+ $createdId = $this->model->insert($bodyData);
+ if ($createdId) {
+ return $this->response->setJSON(["message" => lang("App.global_alert_save_success"), "status" => true]);
+ } else {
+ return $this->response->setJSON(["message" => lang("App.global_alert_save_error"), "errors" => $this->model->errors(), "status" => true])->setStatusCode(400);
+ }
+ }
+ public function create_imposicion_esquema()
+ {
+ $bodyData = $this->request->getPost();
+ $createdId = $this->imposicionEsquemaModel->insert($bodyData);
+ if ($createdId) {
+ return $this->response->setJSON(["message" => lang("App.global_alert_save_success"), "status" => true]);
+ } else {
+ return $this->response->setJSON(["message" => lang("App.global_alert_save_error"), "errors" => $this->imposicionEsquemaModel->errors(), "status" => true])->setStatusCode(400);
+ }
+ }
}
diff --git a/ci4/app/Controllers/Produccion/Ordentrabajo.php b/ci4/app/Controllers/Produccion/Ordentrabajo.php
index d483680a..31ff93fc 100755
--- a/ci4/app/Controllers/Produccion/Ordentrabajo.php
+++ b/ci4/app/Controllers/Produccion/Ordentrabajo.php
@@ -443,4 +443,16 @@ class Ordentrabajo extends BaseController
$color = $this->produccionService->init($orden_trabajo_id)->getOtColorStatus();
return $this->response->setJSON(["color" => $color]);
}
+ public function imprimir_codigo_safekat(int $orden_trabajo_id)
+ {
+ helper('file');
+ $barcode = $this->produccionService->init($orden_trabajo_id)->getFileBarCode();
+ return $this->response
+ ->setHeader('Content-Type', 'image/png')
+ ->setHeader('Content-Disposition', "attachment; filename=CodigoBarrasOT_{$orden_trabajo_id}.png")
+ ->setBody($barcode);
+ }
+ public function maquinista_maquinas_view(){}
+ public function maquinista_colas_view(){}
+
}
diff --git a/ci4/app/Database/Migrations/2025-04-18-210000_AddTableImposicionEsquemas.php b/ci4/app/Database/Migrations/2025-04-18-210000_AddTableImposicionEsquemas.php
new file mode 100644
index 00000000..bb738594
--- /dev/null
+++ b/ci4/app/Database/Migrations/2025-04-18-210000_AddTableImposicionEsquemas.php
@@ -0,0 +1,79 @@
+ [
+ "type" => "INT",
+ "unsigned" => true,
+ "auto_increment" => true
+ ],
+ "name" => [
+ "type" => "VARCHAR",
+ "constraint" => 255,
+ ],
+ "rows" => [
+ "type" => "INT",
+ "unsigned" => true,
+ "default" => 0,
+ ],
+ "columns" => [
+ "type" => "INT",
+ "unsigned" => true,
+ "default" => 0,
+ ],
+ "orientacion" => [
+ "type" => "ENUM",
+ "constraint" => ["H","V"],
+ "default" => "H",
+ ],
+ "rotativa" => [
+ "type" => "BOOLEAN",
+ "default" => false,
+ ],
+ "cosido" => [
+ "type" => "BOOLEAN",
+ "default" => false,
+ ],
+ "svg_schema" => [
+ "type" => "LONGTEXT",
+ "null" => true
+ ],
+ ];
+
+ public function up()
+ {
+
+ $this->forge->addField($this->COLUMNS);
+ $currenttime = new RawSql("CURRENT_TIMESTAMP");
+ $this->forge->addField([
+ "created_at" => [
+ "type" => "TIMESTAMP",
+ "default" => $currenttime,
+
+ ],
+ "updated_at" => [
+ "type" => "TIMESTAMP",
+ "null" => true,
+
+ ],
+ "deleted_at" => [
+ "type" => "TIMESTAMP",
+ "null" => true,
+ ],
+ ]);
+ $this->forge->addPrimaryKey("id");
+ $this->forge->createTable("imposicion_esquemas");
+ }
+
+ public function down()
+ {
+ $this->forge->dropTable("imposicion_esquemas",true);
+
+ }
+}
diff --git a/ci4/app/Database/Migrations/2025-04-18-213000_AddFkEsquemaImposiciones.php b/ci4/app/Database/Migrations/2025-04-18-213000_AddFkEsquemaImposiciones.php
new file mode 100644
index 00000000..fd0fe949
--- /dev/null
+++ b/ci4/app/Database/Migrations/2025-04-18-213000_AddFkEsquemaImposiciones.php
@@ -0,0 +1,31 @@
+forge->addColumn("lg_imposiciones", [
+ "imposicion_esquema_id" => [
+ "type" => "INT",
+ "unsigned" => true,
+ "null" => true
+ ]
+ ]);
+ $this->forge->addForeignKey(["imposicion_esquema_id"],"imposicion_esquemas",["id"],'SET NULL','SET NULL');
+ $this->forge->processIndexes("lg_imposiciones");
+ }
+
+ public function down()
+ {
+ $this->forge->dropForeignKey("lg_imposiciones","lg_imposiciones_imposicion_esquema_id_foreign");
+ $this->forge->dropColumn("lg_imposiciones","imposicion_esquema_id");
+
+ }
+}
diff --git a/ci4/app/Entities/Configuracion/Imposicion.php b/ci4/app/Entities/Configuracion/Imposicion.php
index fcb0ddaa..9f6640db 100755
--- a/ci4/app/Entities/Configuracion/Imposicion.php
+++ b/ci4/app/Entities/Configuracion/Imposicion.php
@@ -1,6 +1,8 @@
null,
"maquina" => null,
"etiqueta" => null,
+ "imposicion_esquema_id" => null
];
protected $casts = [
"ancho" => "int",
"alto" => "int",
"unidades" => "?int",
+ "imposicion_esquema_id" => "?int"
+
];
- public function getFullName() : string
+ public function getFullName(): string
{
- $ancho_x_alto = $this->attributes["ancho"] ."x". $this->attributes["alto"];
+ $ancho_x_alto = $this->attributes["ancho"] . "x" . $this->attributes["alto"];
$unidades = $this->attributes["unidades"] ?? "";
$orientacion = $this->attributes["orientacion"] ?? "";
- return implode("_",[$ancho_x_alto,$unidades,$orientacion]);
+ return implode("_", [$ancho_x_alto, $unidades, $orientacion]);
+ }
+ public function withImposicionEsquema(): self
+ {
+ $this->attributes["imposicion_esquema"] = $this->imposicion_esquema();
+ return $this;
+ }
+ public function imposicion_esquema(): ?ImposicionEsquemaEntity
+ {
+ $esquema = null;
+ if ($this->attributes["imposicion_esquema_id"]) {
+ $m = model(ImposicionEsquemaModel::class);
+ $esquema = $m->find($this->attributes["imposicion_esquema_id"]);
+ }
+ return $esquema;
}
}
diff --git a/ci4/app/Entities/Configuracion/ImposicionEsquemaEntity.php b/ci4/app/Entities/Configuracion/ImposicionEsquemaEntity.php
new file mode 100644
index 00000000..30723491
--- /dev/null
+++ b/ci4/app/Entities/Configuracion/ImposicionEsquemaEntity.php
@@ -0,0 +1,26 @@
+ null,
+ "rows" => null,
+ "columns" => null,
+ "orientacion"=> null,
+ "rotativa"=> null,
+ "cosido"=> null,
+ "svg_schema"=> null
+ ];
+ protected $dates = ['created_at', 'updated_at', 'deleted_at'];
+ protected $casts = [
+ "name" => "string",
+ "rows" => "integer",
+ "columns" => "integer",
+ "rotativa"=> "boolean",
+ "cosido"=> "boolean",
+ ];
+}
diff --git a/ci4/app/Entities/Produccion/OrdenTrabajoEntity.php b/ci4/app/Entities/Produccion/OrdenTrabajoEntity.php
index 743bb5c4..55bcfc5b 100644
--- a/ci4/app/Entities/Produccion/OrdenTrabajoEntity.php
+++ b/ci4/app/Entities/Produccion/OrdenTrabajoEntity.php
@@ -121,6 +121,14 @@ class OrdenTrabajoEntity extends Entity
$barcodeData = $barcode->getBarcode($this->pedido()->presupuesto()->id);
return base64_encode($renderer->render($barcodeData, 200, 50));
}
+ public function getBarCodeFile()
+ {
+ $barcode = new TypeCode128();
+ $renderer = new PngRenderer();
+ $renderer->setBackgroundColor([255, 255, 255]); // Give a color blue for the background, default is transparent. Give it as 3 times 0-255 values for red, green and blue.
+ $barcodeData = $barcode->getBarcode($this->pedido()->presupuesto()->id);
+ return ($renderer->render($barcodeData, 200, 50));
+ }
public function files(): array
{
$m = model(OrdenTrabajoFileModel::class);
diff --git a/ci4/app/Language/en/Imposiciones.php b/ci4/app/Language/en/Imposiciones.php
new file mode 100644
index 00000000..5d47a904
--- /dev/null
+++ b/ci4/app/Language/en/Imposiciones.php
@@ -0,0 +1,7 @@
+ 'The {field} field may only contain alphabetical characters.',
+ 'alpha_dash' => 'The {field} field may only contain alphanumeric characters, underscores, and dashes.',
+ 'alpha_numeric' => 'The {field} field may only contain alphanumeric characters.',
+ 'alpha_numeric_punct' => 'The {field} field may only contain alphanumeric characters, spaces, and punctuation: ~!#$%&*-_+=|:.',
+ 'alpha_numeric_space' => 'The {field} field may only contain alphanumeric characters and spaces.',
+ 'alpha_space' => 'The {field} field may only contain alphabetical characters and spaces.',
+ 'decimal' => 'The {field} field must contain a decimal number.',
+ 'differs' => 'The {field} field must differ from the {param} field.',
+ 'exact_length' => 'The {field} field must be exactly {param} characters in length.',
+ 'field_exists' => 'The {field} field must exist.',
+ 'greater_than' => 'The {field} field must be greater than {param}.',
+ 'greater_than_equal_to' => 'The {field} field must be greater than or equal to {param}.',
+ 'hex' => 'The {field} field may only contain hexadecimal characters.',
+ 'if_exist' => 'The {field} field will be validated only if it exists.',
+ 'in_list' => 'The {field} field must be one of: {param}.',
+ 'integer' => 'The {field} field must contain an integer.',
+ 'is_natural' => 'The {field} field must only contain natural numbers.',
+ 'is_natural_no_zero' => 'The {field} field must only contain natural numbers greater than zero.',
+ 'is_not_unique' => 'The {field} field value already exists in the database.',
+ 'is_unique' => 'The {field} field value must be unique.',
+ 'less_than' => 'The {field} field must be less than {param}.',
+ 'less_than_equal_to' => 'The {field} field must be less than or equal to {param}.',
+ 'matches' => 'The {field} field does not match the {param} field.',
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'min_length' => 'The {field} field must be at least {param} characters in length.',
+ 'not_in_list' => 'The {field} field must not be one of: {param}.',
+ 'numeric' => 'The {field} field must contain only numeric characters.',
+ 'permit_empty' => 'The {field} field may be empty.',
+ 'regex_match' => 'The {field} field format is invalid.',
+ 'required' => 'The {field} field is required.',
+ 'required_with' => 'The {field} field is required when {param} is present.',
+ 'required_without' => 'The {field} field is required when {param} is absent.',
+ 'string' => 'The {field} field must be a string.',
+ 'timezone' => 'The {field} field must be a valid timezone.',
+ 'valid_base64' => 'The {field} field must contain a valid Base64 string.',
+ 'valid_cc_number' => 'The {field} must be a valid credit card number for the specified provider.',
+ 'valid_date' => 'The {field} field must contain a valid date in the format {param}.',
+ 'valid_email' => 'The {field} field must contain a valid email address.',
+ 'valid_emails' => 'All values in the {field} field must be valid email addresses.',
+ 'valid_ip' => 'The {field} field must contain a valid {param} IP address.',
+ 'valid_json' => 'The {field} field must contain a valid JSON string.',
+ 'valid_url' => 'The {field} field must contain a valid URL.',
+ 'valid_url_strict' => 'The {field} field must contain a valid URL using one of these schemas: {param}.',
+];
diff --git a/ci4/app/Language/es/App.php b/ci4/app/Language/es/App.php
index ebe76d0c..cddbcfc2 100755
--- a/ci4/app/Language/es/App.php
+++ b/ci4/app/Language/es/App.php
@@ -834,4 +834,9 @@ return [
"menu_soporte_ticket_list" => "Mis tickets",
"me" => "Yo",
+ "menu_maquinista" => "Maquinista",
+ "menu_maquinista_maquinas" => "Máquinas",
+ "menu_maquinista_colas" => "Colas",
+ "menu_maquinista_mantenimiento" => "Mantenimiento",
+
];
\ No newline at end of file
diff --git a/ci4/app/Language/es/Imposiciones.php b/ci4/app/Language/es/Imposiciones.php
new file mode 100644
index 00000000..a65e8f17
--- /dev/null
+++ b/ci4/app/Language/es/Imposiciones.php
@@ -0,0 +1,38 @@
+ "Lista imposiciones",
+ "id" => "id",
+ "ancho" => "Ancho",
+ "alto" => "Alto",
+ "unidades" => "Unidades",
+ "orientacion" => "Orientación",
+ "maquina" => "Máquina",
+ "etiqueta" => "Etiqueta",
+ "imposicion" => "Imposición",
+ "btnNewImposicion" => "Nueva imposición",
+ "btnNewImposicionEsquema" => "Nuevo esquema",
+ "H" => "Horizontal",
+ "V" => "Vertical",
+ "imposicion_esquemas" => "Esquemas",
+ "imposicion_esquema" => "Esquema",
+ "imposicion_esquema_drawing" => "Esquema imposicion dibujo",
+ "imposicion_esquema_link" => "Imposicion esquema link",
+
+ "validation" => [
+ "alto" => [
+ "required" => "Este campo es obligatorio",
+ ],
+ "ancho" => [
+ "required" => "Este campo es obligatorio",
+ ]
+ ],
+ "esquema" => [
+ "name" => "Nombre",
+ "rows" => "Filas",
+ "columns" => "Columnas",
+ "rotativa" => "Rotativa",
+ "cosido" => "Cosido/Grapado"
+ ]
+];
diff --git a/ci4/app/Language/es/Validation.php b/ci4/app/Language/es/Validation.php
index 54d1e7a4..e6871db2 100755
--- a/ci4/app/Language/es/Validation.php
+++ b/ci4/app/Language/es/Validation.php
@@ -1,4 +1,47 @@
'El campo {field} solo puede contener caracteres alfabéticos.',
+ 'alpha_dash' => 'El campo {field} solo puede contener caracteres alfanuméricos, guiones y guiones bajos.',
+ 'alpha_numeric' => 'El campo {field} solo puede contener caracteres alfanuméricos.',
+ 'alpha_numeric_punct' => 'El campo {field} solo puede contener caracteres alfanuméricos, espacios y los siguientes signos de puntuación: ~!#$%&*-_+=|:.',
+ 'alpha_numeric_space' => 'El campo {field} solo puede contener caracteres alfanuméricos y espacios.',
+ 'alpha_space' => 'El campo {field} solo puede contener caracteres alfabéticos y espacios.',
+ 'decimal' => 'El campo {field} debe contener un número decimal.',
+ 'differs' => 'El campo {field} debe ser diferente al campo {param}.',
+ 'exact_length' => 'El campo {field} debe tener exactamente {param} caracteres.',
+ 'field_exists' => 'El campo {field} debe existir.',
+ 'greater_than' => 'El campo {field} debe ser mayor que {param}.',
+ 'greater_than_equal_to' => 'El campo {field} debe ser mayor o igual que {param}.',
+ 'hex' => 'El campo {field} solo puede contener caracteres hexadecimales.',
+ 'if_exist' => 'El campo {field} se validará solo si existe.',
+ 'in_list' => 'El campo {field} debe ser uno de los siguientes: {param}.',
+ 'integer' => 'El campo {field} debe contener un número entero.',
+ 'is_natural' => 'El campo {field} solo puede contener números naturales.',
+ 'is_natural_no_zero' => 'El campo {field} solo puede contener números naturales mayores que cero.',
+ 'is_not_unique' => 'El valor del campo {field} ya existe en la base de datos.',
+ 'is_unique' => 'El valor del campo {field} debe ser único.',
+ 'less_than' => 'El campo {field} debe ser menor que {param}.',
+ 'less_than_equal_to' => 'El campo {field} debe ser menor o igual que {param}.',
+ 'matches' => 'El campo {field} no coincide con el campo {param}.',
+ 'max_length' => 'El campo {field} no puede superar los {param} caracteres.',
+ 'min_length' => 'El campo {field} debe tener al menos {param} caracteres.',
+ 'not_in_list' => 'El campo {field} no debe ser uno de los siguientes: {param}.',
+ 'numeric' => 'El campo {field} solo puede contener caracteres numéricos.',
+ 'permit_empty' => 'El campo {field} puede estar vacío.',
+ 'regex_match' => 'El campo {field} no tiene el formato correcto.',
+ 'required' => 'El campo {field} es obligatorio.',
+ 'required_with' => 'El campo {field} es obligatorio cuando {param} está presente.',
+ 'required_without' => 'El campo {field} es obligatorio cuando {param} no está presente.',
+ 'string' => 'El campo {field} debe ser una cadena de texto.',
+ 'timezone' => 'El campo {field} debe contener una zona horaria válida.',
+ 'valid_base64' => 'El campo {field} debe contener una cadena Base64 válida.',
+ 'valid_cc_number' => 'El campo {field} debe contener un número de tarjeta de crédito válido para el proveedor especificado.',
+ 'valid_date' => 'El campo {field} debe contener una fecha válida con el formato {param}.',
+ 'valid_email' => 'El campo {field} debe contener una dirección de correo electrónico válida.',
+ 'valid_emails' => 'Todos los valores del campo {field} deben ser direcciones de correo electrónico válidas.',
+ 'valid_ip' => 'El campo {field} debe contener una dirección IP válida del tipo {param}.',
+ 'valid_json' => 'El campo {field} debe contener una cadena JSON válida.',
+ 'valid_url' => 'El campo {field} debe contener una URL válida.',
+ 'valid_url_strict' => 'El campo {field} debe contener una URL válida con el esquema: {param}.',
+];
diff --git a/ci4/app/Models/Configuracion/ImposicionEsquemaModel.php b/ci4/app/Models/Configuracion/ImposicionEsquemaModel.php
new file mode 100644
index 00000000..220ad4b5
--- /dev/null
+++ b/ci4/app/Models/Configuracion/ImposicionEsquemaModel.php
@@ -0,0 +1,123 @@
+ [
+ "label" => "Imposiciones.esquema.name",
+ "rules" => "required|alpha_numeric_punct",
+ ],
+ "rows" => [
+ "label" => "Imposiciones.esquema.rows",
+ "rules" => "required|integer"
+ ],
+ "columns" => [
+ "label" => "Imposiciones.esquema.columns",
+ "rules" => "required|integer"
+ ],
+ "orientacion" => [
+ "label" => "Imposiciones.esquema.orientacion",
+ "rules" => "required|in_list[V,H]"
+ ],
+
+ ];
+ protected $validationMessages = [
+ "name" => [
+ "required" => "Validation.required",
+ ],
+ "rows" => [
+ "required" => "Validation.required",
+ "integer" => "Validation.integer",
+ ],
+ "columns" => [
+ "required" => "Validation.required",
+ "integer" => "Validation.integer",
+ ],
+ "orientacion" => [
+ "required" => "Validation.required",
+ "in_list" => "Validation.in_liust",
+ ],
+ ];
+ protected $skipValidation = false;
+ protected $cleanValidationRules = true;
+
+ // Callbacks
+ protected $allowCallbacks = true;
+ protected $beforeInsert = [];
+ protected $afterInsert = [];
+ protected $beforeUpdate = [];
+ protected $afterUpdate = [];
+ protected $beforeFind = [];
+ protected $afterFind = [];
+ protected $beforeDelete = [];
+ protected $afterDelete = [];
+
+ public function querySelect(?string $q)
+ {
+ $query = $this->builder()->select([
+ "id",
+ "name",
+ "svg_schema as description"
+ ])->where('deleted_at', null);
+ if ($q) {
+ $query->orLike("name", $q);
+ }
+ return $query
+ ->orderBy('id', 'ASC')
+ ->get()->getResultArray();
+ }
+ public function queryDatatable()
+ {
+ return $this->builder()
+ ->select([
+ "id",
+ "name",
+ "svg_schema"
+
+ ])->where('deleted_at', null);
+ }
+ public static function datatable_buttons(int $id)
+ {
+ $btn = "";
+ if (auth()->user()->inGroup("admin")) {
+ $btn .= "";
+ $btn .= "";
+ }
+ return $btn;
+ }
+}
diff --git a/ci4/app/Models/Configuracion/ImposicionModel.php b/ci4/app/Models/Configuracion/ImposicionModel.php
index b21def73..9fb05470 100755
--- a/ci4/app/Models/Configuracion/ImposicionModel.php
+++ b/ci4/app/Models/Configuracion/ImposicionModel.php
@@ -2,7 +2,10 @@
namespace App\Models\Configuracion;
-class ImposicionModel extends \App\Models\BaseModel
+use App\Entities\Configuracion\Imposicion;
+use App\Models\BaseModel;
+
+class ImposicionModel extends BaseModel
{
protected $table = "lg_imposiciones";
@@ -23,8 +26,8 @@ class ImposicionModel extends \App\Models\BaseModel
7 => "t1.etiqueta",
];
- protected $allowedFields = ["ancho", "alto", "unidades", "orientacion", "maquina", "etiqueta"];
- protected $returnType = "App\Entities\Configuracion\Imposicion";
+ protected $allowedFields = ["ancho", "alto", "unidades", "orientacion", "maquina", "etiqueta","imposicion_esquema_id"];
+ protected $returnType = Imposicion::class;
public static $labelField = "ancho";
@@ -53,6 +56,10 @@ class ImposicionModel extends \App\Models\BaseModel
"label" => "Imposiciones.unidades",
"rules" => "integer|permit_empty",
],
+ "imposicion_esquema_id" => [
+ "label" => "Imposiciones.imposicion_esquema",
+ "rules" => "integer|permit_empty",
+ ],
];
protected $validationMessages = [
@@ -76,6 +83,9 @@ class ImposicionModel extends \App\Models\BaseModel
"unidades" => [
"integer" => "Imposiciones.validation.unidades.integer",
],
+ "imposicion_esquema_id" => [
+ "integer" => "Imposiciones.validation.unidades.integer",
+ ],
];
/**
@@ -129,4 +139,30 @@ class ImposicionModel extends \App\Models\BaseModel
->orderBy('id', 'ASC')
->get()->getResultArray();
}
+ public function queryDatatable()
+ {
+ return $this->builder()
+ ->select([
+ "lg_imposiciones.id",
+ "lg_imposiciones.ancho",
+ "lg_imposiciones.alto",
+ "lg_imposiciones.unidades",
+ "lg_imposiciones.maquina",
+ "lg_imposiciones.orientacion",
+ "lg_imposiciones.etiqueta",
+ "imposicion_esquemas.id as esquemaId",
+ "imposicion_esquemas.name as esquemaName"
+ ])
+ ->join("imposicion_esquemas","imposicion_esquemas.id = lg_imposiciones.imposicion_esquema_id","left")
+ ->where('lg_imposiciones.deleted_at', null);
+ }
+ public static function datatable_buttons(int $id)
+ {
+ $btn = "";
+ if(auth()->user()->inGroup("admin")){
+ $btn.="";
+ $btn.="";
+ }
+ return $btn;
+ }
}
diff --git a/ci4/app/Services/ProductionService.php b/ci4/app/Services/ProductionService.php
index e90f025c..a82464e9 100644
--- a/ci4/app/Services/ProductionService.php
+++ b/ci4/app/Services/ProductionService.php
@@ -1617,4 +1617,7 @@ class ProductionService extends BaseService
}
return $this->isCorte;
}
+ public function getFileBarCode(){
+ return $this->ot->getBarCodeFile();
+ }
}
diff --git a/ci4/app/Views/themes/vuexy/components/modals/modalNewImposicion.php b/ci4/app/Views/themes/vuexy/components/modals/modalNewImposicion.php
new file mode 100644
index 00000000..40fadd11
--- /dev/null
+++ b/ci4/app/Views/themes/vuexy/components/modals/modalNewImposicion.php
@@ -0,0 +1,20 @@
+
+
+
+
+
+
= lang('Imposiciones.btnNewImposicion') ?>
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ci4/app/Views/themes/vuexy/components/tables/imposicion_esquema_table.php b/ci4/app/Views/themes/vuexy/components/tables/imposicion_esquema_table.php
new file mode 100644
index 00000000..5c285994
--- /dev/null
+++ b/ci4/app/Views/themes/vuexy/components/tables/imposicion_esquema_table.php
@@ -0,0 +1,12 @@
+
+
+
+
= lang('Imposiciones.id') ?>
+
= lang('Imposiciones.esquema.name') ?>
+
= lang('Basic.global.Action') ?>
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ci4/app/Views/themes/vuexy/form/configuracion/imposiciones/_imposicionEsquemaFormItems.php b/ci4/app/Views/themes/vuexy/form/configuracion/imposiciones/_imposicionEsquemaFormItems.php
new file mode 100644
index 00000000..53cb5a46
--- /dev/null
+++ b/ci4/app/Views/themes/vuexy/form/configuracion/imposiciones/_imposicionEsquemaFormItems.php
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ci4/app/Views/themes/vuexy/form/configuracion/imposiciones/_imposicionFormItems.php b/ci4/app/Views/themes/vuexy/form/configuracion/imposiciones/_imposicionFormItems.php
index 6ffe399c..5556a088 100644
--- a/ci4/app/Views/themes/vuexy/form/configuracion/imposiciones/_imposicionFormItems.php
+++ b/ci4/app/Views/themes/vuexy/form/configuracion/imposiciones/_imposicionFormItems.php
@@ -1,64 +1,64 @@