diff --git a/ci4/app/Entities/Tarifas/TarifaextraEntity.php b/ci4/app/Entities/Tarifas/TarifaextraEntity.php index 2ff79cd9..ac6b35eb 100755 --- a/ci4/app/Entities/Tarifas/TarifaextraEntity.php +++ b/ci4/app/Entities/Tarifas/TarifaextraEntity.php @@ -9,8 +9,6 @@ class TarifaextraEntity extends \CodeIgniter\Entity\Entity "id" => null, "nombre" => null, "precio" => null, - "precio_min" => 0, - "importe_fijo" => 0, "margen" => 0, "mostrar_en_presupuesto" => 1, "user_created_id" => 1, @@ -22,8 +20,6 @@ class TarifaextraEntity extends \CodeIgniter\Entity\Entity ]; protected $casts = [ "precio" => "float", - "precio_min" => "float", - "importe_fijo" => "float", "margen" => "float", "mostrar_en_presupuesto" => "int", "user_created_id" => "int", diff --git a/ci4/app/Entities/Tarifas/TarifapreimpresionEntity.php b/ci4/app/Entities/Tarifas/TarifapreimpresionEntity.php index 3f749913..a6ea7177 100755 --- a/ci4/app/Entities/Tarifas/TarifapreimpresionEntity.php +++ b/ci4/app/Entities/Tarifas/TarifapreimpresionEntity.php @@ -9,8 +9,6 @@ class TarifapreimpresionEntity extends \CodeIgniter\Entity\Entity "id" => null, "nombre" => null, "precio" => null, - "precio_min" => 0, - "importe_fijo" => 0, "margen" => 0, "mostrar_en_presupuesto" => 1, "user_created_id" => 1, @@ -22,8 +20,6 @@ class TarifapreimpresionEntity extends \CodeIgniter\Entity\Entity ]; protected $casts = [ "precio" => "float", - "precio_min" => "float", - "importe_fijo" => "float", "margen" => "float", "mostrar_en_presupuesto" => "int", "user_created_id" => "int", diff --git a/ci4/app/Language/en/Tarifamanipulado.php b/ci4/app/Language/en/Tarifamanipulado.php index da383fea..85d90b74 100755 --- a/ci4/app/Language/en/Tarifamanipulado.php +++ b/ci4/app/Language/en/Tarifamanipulado.php @@ -13,7 +13,7 @@ return [ 'nombre' => 'Name', 'precioMax' => 'Price Max', 'precioMin' => 'Price Min', - 'precioMin' => 'Min Price', + 'importeMinimo' => 'Min Price', 'importeFijo' => 'Fixed amount', 'mostrar_en_presupuesto' => 'Show in budget', 'margen' => 'Margin', diff --git a/ci4/app/Language/en/Tarifapreimpresion.php b/ci4/app/Language/en/Tarifapreimpresion.php index 6afb8095..39f63772 100755 --- a/ci4/app/Language/en/Tarifapreimpresion.php +++ b/ci4/app/Language/en/Tarifapreimpresion.php @@ -19,6 +19,7 @@ return [ 'updatedAt' => 'Updated At', 'userCreatedId' => 'User Created ID', 'userUpdateId' => 'User Update ID', + 'coste' => 'Cost', 'validation' => [ 'nombre' => [ 'max_length' => 'The {field} field cannot exceed {param} characters in length.', diff --git a/ci4/app/Language/es/Tarifaextra.php b/ci4/app/Language/es/Tarifaextra.php index 67fd257d..3d640b2b 100755 --- a/ci4/app/Language/es/Tarifaextra.php +++ b/ci4/app/Language/es/Tarifaextra.php @@ -18,6 +18,7 @@ return [ 'updatedAt' => 'Actualizado en', 'userCreatedId' => 'ID Usuario \"Creado en\"', 'userUpdateId' => 'ID Usuario \"Actualizado en\"', + 'coste' => 'Coste', 'validation' => [ 'nombre' => [ 'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.', diff --git a/ci4/app/Language/es/Tarifamanipulado.php b/ci4/app/Language/es/Tarifamanipulado.php index 9e391d46..20079ddb 100755 --- a/ci4/app/Language/es/Tarifamanipulado.php +++ b/ci4/app/Language/es/Tarifamanipulado.php @@ -10,6 +10,7 @@ return [ 'id' => 'ID', 'moduleTitle' => 'Tarifas Manipulado', 'nombre' => 'Nombre', + 'importeMinimo' => 'Importe mínimo', 'precioMax' => 'Precio T. Mín', 'precioMin' => 'Precio T. Máx', 'importeFijo' => 'Importe Fijo', diff --git a/ci4/app/Language/es/Tarifapreimpresion.php b/ci4/app/Language/es/Tarifapreimpresion.php index d8be90cb..80a0562a 100755 --- a/ci4/app/Language/es/Tarifapreimpresion.php +++ b/ci4/app/Language/es/Tarifapreimpresion.php @@ -18,6 +18,7 @@ return [ 'updatedAt' => 'Actualizado en', 'userCreatedId' => 'ID Usuario \"Creado en\"', 'userUpdateId' => 'ID Usuario \"Actualizado en\"', + 'coste' => 'Coste', 'validation' => [ 'nombre' => [ 'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.', 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/PresupuestoEncuadernacionesModel.php b/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php index 3958b2ec..f8af0109 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php @@ -324,6 +324,13 @@ class PresupuestoEncuadernacionesModel extends \App\Models\BaseModel $total = $precio_unidad * $ejemplares; $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 / $ejemplares), 2); + } + if (!$is_POD){ $total += floatval($tarifa->tarifa_importe_fijo); } diff --git a/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php b/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php index f2dc2638..8612e8a4 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php @@ -84,6 +84,13 @@ class PresupuestoManipuladosModel 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..a2828855 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoPreimpresionesModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoPreimpresionesModel.php @@ -69,7 +69,6 @@ class PresupuestoPreimpresionesModel extends \App\Models\BaseModel ]; return $ret_array; } - return []; } private function calcularTarifa($tarifa){ diff --git a/ci4/app/Models/Tarifas/TarifaextraModel.php b/ci4/app/Models/Tarifas/TarifaextraModel.php index 94b0c7e8..476550f7 100755 --- a/ci4/app/Models/Tarifas/TarifaextraModel.php +++ b/ci4/app/Models/Tarifas/TarifaextraModel.php @@ -15,8 +15,6 @@ class TarifaextraModel extends \App\Models\BaseModel protected $allowedFields = [ "nombre", "precio", - "precio_min", - "importe_fijo", "margen", "mostrar_en_presupuesto", "deleted_at", @@ -39,14 +37,6 @@ class TarifaextraModel extends \App\Models\BaseModel "label" => "Tarifaextra.nombre", "rules" => "trim|required|max_length[255]", ], - "precio" => [ - "label" => "Tarifaextra.precio", - "rules" => "required|decimal", - ], - "precio_min" => [ - "label" => "Tarifaextra.precioMin", - "rules" => "required|decimal", - ], "importe_fijo" => [ "label" => "Tarifaextra.importeFijo", "rules" => "required|decimal", @@ -66,14 +56,6 @@ class TarifaextraModel extends \App\Models\BaseModel "decimal" => "Tarifaextra.validation.precio.decimal", "required" => "Tarifaextra.validation.precio.required", ], - "precio_min" => [ - "required" => "Tarifaextra.validation.precio_min.required", - "decimal" => "Tarifaextra.validation.precio_min.decimal", - ], - "importe_fijo" => [ - "required" => "Tarifaextra.validation.importe_fijo.required", - "decimal" => "Tarifaextra.validation.importe_fijo.decimal", - ], "margen" => [ "required" => "Tarifaextra.validation.margen.required", "decimal" => "Tarifaextra.validation.margen.decimal", diff --git a/ci4/app/Models/Tarifas/TarifapreimpresionModel.php b/ci4/app/Models/Tarifas/TarifapreimpresionModel.php index bc9f83c9..6bb1391f 100755 --- a/ci4/app/Models/Tarifas/TarifapreimpresionModel.php +++ b/ci4/app/Models/Tarifas/TarifapreimpresionModel.php @@ -15,8 +15,6 @@ class TarifapreimpresionModel extends \App\Models\BaseModel protected $allowedFields = [ "nombre", "precio", - "precio_min", - "importe_fijo", "margen", "mostrar_en_presupuesto", "deleted_at", @@ -43,14 +41,6 @@ class TarifapreimpresionModel extends \App\Models\BaseModel "label" => "Tarifapreimpresion.precio", "rules" => "required|decimal", ], - "precio_min" => [ - "label" => "Tarifapreimpresion.precioMin", - "rules" => "required|decimal", - ], - "importe_fijo" => [ - "label" => "Tarifapreimpresion.importeFijo", - "rules" => "required|decimal", - ], "margen" => [ "label" => "Tarifapreimpresion.margen", "rules" => "required|decimal", @@ -66,14 +56,6 @@ class TarifapreimpresionModel extends \App\Models\BaseModel "decimal" => "Tarifapreimpresion.validation.precio.decimal", "required" => "Tarifapreimpresion.validation.precio.required", ], - "precio_min" => [ - "required" => "Tarifapreimpresion.validation.precio_min.required", - "decimal" => "Tarifapreimpresion.validation.precio_min.decimal", - ], - "importe_fijo" => [ - "required" => "Tarifapreimpresion.validation.importe_fijo.required", - "decimal" => "Tarifapreimpresion.validation.importe_fijo.decimal", - ], "margen" => [ "required" => "Tarifapreimpresion.validation.margen.required", "decimal" => "Tarifapreimpresion.validation.margen.decimal", diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_disenioLibroItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_disenioLibroItems.php index a646b22d..0516df66 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_disenioLibroItems.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_disenioLibroItems.php @@ -200,62 +200,80 @@
Color del interior
- -
- -
+ +
+ +
- color_impresion == 'negro' ? ' checked=""': ''); ?> >
+ +
+
Blanco y Negro Estándar
+
-
+ +
color_impresion == 'negroHq' ? ' checked=""': ''); ?> >
+ +
+
Blanco y Negro Premium
+
+
-
-
- -
+ +
+ +
- color_impresion == 'color' ? ' checked=""': ''); ?> >
+ +
+
Color Estándar
+
-
+ +
color_impresion == 'colorHq' ? ' checked=""': ''); ?> >
+ +
+
Color Premium
+
- -
-
+
+
diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.js b/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.js index 436c2340..788b269f 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.js +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.js @@ -204,6 +204,11 @@ function init_servicio_acabado(){ else if (element.sobrecubierta == 1){ nombre_completo += ' (' + window.Presupuestos.sobrecubierta + ')' } + + var precio_unidad = parseFloat(element.precio_unidad).toFixed(2) + var margen = parseFloat(element.margen).toFixed(2) + var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2) + tableServiciosAcabado.row.add([ element.tarifa_acabado_id, nombre_completo, @@ -212,9 +217,9 @@ function init_servicio_acabado(){ element.proveedor + '' + '', - '' + parseFloat(element.precio_unidad).toFixed(2) + '', + '' + precio_unidad_coste + ' / ' + precio_unidad + '', '', - '', + '', '' ]).draw(false) @@ -300,10 +305,14 @@ function select_acabado_event(){ url: window.routes_servicios.dataTableOfPresupuestoAcabados, data: datos, success: function (data) { + + var precio_unidad = parseFloat(data.values[0].precio_unidad).toFixed(2) + var margen = parseFloat(data.values[0].margen).toFixed(2) + var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2) - $('#precio_unidad_acabado_' + datos.tarifa_acabado_id).text(parseFloat(data.values[0].precio_unidad).toFixed(2)) + $('#precio_unidad_acabado_' + datos.tarifa_acabado_id).text(precio_unidad_coste + ' / ' + precio_unidad) $('#precio_total_acabado_' + datos.tarifa_acabado_id).val(parseFloat(data.values[0].total).toFixed(2)) - $('#acabado_margen_' + datos.tarifa_acabado_id).val(parseFloat(data.values[0].margen).toFixed(2)) + $('#acabado_margen_' + datos.tarifa_acabado_id).val(margen) yeniden(data[window.csrf_token]); return true; @@ -366,6 +375,10 @@ function get_tarifas_acabado(tarifa_id = -1, uso=null){ if(uso!= null) nombre += ' (' + uso + ')' + var precio_unidad = parseFloat(row.precio_unidad).toFixed(2) + var margen = parseFloat(row.margen).toFixed(2) + var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2) + tableServiciosAcabado.row.add([ row.tarifa_id, nombre, @@ -374,9 +387,9 @@ function get_tarifas_acabado(tarifa_id = -1, uso=null){ row.proveedor + '' + '', - '' + parseFloat(row.precio_unidad).toFixed(2) + '', + '' + precio_unidad_coste + ' / ' + precio_unidad + '', '', - '', + '', '' ]).draw(false) @@ -550,7 +563,7 @@ function get_datos_acabado(){ values['proveedor_id'] = $(this).children(":first").select2('data')[0].id break case 3: - values['precio_unidad'] = $(this).text() + values['precio_unidad'] = $(this).text().split('/')[1].trim() break case 4: values['precio_total'] = $(this).children(":first").val() @@ -653,6 +666,10 @@ function init_servicio_encuadernado(){ const tarifa_id = element.tarifa_encuadernado_id var proveedor_nombre = element.proveedor===null? window.Presupuestos.no_disponible: element.proveedor + var precio_unidad = parseFloat(element.precio_unidad).toFixed(2) + var margen = parseFloat(element.margen).toFixed(0) + var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2) + var linea = [ element.tarifa_encuadernado_id, element.nombre, @@ -661,11 +678,11 @@ function init_servicio_encuadernado(){ proveedor_nombre + '' + '', - '' + parseFloat(element.precio_unidad).toFixed(2) + '', + '' + precio_unidad_coste + ' / ' + precio_unidad + '', (element.hasOwnProperty('paginas_por_cuadernillo') && element.paginas_por_cuadernillo!=null)?selectForCuadernillos(element.tarifa_encuadernado_id, element.paginas_por_cuadernillo):'', '' + convertirTiempo(element.tiempo) + '', '', - '', + '', '' ] @@ -814,11 +831,15 @@ function select_enc_event(){ url: window.routes_servicios.dataTableOfPresupuestoEncuadernaciones, data: datos, success: function (data) { + + var precio_unidad = parseFloat(data.values[0].precio_unidad).toFixed(2) + var margen = parseFloat(data.values[0].margen).toFixed(0) + var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2) - $('#precio_unidad_encuadernado_' + datos.tarifa_encuadernacion_id).text(parseFloat(data.values[0].precio_unidad).toFixed(2)) + $('#precio_unidad_encuadernado_' + datos.tarifa_encuadernacion_id).text(precio_unidad_coste + ' / ' + precio_unidad) $('#tiempo_encuadernado_' + datos.tarifa_encuadernacion_id).text(convertirTiempo(data.values[0].tiempo)) $('#precio_total_encuadernado_' + datos.tarifa_encuadernacion_id).val(parseFloat(data.values[0].total).toFixed(2)) - $('#enc_margen_' + datos.tarifa_encuadernacion_id).val(parseFloat(data.values[0].margen).toFixed(2)) + $('#enc_margen_' + datos.tarifa_encuadernacion_id).val(margen) yeniden(data[window.csrf_token]); return true; @@ -889,6 +910,10 @@ async function get_tarifas_enc(tipo=null, tarifa_id = -1){ tableServiciosEnc.clear().draw() data.values.forEach((row) => { + + var precio_unidad = parseFloat(row.precio_unidad).toFixed(2) + var margen = parseFloat(row.margen).toFixed(0) + var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2) tableServiciosEnc.row.add([ row.tarifa_id, @@ -898,11 +923,11 @@ async function get_tarifas_enc(tipo=null, tarifa_id = -1){ row.proveedor + '' + '', - '' + parseFloat(row.precio_unidad).toFixed(2) + '', + '' + precio_unidad_coste + ' / ' + precio_unidad + '', (row.hasOwnProperty('paginas_por_cuadernillo') && row.paginas_por_cuadernillo!=null)?selectForCuadernillos(row.tarifa_id, 32):'', '' + convertirTiempo(row.tiempo) + '', '', - '', + '', '' ]).draw(false) @@ -1008,7 +1033,7 @@ function get_datos_encuadernacion(){ values['proveedor_id'] = $(this).children(":first").select2('data')[0].id break case 3: - values['precio_unidad'] = $(this).text() + values['precio_unidad'] = $(this).text().split('/')[1].trim() break case 4: values['paginas_por_cuadernillo'] = $(this).children(":first").val() @@ -1122,13 +1147,17 @@ function init_servicio_manipulado(){ }) window.serviciosmanipuladoList.forEach((element) =>{ + + var precio_unidad = parseFloat(element.precio_unidad).toFixed(2) + var margen = parseFloat(element.margen).toFixed(0) + var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2) tableServiciosManipulado.row.add([ element.tarifa_manipulado_id, element.nombre, - '' + parseFloat(element.precio_unidad).toFixed(2) + '', + '' + precio_unidad_coste + ' / ' + precio_unidad + '', '', - '', + '', '' ]).draw(false) @@ -1202,12 +1231,16 @@ async function get_tarifas_manipulado(tipo=null, tarifa_id = -1){ data.values.forEach((row) => { + var precio_unidad = parseFloat(row.precio_unidad).toFixed(2) + var margen = parseFloat(row.margen).toFixed(0) + var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2) + tableServiciosManipulado.row.add([ row.tarifa_id, row.tarifa_nombre, - '' + parseFloat(row.precio_unidad).toFixed(2) + '', + '' + precio_unidad_coste + ' / ' + precio_unidad + '', '', - '', + '', '' ]).draw(false) @@ -1276,7 +1309,7 @@ function get_datos_manipulado(){ values['tarifa_id'] = $(this).text() break case 2: - values['precio_unidad'] = $(this).text() + values['precio_unidad'] = $(this).text().split('/')[1].trim() break case 3: values['precio_total'] = $(this).children(":first").val() @@ -1374,11 +1407,16 @@ function init_servicio_preimpresion(){ window.serviciospreimpresionList.forEach((element) =>{ + var precio = parseFloat(element.precio).toFixed(2) + var margen = parseFloat(element.margen).toFixed(2) + var coste = (precio/(1+margen/100)).toFixed(2) + tableServiciosPreimpresion.row.add([ element.tarifa_preimpresion_id, element.nombre, - '', - '', + '' + coste + '', + '', + '', '' ]).draw(false) @@ -1433,10 +1471,15 @@ function get_tarifas_preimpresion(tarifa_id = -1){ success: function (data) { data.values.forEach((row) => { + + var precio = parseFloat(row.precio).toFixed(2) + var margen = parseFloat(row.margen).toFixed(2) + var coste = (precio/(1+margen/100)).toFixed(2) tableServiciosPreimpresion.row.add([ row.tarifa_id, row.tarifa_nombre, + '' + coste + '', '', '', '' @@ -1528,10 +1571,10 @@ function get_datos_preimpresion(){ case 0: values['tarifa_id'] = $(this).text() break - case 2: + case 3: values['precio'] = $(this).children(":first").val() break - case 3: + case 4: values['margen'] = $(this).text() break } @@ -1627,11 +1670,16 @@ function init_servicio_extra(){ window.serviciosextraList.forEach((element) =>{ + var precio = parseFloat(element.precio).toFixed(2) + var margen = parseFloat(element.margen).toFixed(2) + var coste = (precio/(1+margen/100)).toFixed(2) + tableServiciosExtra.row.add([ element.tarifa_extra_id, element.nombre, - '', - '', + '' + coste + '', + '', + '', '' ]).draw(false) @@ -1687,11 +1735,16 @@ function get_tarifas_extra(tarifa_id = -1){ data.values.forEach((row) => { + var precio = parseFloat(row.precio).toFixed(2) + var margen = parseFloat(row.margen).toFixed(2) + var coste = (precio/(1+margen/100)).toFixed(2) + tableServiciosExtra.row.add([ row.tarifa_id, row.tarifa_nombre, - '', - '', + '' + coste + '', + '', + '', '' ]).draw(false) @@ -1744,10 +1797,10 @@ function get_datos_serviciosextra(){ case 0: values['tarifa_id'] = $(this).text() break - case 2: + case 3: values['precio'] = $(this).children(":first").val() break - case 3: + case 4: values['margen'] = $(this).text() break } @@ -1872,6 +1925,11 @@ async function actualizar_servicios(update_preimpresion=false){ .then(response => response.json()) .then(data => { data.lines.forEach((line) => { + + var precio_unidad = parseFloat(line[0].precio_unidad).toFixed(2) + var margen = parseFloat(line[0].margen).toFixed(0) + var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2) + $('#proveedor_acabado_' + line[0].tarifa_id).off('change') if(line[0].hasOwnProperty('proveedor_id')){ $('#proveedor_acabado_' + line[0].tarifa_id) @@ -1881,9 +1939,9 @@ async function actualizar_servicios(update_preimpresion=false){ $('#proveedor_acabado_' + line[0].tarifa_id).empty() .append('') } - $('#precio_unidad_acabado_' + line[0].tarifa_id).text(parseFloat(line[0].precio_unidad).toFixed(2)) + $('#precio_unidad_acabado_' + line[0].tarifa_id).text(precio_unidad_coste + " / " + precio_unidad) $('#precio_total_acabado_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2)) - $('#acabado_margen_' + line[0].tarifa_id).text(parseFloat(line[0].margen).toFixed(2)) + $('#acabado_margen_' + line[0].tarifa_id).text(margen) $('#proveedor_acabado_' + line[0].tarifa_id).on('change', select_enc_event) }); check_serv_acabado_error() @@ -1900,6 +1958,10 @@ async function actualizar_servicios(update_preimpresion=false){ .then(response => response.json()) .then(data => { data.lines.forEach((line) => { + + var precio_unidad = parseFloat(line[0].precio_unidad).toFixed(2) + var margen = parseFloat(line[0].margen).toFixed(0) + var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2) $('#proveedor_enc_' + line[0].tarifa_id).off('change') if(line[0].hasOwnProperty('proveedor_id')){ @@ -1910,9 +1972,9 @@ async function actualizar_servicios(update_preimpresion=false){ $('#proveedor_enc_' + line[0].tarifa_id).empty() .append('') } - $('#precio_unidad_encuadernado_' + line[0].tarifa_id).text(parseFloat(line[0].precio_unidad).toFixed(2)) + $('#precio_unidad_encuadernado_' + line[0].tarifa_id).text(precio_unidad_coste + " / " + precio_unidad) $('#precio_total_encuadernado_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2)) - $('#enc_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2)) + $('#enc_margen_' + line[0].tarifa_id).val(margen) $('#proveedor_enc_' + line[0].tarifa_id).on('change', select_enc_event) }); check_serv_enc_error() @@ -1928,9 +1990,14 @@ async function actualizar_servicios(update_preimpresion=false){ .then(response => response.json()) .then(data => { data.lines.forEach((line) => { - $('#precio_unidad_manipulado_' + line[0].tarifa_id).text(parseFloat(line[0].precio_unidad).toFixed(2)) + + var precio_unidad = parseFloat(line[0].precio_unidad).toFixed(2) + var margen = parseFloat(line[0].margen).toFixed(0) + var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2) + + $('#precio_unidad_manipulado_' + line[0].tarifa_id).text(precio_unidad_coste + " / " + precio_unidad) $('#precio_total_manipulado_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2)) - $('#manipulado_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2)) + $('#manipulado_margen_' + line[0].tarifa_id).val(margen) }); check_serv_manipulado_error() yeniden(data[window.csrf_token]); @@ -1947,8 +2014,14 @@ async function actualizar_servicios(update_preimpresion=false){ .then(data => { data.lines.forEach((line) => { - $('#precio_preimpresion_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2)) - $('#preimpresion_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2)) + + var precio = parseFloat(line[0].total).toFixed(2) + var margen = parseFloat(line[0].margen).toFixed(2) + var coste = (precio/(1+margen/100)).toFixed(2) + + $('#coste_preimprecion_' + line[0].tarifa_id).text(coste) + $('#precio_preimpresion_' + line[0].tarifa_id).val(precio) + $('#preimpresion_margen_' + line[0].tarifa_id).val(margen) }); check_serv_preimpresion_error() yeniden(data[window.csrf_token]); @@ -1965,10 +2038,15 @@ async function actualizar_servicios(update_preimpresion=false){ }) .then(response => response.json()) .then(data => { - + + var precio = parseFloat(data[0].total).toFixed(2) + var margen = parseFloat(data[0].margen).toFixed(2) + var coste = (precio/(1+margen/100)).toFixed(2) + data.lines.forEach((line) => { - $('#precio_serviciosextra_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2)) - $('#serviciosextra_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2)) + $('#coste_servicioextra_' + line[0].tarifa_id).text(coste) + $('#precio_serviciosextra_' + line[0].tarifa_id).val(precio) + $('#serviciosextra_margen_' + line[0].tarifa_id).val(margen) }); check_serv_preimpresion_error(); yeniden(data[window.csrf_token]); diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php index e54931d2..12c35b60 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php @@ -129,6 +129,7 @@ + @@ -246,6 +247,7 @@ + diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php index b94964b1..26574a53 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php @@ -47,7 +47,8 @@
Total Costes
total_costes) ?>€
Total Margen
-
total_margenes) ?>€
+
total_margenes/($presupuestoEntity->total_costes+$presupuestoEntity->total_margenes),0)) ?>%
+
total_margenes) ?>€

diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestos.js b/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestos.js index 5c74d4d5..1e6180d3 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestos.js +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestos.js @@ -16,7 +16,11 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){ var sumForFactor = 0.0 var sumForFactorPonderado = 0.0 + + var margenPorHoras = 0.0; + if(updateLP){ + if(typeof $("#tableLineasPresupuesto").DataTable() !== 'undefined'){ $("#tableLineasPresupuesto").DataTable().rows().every( function ( rowIdx, tableLoop, rowLoop ) { var rowData = this.data(); @@ -30,7 +34,8 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){ } if(rowData.check_impresion_total){ - totalImpresion += parseFloat($('#' + rowData.row_id + '_precioImpresion').val()) + //totalImpresion += parseFloat($('#' + rowData.row_id + '_precioImpresion').val()) + margenPorHoras += parseFloat($('#' + rowData.row_id + '_precioImpresion').val()) totalImpresion += parseFloat($('#' + rowData.row_id + '_totalClicks').val()) sumForFactor += parseFloat($('#' + rowData.row_id + '_totalClicks').val()) @@ -41,8 +46,10 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){ sumForFactor += (parseFloat(rowData.totalTinta) + parseFloat(rowData.totalCorte)) } - margenImpresion += parseFloat($('#' + rowData.row_id + '_margenImpresion').val()) + //margenImpresion += parseFloat($('#' + rowData.row_id + '_margenImpresion').val()) + //margenPorHoras += parseFloat($('#' + rowData.row_id + '_margenImpresion').val()) margenImpresion += parseFloat($('#' + rowData.row_id + '_margenClicks').val()) + sumForFactor -= parseFloat($('#' + rowData.row_id + '_margenClicks').val()) @@ -56,6 +63,8 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){ totalImpresion -= margenImpresion totalPapel -= margenPapel + + margenImpresion += margenPorHoras var porcentajeMargenPapel = isNaN(margenPapel/(totalPapel)*100.0)?0:margenPapel/(totalPapel)*100.0 $('#porcentajeMargenPapel').text(porcentajeMargenPapel.toFixed(0) + '%') @@ -150,7 +159,7 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){ sumForFactorPonderado += totalServicios; - var porcentajeMargenServicios = margenServicios/(margenServicios+totalServicios)*100 + var porcentajeMargenServicios = margenServicios/(totalServicios)*100 $('#porcentajeMargenServicios').text(isNaN(porcentajeMargenServicios.toFixed(0))?0:porcentajeMargenServicios.toFixed(0) + '%') $('#totalServicios').text((addSeparatorsNF(totalServicios.toFixed(2), ".", ",", ".")) + "€") $('#margenServicios').text((addSeparatorsNF(margenServicios.toFixed(2), ".", ",", ".")) + "€") @@ -189,10 +198,13 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){ var totalCostes = parseFloat(totalPapel.toFixed(2)) + parseFloat(totalImpresion.toFixed(2)) + parseFloat(totalServicios.toFixed(2)) + parseFloat(totalEnvios.toFixed(2)) var totalMargenes = parseFloat(margenPapel.toFixed(2)) + parseFloat(margenImpresion.toFixed(2)) + parseFloat(margenServicios.toFixed(2)) + parseFloat(margenEnvios.toFixed(2)) + var porcentajeMargen = (100*totalMargenes/(totalCostes+totalMargenes)).toFixed(0) $('#totalCostes').text((addSeparatorsNF(totalCostes.toFixed(2), ".", ",", ".")) + "€") $('#totalMargenes').text((addSeparatorsNF(totalMargenes.toFixed(2), ".", ",", ".")) + "€") $('#totalCostes').attr('val',(totalCostes).toFixed(2) + '€') $('#totalMargenes').attr('val',(totalMargenes).toFixed(2) + '€') + $('#porcentajeMargen').text(porcentajeMargen + '%') + $('#porcentajeMargen').attr('val',porcentajeMargen) if($('#total_descuentoPercent').val()<0){ $('#total_descuentoPercent').val(0) diff --git a/ci4/app/Views/themes/vuexy/form/tarifas/extra/_tarifaextraFormItems.php b/ci4/app/Views/themes/vuexy/form/tarifas/extra/_tarifaextraFormItems.php index 7980c60e..a51d2a8b 100644 --- a/ci4/app/Views/themes/vuexy/form/tarifas/extra/_tarifaextraFormItems.php +++ b/ci4/app/Views/themes/vuexy/form/tarifas/extra/_tarifaextraFormItems.php @@ -31,34 +31,6 @@ >
-
- - -
- -
- - -
-
-
- - -
- -
- - -
- +