diff --git a/ci4/app/Controllers/Tarifas/Tarifaencuadernacionlineas.php b/ci4/app/Controllers/Tarifas/Tarifaencuadernacionlineas.php index f978bfe6..439a4176 100644 --- a/ci4/app/Controllers/Tarifas/Tarifaencuadernacionlineas.php +++ b/ci4/app/Controllers/Tarifas/Tarifaencuadernacionlineas.php @@ -245,7 +245,7 @@ class Tarifaencuadernacionlineas extends \App\Controllers\GoBaseResourceControll ->validator('Validate::notEmpty', array( 'message' => lang('TarifaAcabadoLineas.validation.margen.required')) ), - Field::inst('tarifa_encuadernacion_id'), + Field::inst('tirada_encuadernacion_id'), Field::inst('user_created_id'), Field::inst('created_at'), Field::inst('user_updated_id'), @@ -261,7 +261,7 @@ class Tarifaencuadernacionlineas extends \App\Controllers\GoBaseResourceControll if ($data['data'][$pkey]['is_deleted'] != 1) { $process_data['paginas_min'] = $data['data'][$pkey]['paginas_min']; $process_data['paginas_max'] = $data['data'][$pkey]['paginas_max']; - $response = $this->model->checkIntervals($process_data, $pkey, $data['data'][$pkey]['tarifa_encuadernacion_id']); + $response = $this->model->checkIntervals($process_data, $pkey, $data['data'][$pkey]['tirada_encuadernacion_id']); // No se pueden duplicar valores al crear o al editar if (!empty($response)) { return $response; @@ -341,10 +341,10 @@ class Tarifaencuadernacionlineas extends \App\Controllers\GoBaseResourceControll if ($this->request->isAJAX()) { $onlyActiveOnes = true; $reqVal = $this->request->getPost('val') ?? 'id'; - $menu = $this->model->getAllForMenu($reqVal . ', tarifa_encuadernacion_id', 'tarifa_encuadernacion_id', $onlyActiveOnes, false); + $menu = $this->model->getAllForMenu($reqVal . ', tirada_encuadernacion_id', 'tirada_encuadernacion_id', $onlyActiveOnes, false); $nonItem = new \stdClass; $nonItem->id = ''; - $nonItem->tarifa_encuadernacion_id = '- ' . lang('Basic.global.None') . ' -'; + $nonItem->tirada_encuadernacion_id = '- ' . lang('Basic.global.None') . ' -'; array_unshift($menu, $nonItem); $newTokenHash = csrf_hash(); @@ -366,7 +366,7 @@ class Tarifaencuadernacionlineas extends \App\Controllers\GoBaseResourceControll $reqId = goSanitize($this->request->getPost('id'))[0]; $reqText = goSanitize($this->request->getPost('text'))[0]; $onlyActiveOnes = false; - $columns2select = [$reqId ?? 'id', $reqText ?? 'tarifa_encuadernacion_id']; + $columns2select = [$reqId ?? 'id', $reqText ?? 'tirada_encuadernacion_id']; $onlyActiveOnes = false; $menu = $this->model->getSelect2MenuItems($columns2select, $columns2select[1], $onlyActiveOnes, $searchStr); $nonItem = new \stdClass; diff --git a/ci4/app/Controllers/Tarifas/Tarifaencuadernaciontiradas.php b/ci4/app/Controllers/Tarifas/Tarifaencuadernaciontiradas.php new file mode 100644 index 00000000..4706536f --- /dev/null +++ b/ci4/app/Controllers/Tarifas/Tarifaencuadernaciontiradas.php @@ -0,0 +1,161 @@ +request->isAJAX()) { + + include(APPPATH . "ThirdParty/DatatablesEditor/DataTables.php"); + + // Build our Editor instance and process the data coming from _POST + $response = Editor::inst($db, 'tarifa_encuadernacion_tiradas') + ->fields( + Field::inst('paginas_min') + ->validator('Validate::numeric', array( + 'message' => lang('TarifaAcabadoLineas.validation.paginas_min.decimal')) + ) + ->validator('Validate::notEmpty', array( + 'message' => lang('TarifaAcabadoLineas.validation.paginas_min.required')) + ), + Field::inst('paginas_max') + ->validator('Validate::numeric', array( + 'message' => lang('TarifaAcabadoLineas.validation.paginas_max.decimal')) + ) + ->validator('Validate::notEmpty', array( + 'message' => lang('TarifaAcabadoLineas.validation.paginas_max.required')) + ), + Field::inst('precio_min') + ->validator('Validate::numeric', array( + 'message' => lang('TarifaAcabadoLineas.validation.precio_min.decimal')) + ) + ->validator('Validate::notEmpty', array( + 'message' => lang('TarifaAcabadoLineas.validation.precio_min.required')) + ), + Field::inst('precio_max') + ->validator('Validate::numeric', array( + 'message' => lang('TarifaAcabadoLineas.validation.precio_max.decimal')) + ) + ->validator('Validate::notEmpty', array( + 'message' => lang('TarifaAcabadoLineas.validation.precio_max.required')) + ), + Field::inst('margen') + ->validator('Validate::numeric', array( + 'message' => lang('TarifaAcabadoLineas.validation.margen.decimal')) + ) + ->validator('Validate::notEmpty', array( + 'message' => lang('TarifaAcabadoLineas.validation.margen.required')) + ), + Field::inst('tirada_encuadernacion_id'), + Field::inst('user_created_id'), + Field::inst('created_at'), + Field::inst('user_updated_id'), + Field::inst('updated_at'), + Field::inst('is_deleted'), + Field::inst('deleted_at'), + + ) + ->validator(function ($editor, $action, $data) { + if ($action === Editor::ACTION_CREATE || $action === Editor::ACTION_EDIT) { + foreach ($data['data'] as $pkey => $values) { + // Si no se quiere borrar... + if ($data['data'][$pkey]['is_deleted'] != 1) { + $process_data['paginas_min'] = $data['data'][$pkey]['paginas_min']; + $process_data['paginas_max'] = $data['data'][$pkey]['paginas_max']; + $response = $this->model->checkIntervals($process_data, $pkey, $data['data'][$pkey]['tirada_encuadernacion_id']); + // No se pueden duplicar valores al crear o al editar + if (!empty($response)) { + return $response; + } + } + } + } + }) + ->on('preCreate', function ($editor, &$values) { + $session = session(); + $datetime = (new \CodeIgniter\I18n\Time("now")); + $editor + ->field('user_created_id') + ->setValue($session->id_user); + $editor + ->field('created_at') + ->setValue($datetime->format('Y-m-d H:i:s')); + }) + ->on('preEdit', function ($editor, &$values) { + $session = session(); + $datetime = (new \CodeIgniter\I18n\Time("now")); + $editor + ->field('user_updated_id') + ->setValue($session->id_user); + $editor + ->field('updated_at') + ->setValue($datetime->format('Y-m-d H:i:s')); + }) + ->debug(true) + ->process($_POST) + ->data(); + + $newTokenHash = csrf_hash(); + $csrfTokenName = csrf_token(); + + $response[$csrfTokenName] = $newTokenHash; + + echo json_encode($response); + + } else { + return $this->failUnauthorized('Invalid request', 403); + } + } + + public function datatable() + { + if ($this->request->isAJAX()) { + $reqData = $this->request->getPost(); + if (!isset($reqData['draw']) || !isset($reqData['columns'])) { + $errstr = 'No data available in response to this specific request.'; + $response = $this->respond(Collection::datatable([], 0, 0, $errstr), 400, $errstr); + return $response; + } + $start = $reqData['start'] ?? 0; + $length = $reqData['length'] ?? 5; + $search = $reqData['search']['value']; + $requestedOrder = $reqData['order']['0']['column'] ?? 0; + $order = TarifaEncuadernacionLineaModel::SORTABLE[$requestedOrder >= 0 ? $requestedOrder : 0]; + $dir = $reqData['order']['0']['dir'] ?? 'asc'; + + $id_TM = $reqData['id_tarifaencuadernacion'] ?? -1; + + $resourceData = $this->model->getResource("", $id_TM)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject(); + + return $this->respond(Collection::datatable( + $resourceData, + $this->model->getResource()->countAllResults(), + $this->model->getResource($search, $id_TM)->countAllResults() + )); + } else { + return $this->failUnauthorized('Invalid request', 403); + } + } +} + diff --git a/ci4/app/Entities/Tarifas/TarifaAcabadoLinea.php b/ci4/app/Entities/Tarifas/TarifaAcabadoLinea.php index 832fa317..0fcf0556 100644 --- a/ci4/app/Entities/Tarifas/TarifaAcabadoLinea.php +++ b/ci4/app/Entities/Tarifas/TarifaAcabadoLinea.php @@ -8,8 +8,8 @@ class TarifaAcabadoLinea extends \CodeIgniter\Entity\Entity protected $attributes = [ "id" => null, "tarifa_acabado_id" => 0, - "paginas_min" => 0, - "paginas_max" => 0, + "tirada_min" => 0, + "tirada_max" => 0, "precio_min" => 0, "precio_max" => 0, "margen" => 0, diff --git a/ci4/app/Entities/Tarifas/TarifaEncuadernacionLinea.php b/ci4/app/Entities/Tarifas/TarifaEncuadernacionLinea.php index 58041841..cef07060 100644 --- a/ci4/app/Entities/Tarifas/TarifaEncuadernacionLinea.php +++ b/ci4/app/Entities/Tarifas/TarifaEncuadernacionLinea.php @@ -7,7 +7,7 @@ class TarifaEncuadernacionLinea extends \CodeIgniter\Entity\Entity { protected $attributes = [ "id" => null, - "tarifa_encuadernacion_id" => 0, + "tirada_encuadernacion_id" => 0, "paginas_min" => 0, "paginas_max" => 0, "precio_min" => 0, @@ -20,7 +20,7 @@ class TarifaEncuadernacionLinea extends \CodeIgniter\Entity\Entity "updated_at" => null, ]; protected $casts = [ - "tarifa_encuadernacion_id" => "int", + "tirada_encuadernacion_id" => "int", "paginas_min" => "float", "paginas_max" => "float", "precio_min" => "float", diff --git a/ci4/app/Entities/Tarifas/TarifaEncuadernacionTirada.php b/ci4/app/Entities/Tarifas/TarifaEncuadernacionTirada.php new file mode 100644 index 00000000..b432686f --- /dev/null +++ b/ci4/app/Entities/Tarifas/TarifaEncuadernacionTirada.php @@ -0,0 +1,29 @@ + null, + "tarifa_encuadernacion_id" => 0, + "tirada_min" => 0, + "tirada_max" => 0, + "proveedor_id" => 0, + "user_created_id" => 0, + "user_updated_id" => 0, + "is_deleted" => 0, + "created_at" => null, + "updated_at" => null, + ]; + protected $casts = [ + "tarifa_encuadernacion_id" => "int", + "tirada_min" => "float", + "tirada_max" => "float", + "proveedor_id" => "int", + "user_created_id" => "int", + "user_updated_id" => "int", + "is_deleted" => "int", + ]; +} diff --git a/ci4/app/Entities/Tarifas/TarifaManipuladoLinea.php b/ci4/app/Entities/Tarifas/TarifaManipuladoLinea.php index 63b503c2..f358343d 100644 --- a/ci4/app/Entities/Tarifas/TarifaManipuladoLinea.php +++ b/ci4/app/Entities/Tarifas/TarifaManipuladoLinea.php @@ -8,8 +8,8 @@ class TarifaManipuladoLinea extends \CodeIgniter\Entity\Entity protected $attributes = [ "id" => null, "tarifa_manipulado_id" => 0, - "paginas_min" => 0, - "paginas_max" => 0, + "tirada_min" => 0, + "tirada_max" => 0, "precio_min" => 0, "precio_max" => 0, "margen" => 0, @@ -21,8 +21,8 @@ class TarifaManipuladoLinea extends \CodeIgniter\Entity\Entity ]; protected $casts = [ "tarifa_manipulado_id" => "int", - "paginas_min" => "float", - "paginas_max" => "float", + "tirada_min" => "float", + "tirada_max" => "float", "precio_min" => "float", "precio_max" => "float", "margen" => "float", diff --git a/ci4/app/Language/en/TarifaAcabadoLineas.php b/ci4/app/Language/en/TarifaAcabadoLineas.php index db580bec..35361c39 100644 --- a/ci4/app/Language/en/TarifaAcabadoLineas.php +++ b/ci4/app/Language/en/TarifaAcabadoLineas.php @@ -9,12 +9,12 @@ return [ 'precioMax' => 'Max Price', 'precioMin' => 'Min Price', 'precioUnidad' => 'Price Unit', - 'paginasMax' => 'Max Pages', - 'paginasMin' => 'Min Pages', + 'tiradaMax' => 'Max Printing', + 'tiradaMin' => 'Min Printing', 'margen' => 'Margin', 'validation' => [ - 'error_paginas_overlap' => 'The range [Min Pages, Max Pages] is overlapped with another one for the selected type.', - 'error_paginas_range' => 'The field Min Pages must be lower than the field Max Pages', + 'error_tirada_overlap' => 'The range [Min Printing, Max Printing] is overlapped with another one for the selected type.', + 'error_tirada_range' => 'The field Min Printing must be lower than the field Max Printing', 'precio_max' => [ 'decimal' => 'The field must contain a decimal number.', 'required' => 'The field is required.', @@ -27,13 +27,13 @@ return [ ], - 'paginas_max' => [ + 'tirada_max' => [ 'integer' => 'The field must contain an integer.', 'required' => 'The field is required.', ], - 'paginas_min' => [ + 'tirada_min' => [ 'integer' => 'The field must contain an integer.', 'required' => 'The field is required.', diff --git a/ci4/app/Language/en/TarifaEncuadernacionTiradas.php b/ci4/app/Language/en/TarifaEncuadernacionTiradas.php new file mode 100644 index 00000000..68bf7ef6 --- /dev/null +++ b/ci4/app/Language/en/TarifaEncuadernacionTiradas.php @@ -0,0 +1,28 @@ + 'ID', + 'moduleTitle' => 'Printings Binding rates', + 'deleteLine' => 'the selected register', + 'proveedor' => 'Supplier', + 'seleccion' => 'Selection', + 'tiradaMax' => 'Max Printing', + 'tiradaMin' => 'Min Printing', + 'validation' => [ + 'error_tirada_overlap' => 'El rango [Tirada Min, Tirada Max] se solapa con otro existente para el tipo seleccionado.', + 'error_tirada_range' => 'El campo Tirada Min debe ser menor que el campo Tirada Max', + 'tirada_max' => [ + 'integer' => 'The {field} field must contain a integer number.', + 'required' => 'The {field} field is required.', + + ], + + 'paginas_min' => [ + 'integer' => 'The {field} field must contain a integer number.', + 'required' => 'The {field} field is required.', + + ] + ], +]; \ No newline at end of file diff --git a/ci4/app/Language/en/TarifaManipuladoLineas.php b/ci4/app/Language/en/TarifaManipuladoLineas.php index 5da798c9..732add80 100644 --- a/ci4/app/Language/en/TarifaManipuladoLineas.php +++ b/ci4/app/Language/en/TarifaManipuladoLineas.php @@ -9,12 +9,12 @@ return [ 'precioMax' => 'Max Price', 'precioMin' => 'Min Price', 'precioUnidad' => 'Price Unit', - 'paginasMax' => 'Max Pages', - 'paginasMin' => 'Min Pages', + 'tiradaMax' => 'Max Printing', + 'tiradaMin' => 'Min Printing', 'margen' => 'Margin', 'validation' => [ - 'error_paginas_overlap' => 'The range [Min Pages, Max Pages] is overlapped with another one for the selected type.', - 'error_paginas_range' => 'The field Min Pages must be lower than the field Max Pages', + 'error_tirada_overlap' => 'The range [Min Printing, Max Printing] is overlapped with another one for the selected type.', + 'error_tirada_range' => 'The field Min Printing must be lower than the field Max Printing', 'precio_max' => [ 'decimal' => 'The {field} field must contain a decimal number.', 'required' => 'The {field} field is required.', @@ -27,13 +27,13 @@ return [ ], - 'paginas_max' => [ + 'tirada_max' => [ 'decimal' => 'The {field} field must contain a decimal number.', 'required' => 'The {field} field is required.', ], - 'paginas_min' => [ + 'tirada_min' => [ 'decimal' => 'The {field} field must contain a decimal number.', 'required' => 'The {field} field is required.', diff --git a/ci4/app/Language/es/TarifaAcabadoLineas.php b/ci4/app/Language/es/TarifaAcabadoLineas.php index 00f4c41a..6a671ac7 100644 --- a/ci4/app/Language/es/TarifaAcabadoLineas.php +++ b/ci4/app/Language/es/TarifaAcabadoLineas.php @@ -9,12 +9,12 @@ return [ 'precioMax' => 'Precio Max', 'precioMin' => 'Precio Min', 'precioUnidad' => 'Precio Unidad', - 'paginasMax' => 'Páginas Max', - 'paginasMin' => 'Páginas Min', + 'tiradaMax' => 'Tirada Max', + 'tiradaMin' => 'Tirada Min', 'margen' => 'Margen', 'validation' => [ - 'error_paginas_overlap' => 'El rango [Páginas Min, Páginas Max] se solapa con otro existente para el tipo seleccionado.', - 'error_paginas_range' => 'El campo Páginas Min debe ser menor que el campo Páginas Max', + 'error_tirada_overlap' => 'El rango [Tirada Min, Tirada Max] se solapa con otro existente para el tipo seleccionado.', + 'error_tirada_range' => 'El campo Tirada Min debe ser menor que el campo Tirada Max', 'precio_max' => [ 'decimal' => 'El campo debe contener un número decimal.', 'required' => 'El campo es obligatorio.', @@ -27,13 +27,13 @@ return [ ], - 'paginas_max' => [ + 'tirada_max' => [ 'integer' => 'El campo debe contener un número entero.', 'required' => 'El campo es obligatorio.', ], - 'paginas_min' => [ + 'tirada_min' => [ 'integer' => 'El campo debe contener un número entero.', 'required' => 'El campo es obligatorio.', diff --git a/ci4/app/Language/es/TarifaEncuadernacionTiradas.php b/ci4/app/Language/es/TarifaEncuadernacionTiradas.php new file mode 100644 index 00000000..068b065f --- /dev/null +++ b/ci4/app/Language/es/TarifaEncuadernacionTiradas.php @@ -0,0 +1,28 @@ + 'ID', + 'moduleTitle' => 'Tiradas Tarifa Encuadernación', + 'deleteLine' => 'el registro seleccionado', + 'proveedor' => 'Proveedor', + 'seleccion' => 'Selección', + 'tiradaMax' => 'Tirada Max', + 'tiradaMin' => 'Tirada Min', + 'validation' => [ + 'error_tirada_overlap' => 'El rango [Tirada Min, Tirada Max] se solapa con otro existente para el tipo seleccionado.', + 'error_tirada_range' => 'El campo Tirada Min debe ser menor que el campo Tirada Max', + 'tirada_max' => [ + 'integer' => 'El campo {field} debe contener un número entero.', + 'required' => 'El campo {field} es obligatorio.', + + ], + + 'paginas_min' => [ + 'integer' => 'El campo {field} debe contener un número entero.', + 'required' => 'El campo {field} es obligatorio.', + + ] + ], +]; \ No newline at end of file diff --git a/ci4/app/Language/es/TarifaManipuladoLineas.php b/ci4/app/Language/es/TarifaManipuladoLineas.php index 4d8ce4c6..93ac435b 100644 --- a/ci4/app/Language/es/TarifaManipuladoLineas.php +++ b/ci4/app/Language/es/TarifaManipuladoLineas.php @@ -9,12 +9,12 @@ return [ 'precioMax' => 'Precio Max', 'precioMin' => 'Precio Min', 'precioUnidad' => 'Precio Unidad', - 'paginasMax' => 'Páginas Max', - 'paginasMin' => 'Páginas Min', + 'tiradaMax' => 'Tirada Max', + 'tiradaMin' => 'Tirada Min', 'margen' => 'Margen', 'validation' => [ - 'error_paginas_overlap' => 'El rango [Páginas Min, Páginas Max] se solapa con otro existente para el tipo seleccionado.', - 'error_paginas_range' => 'El campo Páginas Min debe ser menor que el campo Páginas Max', + 'error_tirada_overlap' => 'El rango [Tirada Min, Tirada Max] se solapa con otro existente para el tipo seleccionado.', + 'error_tirada_range' => 'El campo Tirada Min debe ser menor que el campo Tirada Max', 'precio_max' => [ 'decimal' => 'El campo {field} debe contener un número decimal.', 'required' => 'The {field} field is required.', @@ -27,13 +27,13 @@ return [ ], - 'paginas_max' => [ + 'tirada_max' => [ 'decimal' => 'El campo {field} debe contener un número decimal.', 'required' => 'The {field} field is required.', ], - 'paginas_min' => [ + 'tirada_min' => [ 'decimal' => 'El campo {field} debe contener un número decimal.', 'required' => 'The {field} field is required.', diff --git a/ci4/app/Models/Tarifas/TarifaAcabadoLineaModel.php b/ci4/app/Models/Tarifas/TarifaAcabadoLineaModel.php index 48130463..dcde951e 100644 --- a/ci4/app/Models/Tarifas/TarifaAcabadoLineaModel.php +++ b/ci4/app/Models/Tarifas/TarifaAcabadoLineaModel.php @@ -13,16 +13,16 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel protected $useAutoIncrement = true; const SORTABLE = [ - 0 => "t1.paginas_min", - 1 => "t1.paginas_max", + 0 => "t1.tirada_min", + 1 => "t1.tirada_max", 2 => "t1.precio_min", 3 => "t1.precio_max", 4 => "t1.margen", ]; protected $allowedFields = [ - "paginas_min", - "paginas_max", + "tirada_min", + "tirada_max", "precio_min", "precio_max", "margen", @@ -53,11 +53,11 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel "label" => "TarifaAcabadoLineas.precioMin", "rules" => "required|decimal", ], - "paginas_max" => [ + "tirada_max" => [ "label" => "TarifaAcabadoLineas.tiradaMax", "rules" => "required|integer", ], - "paginas_min" => [ + "tirada_min" => [ "label" => "TarifaAcabadoLineas.tiradaMin", "rules" => "required|integer", ], @@ -80,13 +80,13 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel "decimal" => "TarifaAcabadoLineas.validation.precio_min.decimal", "required" => "TarifaAcabadoLineas.validation.precio_min.required", ], - "paginas_max" => [ - "integer" => "TarifaAcabadoLineas.validation.paginas_max.integer", - "required" => "TarifaAcabadoLineas.validation.paginas_max.required", + "tirada_max" => [ + "integer" => "TarifaAcabadoLineas.validation.tirada_max.integer", + "required" => "TarifaAcabadoLineas.validation.tirada_max.required", ], - "paginas_min" => [ - "integer" => "TarifaAcabadoLineas.validation.paginas_min.integer", - "required" => "TarifaAcabadoLineas.validation.paginas_min.required", + "tirada_min" => [ + "integer" => "TarifaAcabadoLineas.validation.tirada_min.integer", + "required" => "TarifaAcabadoLineas.validation.tirada_min.required", ], "margen" => [ "integer" => "TarifaAcabadoLineas.validation.margen.integer", @@ -131,7 +131,7 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel $builder = $this->db ->table($this->table . " t1") ->select( - "t1.id AS id, t1.paginas_min AS paginas_min, t1.paginas_max AS paginas_max, t1.precio_min AS precio_min, t1.precio_max AS precio_max, t1.margen AS margen, t2.id AS tarifa_acabado" + "t1.id AS id, t1.tirada_min AS tirada_min, t1.tirada_max AS tirada_max, t1.precio_min AS precio_min, t1.precio_max AS precio_max, t1.margen AS margen, t2.id AS tarifa_acabado" ); //JJO @@ -145,12 +145,12 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel ? $builder : $builder ->groupStart() - ->like("t1.paginas_min", $search) - ->orLike("t1.paginas_max", $search) + ->like("t1.tirada_min", $search) + ->orLike("t1.tirada_max", $search) ->orLike("t1.precio_min", $search) ->orLike("t1.precio_max", $search) - ->orLike("t1.paginas_min", $search) - ->orLike("t1.paginas_max", $search) + ->orLike("t1.tirada_min", $search) + ->orLike("t1.tirada_max", $search) ->orLike("t1.precio_min", $search) ->orLike("t1.precio_max", $search) ->groupEnd(); @@ -172,13 +172,13 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel helper('general'); - if(floatval($data["paginas_min"])>= floatval($data["paginas_max"])){ - return lang('TarifaAcabadoLineas.validation.error_paginas_range'); + if(floatval($data["tirada_min"])>= floatval($data["tirada_max"])){ + return lang('TarifaAcabadoLineas.validation.error_tirada_range'); } $rows = $this->db ->table($this->table) - ->select("id, paginas_min, paginas_max") + ->select("id, tirada_min, tirada_max") ->where("is_deleted", 0) ->where("tarifa_acabado_id", $id_tarifa_acabado) ->get()->getResultObject(); @@ -190,9 +190,9 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel continue; } } - if(check_overlap(floatval($data["paginas_min"]), floatval($data["paginas_max"]), - $row->paginas_min, $row->paginas_max)){ - return lang('TarifaAcabadoLineas.validation.error_paginas_overlap'); + if(check_overlap(floatval($data["tirada_min"]), floatval($data["tirada_max"]), + $row->tirada_min, $row->tirada_max)){ + return lang('TarifaAcabadoLineas.validation.error_tirada_overlap'); } } diff --git a/ci4/app/Models/Tarifas/TarifaEncuadernacionLineaModel.php b/ci4/app/Models/Tarifas/TarifaEncuadernacionLineaModel.php index aa5b9519..d714b390 100644 --- a/ci4/app/Models/Tarifas/TarifaEncuadernacionLineaModel.php +++ b/ci4/app/Models/Tarifas/TarifaEncuadernacionLineaModel.php @@ -20,7 +20,7 @@ class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel ]; protected $allowedFields = [ - "tarifa_encuadernacion_id", + "tirada_encuadernacion_id", "paginas_min", "paginas_max", "precio_min", @@ -29,7 +29,7 @@ class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel "is_deleted", ]; - protected $returnType = "App\Entities\Tarifas\TarifaManipuladoLinea"; + protected $returnType = "App\Entities\Tarifas\TarifaEncuadernacionLinea"; protected $useTimestamps = true; protected $useSoftDeletes = false; @@ -38,51 +38,51 @@ class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel protected $updatedField = "updated_at"; - public static $labelField = "tarifa_encuadernacion_id"; + public static $labelField = "tirada_encuadernacion_id"; protected $validationRules = [ "precio_max" => [ - "label" => "TarifaManipuladoLineas.precioMax", + "label" => "TarifaEncuadernacionLineas.precioMax", "rules" => "required|decimal", ], "precio_min" => [ - "label" => "TarifaManipuladoLineas.precioMin", + "label" => "TarifaEncuadernacionLineas.precioMin", "rules" => "required|decimal", ], "paginas_max" => [ - "label" => "TarifaManipuladoLineas.paginasMax", + "label" => "TarifaEncuadernacionLineas.paginasMax", "rules" => "required|decimal", ], "paginas_min" => [ - "label" => "TarifaManipuladoLineas.paginasMin", + "label" => "TarifaEncuadernacionLineas.paginasMin", "rules" => "required|decimal", ], "margen" => [ - "label" => "TarifaManipuladoLineas.margen", + "label" => "TarifaEncuadernacionLineas.margen", "rules" => "required|decimal", ], ]; protected $validationMessages = [ "precio_max" => [ - "decimal" => "TarifaManipuladoLineas.validation.precio_max.decimal", - "required" => "TarifaManipuladoLineas.validation.precio_max.required", + "decimal" => "TarifaEncuadernacionLineas.validation.precio_max.decimal", + "required" => "TarifaEncuadernacionLineas.validation.precio_max.required", ], "precio_min" => [ - "decimal" => "TarifaManipuladoLineas.validation.precio_min.decimal", - "required" => "TarifaManipuladoLineas.validation.precio_min.required", + "decimal" => "TarifaEncuadernacionLineas.validation.precio_min.decimal", + "required" => "TarifaEncuadernacionLineas.validation.precio_min.required", ], "paginas_max" => [ - "decimal" => "TarifaManipuladoLineas.validation.paginas_max.decimal", - "required" => "TarifaManipuladoLineas.validation.paginas_max.required", + "decimal" => "TarifaEncuadernacionLineas.validation.paginas_max.decimal", + "required" => "TarifaEncuadernacionLineas.validation.paginas_max.required", ], "paginas_min" => [ - "decimal" => "TarifaManipuladoLineas.validation.paginas_min.decimal", - "required" => "TarifaManipuladoLineas.validation.paginas_min.required", + "decimal" => "TarifaEncuadernacionLineas.validation.paginas_min.decimal", + "required" => "TarifaEncuadernacionLineas.validation.paginas_min.required", ], "margen" => [ - "decimal" => "TarifaManipuladoLineas.validation.margen.decimal", - "required" => "TarifaManipuladoLineas.validation.margen.required", + "decimal" => "TarifaEncuadernacionLineas.validation.margen.decimal", + "required" => "TarifaEncuadernacionLineas.validation.margen.required", ], ]; @@ -93,18 +93,18 @@ class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel * * @return \CodeIgniter\Database\BaseBuilder */ - public function getResource(string $search = "", $tarifa_encuadernacion_id = -1) + public function getResource(string $search = "", $tirada_encuadernacion_id = -1) { $builder = $this->db ->table($this->table . " t1") ->select( - "t1.id AS id, t1.tarifa_encuadernacion_id AS tarifa_encuadernacion_id, t1.paginas_min AS paginas_min, t1.paginas_max AS paginas_max, t1.precio_min AS precio_min, t1.precio_max AS precio_max, t1.margen AS margen, t2.id AS tarifa_encuadernacion" + "t1.id AS id, t1.tirada_encuadernacion_id AS tirada_encuadernacion_id, t1.paginas_min AS paginas_min, t1.paginas_max AS paginas_max, t1.precio_min AS precio_min, t1.precio_max AS precio_max, t1.margen AS margen, t2.id AS tarifa_encuadernacion" ); //JJO - $builder->where('tarifa_encuadernacion_id', $tarifa_encuadernacion_id); + $builder->where('tirada_encuadernacion_id', $tirada_encuadernacion_id); $builder->where("t1.is_deleted", 0); - $builder->join("tarifa_encuadernacion t2", "t1.tarifa_encuadernacion_id = t2.id", "left"); + $builder->join("tarifa_encuadernacion_tiradas t2", "t1.tirada_encuadernacion_id = t2.id", "left"); return empty($search) @@ -112,13 +112,13 @@ class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel : $builder ->groupStart() ->like("t1.id", $search) - ->orLike("t1.tarifa_encuadernacion_id", $search) + ->orLike("t1.tirada_encuadernacion_id", $search) ->orLike("t1.paginas_min", $search) ->orLike("t1.paginas_max", $search) ->orLike("t1.precio_min", $search) ->orLike("t1.precio_max", $search) ->orLike("t1.id", $search) - ->orLike("t1.tarifa_encuadernacion_id", $search) + ->orLike("t1.tirada_encuadernacion_id", $search) ->orLike("t1.paginas_min", $search) ->orLike("t1.paginas_max", $search) ->orLike("t1.precio_min", $search) @@ -126,19 +126,19 @@ class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel ->groupEnd(); } - public function checkIntervals($data = [], $id_linea = null, $id_tarifa_encuadernacion = null){ + public function checkIntervals($data = [], $id_linea = null, $tirada_encuadernacion_id = null){ helper('general'); if(floatval($data["paginas_min"])>= floatval($data["paginas_max"])){ - return lang('TarifaManipuladoLineas.validation.error_paginas_range'); + return lang('TarifaEncuadernacionLineas.validation.error_paginas_range'); } $rows = $this->db ->table($this->table) ->select("id, paginas_min, paginas_max") ->where("is_deleted", 0) - ->where("tarifa_encuadernacion_id", $id_tarifa_encuadernacion) + ->where("tirada_encuadernacion_id", $tirada_encuadernacion_id) ->get()->getResultObject(); @@ -150,7 +150,7 @@ class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel } if(check_overlap(floatval($data["paginas_min"]), floatval($data["paginas_max"]), $row->paginas_min, $row->paginas_max)){ - return lang('TarifaManipuladoLineas.validation.error_paginas_overlap'); + return lang('TarifaEncuadernacionLineas.validation.error_paginas_overlap'); } } diff --git a/ci4/app/Models/Tarifas/TarifaEncuadernacionTiradaModel.php b/ci4/app/Models/Tarifas/TarifaEncuadernacionTiradaModel.php new file mode 100644 index 00000000..c16cd026 --- /dev/null +++ b/ci4/app/Models/Tarifas/TarifaEncuadernacionTiradaModel.php @@ -0,0 +1,134 @@ + "t3.nombre", + 2 => "t1.tirada_min", + 3 => "t1.tirada_max", + + ]; + + protected $allowedFields = [ + "tarifa_encuadernacion_id", + "tirada_min", + "tirada_max", + "proveedor_id", + "user_created_id", + "user_updated_id", + "is_deleted", + "deleted_at", + + ]; + protected $returnType = "App\Entities\Tarifas\TarifaEncuadernacionTirada"; + + protected $useTimestamps = true; + protected $useSoftDeletes = false; + + protected $createdField = "created_at"; + + protected $updatedField = "updated_at"; + + public static $labelField = "tarifa_encuadernacion_id"; + + protected $validationRules = [ + "tirada_max" => [ + "label" => "TarifaEncuadernacionTiradas.tiradaMax", + "rules" => "required|integer", + ], + "tirada_min" => [ + "label" => "TarifaEncuadernacionTiradas.tiradaMin", + "rules" => "required|integer", + ] + ]; + + protected $validationMessages = [ + "tirada_max" => [ + "integer" => "TarifaEncuadernacionTiradas.validation.tirada_max.integer", + "required" => "TarifaEncuadernacionTiradas.validation.tirada_max.required", + ], + "tirada_min" => [ + "integer" => "TarifaEncuadernacionTiradas.validation.tirada_min.integer", + "required" => "TarifaEncuadernacionTiradas.validation.tirada_min.required", + ] + ]; + + /** + * Get resource data. + * + * @param string $search + * + * @return \CodeIgniter\Database\BaseBuilder + */ + public function getResource(string $search = "", $tarifa_encuadernacion_id = -1) + { + $builder = $this->db + ->table($this->table . " t1") + ->select( + "t1.id AS id, t1.tarifa_encuadernacion_id AS tarifa_encuadernacion_id, t1.tirada_min AS tirada_min, + t1.tirada_max AS tirada_max, t3.nombre AS proveedor, t2.id AS tarifa_encuadernacion" + ); + //JJO + $builder->where('tarifa_encuadernacion_id', $tarifa_encuadernacion_id); + $builder->where("t1.is_deleted", 0); + + $builder->join("tarifa_encuadernacion t2", "t1.tarifa_encuadernacion_id = t2.id", "left"); + $builder->join("lg_proveedores t3", "t1.proveedor_id = t3.id", "left"); + + + return empty($search) + ? $builder + : $builder + ->groupStart() + ->like("t1.id", $search) + ->orLike("t1.tirada_min", $search) + ->orLike("t1.tirada_max", $search) + ->orLike("t3.nombre", $search) + ->orLike("t1.id", $search) + ->orLike("t1.tirada_min", $search) + ->orLike("t1.tirada_max", $search) + ->orLike("t3.nombre", $search) + ->groupEnd(); + } + + public function checkIntervals($data = [], $id_linea = null, $tarifa_encuadernacion_id = null){ + + helper('general'); + + if(floatval($data["tirada_min"])>= floatval($data["tirada_max"])){ + return lang('TarifaEncuadernacionTiradas.validation.error_tirada_range'); + } + + $rows = $this->db + ->table($this->table) + ->select("id, tirada_min, tirada_max") + ->where("is_deleted", 0) + ->where("tarifa_encuadernacion_id", $tarifa_encuadernacion_id) + ->get()->getResultObject(); + + + foreach ($rows as $row) { + if (!is_null($id_linea)){ + if($row->id == $id_linea){ + continue; + } + } + if(check_overlap(floatval($data["tirada_min"]), floatval($data["tirada_max"]), + $row->tirada_min, $row->tirada_max)){ + return lang('TarifaEncuadernacionTiradas.validation.error_tirada_overlap'); + } + } + + return ""; + } +} diff --git a/ci4/app/Models/Tarifas/TarifaManipuladoLineaModel.php b/ci4/app/Models/Tarifas/TarifaManipuladoLineaModel.php index 77fbcc6f..6b795f9f 100644 --- a/ci4/app/Models/Tarifas/TarifaManipuladoLineaModel.php +++ b/ci4/app/Models/Tarifas/TarifaManipuladoLineaModel.php @@ -13,16 +13,16 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel protected $useAutoIncrement = true; const SORTABLE = [ - 0 => "t1.paginas_min", - 1 => "t1.paginas_max", + 0 => "t1.tirada_min", + 1 => "t1.tirada_max", 2 => "t1.precio_min", 3 => "t1.precio_max", ]; protected $allowedFields = [ "tarifa_manipulado_id", - "paginas_min", - "paginas_max", + "tirada_min", + "tirada_max", "precio_min", "precio_max", "user_created_id", @@ -49,12 +49,12 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel "label" => "TarifaManipuladoLineas.precioMin", "rules" => "required|decimal", ], - "paginas_max" => [ - "label" => "TarifaManipuladoLineas.paginasMax", + "tirada_max" => [ + "label" => "TarifaManipuladoLineas.tiradaMax", "rules" => "required|decimal", ], - "paginas_min" => [ - "label" => "TarifaManipuladoLineas.paginasMin", + "tirada_min" => [ + "label" => "TarifaManipuladoLineas.tiradaMin", "rules" => "required|decimal", ], "margen" => [ @@ -72,13 +72,13 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel "decimal" => "TarifaManipuladoLineas.validation.precio_min.decimal", "required" => "TarifaManipuladoLineas.validation.precio_min.required", ], - "paginas_max" => [ - "decimal" => "TarifaManipuladoLineas.validation.paginas_max.decimal", - "required" => "TarifaManipuladoLineas.validation.paginas_max.required", + "tirada_max" => [ + "decimal" => "TarifaManipuladoLineas.validation.tirada_max.decimal", + "required" => "TarifaManipuladoLineas.validation.tirada_max.required", ], - "paginas_min" => [ - "decimal" => "TarifaManipuladoLineas.validation.paginas_min.decimal", - "required" => "TarifaManipuladoLineas.validation.paginas_min.required", + "tirada_min" => [ + "decimal" => "TarifaManipuladoLineas.validation.tirada_min.decimal", + "required" => "TarifaManipuladoLineas.validation.tirada_min.required", ], "margen" => [ "decimal" => "TarifaManipuladoLineas.validation.margen.decimal", @@ -98,7 +98,7 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel $builder = $this->db ->table($this->table . " t1") ->select( - "t1.id AS id, t1.tarifa_manipulado_id AS tarifa_manipulado_id, t1.paginas_min AS paginas_min, t1.paginas_max AS paginas_max, t1.precio_min AS precio_min, t1.precio_max AS precio_max, t1.margen AS margen, t2.id AS tarifa_manipulado" + "t1.id AS id, t1.tarifa_manipulado_id AS tarifa_manipulado_id, t1.tirada_min AS tirada_min, t1.tirada_max AS tirada_max, t1.precio_min AS precio_min, t1.precio_max AS precio_max, t1.margen AS margen, t2.id AS tarifa_manipulado" ); //JJO $builder->where('tarifa_manipulado_id', $tarifa_manipulado_id); @@ -113,14 +113,14 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel ->groupStart() ->like("t1.id", $search) ->orLike("t1.tarifa_manipulado_id", $search) - ->orLike("t1.paginas_min", $search) - ->orLike("t1.paginas_max", $search) + ->orLike("t1.tirada_min", $search) + ->orLike("t1.tirada_max", $search) ->orLike("t1.precio_min", $search) ->orLike("t1.precio_max", $search) ->orLike("t1.id", $search) ->orLike("t1.tarifa_manipulado_id", $search) - ->orLike("t1.paginas_min", $search) - ->orLike("t1.paginas_max", $search) + ->orLike("t1.tirada_min", $search) + ->orLike("t1.tirada_max", $search) ->orLike("t1.precio_min", $search) ->orLike("t1.precio_max", $search) ->groupEnd(); @@ -130,13 +130,13 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel helper('general'); - if(floatval($data["paginas_min"])>= floatval($data["paginas_max"])){ - return lang('TarifaManipuladoLineas.validation.error_paginas_range'); + if(floatval($data["tirada_min"])>= floatval($data["tirada_max"])){ + return lang('TarifaManipuladoLineas.validation.error_tirada_range'); } $rows = $this->db ->table($this->table) - ->select("id, paginas_min, paginas_max") + ->select("id, tirada_min, tirada_max") ->where("is_deleted", 0) ->where("tarifa_manipulado_id", $id_tarifa_manipulado) ->get()->getResultObject(); @@ -148,9 +148,9 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel continue; } } - if(check_overlap(floatval($data["paginas_min"]), floatval($data["paginas_max"]), - $row->paginas_min, $row->paginas_max)){ - return lang('TarifaManipuladoLineas.validation.error_paginas_overlap'); + if(check_overlap(floatval($data["tirada_min"]), floatval($data["tirada_max"]), + $row->tirada_min, $row->tirada_max)){ + return lang('TarifaManipuladoLineas.validation.error_tirada_overlap'); } } diff --git a/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php b/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php index 4806b013..5683ecd8 100644 --- a/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php +++ b/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php @@ -44,9 +44,9 @@ - + - + diff --git a/ci4/app/Views/themes/backend/vuexy/form/tarifas/encuadernacion/_tarifaEncuadernacionFormItems.php b/ci4/app/Views/themes/backend/vuexy/form/tarifas/encuadernacion/_tarifaEncuadernacionFormItems.php index d654d2d9..87bb6eb4 100644 --- a/ci4/app/Views/themes/backend/vuexy/form/tarifas/encuadernacion/_tarifaEncuadernacionFormItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/tarifas/encuadernacion/_tarifaEncuadernacionFormItems.php @@ -4,21 +4,21 @@ - +
- +
- +
diff --git a/ci4/app/Views/themes/backend/vuexy/form/tarifas/encuadernacion/viewTarifaEncuadernacionForm.php b/ci4/app/Views/themes/backend/vuexy/form/tarifas/encuadernacion/viewTarifaEncuadernacionForm.php index 617ed7e3..1d65d028 100644 --- a/ci4/app/Views/themes/backend/vuexy/form/tarifas/encuadernacion/viewTarifaEncuadernacionForm.php +++ b/ci4/app/Views/themes/backend/vuexy/form/tarifas/encuadernacion/viewTarifaEncuadernacionForm.php @@ -28,6 +28,42 @@ + + +
+ + + + + + + + + + + +
+ + + + + +
- +
- +
diff --git a/ci4/app/Views/themes/backend/vuexy/form/tarifas/manipulado/viewTarifaManipuladoForm.php b/ci4/app/Views/themes/backend/vuexy/form/tarifas/manipulado/viewTarifaManipuladoForm.php index fb54d6db..1a12da80 100644 --- a/ci4/app/Views/themes/backend/vuexy/form/tarifas/manipulado/viewTarifaManipuladoForm.php +++ b/ci4/app/Views/themes/backend/vuexy/form/tarifas/manipulado/viewTarifaManipuladoForm.php @@ -47,9 +47,9 @@ - + - +