modificaciones en tarifas: añadido margen, cambiado tirada por paginas y añadidas tarifas encuadernacion

This commit is contained in:
Jaime Jimenez
2023-07-21 18:07:46 +02:00
parent 2a30e2d8a2
commit 4d1fd30cb1
44 changed files with 2018 additions and 205 deletions

View File

@ -13,17 +13,19 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel
protected $useAutoIncrement = true;
const SORTABLE = [
0 => "t1.tirada_min",
1 => "t1.tirada_max",
0 => "t1.paginas_min",
1 => "t1.paginas_max",
2 => "t1.precio_min",
3 => "t1.precio_max",
4 => "t1.margen",
];
protected $allowedFields = [
"tirada_min",
"tirada_max",
"paginas_min",
"paginas_max",
"precio_min",
"precio_max",
"margen",
"user_created_id",
"is_deleted",
];
@ -51,11 +53,11 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel
"label" => "TarifaAcabadoLineas.precioMin",
"rules" => "required|decimal",
],
"tirada_max" => [
"paginas_max" => [
"label" => "TarifaAcabadoLineas.tiradaMax",
"rules" => "required|integer",
],
"tirada_min" => [
"paginas_min" => [
"label" => "TarifaAcabadoLineas.tiradaMin",
"rules" => "required|integer",
],
@ -78,13 +80,17 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel
"decimal" => "TarifaAcabadoLineas.validation.precio_min.decimal",
"required" => "TarifaAcabadoLineas.validation.precio_min.required",
],
"tirada_max" => [
"integer" => "TarifaAcabadoLineas.validation.tirada_max.integer",
"required" => "TarifaAcabadoLineas.validation.tirada_max.required",
"paginas_max" => [
"integer" => "TarifaAcabadoLineas.validation.paginas_max.integer",
"required" => "TarifaAcabadoLineas.validation.paginas_max.required",
],
"tirada_min" => [
"integer" => "TarifaAcabadoLineas.validation.tirada_min.integer",
"required" => "TarifaAcabadoLineas.validation.tirada_min.required",
"paginas_min" => [
"integer" => "TarifaAcabadoLineas.validation.paginas_min.integer",
"required" => "TarifaAcabadoLineas.validation.paginas_min.required",
],
"margen" => [
"integer" => "TarifaAcabadoLineas.validation.margen.integer",
"required" => "TarifaAcabadoLineas.validation.margen.required",
],
"user_created_id" => [
"integer" => "TarifaAcabadoLineas.validation.user_created_id.integer",
@ -125,7 +131,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.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.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"
);
//JJO
@ -139,26 +145,14 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel
? $builder
: $builder
->groupStart()
->like("t1.tirada_min", $search)
->orLike("t1.tirada_max", $search)
->like("t1.paginas_min", $search)
->orLike("t1.paginas_max", $search)
->orLike("t1.precio_min", $search)
->orLike("t1.precio_max", $search)
->orLike("t1.user_created_id", $search)
->orLike("t1.user_updated_id", $search)
->orLike("t1.is_deleted", $search)
->orLike("t1.created_at", $search)
->orLike("t1.updated_at", $search)
->orLike("t2.id", $search)
->orLike("t1.tirada_min", $search)
->orLike("t1.tirada_max", $search)
->orLike("t1.paginas_min", $search)
->orLike("t1.paginas_max", $search)
->orLike("t1.precio_min", $search)
->orLike("t1.precio_max", $search)
->orLike("t1.user_created_id", $search)
->orLike("t1.user_updated_id", $search)
->orLike("t1.is_deleted", $search)
->orLike("t1.created_at", $search)
->orLike("t1.updated_at", $search)
->orLike("t2.id", $search)
->groupEnd();
}
@ -178,13 +172,13 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel
helper('general');
if(floatval($data["tirada_min"])>= floatval($data["tirada_max"])){
return lang('TarifaAcabadoLineas.validation.error_tirada_range');
if(floatval($data["paginas_min"])>= floatval($data["paginas_max"])){
return lang('TarifaAcabadoLineas.validation.error_paginas_range');
}
$rows = $this->db
->table($this->table)
->select("id, tirada_min, tirada_max")
->select("id, paginas_min, paginas_max")
->where("is_deleted", 0)
->where("tarifa_acabado_id", $id_tarifa_acabado)
->get()->getResultObject();
@ -196,9 +190,9 @@ class TarifaAcabadoLineaModel extends \App\Models\GoBaseModel
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');
if(check_overlap(floatval($data["paginas_min"]), floatval($data["paginas_max"]),
$row->paginas_min, $row->paginas_max)){
return lang('TarifaAcabadoLineas.validation.error_paginas_overlap');
}
}

View File

@ -0,0 +1,159 @@
<?php
namespace App\Models\Tarifas;
class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel
{
protected $table = "tarifa_encuadernacion_lineas";
/**
* Whether primary key uses auto increment.
*
* @var bool
*/
protected $useAutoIncrement = true;
const SORTABLE = [
0 => "t1.paginas_min",
1 => "t1.paginas_max",
2 => "t1.precio_min",
3 => "t1.precio_max",
];
protected $allowedFields = [
"tarifa_encuadernacion_id",
"paginas_min",
"paginas_max",
"precio_min",
"precio_max",
"user_created_id",
"is_deleted",
];
protected $returnType = "App\Entities\Tarifas\TarifaManipuladoLinea";
protected $useTimestamps = true;
protected $useSoftDeletes = false;
protected $createdField = "created_at";
protected $updatedField = "updated_at";
public static $labelField = "tarifa_encuadernacion_id";
protected $validationRules = [
"precio_max" => [
"label" => "TarifaManipuladoLineas.precioMax",
"rules" => "required|decimal",
],
"precio_min" => [
"label" => "TarifaManipuladoLineas.precioMin",
"rules" => "required|decimal",
],
"paginas_max" => [
"label" => "TarifaManipuladoLineas.paginasMax",
"rules" => "required|decimal",
],
"paginas_min" => [
"label" => "TarifaManipuladoLineas.paginasMin",
"rules" => "required|decimal",
],
"margen" => [
"label" => "TarifaManipuladoLineas.margen",
"rules" => "required|decimal",
],
];
protected $validationMessages = [
"precio_max" => [
"decimal" => "TarifaManipuladoLineas.validation.precio_max.decimal",
"required" => "TarifaManipuladoLineas.validation.precio_max.required",
],
"precio_min" => [
"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",
],
"paginas_min" => [
"decimal" => "TarifaManipuladoLineas.validation.paginas_min.decimal",
"required" => "TarifaManipuladoLineas.validation.paginas_min.required",
],
"margen" => [
"decimal" => "TarifaManipuladoLineas.validation.margen.decimal",
"required" => "TarifaManipuladoLineas.validation.margen.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.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("t1.is_deleted", 0);
$builder->join("tarifa_encuadernacion t2", "t1.tarifa_encuadernacion_id = t2.id", "left");
return empty($search)
? $builder
: $builder
->groupStart()
->like("t1.id", $search)
->orLike("t1.tarifa_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.paginas_min", $search)
->orLike("t1.paginas_max", $search)
->orLike("t1.precio_min", $search)
->orLike("t1.precio_max", $search)
->groupEnd();
}
public function checkIntervals($data = [], $id_linea = null, $id_tarifa_encuadernacion = null){
helper('general');
if(floatval($data["paginas_min"])>= floatval($data["paginas_max"])){
return lang('TarifaManipuladoLineas.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)
->get()->getResultObject();
foreach ($rows as $row) {
if (!is_null($id_linea)){
if($row->id == $id_linea){
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');
}
}
return "";
}
}

View File

@ -0,0 +1,91 @@
<?php
namespace App\Models\Tarifas;
class TarifaEncuadernacionModel extends \App\Models\GoBaseModel
{
protected $table = "tarifa_encuadernacion";
/**
* Whether primary key uses auto increment.
*
* @var bool
*/
protected $useAutoIncrement = true;
const SORTABLE = [
0 => "t1.nombre",
];
protected $allowedFields = [
"nombre",
"precio_min",
"importe_fijo",
"deleted_at",
"is_deleted",
"user_created_id",
"user_updated_id"
];
protected $returnType = "App\Entities\Tarifas\TarifaEncuadernacionEntity";
protected $useTimestamps = true;
protected $useSoftDeletes = false;
protected $createdField = "created_at";
protected $updatedField = "updated_at";
public static $labelField = "nombre";
protected $validationRules = [
"nombre" => [
"label" => "Tarifaencuadernacion.nombre",
"rules" => "trim|required|max_length[255]",
],
"precio_min" => [
"label" => "Tarifaencuadernacion.precioMin",
"rules" => "required|decimal",
],
"importe_fijo" => [
"label" => "Tarifaencuadernacion.importeFijo",
"rules" => "required|decimal",
],
];
protected $validationMessages = [
"nombre" => [
"max_length" => "Tarifaencuadernacion.validation.nombre.max_length",
"required" => "Tarifaencuadernacion.validation.nombre.required",
],
"precio_min" => [
"required" => "Tarifaencuadernacion.validation.precio_min.required",
"decimal" => "Tarifaencuadernacion.validation.precio_min.decimal",
],
"importe_fijo" => [
"required" => "Tarifaencuadernacion.validation.importe_fijo.required",
"decimal" => "Tarifaencuadernacion.validation.importe_fijo.decimal",
],
];
/**
* Get resource data.
*
* @param string $search
*
* @return \CodeIgniter\Database\BaseBuilder
*/
public function getResource(string $search = "")
{
$builder = $this->db->table($this->table . " t1")->select("t1.id AS id, t1.nombre AS nombre, t1.precio_min AS precio_min, t1.importe_fijo AS importe_fijo");
//JJO
$builder->where("t1.is_deleted", 0);
return empty($search)
? $builder
: $builder
->groupStart()
->like("t1.nombre", $search)
->groupEnd();
}
}

View File

@ -13,16 +13,16 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel
protected $useAutoIncrement = true;
const SORTABLE = [
0 => "t1.tirada_min",
1 => "t1.tirada_max",
0 => "t1.paginas_min",
1 => "t1.paginas_max",
2 => "t1.precio_min",
3 => "t1.precio_max",
];
protected $allowedFields = [
"tarifa_manipulado_id",
"tirada_min",
"tirada_max",
"paginas_min",
"paginas_max",
"precio_min",
"precio_max",
"user_created_id",
@ -49,12 +49,16 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel
"label" => "TarifaManipuladoLineas.precioMin",
"rules" => "required|decimal",
],
"tirada_max" => [
"label" => "TarifaManipuladoLineas.tiradaMax",
"paginas_max" => [
"label" => "TarifaManipuladoLineas.paginasMax",
"rules" => "required|decimal",
],
"tirada_min" => [
"label" => "TarifaManipuladoLineas.tiradaMin",
"paginas_min" => [
"label" => "TarifaManipuladoLineas.paginasMin",
"rules" => "required|decimal",
],
"margen" => [
"label" => "TarifaManipuladoLineas.margen",
"rules" => "required|decimal",
],
];
@ -68,13 +72,17 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel
"decimal" => "TarifaManipuladoLineas.validation.precio_min.decimal",
"required" => "TarifaManipuladoLineas.validation.precio_min.required",
],
"tirada_max" => [
"decimal" => "TarifaManipuladoLineas.validation.tirada_max.decimal",
"required" => "TarifaManipuladoLineas.validation.tirada_max.required",
"paginas_max" => [
"decimal" => "TarifaManipuladoLineas.validation.paginas_max.decimal",
"required" => "TarifaManipuladoLineas.validation.paginas_max.required",
],
"tirada_min" => [
"decimal" => "TarifaManipuladoLineas.validation.tirada_min.decimal",
"required" => "TarifaManipuladoLineas.validation.tirada_min.required",
"paginas_min" => [
"decimal" => "TarifaManipuladoLineas.validation.paginas_min.decimal",
"required" => "TarifaManipuladoLineas.validation.paginas_min.required",
],
"margen" => [
"decimal" => "TarifaManipuladoLineas.validation.margen.decimal",
"required" => "TarifaManipuladoLineas.validation.margen.required",
],
];
@ -90,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.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"
"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"
);
//JJO
$builder->where('tarifa_manipulado_id', $tarifa_manipulado_id);
@ -105,14 +113,14 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel
->groupStart()
->like("t1.id", $search)
->orLike("t1.tarifa_manipulado_id", $search)
->orLike("t1.tirada_min", $search)
->orLike("t1.tirada_max", $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_manipulado_id", $search)
->orLike("t1.tirada_min", $search)
->orLike("t1.tirada_max", $search)
->orLike("t1.paginas_min", $search)
->orLike("t1.paginas_max", $search)
->orLike("t1.precio_min", $search)
->orLike("t1.precio_max", $search)
->groupEnd();
@ -122,13 +130,13 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel
helper('general');
if(floatval($data["tirada_min"])>= floatval($data["tirada_max"])){
return lang('TarifaManipuladoLineas.validation.error_tirada_range');
if(floatval($data["paginas_min"])>= floatval($data["paginas_max"])){
return lang('TarifaManipuladoLineas.validation.error_paginas_range');
}
$rows = $this->db
->table($this->table)
->select("id, tirada_min, tirada_max")
->select("id, paginas_min, paginas_max")
->where("is_deleted", 0)
->where("tarifa_manipulado_id", $id_tarifa_manipulado)
->get()->getResultObject();
@ -140,9 +148,9 @@ class TarifaManipuladoLineaModel extends \App\Models\GoBaseModel
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');
if(check_overlap(floatval($data["paginas_min"]), floatval($data["paginas_max"]),
$row->paginas_min, $row->paginas_max)){
return lang('TarifaManipuladoLineas.validation.error_paginas_overlap');
}
}

View File

@ -76,7 +76,7 @@ class TarifaManipuladoModel extends \App\Models\GoBaseModel
*/
public function getResource(string $search = "")
{
$builder = $this->db->table($this->table . " t1")->select("t1.id AS id, t1.nombre AS nombre");
$builder = $this->db->table($this->table . " t1")->select("t1.id AS id, t1.nombre AS nombre, t1.precio_min AS precio_min, t1.importe_fijo AS importe_fijo");
//JJO
$builder->where("t1.is_deleted", 0);

View File

@ -14,6 +14,8 @@ class TarifaacabadoModel extends \App\Models\GoBaseModel
const SORTABLE = [
0 => "t1.nombre",
1 => "precio_min",
2 => "importe_fijo",
];
protected $allowedFields = [
@ -77,7 +79,7 @@ class TarifaacabadoModel extends \App\Models\GoBaseModel
public function getResource(string $search = "")
{
$builder = $this->db->table($this->table . " t1")->select(
"t1.id AS id, t1.nombre AS nombre"
"t1.id AS id, t1.nombre AS nombre, t1.precio_min AS precio_min, t1.importe_fijo AS importe_fijo"
);
//JJO

View File

@ -14,9 +14,10 @@ class TarifapreimpresionModel extends \App\Models\GoBaseModel
protected $allowedFields = [
"nombre",
"precio",
"precio_pagina",
"precio_min",
"importe_fijo",
"margen",
"deleted_at",
"is_deleted",
"user_created_id",
@ -49,6 +50,10 @@ class TarifapreimpresionModel extends \App\Models\GoBaseModel
"label" => "Tarifapreimpresion.importeFijo",
"rules" => "required|decimal",
],
"margen" => [
"label" => "Tarifapreimpresion.margen",
"rules" => "required|decimal",
],
];
protected $validationMessages = [
@ -68,5 +73,9 @@ class TarifapreimpresionModel extends \App\Models\GoBaseModel
"required" => "Tarifapreimpresion.validation.importe_fijo.required",
"decimal" => "Tarifapreimpresion.validation.importe_fijo.decimal",
],
"margen" => [
"required" => "Tarifapreimpresion.validation.margen.required",
"decimal" => "Tarifapreimpresion.validation.margen.decimal",
],
];
}