From 6a3a825b2676d0d908ae9a06606803f6c0181277 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Tue, 15 Jul 2025 09:52:15 +0200 Subject: [PATCH 1/2] =?UTF-8?q?incluida=20la=20migraci=C3=B3n=20del=20pape?= =?UTF-8?q?l=20generico?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-07-15-090000_CreateTiposPapelGenerico.php | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 ci4/app/Database/Migrations/2025-07-15-090000_CreateTiposPapelGenerico.php diff --git a/ci4/app/Database/Migrations/2025-07-15-090000_CreateTiposPapelGenerico.php b/ci4/app/Database/Migrations/2025-07-15-090000_CreateTiposPapelGenerico.php new file mode 100644 index 00000000..3f4bb0b7 --- /dev/null +++ b/ci4/app/Database/Migrations/2025-07-15-090000_CreateTiposPapelGenerico.php @@ -0,0 +1,68 @@ +forge->addField([ + 'id' => [ + 'type' => 'INT', + 'unsigned' => true, + 'auto_increment' => true, + ], + 'clave' => [ + 'type' => 'VARCHAR', + 'constraint' => '50', + 'unique' => true, + ], + ]); + $this->forge->addKey('id', true); + $this->forge->createTable('tipos_papel_generico'); + + // Insertar claves + $data = [ + ['clave' => 'offset_blanco'], + ['clave' => 'offset_ahuesado'], + ['clave' => 'estucados'], + ['clave' => 'volumen'], + ['clave' => 'especiales'], + ['clave' => 'reciclados'], + ['clave' => 'cartulinas'], + ['clave' => 'verjurados'], + ]; + $this->db->table('tipos_papel_generico')->insertBatch($data); + + // Añadir columna tipo_papel_generico_id a lg_papel_generico + $this->forge->addColumn('lg_papel_generico', [ + 'tipo_papel_generico_id' => [ + 'type' => 'INT', + 'unsigned' => true, + 'null' => true, + 'after' => 'id', // Ajusta si deseas colocarla en otro lugar + ] + ]); + + // Agregar constraint foreign key + $this->db->query( + 'ALTER TABLE lg_papel_generico + ADD CONSTRAINT fk_tipo_papel_generico + FOREIGN KEY (tipo_papel_generico_id) + REFERENCES tipos_papel_generico(id) + ON DELETE SET NULL + ON UPDATE CASCADE' + ); + } + + public function down() + { + // Eliminar foreign key primero + $this->db->query('ALTER TABLE lg_papel_generico DROP FOREIGN KEY fk_tipo_papel_generico'); + $this->forge->dropColumn('lg_papel_generico', 'tipo_papel_generico_id'); + $this->forge->dropTable('tipos_papel_generico'); + } +} From e69503c2739bc32e983514274f9f165293bb1265 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Tue, 15 Jul 2025 11:00:44 +0200 Subject: [PATCH 2/2] =?UTF-8?q?a=C3=B1adida=20funcionalidad=20tipo=20papel?= =?UTF-8?q?=20generico?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ci4/app/Config/Services.php | 4 +++ .../Configuracion/Papelesgenericos.php | 13 ++++---- .../Entities/Configuracion/PapelGenerico.php | 2 ++ .../Configuracion/TipoPapelGenerico.php | 11 +++++++ ci4/app/Language/es/PapelGenerico.php | 11 +++++++ .../Configuracion/PapelGenericoModel.php | 33 ++++++++++++------- .../Configuracion/TipoPapelGenericoModel.php | 22 +++++++++++++ ci4/app/Services/PapelService.php | 27 +++++++++++++++ .../papel/_papelGenericoFormItems.php | 21 ++++++++++-- 9 files changed, 125 insertions(+), 19 deletions(-) create mode 100755 ci4/app/Entities/Configuracion/TipoPapelGenerico.php create mode 100755 ci4/app/Models/Configuracion/TipoPapelGenericoModel.php create mode 100644 ci4/app/Services/PapelService.php diff --git a/ci4/app/Config/Services.php b/ci4/app/Config/Services.php index 070f7014..50b9f24f 100755 --- a/ci4/app/Config/Services.php +++ b/ci4/app/Config/Services.php @@ -11,6 +11,7 @@ use App\Services\PapelImpresionService; use CodeIgniter\Config\BaseService; use App\Services\ProductionService; use App\Services\TarifaMaquinaService; +use App\Services\PapelService; use CodeIgniter\Email\Email; /** @@ -39,6 +40,9 @@ class Services extends BaseService * } */ + public static function papel(){ + return new PapelService(); + } public static function production(){ return new ProductionService(); } diff --git a/ci4/app/Controllers/Configuracion/Papelesgenericos.php b/ci4/app/Controllers/Configuracion/Papelesgenericos.php index ca6b692e..dd90c8be 100755 --- a/ci4/app/Controllers/Configuracion/Papelesgenericos.php +++ b/ci4/app/Controllers/Configuracion/Papelesgenericos.php @@ -40,6 +40,8 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController // Se indica el flag para los ficheros borrados $this->delete_flag = 1; + $this->papelService = service('papel'); + // Breadcrumbs (IMN) $this->viewData['breadcrumb'] = [ ['title' => lang("App.menu_configuration"), 'route' => "javascript:void(0);", 'active' => false], @@ -70,10 +72,6 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController public function add() { - - - - if ($this->request->getPost()): $nullIfEmpty = true; // !(phpversion() >= '8.1'); @@ -120,9 +118,11 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController endif; // $noException && $successfulResult endif; // ($requestMethod === 'post') - + $this->viewData['papelGenerico'] = isset($sanitizedData) ? new PapelGenerico($sanitizedData) : new PapelGenerico(); + $this->viewData['tipoPapelGenericoList'] = $this->papelService->getTipoPapelGenerico(); + $this->viewData['formAction'] = route_to('createPapelGenerico'); $this->viewData['boxTitle'] = lang('Basic.global.addNew') . ' ' . lang('PapelGenerico.moduleTitle') . ' ' . lang('Basic.global.addNewSuffix'); @@ -145,7 +145,6 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController endif; - if ($this->request->getPost()): $nullIfEmpty = true; // !(phpversion() >= '8.1'); @@ -211,6 +210,8 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController $this->viewData['papelGenerico'] = $papelGenerico; + $this->viewData['tipoPapelGenericoList'] = $this->papelService->getTipoPapelGenerico(); + $this->viewData['formAction'] = route_to('updatePapelGenerico', $id); $this->viewData['boxTitle'] = lang('Basic.global.edit2') . ' ' . lang('PapelGenerico.moduleTitle') . ' ' . lang('Basic.global.edit3'); diff --git a/ci4/app/Entities/Configuracion/PapelGenerico.php b/ci4/app/Entities/Configuracion/PapelGenerico.php index 344d1832..b4371728 100755 --- a/ci4/app/Entities/Configuracion/PapelGenerico.php +++ b/ci4/app/Entities/Configuracion/PapelGenerico.php @@ -16,11 +16,13 @@ class PapelGenerico extends \CodeIgniter\Entity\Entity "activo" => false, "created_at" => null, "updated_at" => null, + "tipo_papel_generico_id" => null, ]; protected $casts = [ "show_in_client" => "boolean", "activo" => "boolean", "show_in_client_special" => "boolean", "is_deleted" => "int", + "tipo_papel_generico_id" => "int", ]; } diff --git a/ci4/app/Entities/Configuracion/TipoPapelGenerico.php b/ci4/app/Entities/Configuracion/TipoPapelGenerico.php new file mode 100755 index 00000000..a83f3371 --- /dev/null +++ b/ci4/app/Entities/Configuracion/TipoPapelGenerico.php @@ -0,0 +1,11 @@ + null, + ]; +} diff --git a/ci4/app/Language/es/PapelGenerico.php b/ci4/app/Language/es/PapelGenerico.php index 5df63224..63d83748 100755 --- a/ci4/app/Language/es/PapelGenerico.php +++ b/ci4/app/Language/es/PapelGenerico.php @@ -6,6 +6,7 @@ return [ 'code' => 'Código', 'codeOt' => 'Código Ot', 'createdAt' => 'Creado el', + 'tipo_papel_generico_id' => 'Tipo Papel Genérico', 'deletedAt' => 'Deleted At', 'id' => 'ID', 'activo' => 'Activo', @@ -21,6 +22,16 @@ return [ 'updatedAt' => 'Actualizado el', 'form_acordion_title' => 'Propiedades Papel Genérico', + // Tipos de papel genérico + 'offset_blanco' => 'Offset Blanco', + 'offset_ahuesado' => 'Offset Ahuesado', + 'estucados' => 'Estucados', + 'volumen' => 'Volumen', + 'especiales' => 'Especiales', + 'reciclados' => 'Reciclados', + 'cartulinas' => 'Cartulinas', + 'verdujados' => 'Verdujados', + 'validation' => [ 'code' => [ 'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.', diff --git a/ci4/app/Models/Configuracion/PapelGenericoModel.php b/ci4/app/Models/Configuracion/PapelGenericoModel.php index d4a18445..d4d83713 100755 --- a/ci4/app/Models/Configuracion/PapelGenericoModel.php +++ b/ci4/app/Models/Configuracion/PapelGenericoModel.php @@ -22,7 +22,18 @@ class PapelGenericoModel extends \App\Models\BaseModel 4 => "t1.show_in_client_special", ]; - protected $allowedFields = ["nombre", "code", "code_ot", "show_in_client", "show_in_client_special", "deleted_at", "is_deleted", "activo"]; + protected $allowedFields = + [ + "nombre", + "code", + "code_ot", + "show_in_client", + "show_in_client_special", + "deleted_at", + "is_deleted", + "activo", + "tipo_papel_generico_id", + ]; protected $returnType = "App\Entities\Configuracion\PapelGenerico"; protected $useTimestamps = true; @@ -132,16 +143,16 @@ class PapelGenericoModel extends \App\Models\BaseModel return empty($search) ? $builder : $builder - ->groupStart() - ->like("t1.id", $search) - ->orLike("t1.nombre", $search) - ->orLike("t1.code", $search) - ->orLike("t1.code_ot", $search) - ->orLike("t1.id", $search) - ->orLike("t1.nombre", $search) - ->orLike("t1.code", $search) - ->orLike("t1.code_ot", $search) - ->groupEnd(); + ->groupStart() + ->like("t1.id", $search) + ->orLike("t1.nombre", $search) + ->orLike("t1.code", $search) + ->orLike("t1.code_ot", $search) + ->orLike("t1.id", $search) + ->orLike("t1.nombre", $search) + ->orLike("t1.code", $search) + ->orLike("t1.code_ot", $search) + ->groupEnd(); } diff --git a/ci4/app/Models/Configuracion/TipoPapelGenericoModel.php b/ci4/app/Models/Configuracion/TipoPapelGenericoModel.php new file mode 100755 index 00000000..33c5fdbd --- /dev/null +++ b/ci4/app/Models/Configuracion/TipoPapelGenericoModel.php @@ -0,0 +1,22 @@ +tipoPapelGenericoModel = model(TipoPapelGenericoModel::class); + } + + public function getTipoPapelGenerico() + { + $values = $this->tipoPapelGenericoModel->findAll(); + $tipoPapelGenericoList = []; + foreach ($values as $value) { + $tipoPapelGenericoList[$value->id] = lang('PapelGenerico.' . $value->clave); + } + + return $tipoPapelGenericoList; + } +} \ No newline at end of file diff --git a/ci4/app/Views/themes/vuexy/form/configuracion/papel/_papelGenericoFormItems.php b/ci4/app/Views/themes/vuexy/form/configuracion/papel/_papelGenericoFormItems.php index 797b136d..1b09965e 100755 --- a/ci4/app/Views/themes/vuexy/form/configuracion/papel/_papelGenericoFormItems.php +++ b/ci4/app/Views/themes/vuexy/form/configuracion/papel/_papelGenericoFormItems.php @@ -8,6 +8,23 @@ value="nombre) ?>"> +
+ + + +
+