diff --git a/ci4/.env b/ci4/.env index 8b1ca0f3..36deb431 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-imn.imnavajas.es' +app.baseURL = 'https://sk-dev.imnavajas.es' +#app.baseURL = 'https://sk-imn.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 81498f33..3329774e 100755 --- a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php +++ b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php @@ -537,7 +537,12 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController $datosPedido->solapas = $reqData['solapas']; $datosPedido->solapas_ancho = $reqData['solapas_ancho']; + $datosPedido->lomo = $reqData['lomo']; + if($type=='sobrecubierta') + $datosPedido->lomo_cubierta = $reqData['lomo_cubierta']; + + $datosPedido->anchoExteriores = PresupuestoService::getAnchoTotalExteriores($datosPedido); // Cubierta y sobrecubierta siempre color HQ $resourceData = $this->getCompIntData($type, $datosPedido, $papel_generico, $gramaje, $isColor, 1, $cliente_id); diff --git a/ci4/app/Controllers/Test.php b/ci4/app/Controllers/Test.php index 2fb444c1..21085c2a 100755 --- a/ci4/app/Controllers/Test.php +++ b/ci4/app/Controllers/Test.php @@ -17,12 +17,18 @@ class Test extends BaseController public function index() { - - /* - $maquina_id = 114; + echo '
';
+        $maquina_id = 63;
         $maquina_model = model('App\Models\Configuracion\MaquinaModel');
         $maquina = $maquina_model->find($maquina_id);
