From 5c72771fbe741a9f8725ed4efe0180c657a3886f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Wed, 18 Sep 2024 21:01:13 +0200 Subject: [PATCH] trabajando en los errores de calculo de tarifas --- ci4/app/Models/Compras/ProveedorModel.php | 1 + ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php | 7 +++++++ .../Models/Presupuestos/PresupuestoPreimpresionesModel.php | 6 ++++++ .../Models/Presupuestos/PresupuestoServiciosExtraModel.php | 6 ++++++ ci4/app/Models/Tarifas/TarifaextraModel.php | 3 ++- ci4/app/Models/Tarifas/TarifapreimpresionModel.php | 3 ++- 6 files changed, 24 insertions(+), 2 deletions(-) diff --git a/ci4/app/Models/Compras/ProveedorModel.php b/ci4/app/Models/Compras/ProveedorModel.php index 3e4d3fa0..d48e8d8e 100755 --- a/ci4/app/Models/Compras/ProveedorModel.php +++ b/ci4/app/Models/Compras/ProveedorModel.php @@ -209,6 +209,7 @@ class ProveedorModel extends \App\Models\BaseModel ->select( "t1.id AS value, t1.nombre AS label, t1.propiedades AS options") ->where("tipo_id", $tipoId) + ->where("is_deleted", 0) ->orderBy('t1.nombre', 'asc'); return $builder->get()->getResultObject(); diff --git a/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php b/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php index 08d98bfb..c0dcf401 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php @@ -283,6 +283,13 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel $total = $precio_unidad * $tirada; $margen = floatval($tarifa->margen); + if($tarifa->tarifa_precio_min > $total){ + $total = $total-($total * $margen/100.0); + $margen = round(100.0 * (floatval($tarifa->tarifa_precio_min) - $total) / floatval($tarifa->tarifa_precio_min), 0); + $total = floatval($tarifa->tarifa_precio_min); + $precio_unidad = round(floatval($total / $tirada), 2); + } + if (!$is_POD){ $total += floatval($tarifa->tarifa_importe_fijo); } diff --git a/ci4/app/Models/Presupuestos/PresupuestoPreimpresionesModel.php b/ci4/app/Models/Presupuestos/PresupuestoPreimpresionesModel.php index 209c0467..0f3ccb20 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoPreimpresionesModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoPreimpresionesModel.php @@ -78,6 +78,12 @@ class PresupuestoPreimpresionesModel extends \App\Models\BaseModel $precio = $precio * (1+ floatval($tarifa->margen)/100.0); $margen = $tarifa->margen; + if($tarifa->tarifa_precio_min > $precio){ + $precio = $precio-($precio * $margen/100.0); + $margen = round(100.0 * (floatval($tarifa->tarifa_precio_min) - $precio) / floatval($tarifa->tarifa_precio_min), 0); + $precio = floatval($tarifa->tarifa_precio_min); + } + return [$precio, $margen]; } diff --git a/ci4/app/Models/Presupuestos/PresupuestoServiciosExtraModel.php b/ci4/app/Models/Presupuestos/PresupuestoServiciosExtraModel.php index 60927b0e..e157eb25 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoServiciosExtraModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoServiciosExtraModel.php @@ -78,6 +78,12 @@ class PresupuestoServiciosExtraModel extends \App\Models\BaseModel $precio = $precio * (1+ floatval($tarifa->margen)/100.0); $margen = $tarifa->margen; + if($tarifa->tarifa_precio_min > $precio){ + $precio = $precio-($precio * $margen/100.0); + $margen = round(100.0 * (floatval($tarifa->tarifa_precio_min) - $precio) / floatval($tarifa->tarifa_precio_min), 0); + $precio = floatval($tarifa->tarifa_precio_min); + } + return [$precio, $margen]; } diff --git a/ci4/app/Models/Tarifas/TarifaextraModel.php b/ci4/app/Models/Tarifas/TarifaextraModel.php index 94b0c7e8..1ba6c8d2 100755 --- a/ci4/app/Models/Tarifas/TarifaextraModel.php +++ b/ci4/app/Models/Tarifas/TarifaextraModel.php @@ -101,7 +101,8 @@ class TarifaextraModel extends \App\Models\BaseModel $builder = $this->db ->table($this->table . " t1") ->select( - "t1.id AS tarifa_extra_id, t1.nombre AS tarifa_extra_nombre, t1.precio AS precio, t1.margen AS margen" + "t1.id AS tarifa_extra_id, t1.nombre AS tarifa_extra_nombre, t1.precio AS precio, t1.margen AS margen, + t1.precio_min AS tarifa_precio_min, t1.importe_fijo AS importe_fijo" ) ->where("t1.is_deleted", 0); //->where("t1.mostrar_en_presupuesto", 1) diff --git a/ci4/app/Models/Tarifas/TarifapreimpresionModel.php b/ci4/app/Models/Tarifas/TarifapreimpresionModel.php index bc9f83c9..e9ec2b35 100755 --- a/ci4/app/Models/Tarifas/TarifapreimpresionModel.php +++ b/ci4/app/Models/Tarifas/TarifapreimpresionModel.php @@ -101,7 +101,8 @@ class TarifapreimpresionModel extends \App\Models\BaseModel $builder = $this->db ->table($this->table . " t1") ->select( - "t1.id AS tarifa_preimpresion_id, t1.nombre AS tarifa_preimpresion_nombre, t1.precio AS precio, t1.margen AS margen" + "t1.id AS tarifa_preimpresion_id, t1.nombre AS tarifa_preimpresion_nombre, t1.precio AS precio, t1.margen AS margen, + t1.precio_min AS tarifa_precio_min, t1.importe_fijo AS importe_fijo" ) ->where("t1.is_deleted", 0); //->where("t1.mostrar_en_presupuesto", 1)