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 @@
| = lang('TarifaAcabadoLineas.tiradaMin') ?> |
+ = lang('TarifaAcabadoLineas.precioMax') ?> |
= lang('TarifaAcabadoLineas.tiradaMax') ?> |
= lang('TarifaAcabadoLineas.precioMin') ?> |
- = lang('TarifaAcabadoLineas.precioMax') ?> |
- = lang('TarifaAcabadoLineas.precioUnidad') ?> |
|
@@ -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 @@
| = lang('TarifaManipuladoLineas.tiradaMin') ?> |
+ = lang('TarifaManipuladoLineas.precioMax') ?> |
= lang('TarifaManipuladoLineas.tiradaMax') ?> |
= lang('TarifaManipuladoLineas.precioMin') ?> |
- = lang('TarifaManipuladoLineas.precioMax') ?> |
- = lang('TarifaManipuladoLineas.precioUnidad') ?> |
|
@@ -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'