-        $formas = PresupuestoService::getNumFormasPlana('interior', $maquina, 150, 210, true);
+        $formas = PresupuestoService::getNumFormasPlana('cubierta', $maquina, 493.2, 210, true);
+        
+        
+        var_dump($formas);
+
+        echo '
'; + /* + $linea = PresupuestoService::getCostesLinea('interior', $datosPedido, $maquina, $papel, $opciones_papel, $tarifa); @@ -30,14 +36,14 @@ class Test extends BaseController var_dump($formas); - echo '';*/ + echo ''; 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 '
'; + echo '';*/ } private function asignar_tarifa_defecto_todos_usuarios() diff --git a/ci4/app/Services/PresupuestoService.php b/ci4/app/Services/PresupuestoService.php index e28c3ab8..b5fdf366 100755 --- a/ci4/app/Services/PresupuestoService.php +++ b/ci4/app/Services/PresupuestoService.php @@ -43,7 +43,9 @@ class PresupuestoService extends BaseService $response['fields'] = []; if ($uso!='rotativa') { - $formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $datosPedido->ancho, $datosPedido->alto, $datosPedido->isCosido); + + $ancho_calculo = ($uso=='cubierta' || $uso=='sobrecubierta') ? $datosPedido->anchoExteriores : $datosPedido->ancho; + $formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $ancho_calculo, $datosPedido->alto, $datosPedido->isCosido); $response['fields'] = $formas; } @@ -103,7 +105,7 @@ class PresupuestoService extends BaseService $mano = PresupuestoService::computeLomoPortada($papel_impresion->espesor); // peso - $ancho_total = $datosPedido->solapas? $datosPedido->ancho + $datosPedido->solapas_ancho:$datosPedido->ancho; + $ancho_total = $datosPedido->anchoExteriores + $mano; $peso = PresupuestoService::computePeso($ancho_total, $datosPedido->alto, $papel_impresion->gramaje); // impresion @@ -459,16 +461,18 @@ class PresupuestoService extends BaseService if($uso == 'cubierta' || $uso == 'sobrecubierta') { if(property_exists($maquina, 'forzar_num_formas_horizontales_cubierta') && - property_exists($maquina, 'forzar_num_formas_horizontales_cubierta')){ + property_exists($maquina, 'forzar_num_formas_verticales_cubierta')){ if($maquina->forzar_num_formas_horizontales_cubierta > 0 && - $maquina->forzar_num_formas_horizontales_cubierta > 0){ + $maquina->forzar_num_formas_verticales_cubierta > 0){ + // Hay que comprobar que entran $h1_temp = $maquina->forzar_num_formas_horizontales_cubierta; $h2_temp = $maquina->forzar_num_formas_verticales_cubierta; //$num_formas = $h1_temp * $h2_temp; } } + } // No es cubierta ni sobrecubierta else{ @@ -476,14 +480,18 @@ class PresupuestoService extends BaseService $h1_temp = floor($maquina->ancho_impresion / $anchoForCalculo); $h2_temp = floor($maquina->ancho_impresion / $alto); } + + // horizontales $calles = (new \App\Models\Configuracion\MaquinasCallesModel())->getCallesForMaquina($maquina->maquina_id, $h1_temp); // Si son mas de 2 formas if(count($calles)>0) $h1 = ($h1_temp * $anchoForCalculo + 2 * $calles[0]->externas + ($h1_temp - 1) * $calles[0]->internas < ($maquina->ancho)) ? $h1_temp : $h1_temp - 1; - else - $h1 = $h1_temp; + else{ + $h1 = $anchoForCalculo<=$maquina->ancho_impresion?$h1_temp:0; + } + $v1 = floor($maquina->alto_impresion / $alto); $formas_h = $h1 * $v1; //p1 @@ -493,12 +501,14 @@ class PresupuestoService extends BaseService $calles = (new \App\Models\Configuracion\MaquinasCallesModel())->getCallesForMaquina($maquina->maquina_id, $h2_temp); if(count($calles)>0) $h2 = ($h2_temp * $alto + 2 * $calles[0]->externas + ($h2_temp - 1) * $calles[0]->internas < ($maquina->ancho)) ? $h2_temp : $h2_temp - 1; - else - $h2 = $h2_temp; + else{ + $h2 = $alto<=$maquina->ancho_impresion?$h2_temp:0; + } + $v2 = floor($maquina->alto_impresion / $anchoForCalculo); $formas_v = $h2 * $v2; //p2 - + // Se calcula el numero de formas if($uso != 'cubierta' && $uso != 'sobrecubierta'){ $num_formas = ($formas_h > $formas_v) ? $formas_h : $formas_v; @@ -531,7 +541,7 @@ class PresupuestoService extends BaseService $response['num_formas']['num_formas_verticales'] = $h2; } } - + return $response; } @@ -579,6 +589,26 @@ class PresupuestoService extends BaseService } + /** + * Devuelve el ancho de la cubierta/sobrecubierta, incluido el lomo. + */ + public static function getAnchoTotalExteriores($datosPedido=null) + { + $ancho_total = 0; + + if ($datosPedido) { + $ancho_total = floatval($datosPedido->ancho)*2 + floatval($datosPedido->lomo); + $ancho_total += property_exists($datosPedido, 'lomo_cubierta')?$datosPedido->lomo_cubierta:0; + + // añadimos ancho de las solapas + // si se añaden solapas hay que sumar 3mm de los dobleces + if ($datosPedido->solapas) { + $ancho_total += (floatval($datosPedido->solapas_ancho) * 2) + 6; + } + } + return $ancho_total; + } + /** * Devuelve la dimensión del lomo interior. */ diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php index 8a3d29a9..8227098a 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php @@ -995,6 +995,7 @@ color: 1, ancho: dimension.ancho, alto: dimension.alto, + lomo: getLomoLineasPresupuesto(), solapas: $('#solapas').is(':checked')?1:0, solapas_ancho: parseInt($('#solapas_ancho').val()), papel_generico_id: $('#compPapelCubierta').select2('data')[0].id, 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 68883764..c0d8cde2 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 @@ -26,6 +26,7 @@ + @@ -365,7 +366,7 @@ const actionBtns_lp = function(data) { searching: false, paging: false, info: false, - ordering: false, + ordering: true, responsive: true, select: false, rowId: 'row_id', @@ -385,6 +386,15 @@ const actionBtns_lp = function(data) { orderable: false, visible: false, }, + { + targets: [11,12,13,14,15,16,17,18,19,20], + orderable: false, + }, + { + targets: [10], + orderable: true, + visible: false, + }, { orderable: false, searchable: false, @@ -402,6 +412,23 @@ const actionBtns_lp = function(data) { {data: 'formas_v'}, {data: 'formas_h'}, {data: 'formas_orientacion'}, + {data: 'position', + type: "num" , + render: function (data, type, row, meta){ + if(row.row_id.includes('_bn')){ + return 0; + } + else if(row.row_id.includes('_color')){ + return 1; + } + else if(row.row_id.includes('_cubierta')){ + return 2; + } + else if(row.row_id.includes('_sobrecubierta')){ + return 3; + } + } + }, {data: 'icon', render: function ( data, type, row, meta ){ return '' @@ -537,7 +564,8 @@ const actionBtns_lp = function(data) { data: actionBtns_lp, className: 'row-edit dt-center' } - ] + ], + "order": [ 10, 'asc' ] }); tableLineasPresupuesto.on( 'draw.dt', function () { @@ -554,6 +582,9 @@ $(document).on('click', '.btn-delete-lp', function(e) { .draw(); updateTotales(true, false, false) updateTablaEnvios() + + // Si existe cubierta, hay que actualizar con el valor del lomo + check_update_cubierta() }) @@ -886,7 +917,7 @@ $('#addLineasPresupuesto').on("change", function (e) { } var data = processRowData({tipo_maquina: 'toner'}, 'lp_bn', 'lp-bn'); - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() eventos_lp_bn() break @@ -907,7 +938,7 @@ $('#addLineasPresupuesto').on("change", function (e) { } var data = processRowData({tipo_maquina: 'toner'}, 'lp_bnhq', 'lp-bnhq'); - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() eventos_lp_bnhq() break @@ -928,7 +959,7 @@ $('#addLineasPresupuesto').on("change", function (e) { } var data = processRowData({tipo_maquina: 'toner'}, 'lp_color', 'lp-color'); - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() eventos_lp_color() break @@ -949,7 +980,7 @@ $('#addLineasPresupuesto').on("change", function (e) { } var data = processRowData({tipo_maquina: 'toner'}, 'lp_colorhq', 'lp-colorhq'); - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() eventos_lp_colorhq() break @@ -970,7 +1001,7 @@ $('#addLineasPresupuesto').on("change", function (e) { } var data = processRowData({tipo_maquina: 'toner'}, 'lp_rot_bn', 'lp-rot-bn'); - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() eventos_lp_rot_bn() break @@ -991,7 +1022,7 @@ $('#addLineasPresupuesto').on("change", function (e) { } var data = processRowData({tipo_maquina: 'toner'}, 'lp_rot_color', 'lp-rot-color'); - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() eventos_lp_rot_color() break @@ -1010,7 +1041,7 @@ $('#addLineasPresupuesto').on("change", function (e) { } var data = processRowData({tipo_maquina: 'toner'}, 'lp_cubierta', 'lp-cubierta'); - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() eventos_lp_cubierta() break default: @@ -1287,9 +1318,9 @@ function fill_lp_bn(row, fromComparator=false){ var row = tableLineasPresupuesto.row('#lp_bn'); if(row.length>0) - tableLineasPresupuesto.row('#lp_bn').data(data).draw(true) + tableLineasPresupuesto.row('#lp_bn').data(data).draw() else{ - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() row = tableLineasPresupuesto.row('#lp_bn'); } row.child(format(row.data())).show(); @@ -1301,6 +1332,9 @@ function fill_lp_bn(row, fromComparator=false){ calcular_mermas() updateTotales(true, false, false) updateTablaEnvios() + + // Si existe cubierta, hay que actualizar con el valor del lomo + check_update_cubierta() } $("#tableLineasPresupuesto").DataTable().columns.adjust(); @@ -1578,9 +1612,9 @@ function fill_lp_color(row, fromComparator=false){ var row = tableLineasPresupuesto.row('#lp_color'); if(row.length>0) - tableLineasPresupuesto.row('#lp_color').data(data).draw(true) + tableLineasPresupuesto.row('#lp_color').data(data).draw() else{ - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() row = tableLineasPresupuesto.row('#lp_color'); } row.child(format(row.data())).show(); @@ -1592,6 +1626,9 @@ function fill_lp_color(row, fromComparator=false){ calcular_mermas() updateTotales(true, false, false) updateTablaEnvios() + + // Si existe cubierta, hay que actualizar con el valor del lomo + check_update_cubierta() } $("#tableLineasPresupuesto").DataTable().columns.adjust(); @@ -1872,9 +1909,9 @@ function fill_lp_bnhq(row, fromComparator=false){ var row = tableLineasPresupuesto.row('#lp_bnhq'); if(row.length>0) - tableLineasPresupuesto.row('#lp_bnhq').data(data).draw(true) + tableLineasPresupuesto.row('#lp_bnhq').data(data).draw() else{ - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() row = tableLineasPresupuesto.row('#lp_bnhq'); } row.child(format(row.data())).show(); @@ -1886,6 +1923,9 @@ function fill_lp_bnhq(row, fromComparator=false){ calcular_mermas() updateTotales(true, false, false) updateTablaEnvios() + + // Si existe cubierta, hay que actualizar con el valor del lomo + check_update_cubierta() } $("#tableLineasPresupuesto").DataTable().columns.adjust(); @@ -2166,9 +2206,9 @@ function fill_lp_colorhq(row, fromComparator=false){ var row = tableLineasPresupuesto.row('#lp_colorhq'); if(row.length>0) - tableLineasPresupuesto.row('#lp_colorhq').data(data).draw(true) + tableLineasPresupuesto.row('#lp_colorhq').data(data).draw() else{ - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() row = tableLineasPresupuesto.row('#lp_colorhq'); } row.child(format(row.data())).show(); @@ -2180,6 +2220,9 @@ function fill_lp_colorhq(row, fromComparator=false){ calcular_mermas() updateTotales(true, false, false) updateTablaEnvios() + + // Si existe cubierta, hay que actualizar con el valor del lomo + check_update_cubierta() } $("#tableLineasPresupuesto").DataTable().columns.adjust(); @@ -2494,9 +2537,9 @@ function fill_lp_rot_bn(row, fromComparador=false){ var row = tableLineasPresupuesto.row('#lp_rot_bn'); if(row.length>0) - tableLineasPresupuesto.row('#lp_rot_bn').data(data).draw(true) + tableLineasPresupuesto.row('#lp_rot_bn').data(data).draw() else{ - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() row = tableLineasPresupuesto.row('#lp_rot_bn'); } row.child(format(row.data())).show(); @@ -2508,6 +2551,9 @@ function fill_lp_rot_bn(row, fromComparador=false){ calcular_mermas() updateTotales(true, false, false) updateTablaEnvios() + + // Si existe cubierta, hay que actualizar con el valor del lomo + check_update_cubierta() } $('.lp_rot_bn').css('display', '') @@ -2827,9 +2873,9 @@ function fill_lp_rot_color(row, fromComparador=false){ var row = tableLineasPresupuesto.row('#lp_rot_color'); if(row.length>0) - tableLineasPresupuesto.row('#lp_rot_color').data(data).draw(true) + tableLineasPresupuesto.row('#lp_rot_color').data(data).draw() else{ - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() row = tableLineasPresupuesto.row('#lp_rot_color'); } row.child(format(row.data())).show(); @@ -2841,6 +2887,9 @@ function fill_lp_rot_color(row, fromComparador=false){ calcular_mermas() updateTotales(true, false, false) updateTablaEnvios() + + // Si existe cubierta, hay que actualizar con el valor del lomo + check_update_cubierta() } $("#tableLineasPresupuesto").DataTable().columns.adjust(); @@ -3009,6 +3058,7 @@ function calcularPresupuesto_cubierta(fromComparador=false, input_data={}){ } } + let datos = { type: 'cubierta', color: 1, @@ -3022,6 +3072,7 @@ function calcularPresupuesto_cubierta(fromComparador=false, input_data={}){ merma: parseInt($('#mermacubierta').val()), ancho: dimension.ancho, alto: dimension.alto, + lomo: getLomoLineasPresupuesto(), papel_generico_id: input_data.papel_generico_id, papel_generico: input_data.papel_generico, gramaje: input_data.gramaje, @@ -3100,9 +3151,9 @@ function fill_lp_cubierta(row, fromComparador=false){ var row = tableLineasPresupuesto.row('#lp_cubierta'); if(row.length>0) - tableLineasPresupuesto.row('#lp_cubierta').data(data).draw(true) + tableLineasPresupuesto.row('#lp_cubierta').data(data).draw() else{ - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() row = tableLineasPresupuesto.row('#lp_cubierta'); } row.child(format(row.data())).show(); @@ -3134,6 +3185,35 @@ function eventos_lp_cubierta(){ $('#lp_cubierta_checkClicks').bind("change", {id_linea: 'lp_cubierta'}, update_total_linea); } + +function check_update_cubierta(){ + let row = tableLineasPresupuesto.row('#lp_cubierta'); + if(row.length>0){ + calcularPresupuesto_cubierta() + } +} + + +function getLomoLineasPresupuesto(){ + let lomoTotal = 0 + try{ + tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) { + var rowData = this.data(); + lomoTotal += parseFloat(rowData.lomo) + }) + } + catch(error){ + lomoTotal = 0 + } + return lomoTotal +} + + + + + + + fill_lp_from_bbdd() function fill_lp_from_bbdd(){ @@ -3230,7 +3310,7 @@ function fill_lp_from_bbdd(){ var row = tableLineasPresupuesto.row("#" + lp.tipo); - tableLineasPresupuesto.row.add(data).draw(true) + tableLineasPresupuesto.row.add(data).draw() row = tableLineasPresupuesto.row("#" + lp.tipo); row.child(format(row.data())).show();