diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index 8af1cf19..3f27da17 100644 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -260,6 +260,18 @@ $routes->group('maquinaspapelesimpresion', ['namespace' => 'App\Controllers\Conf $routes->resource('maquinastarifasimpresion', ['namespace' => 'App\Controllers\Configuracion', 'controller' => 'Maquinastarifasimpresion', 'except' => 'show,new,create,update']); +$routes->group('maquinadefecto', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { + $routes->get('', 'Maquinadefecto::index', ['as' => 'maquinaPorDefectoList']); + $routes->get('index', 'Maquinadefecto::index', ['as' => 'maquinaPorDefectoIndex']); + $routes->get('list', 'Maquinadefecto::index', ['as' => 'maquinaPorDefectoList2']); + $routes->get('add', 'Maquinadefecto::add', ['as' => 'newMaquinaPorDefecto']); + $routes->post('add', 'Maquinadefecto::add', ['as' => 'createMaquinaPorDefecto']); + $routes->get('edit/(:num)', 'Maquinadefecto::edit/$1', ['as' => 'editMaquinaPorDefecto']); + $routes->post('edit/(:num)', 'Maquinadefecto::edit/$1', ['as' => 'updateMaquinaPorDefecto']); + $routes->get('delete/(:num)', 'Maquinadefecto::delete/$1', ['as' => 'deleteMaquinaPorDefecto']); + $routes->post('allmenuitems', 'Maquinadefecto::allItemsSelect', ['as' => 'select2ItemsOfMaquinasPorDefecto']); + $routes->post('menuitems', 'Maquinadefecto::menuItems', ['as' => 'menuItemsOfMaquinasPorDefecto']); +}); $routes->group('profile', ['namespace' => 'App\Controllers'], function ($routes) { $routes->get('', 'Profile::index', ['as' => 'profileList']); diff --git a/ci4/app/Entities/Configuracion/MaquinaDefectoEntity.php b/ci4/app/Entities/Configuracion/MaquinaDefectoEntity.php new file mode 100644 index 00000000..b98c83ba --- /dev/null +++ b/ci4/app/Entities/Configuracion/MaquinaDefectoEntity.php @@ -0,0 +1,36 @@ + null, + "tipo" => null, + "ancho_min" => 0.0, + "ancho_max" => 0.0, + "alto_min" => 0.0, + "alto_max" => 0.0, + "tirada_min" => 1, + "tirada_max" => 10000, + "maquina_id" => null, + "user_created_id" => 0, + "user_updated_id" => 0, + "is_deleted" => 0, + "created_at" => null, + "updated_at" => null, + ]; + protected $casts = [ + "ancho_min" => "float", + "ancho_max" => "float", + "alto_min" => "float", + "alto_max" => "float", + "tirada_min" => "int", + "tirada_max" => "int", + "maquina_id" => "int", + "user_created_id" => "int", + "user_updated_id" => "int", + "is_deleted" => "int", + ]; +} diff --git a/ci4/app/Models/Configuracion/MaquinaDefectoModel.php b/ci4/app/Models/Configuracion/MaquinaDefectoModel.php new file mode 100644 index 00000000..58e0fe12 --- /dev/null +++ b/ci4/app/Models/Configuracion/MaquinaDefectoModel.php @@ -0,0 +1,118 @@ + [ + "label" => "MaquinaPorDefectoes.altoMax", + "rules" => "required|decimal", + ], + "alto_min" => [ + "label" => "MaquinaPorDefectoes.altoMin", + "rules" => "required|decimal", + ], + "ancho_max" => [ + "label" => "MaquinaPorDefectoes.anchoMax", + "rules" => "required|decimal", + ], + "ancho_min" => [ + "label" => "MaquinaPorDefectoes.anchoMin", + "rules" => "required|decimal", + ], + "tipo" => [ + "label" => "MaquinaPorDefectoes.tipo", + "rules" => "required|in_list[bn,bnhq,color,portada,cubierta,rotativa]", + ], + "tirada_max" => [ + "label" => "MaquinaPorDefectoes.tiradaMax", + "rules" => "required|integer", + ], + "tirada_min" => [ + "label" => "MaquinaPorDefectoes.tiradaMin", + "rules" => "required|integer", + ], + ]; + + protected $validationMessages = [ + "alto_max" => [ + "decimal" => "MaquinaPorDefectoes.validation.alto_max.decimal", + "required" => "MaquinaPorDefectoes.validation.alto_max.required", + ], + "alto_min" => [ + "decimal" => "MaquinaPorDefectoes.validation.alto_min.decimal", + "required" => "MaquinaPorDefectoes.validation.alto_min.required", + ], + "ancho_max" => [ + "decimal" => "MaquinaPorDefectoes.validation.ancho_max.decimal", + "required" => "MaquinaPorDefectoes.validation.ancho_max.required", + ], + "ancho_min" => [ + "decimal" => "MaquinaPorDefectoes.validation.ancho_min.decimal", + "required" => "MaquinaPorDefectoes.validation.ancho_min.required", + ], + "tipo" => [ + "in_list" => "MaquinaPorDefectoes.validation.tipo.in_list", + "required" => "MaquinaPorDefectoes.validation.tipo.required", + ], + "tirada_max" => [ + "integer" => "MaquinaPorDefectoes.validation.tirada_max.integer", + "required" => "MaquinaPorDefectoes.validation.tirada_max.required", + ], + "tirada_min" => [ + "integer" => "MaquinaPorDefectoes.validation.tirada_min.integer", + "required" => "MaquinaPorDefectoes.validation.tirada_min.required", + ], + ]; + + public function findAllWithMaquinas(string $selcols = "*", int $limit = null, int $offset = 0) + { + $sql = + "SELECT t1." . + $selcols . + ", t2.nombre AS maquina FROM " . + $this->table . + " t1 LEFT JOIN lg_maquinas t2 ON t1.maquina_id = t2.id"; + if (!is_null($limit) && intval($limit) > 0) { + $sql .= " LIMIT " . $limit; + } + + if (!is_null($offset) && intval($offset) > 0) { + $sql .= " OFFSET " . $offset; + } + + $query = $this->db->query($sql); + $result = $query->getResultObject(); + return $result; + } +} diff --git a/ci4/app/Views/themes/backend/vuexy/form/configuracion/maquinas/_maquinaPorDefectoFormItems.php b/ci4/app/Views/themes/backend/vuexy/form/configuracion/maquinas/_maquinaPorDefectoFormItems.php new file mode 100644 index 00000000..aa62aae8 --- /dev/null +++ b/ci4/app/Views/themes/backend/vuexy/form/configuracion/maquinas/_maquinaPorDefectoFormItems.php @@ -0,0 +1,80 @@ +
| = lang('Basic.global.Action') ?> | += lang('MaquinaPorDefectoes.id') ?> | += lang('MaquinaPorDefectoes.tipo') ?> | += lang('MaquinaPorDefectoes.anchoMin') ?> | += lang('MaquinaPorDefectoes.anchoMax') ?> | += lang('MaquinaPorDefectoes.altoMin') ?> | += lang('MaquinaPorDefectoes.altoMax') ?> | += lang('MaquinaPorDefectoes.tiradaMin') ?> | += lang('MaquinaPorDefectoes.tiradaMax') ?> | += lang('Maquinas.maquina') ?> | += lang('Basic.global.Action') ?> | +
|---|---|---|---|---|---|---|---|---|---|---|
| + =anchor(route_to('editMaquinaPorDefecto', $item->id), lang('Basic.global.edit'), ['class'=>'btn btn-sm btn-warning btn-edit me-1', 'data-id'=>$item->id,]); ?> + =anchor('#confirm2delete', lang('Basic.global.Delete'), ['class'=>'btn btn-sm btn-danger btn-delete ms-1', 'data-href'=>route_to('deleteMaquinaPorDefecto', $item->id), 'data-bs-toggle'=>'modal', 'data-bs-target'=>'#confirm2delete']); ?> + | ++ =$item->id ?> + | ++ = esc($item->tipo) ?> + | ++ = esc($item->ancho_min) ?> + | ++ = esc($item->ancho_max) ?> + | ++ = esc($item->alto_min) ?> + | ++ = esc($item->alto_max) ?> + | ++ = esc($item->tirada_min) ?> + | ++ = esc($item->tirada_max) ?> + | ++ = esc($item->maquina) ?> + | ++ =anchor(route_to('editMaquinaPorDefecto', $item->id), lang('Basic.global.edit'), ['class'=>'btn btn-sm btn-warning btn-edit me-1', 'data-id'=>$item->id,]); ?> + =anchor('#confirm2delete', lang('Basic.global.Delete'), ['class'=>'btn btn-sm btn-danger btn-delete ms-1', 'data-href'=>route_to('deleteMaquinaPorDefecto', $item->id), 'data-bs-toggle'=>'modal', 'data-bs-target'=>'#confirm2delete']); ?> + | +