diff --git a/ci4/app/Controllers/Configuracion/Maquinastarifasimpresion.php b/ci4/app/Controllers/Configuracion/Maquinastarifasimpresion.php index 4dfaeb1c..0b04e2a6 100644 --- a/ci4/app/Controllers/Configuracion/Maquinastarifasimpresion.php +++ b/ci4/app/Controllers/Configuracion/Maquinastarifasimpresion.php @@ -255,20 +255,19 @@ if ($this->request->getPost('predeterminado') == null ) { return lang('MaquinasTarifasImpresions.validation.cubierta_sobrecubierta_color'); } - // No se pueden duplicar valores al crear - if($action === Editor::ACTION_CREATE){ - $builder = $this->model->select('*') - ->where(array( - 'maquina_id'=> $values['maquina_id'], - 'tipo'=> $values['tipo'], - 'uso'=> $values['uso'], - 'is_deleted'=> 0)); + $builder = $this->model->select('*') + ->where(array( + 'maquina_id'=> $values['maquina_id'], + 'tipo'=> $values['tipo'], + 'uso'=> $values['uso'], + 'is_deleted'=> 0)); - if ($builder->countAllResults() >= 1){ - if(($action === Editor::ACTION_EDIT && $builder->get()->getFirstRow()->id != $pkey) - || $action === Editor::ACTION_CREATE) - return lang('MaquinasTarifasImpresions.validation.duplicated_uso_tipo'); - + // No se pueden duplicar valores al crear o al editar + if ($builder->countAllResults() >= 1){ + if(($action === Editor::ACTION_EDIT && $builder->get()->getFirstRow()->id != $pkey) + || $action === Editor::ACTION_CREATE){ + + return lang('MaquinasTarifasImpresions.validation.duplicated_uso_tipo'); } } } diff --git a/ci4/app/Controllers/Tarifas/Tarifaacabadolineas.php b/ci4/app/Controllers/Tarifas/Tarifaacabadolineas.php index fcbeb949..1e0b1d9f 100644 --- a/ci4/app/Controllers/Tarifas/Tarifaacabadolineas.php +++ b/ci4/app/Controllers/Tarifas/Tarifaacabadolineas.php @@ -22,6 +22,8 @@ use DataTables\Editor\Validate, DataTables\Editor\ValidateOptions; +use function PHPUnit\Framework\isEmpty; + class Tarifaacabadolineas extends \App\Controllers\GoBaseResourceController { protected $modelName = TarifaAcabadoLineaModel::class; @@ -276,13 +278,6 @@ class Tarifaacabadolineas extends \App\Controllers\GoBaseResourceController { ->validator( 'Validate::notEmpty',array( 'message' => lang('TarifaAcabadoLineas.validation.precio_max.required') ) ), - Field::inst( 'precio_unidad' ) - ->validator( 'Validate::numeric', array( - 'message' => lang('TarifaAcabadoLineas.validation.precio_unidad.decimal') ) - ) - ->validator( 'Validate::notEmpty',array( - 'message' => lang('TarifaAcabadoLineas.validation.precio_unidad.required') ) - ), Field::inst( 'tarifa_acabado_id' ), Field::inst( 'user_created_id' ), Field::inst( 'created_at' ), @@ -296,17 +291,14 @@ class Tarifaacabadolineas extends \App\Controllers\GoBaseResourceController { 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) - { - $count = $this->model->select('*') - ->where(array( 'tarifa_acabado_id'=> $values['tarifa_acabado_id'], - 'tirada_min'=> $values['tirada_min'], - 'tirada_max'=> $values['tirada_max'], - 'is_deleted'=> 0 - )) - ->countAllResults(); - if ($count >= 1){ - return lang('TarifaAcabadoLineas.validation.duplicated_tirada'); + if($data['data'][$pkey]['is_deleted'] != 1){ + + $process_data['tirada_min'] = $data['data'][$pkey]['tirada_min']; + $process_data['tirada_max'] = $data['data'][$pkey]['tirada_max']; + $response = $this->model->checkIntervals($process_data, $pkey, $data['data'][$pkey]['tarifa_acabado_id']); + // No se pueden duplicar valores al crear o al editar + if (!empty($response)){ + return $response; } } } diff --git a/ci4/app/Controllers/Tarifas/Tarifamanipuladolineas.php b/ci4/app/Controllers/Tarifas/Tarifamanipuladolineas.php index 887d16a4..d0b00118 100644 --- a/ci4/app/Controllers/Tarifas/Tarifamanipuladolineas.php +++ b/ci4/app/Controllers/Tarifas/Tarifamanipuladolineas.php @@ -240,13 +240,6 @@ class Tarifamanipuladolineas extends \App\Controllers\GoBaseResourceController { ->validator( 'Validate::notEmpty',array( 'message' => lang('TarifaAcabadoLineas.validation.precio_max.required') ) ), - Field::inst( 'precio_unidad' ) - ->validator( 'Validate::numeric', array( - 'message' => lang('TarifaAcabadoLineas.validation.precio_unidad.decimal') ) - ) - ->validator( 'Validate::notEmpty',array( - 'message' => lang('TarifaAcabadoLineas.validation.precio_unidad.required') ) - ), Field::inst( 'tarifa_manipulado_id' ), Field::inst( 'user_created_id' ), Field::inst( 'created_at' ), @@ -262,16 +255,12 @@ class Tarifamanipuladolineas extends \App\Controllers\GoBaseResourceController { // Si no se quiere borrar... if($data['data'][$pkey]['is_deleted'] != 1) { - - $count = $this->model->select('*') - ->where(array( - 'tarifa_manipulado_id'=> $values['tarifa_manipulado_id'], - 'tirada_min'=> $values['tirada_min'], - 'tirada_max'=> $values['tirada_max'], - 'is_deleted'=> 0)) - ->countAllResults(); - if ($count >= 1){ - return lang('TarifaAcabadoLineas.validation.duplicated_tirada'); + $process_data['tirada_min'] = $data['data'][$pkey]['tirada_min']; + $process_data['tirada_max'] = $data['data'][$pkey]['tirada_max']; + $response = $this->model->checkIntervals($process_data, $pkey, $data['data'][$pkey]['tarifa_manipulado_id']); + // No se pueden duplicar valores al crear o al editar + if (!empty($response)){ + return $response; } } } diff --git a/ci4/app/Entities/Tarifas/TarifaAcabadoLinea.php b/ci4/app/Entities/Tarifas/TarifaAcabadoLinea.php index 7a8dbf13..0e292b67 100644 --- a/ci4/app/Entities/Tarifas/TarifaAcabadoLinea.php +++ b/ci4/app/Entities/Tarifas/TarifaAcabadoLinea.php @@ -12,7 +12,6 @@ class TarifaAcabadoLinea extends \CodeIgniter\Entity\Entity "tirada_max" => 0, "precio_min" => 0, "precio_max" => 0, - "precio_unidad" => 0, "user_created_id" => 0, "user_updated_id" => 0, "is_deleted" => 0, @@ -25,7 +24,6 @@ class TarifaAcabadoLinea extends \CodeIgniter\Entity\Entity "tirada_max" => "int", "precio_min" => "float", "precio_max" => "float", - "precio_unidad" => "float", "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 eed0f449..3d7a88b7 100644 --- a/ci4/app/Entities/Tarifas/TarifaManipuladoLinea.php +++ b/ci4/app/Entities/Tarifas/TarifaManipuladoLinea.php @@ -12,7 +12,6 @@ class TarifaManipuladoLinea extends \CodeIgniter\Entity\Entity "tirada_max" => 0, "precio_min" => 0, "precio_max" => 0, - "precio_unidad" => 0, "user_created_id" => 0, "user_updated_id" => 0, "is_deleted" => 0, @@ -25,7 +24,6 @@ class TarifaManipuladoLinea extends \CodeIgniter\Entity\Entity "tirada_max" => "float", "precio_min" => "float", "precio_max" => "float", - "precio_unidad" => "float", "user_created_id" => "int", "user_updated_id" => "int", "is_deleted" => "int", diff --git a/ci4/app/Helpers/general_helper.php b/ci4/app/Helpers/general_helper.php index 495703c6..c2d3c27a 100644 --- a/ci4/app/Helpers/general_helper.php +++ b/ci4/app/Helpers/general_helper.php @@ -641,6 +641,15 @@ function templateSelect($templates=[],$name='',$type='') { return null; } +// Devuelve true si los intervalos (a1,a2) (b1,b2) se solapan +// https://stackoverflow.com/questions/3269434/whats-the-most-efficient-way-to-test-if-two-ranges-overlap +function check_overlap($a1, $a2, $b1, $b2){ + + if (max($a2, $b2) - min($a1, $b1) <= ($a2 - $a1) + ($b2 - $b1)) + return true; + return false; +} + function version() { return "1.2.1"; } \ No newline at end of file diff --git a/ci4/app/Language/en/TarifaAcabadoLineas.php b/ci4/app/Language/en/TarifaAcabadoLineas.php index 9b120843..a8a16150 100644 --- a/ci4/app/Language/en/TarifaAcabadoLineas.php +++ b/ci4/app/Language/en/TarifaAcabadoLineas.php @@ -12,7 +12,8 @@ return [ 'tiradaMax' => 'Print Max', 'tiradaMin' => 'Print Min', 'validation' => [ - 'duplicated_tirada' => "Duplicated line (the couple 'Print Min' and 'Print Max' must be unique)", + '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.', @@ -25,12 +26,6 @@ return [ ], - 'precio_unidad' => [ - 'decimal' => 'The field must contain a decimal number.', - 'required' => 'The field is required.', - - ], - 'tirada_max' => [ 'integer' => 'The field must contain an integer.', 'required' => 'The field is required.', diff --git a/ci4/app/Language/en/TarifaManipuladoLineas.php b/ci4/app/Language/en/TarifaManipuladoLineas.php index 1a214500..85f74680 100644 --- a/ci4/app/Language/en/TarifaManipuladoLineas.php +++ b/ci4/app/Language/en/TarifaManipuladoLineas.php @@ -12,6 +12,8 @@ return [ 'tiradaMax' => 'Print Max', 'tiradaMin' => 'Print Min', 'validation' => [ + '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.', @@ -24,12 +26,6 @@ return [ ], - 'precio_unidad' => [ - 'decimal' => 'The {field} field must contain a decimal number.', - 'required' => 'The {field} field is required.', - - ], - 'tirada_max' => [ '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 a4fd7b57..dffc707f 100644 --- a/ci4/app/Language/es/TarifaAcabadoLineas.php +++ b/ci4/app/Language/es/TarifaAcabadoLineas.php @@ -12,7 +12,8 @@ return [ 'tiradaMax' => 'Tirada Max', 'tiradaMin' => 'Tirada Min', 'validation' => [ - 'duplicated_tirada' => "Línea duplicada (la pareja 'Tirada Min' y 'Tirada Max' debe de ser única)", + '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.', @@ -25,12 +26,6 @@ return [ ], - 'precio_unidad' => [ - 'decimal' => 'El campo debe contener un número decimal.', - 'required' => 'El campo es obligatorio.', - - ], - 'tirada_max' => [ 'integer' => 'El campo debe contener un número entero.', 'required' => 'El campo es obligatorio.', diff --git a/ci4/app/Language/es/TarifaManipuladoLineas.php b/ci4/app/Language/es/TarifaManipuladoLineas.php index 34996362..8719844a 100644 --- a/ci4/app/Language/es/TarifaManipuladoLineas.php +++ b/ci4/app/Language/es/TarifaManipuladoLineas.php @@ -12,6 +12,8 @@ return [ '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', 'precio_max' => [ 'decimal' => 'El campo {field} debe contener un número decimal.', 'required' => 'The {field} field is required.', @@ -24,12 +26,6 @@ return [ ], - 'precio_unidad' => [ - 'decimal' => 'El campo {field} debe contener un número decimal.', - 'required' => 'The {field} field is required.', - - ], - 'tirada_max' => [ 'decimal' => 'El campo {field} debe contener un número decimal.', 'required' => 'The {field} field is required.', diff --git a/ci4/app/Models/Configuracion/MaquinasDefectoModel.php b/ci4/app/Models/Configuracion/MaquinasDefectoModel.php index f17287dd..bb9ab7b8 100644 --- a/ci4/app/Models/Configuracion/MaquinasDefectoModel.php +++ b/ci4/app/Models/Configuracion/MaquinasDefectoModel.php @@ -183,6 +183,8 @@ class MaquinasDefectoModel extends \App\Models\GoBaseModel public function checkIntervals($data = [], $id = null){ + helper('general'); + if(floatval($data["ancho_min"])>= floatval($data["ancho_max"])){ return lang('MaquinasPorDefecto.validation.error_ancho_range'); } @@ -209,17 +211,17 @@ class MaquinasDefectoModel extends \App\Models\GoBaseModel continue; } } - if($this->check_overlap(floatval($data["ancho_min"]), floatval($data["ancho_max"]), + if(check_overlap(floatval($data["ancho_min"]), floatval($data["ancho_max"]), $row->ancho_min, $row->ancho_max)){ return lang('MaquinasPorDefecto.validation.error_ancho_overlap'); } - if($this->check_overlap(floatval($data["alto_min"]), floatval($data["alto_max"]), + if(check_overlap(floatval($data["alto_min"]), floatval($data["alto_max"]), $row->alto_min, $row->alto_max)){ return lang('MaquinasPorDefecto.validation.error_alto_overlap'); } - if($this->check_overlap(floatval($data["tirada_min"]), floatval($data["tirada_max"]), + if(check_overlap(floatval($data["tirada_min"]), floatval($data["tirada_max"]), $row->tirada_min, $row->tirada_max)){ - return lang('MaquinasPorDefecto.validation.error_ancho_overlap'); + return lang('MaquinasPorDefecto.validation.error_tirada_overlap'); } } @@ -227,15 +229,6 @@ class MaquinasDefectoModel extends \App\Models\GoBaseModel return ""; } - - // Devuelve true si los intervalos (a1,a2) (b1,b2) se solapan - // https://stackoverflow.com/questions/3269434/whats-the-most-efficient-way-to-test-if-two-ranges-overlap - private function check_overlap($a1, $a2, $b1, $b2){ - - if (max($a2, $b2) - min($a1, $b1) < ($a2 - $a1) + ($b2 - $b1)) - return true; - return false; - } } diff --git a/ci4/app/Models/Tarifas/TarifaAcabadoLineaModel.php b/ci4/app/Models/Tarifas/TarifaAcabadoLineaModel.php index 4e1d8ade..7a8bed17 100644 --- a/ci4/app/Models/Tarifas/TarifaAcabadoLineaModel.php +++ b/ci4/app/Models/Tarifas/TarifaAcabadoLineaModel.php @@ -17,7 +17,6 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel 1 => "t1.tirada_max", 2 => "t1.precio_min", 3 => "t1.precio_max", - 4 => "t1.precio_unidad", ]; protected $allowedFields = [ @@ -25,7 +24,6 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel "tirada_max", "precio_min", "precio_max", - "precio_unidad", "user_created_id", "is_deleted", ]; @@ -53,10 +51,6 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel "label" => "TarifaAcabadoLineas.precioMin", "rules" => "required|decimal", ], - "precio_unidad" => [ - "label" => "TarifaAcabadoLineas.precioUnidad", - "rules" => "required|decimal", - ], "tirada_max" => [ "label" => "TarifaAcabadoLineas.tiradaMax", "rules" => "required|integer", @@ -84,10 +78,6 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel "decimal" => "TarifaAcabadoLineas.validation.precio_min.decimal", "required" => "TarifaAcabadoLineas.validation.precio_min.required", ], - "precio_unidad" => [ - "decimal" => "TarifaAcabadoLineas.validation.precio_unidad.decimal", - "required" => "TarifaAcabadoLineas.validation.precio_unidad.required", - ], "tirada_max" => [ "integer" => "TarifaAcabadoLineas.validation.tirada_max.integer", "required" => "TarifaAcabadoLineas.validation.tirada_max.required", @@ -135,7 +125,7 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel $builder = $this->db ->table($this->table . " t1") ->select( - "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.precio_unidad AS precio_unidad, t1.user_created_id AS user_created_id, t1.user_updated_id AS user_updated_id, t1.is_deleted AS is_deleted, t1.created_at AS created_at, t1.updated_at AS updated_at, 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.user_created_id AS user_created_id, t1.user_updated_id AS user_updated_id, t1.is_deleted AS is_deleted, t1.created_at AS created_at, t1.updated_at AS updated_at, t2.id AS tarifa_acabado" ); //JJO @@ -153,7 +143,6 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel ->orLike("t1.tirada_max", $search) ->orLike("t1.precio_min", $search) ->orLike("t1.precio_max", $search) - ->orLike("t1.precio_unidad", $search) ->orLike("t1.user_created_id", $search) ->orLike("t1.user_updated_id", $search) ->orLike("t1.is_deleted", $search) @@ -164,7 +153,6 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel ->orLike("t1.tirada_max", $search) ->orLike("t1.precio_min", $search) ->orLike("t1.precio_max", $search) - ->orLike("t1.precio_unidad", $search) ->orLike("t1.user_created_id", $search) ->orLike("t1.user_updated_id", $search) ->orLike("t1.is_deleted", $search) @@ -185,4 +173,35 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel return $builder; } + + public function checkIntervals($data = [], $id_linea = null, $id_tarifa_acabado = null){ + + helper('general'); + + if(floatval($data["tirada_min"])>= floatval($data["tirada_max"])){ + return lang('TarifaAcabadoLineas.validation.error_tirada_range'); + } + + $rows = $this->db + ->table($this->table) + ->select("id, tirada_min, tirada_max") + ->where("is_deleted", 0) + ->where("tarifa_acabado_id", $id_tarifa_acabado) + ->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('TarifaAcabadoLineas.validation.error_tirada_overlap'); + } + } + + return ""; + } } diff --git a/ci4/app/Models/Tarifas/TarifaManipuladoLineaModel.php b/ci4/app/Models/Tarifas/TarifaManipuladoLineaModel.php index 56ae1d14..669dea5e 100644 --- a/ci4/app/Models/Tarifas/TarifaManipuladoLineaModel.php +++ b/ci4/app/Models/Tarifas/TarifaManipuladoLineaModel.php @@ -17,7 +17,6 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel 1 => "t1.tirada_max", 2 => "t1.precio_min", 3 => "t1.precio_max", - 4 => "t1.precio_unidad", ]; protected $allowedFields = [ @@ -26,7 +25,6 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel "tirada_max", "precio_min", "precio_max", - "precio_unidad", "user_created_id", "is_deleted", @@ -51,10 +49,6 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel "label" => "TarifaManipuladoLineas.precioMin", "rules" => "required|decimal", ], - "precio_unidad" => [ - "label" => "TarifaManipuladoLineas.precioUnidad", - "rules" => "required|decimal", - ], "tirada_max" => [ "label" => "TarifaManipuladoLineas.tiradaMax", "rules" => "required|decimal", @@ -74,10 +68,6 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel "decimal" => "TarifaManipuladoLineas.validation.precio_min.decimal", "required" => "TarifaManipuladoLineas.validation.precio_min.required", ], - "precio_unidad" => [ - "decimal" => "TarifaManipuladoLineas.validation.precio_unidad.decimal", - "required" => "TarifaManipuladoLineas.validation.precio_unidad.required", - ], "tirada_max" => [ "decimal" => "TarifaManipuladoLineas.validation.tirada_max.decimal", "required" => "TarifaManipuladoLineas.validation.tirada_max.required", @@ -100,7 +90,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.tirada_min AS tirada_min, t1.tirada_max AS tirada_max, t1.precio_min AS precio_min, t1.precio_max AS precio_max, t1.precio_unidad AS precio_unidad, 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, t2.id AS tarifa_manipulado" ); //JJO $builder->where('tarifa_manipulado_id', $tarifa_manipulado_id); @@ -119,14 +109,43 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel ->orLike("t1.tirada_max", $search) ->orLike("t1.precio_min", $search) ->orLike("t1.precio_max", $search) - ->orLike("t1.precio_unidad", $search) ->orLike("t1.id", $search) ->orLike("t1.tarifa_manipulado_id", $search) ->orLike("t1.tirada_min", $search) ->orLike("t1.tirada_max", $search) ->orLike("t1.precio_min", $search) ->orLike("t1.precio_max", $search) - ->orLike("t1.precio_unidad", $search) ->groupEnd(); } + + public function checkIntervals($data = [], $id_linea = null, $id_tarifa_manipulado = null){ + + helper('general'); + + if(floatval($data["tirada_min"])>= floatval($data["tirada_max"])){ + return lang('TarifaManipuladoLineas.validation.error_tirada_range'); + } + + $rows = $this->db + ->table($this->table) + ->select("id, tirada_min, tirada_max") + ->where("is_deleted", 0) + ->where("tarifa_manipulado_id", $id_tarifa_manipulado) + ->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('TarifaManipuladoLineas.validation.error_tirada_overlap'); + } + } + + return ""; + } } diff --git a/ci4/app/Views/themes/backend/vuexy/form/configuracion/maquinas/viewMaquinaPorDefectoList.php b/ci4/app/Views/themes/backend/vuexy/form/configuracion/maquinas/viewMaquinaPorDefectoList.php index 9d808c59..fb7c29ec 100644 --- a/ci4/app/Views/themes/backend/vuexy/form/configuracion/maquinas/viewMaquinaPorDefectoList.php +++ b/ci4/app/Views/themes/backend/vuexy/form/configuracion/maquinas/viewMaquinaPorDefectoList.php @@ -118,7 +118,7 @@ }); $(document).on('click', '.btn-edit', function(e) { - window.location.href = `configuracion/maquinasdefecto/edit/${$(this).attr('data-id')}`; + window.location.href = `/configuracion/maquinasdefecto/edit/${$(this).attr('data-id')}`; }); $(document).on('click', '.btn-delete', function(e) { 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 5522b7dc..571a126d 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,10 +44,9 @@ + - - @@ -96,15 +95,13 @@ idSrc: 'id', fields: [ { name: "tirada_min" + }, { + name: "precio_max" }, { name: "tirada_max" }, { name: "precio_min" }, { - name: "precio_max" - }, { - name: "precio_unidad" - },{ "name": "tarifa_acabado_id", "type": "hidden" },{ @@ -165,10 +162,9 @@ }), columns: [ { 'data': 'tirada_min' }, + { 'data': 'precio_max' }, { 'data': 'tirada_max' }, { 'data': 'precio_min' }, - { 'data': 'precio_max' }, - { 'data': 'precio_unidad' }, { data: actionBtns, className: 'row-edit dt-center' 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 9f3f373b..1690bd2b 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 @@ -48,10 +48,9 @@ + - - @@ -98,15 +97,13 @@ idSrc: 'id', fields: [ { name: "tirada_min" + }, { + name: "precio_max" }, { name: "tirada_max" }, { name: "precio_min" }, { - name: "precio_max" - }, { - name: "precio_unidad" - },{ "name": "tarifa_manipulado_id", "type": "hidden" },{ @@ -167,10 +164,9 @@ }), columns: [ { 'data': 'tirada_min' }, + { 'data': 'precio_max' }, { 'data': 'tirada_max' }, { 'data': 'precio_min' }, - { 'data': 'precio_max' }, - { 'data': 'precio_unidad' }, { data: actionBtns, className: 'row-edit dt-center'