diff --git a/ci4/.env b/ci4/.env index 30ca6e01..c2ec8729 100755 --- a/ci4/.env +++ b/ci4/.env @@ -22,8 +22,8 @@ CI_ENVIRONMENT = development # APP #-------------------------------------------------------------------- -app.baseURL = 'https://sk-dev.imnavajas.es' -# app.baseURL = 'https://sk-jjo.imnavajas.es' +#app.baseURL = 'https://sk-dev.imnavajas.es' +app.baseURL = 'https://sk-jjo.imnavajas.es' # app.baseURL = 'https://sk-imn.imnavajas.es' # app.baseURL = "http://safekat.test/" # app.forceGlobalSecureRequests = false diff --git a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php index 20b2761b..31f68100 100755 --- a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php +++ b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php @@ -542,6 +542,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController $model = model('App\Models\Presupuestos\PresupuestoLineaModel'); $datos = $reqData['datos'] ?? null; + $presupuesto_id = $reqData['presupuesto_id'] ?? -1; $model->where("presupuesto_id", $presupuesto_id)->delete(); @@ -720,23 +721,25 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController } $linea['fields']['tipo_maquina'] = $maquina->is_inkjet?'inkjet':'toner'; - $linea['fields']['precio_hora'] = $precio_hora; + $linea['fields']['precio_hora'] = $precio_hora*(1+$margen_precio_hora/100.0); $linea['fields']['precio_hora_margen'] = $margen_precio_hora; $linea['fields']['horas_maquina'] = $tiempo; - $linea['fields']['precio_impresion_horas'] = $precio_hora*$tiempo*1.0; - $linea['fields']['margen_impresion_horas'] = $precio_hora*$tiempo*1.0*$margen_precio_hora/100.0; + $linea['fields']['precio_impresion_horas'] = $precio_hora*(1+$margen_precio_hora/100.0)*$tiempo; + $linea['fields']['margen_impresion_horas'] = $precio_hora*($margen_precio_hora/100.0)*$tiempo; if($maquina->is_inkjet){ - $linea['fields']['precio_pedido'] = $linea['fields']['precio_libro'] * ($datosPedido->tirada + $datosPedido->merma); + $linea['fields']['precio_pedido'] = $linea['fields']['precio_libro'] * ($datosPedido->tirada + $datosPedido->merma)*(1+$margen_pliego_impresion); $linea['fields']['margen_papel_pedido'] = $linea['fields']['pliegos_libro']*$margen_pliego_impresion* ($datosPedido->tirada + $datosPedido->merma); ; $linea['fields']['total_impresion'] = $linea['fields']['precio_pedido'] + // papel - $linea['fields']['precio_impresion_horas'] + $linea['fields']['margen_impresion_horas'] + // horas de maquina + $linea['fields']['precio_impresion_horas'] + // horas de maquina + $linea['fields']['precio_click_pedido'] + // precio clicks del pedido $linea['fields']['precio_tinta']; // tinta } else{ $linea['fields']['total_impresion'] = $linea['fields']['precio_pedido'] + // papel - $linea['fields']['precio_impresion_horas']; // impresion + $linea['fields']['precio_click_pedido'] + // precio clicks del pedido + $linea['fields']['precio_impresion_horas'] ; // horas de maquina } @@ -825,7 +828,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController // Se recorren las máquinas y se calcula el coste de linea por cada una foreach ($maquinas as $maquina) { - for ($i = 0; $i <= 1; $i++) { + for ($i = 1; $i <= 1; $i++) { // Para que por defecto salga sólo a favor de fibra $parametrosRotativa->a_favor_fibra = $i; @@ -896,18 +899,19 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController continue; } - $linea['fields']['precio_hora'] = $precio_hora; + $linea['fields']['precio_hora'] = $precio_hora*(1+$margen_precio_hora/100.0); $linea['fields']['precio_hora_margen'] = $margen_precio_hora; $linea['fields']['horas_maquina'] = $tiempo; - $linea['fields']['precio_impresion_horas'] = $precio_hora*$tiempo*1.0; - $linea['fields']['margen_impresion_horas'] = $precio_hora*$tiempo*1.0*$margen_precio_hora/100.0; + $linea['fields']['precio_impresion_horas'] = $precio_hora*(1+$margen_precio_hora/100.0)*$tiempo; + $linea['fields']['margen_impresion_horas'] = $precio_hora*($margen_precio_hora/100.0)*$tiempo; // total linea rotativa //$linea['fields']['total_impresion'] = $linea['fields']['precio_pedido'] + $linea['fields']['precio_click_pedido'] + $linea['fields']['precio_tinta'] + // $linea['fields']['total_corte']; $linea['fields']['total_impresion'] = $linea['fields']['precio_pedido'] + // papel - $linea['fields']['precio_impresion_horas'] + $linea['fields']['margen_impresion_horas'] + // horas de maquina + $linea['fields']['precio_click_pedido'] + // precio clicks del pedido + $linea['fields']['precio_impresion_horas'] + // horas de maquina $linea['fields']['precio_tinta'] + // tinta $linea['fields']['total_corte']; // corte diff --git a/ci4/app/Controllers/Test.php b/ci4/app/Controllers/Test.php index 0125bef9..2fb444c1 100755 --- a/ci4/app/Controllers/Test.php +++ b/ci4/app/Controllers/Test.php @@ -31,7 +31,13 @@ class Test extends BaseController var_dump($formas); echo '';*/ - $this->testLineasIntPlana(); + echo '
';
+        $tarifa_value = $this->get_tarifa_enc(18,150,22,150,210);
+        var_dump($tarifa_value[0]);
+        $model = model('App\Models\Presupuestos\PresupuestoEncuadernacionesModel');
+        $result = $model->calcularTarifa($tarifa_value[0], 150, true);
+        var_dump($result);
+        echo '
'; } private function asignar_tarifa_defecto_todos_usuarios() diff --git a/ci4/app/Services/PresupuestoService.php b/ci4/app/Services/PresupuestoService.php index 7f6eb7d4..fa031f48 100755 --- a/ci4/app/Services/PresupuestoService.php +++ b/ci4/app/Services/PresupuestoService.php @@ -70,7 +70,7 @@ class PresupuestoService extends BaseService // precio papel $pliegos_libro = ($datosPedido->paginas / 2.0) / $response['fields']['num_formas']['value']; $pliegos_pedido = $pliegos_libro * ($datosPedido->tirada + $datosPedido->merma); - $precio_libro = $pliegos_libro * $precio_pliego_impresion; + $precio_libro = $pliegos_libro * ($precio_pliego_impresion+$margen_pliego_impresion); $margen_papel_pedido = $pliegos_libro * $margen_pliego_impresion * ($datosPedido->tirada + $datosPedido->merma); $precio_pedido = $precio_libro * ($datosPedido->tirada + $datosPedido->merma); diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php index f0fbb3e8..3c072d60 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php @@ -84,6 +84,7 @@ const papelGenericoRotativaColorList = '+ ''+ ''+ @@ -111,7 +112,7 @@ function format(d) { ''+ '' + '
' + - '' + + '' + '
'+ '
' + "" + @@ -134,7 +135,7 @@ function format(d) { ''+ '
'+ '
' + - '' + + '' + '
'+ '' + '' + @@ -575,17 +576,6 @@ tableLineasPresupuesto.on('click', 'td.dt-control', function (e) { function processRowData(row, rowId, rowClass){ - $('#lp_bn_numeroPliegos').val() - $('#lp_bn_pliegosPedido').val() - $('#lp_bn_precioPliego').val() - $('#lp_bn_libro').val() - $('#lp_bn_totalPapelPedido').val() - $('#lp_bn_margenPapelPedido').val() - $('#lp_bn_lomo').val() - $('#lp_bn_peso').val() - $('#lp_bn_click').val() - $('#lp_bn_totalClicks').val() - var icon = "" if(rowId=='lp_bn'){ if(row.tipo_maquina=='toner') @@ -665,6 +655,8 @@ function processRowData(row, rowId, rowClass){ 'precioImpresion': isNaN(parseFloat(row.precio_impresion_horas)) ? "" : parseFloat(row.precio_impresion_horas).toFixed(2), 'margenImpresion': isNaN(parseFloat(row.margen_impresion_horas)) ? "" : parseFloat(row.margen_impresion_horas).toFixed(2), 'maquinaTipo': row.tipo_maquina, + 'check_papel_total': row.check_papel_total, + 'check_impresion_total': row.check_impresion_total, } if(row.tipo_maquina=='inkjet'){ @@ -982,26 +974,26 @@ $('#addLineasPresupuesto').on("change", function (e) { function update_total_linea(e){ total = 0 + var rowData = tableLineasPresupuesto.row('#' + e.data.id_linea).data() if($('#' + e.data.id_linea + '_checkPapel').prop('checked')){ total += parseFloat($('#' + e.data.id_linea + '_totalPapelPedido').val()) } if($('#' + e.data.id_linea + '_checkClicks').prop('checked')){ total += parseFloat($('#' + e.data.id_linea + '_precioImpresion').val()) - total += parseFloat($('#' + e.data.id_linea + '_margenImpresion').val()) + total += parseFloat($('#' + e.data.id_linea + '_totalClicks').val()) + + if (rowData.maquinaTipo == 'inkjet'){ + total += parseFloat(rowData.totalTinta) + } + if (e.data.id_linea.includes('rot_')){ + total += parseFloat(rowData.totalCorte) + } } - var rowData = tableLineasPresupuesto.row('#' + e.data.id_linea).data() - if (rowData.maquinaTipo == 'inkjet'){ - total += parseFloat(rowData.totalTinta) - } - if (e.data.id_linea.includes('rot_')){ - total += parseFloat(rowData.totalCorte) - } - rowData.total_linea = parseFloat(total).toFixed(2) tableLineasPresupuesto.row('#' + e.data.id_linea).data(rowData).draw(true) - + updateTotales(true, false, false) } endSection() ?> diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php index b33503e6..97f08a05 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php @@ -89,6 +89,7 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){ var margenPapel = 0 var totalImpresion = 0 + var totalImpresionforMargen = 0 var margenImpresion = 0 var totalServicios = 0 @@ -107,19 +108,30 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){ } if($('#' + rowData.row_id + '_checkClicks').prop('checked')){ totalImpresion += parseFloat($('#' + rowData.row_id + '_precioImpresion').val()) + totalImpresion += parseFloat($('#' + rowData.row_id + '_totalClicks').val()) + totalImpresionforMargen += parseFloat($('#' + rowData.row_id + '_precioImpresion').val()) + + if(rowData.maquinaTipo=='inkjet'){ + totalImpresion += parseFloat(rowData.totalTinta) + totalImpresion += parseFloat(rowData.totalCorte) + } margenImpresion += parseFloat($('#' + rowData.row_id + '_margenImpresion').val()) if(!isNaN(parseFloat($('#' + rowData.row_id + 'lp_bn_totalTinta').val()))) totalImpresion += parseFloat($('#' + rowData.row_id + 'lp_bn_totalTinta').val()) } }) } - + + totalImpresion -= margenImpresion + totalImpresionforMargen -= margenImpresion + totalPapel -= margenPapel + var porcentajeMargenPapel = isNaN(margenPapel/(totalPapel)*100)?0:margenPapel/(totalPapel)*100 $('#porcentajeMargenPapel').text(porcentajeMargenPapel.toFixed(0) + '%') $('#totalCostePapel').text(totalPapel.toFixed(2)+ '€') $('#margenPapel').text(margenPapel.toFixed(2) + '€') - var porcentajeMargenImpresion = isNaN(margenImpresion/(totalImpresion)*100)?0:margenImpresion/(totalImpresion)*100 + var porcentajeMargenImpresion = isNaN(margenImpresion/(totalImpresionforMargen)*100)?0:margenImpresion/(totalImpresionforMargen)*100 $('#porcentajeMargenImpresion').text(porcentajeMargenImpresion.toFixed(0) + '%') $('#totalCosteImpresion').text(totalImpresion.toFixed(2) + '€') $('#margenImpresion').text(margenImpresion.toFixed(2) + '€') diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/comparador.js b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/comparador.js index 8a72eb79..bd3c7adc 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/comparador.js +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/comparador.js @@ -112,8 +112,8 @@ $('.accordion-button').on('click', function (e) { *******************************/ function getRowFromLineaInt(tipo, linea) { - $precio_impresion = isNaN(parseFloat(linea.fields.precio_impresion_horas + linea.fields.margen_impresion_horas)) ? "" : - parseFloat(linea.fields.precio_impresion_horas + linea.fields.margen_impresion_horas).toFixed(2); + $precio_impresion = isNaN(parseFloat(linea.fields.precio_impresion_horas + linea.fields.margen_impresion_horas + linea.fields.precio_click_pedido)) ? "" : + parseFloat(linea.fields.precio_impresion_horas + linea.fields.margen_impresion_horas + linea.fields.precio_click_pedido).toFixed(2); return { @@ -132,8 +132,7 @@ function getRowFromLineaInt(tipo, linea) { 'peso': isNaN(parseFloat(linea.fields.peso)) ? "" : parseFloat(linea.fields.peso).toFixed(2), 'horasMaquina': isNaN(parseFloat(linea.fields.horas_maquina)) ? "" : parseFloat(linea.fields.horas_maquina).toFixed(2), 'precioImpresion': $precio_impresion, - 'total': isNaN(parseFloat(linea.fields.precio_pedido) + parseFloat($precio_impresion)) ? - "" : (parseFloat(linea.fields.precio_pedido) + parseFloat($precio_impresion)).toFixed(2), + 'total': isNaN(parseFloat(linea.fields.total_impresion).toFixed(2)) ? "" : parseFloat(linea.fields.total_impresion).toFixed(2), 'maquinaId': linea.fields.maquina_id, 'maquinaVelocidad': linea.fields.maquina_velocidad, 'tiempoMaquina': linea.fields.tiempo_maquina, @@ -145,8 +144,8 @@ function getRowFromLineaInt(tipo, linea) { function getRowFromLineaRot(linea) { - $precio_impresion = isNaN(parseFloat(linea.fields.precio_impresion_horas + linea.fields.margen_impresion_horas)) ? "" : - parseFloat(linea.fields.precio_impresion_horas + linea.fields.margen_impresion_horas).toFixed(2); + $precio_impresion = isNaN(parseFloat(linea.fields.precio_impresion_horas + linea.fields.precio_click_pedido)) ? "" : + parseFloat(linea.fields.precio_impresion_horas + linea.fields.precio_click_pedido).toFixed(2); return { 'tipo': 'rotativa',