diff --git a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php index a9ad8bb0..5079130b 100755 --- a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php +++ b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php @@ -322,6 +322,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController $this->viewData['papelGenericoColorList'] = $this->getPapelGenericoColor(); $this->viewData['papelGenericoColorHQList'] = $this->getPapelGenericoColorHQ(); $this->viewData['papelGenericoCubiertaList'] = $this->getPapelGenericoCubierta(); + $this->viewData['papelGenericoGuardasList'] = $this->getPapelGenericoGuardas(); $this->viewData['papelGenericoSobrecubiertaList'] = $this->getPapelGenericoSobreCubierta(); $this->viewData['papelGenericoRotativaNegroList'] = $this->getPapelGenericoRotativaNegro(); $this->viewData['papelGenericoRotativaColorList'] = $this->getPapelGenericoRotativaColor(); @@ -467,7 +468,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController - if ($type=='interior') { + if ($type=='interior' || 'guardas') { $datosTipolog = $reqData['negro'] ?? null; if(!is_null($datosTipolog)){ @@ -484,6 +485,10 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController array_push($datosTipolog, $data); } + if ($type=='guardas') { + $datosPedido->paginas_impresion = intval($reqData['paginas_impresion']) ?? 0; + } + $a_favor_fibra = $reqData['a_favor_fibra'] ?? false; $resourceData = $this->getCompIntData($type, $datosPedido, $papel_generico, $gramaje, $isColor, $isHq, $cliente_id, $datosTipolog, $a_favor_fibra); @@ -712,7 +717,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController $maquinas = $maquinamodel->getMaquinaImpresionForPresupuesto( is_rotativa: 0, tarifa_tipo: $tipo, - uso_tarifa: $uso, + uso_tarifa: ($uso=='guardas')?'interior':$uso, tirada: $datosPedido->tirada + $datosPedido->merma, papel_impresion_id: $papel->id, ); @@ -754,7 +759,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController } $tarifamodel = new MaquinasTarifasImpresionModel(); - [$tarifaId, $tarifa] = $tarifamodel->getTarifa($maquina->maquina_id, $uso, $tipo); + [$tarifaId, $tarifa] = $tarifamodel->getTarifa($maquina->maquina_id, ($uso=='guardas')?'interior':$uso, $tipo); if(!is_float($tarifa)){ continue; } @@ -792,7 +797,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController $clientePreciosModel = new ClientePreciosModel(); $config = (object)[ - "tipo" => $uso, + "tipo" => ($uso=='guardas')?'interior':$uso, "tipo_maquina" => $maquina->is_inkjet?'inkjet':'toner', "tipo_impresion" => $tipo ]; @@ -1255,6 +1260,17 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController return $data; } + protected function getPapelGenericoGuardas() + { + $model = model('App\Models\Configuracion\PapelGenericoModel'); + $data = $model->getPapelForComparador('colorhq', false, false, false, true); + array_unshift($data, (object)array( + "id" => 0, + "nombre" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))]) + )); + return $data; + } + protected function getPapelGenericoSobreCubierta() { $model = model('App\Models\Configuracion\PapelGenericoModel'); diff --git a/ci4/app/Controllers/Test.php b/ci4/app/Controllers/Test.php index 45e4a6e6..596c27cd 100755 --- a/ci4/app/Controllers/Test.php +++ b/ci4/app/Controllers/Test.php @@ -18,15 +18,7 @@ class Test extends BaseController public function index() { echo '
';
-        $papelImpresionTipologiaModel = new \App\Models\Configuracion\PapelImpresionTipologiaModel();
-        $datosTipologias = $papelImpresionTipologiaModel
-                ->findTipologiasForPapelImpresion(17, 'color')
-                ->get()->getResultObject();
-        
-        
-        var_dump($datosTipologias);
-        var_dump($datosTipologias[0]->cg);
-
+        $this->getPapelesGuardas();
         echo '
'; /* @@ -187,6 +179,13 @@ class Test extends BaseController var_dump($data); } + public function getPapelesGuardas(){ + $model = model('App\Models\Configuracion\PapelGenericoModel'); + $data = $model->getPapelForComparador('color', false, false, false, true); + + var_dump($data); + } + public function getGramaje(){ $model = new PapelGenericoModel(); $data = $model->getGramajeComparador("AHUESADO OFFSET", "bnhq" ); diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php index 0d432cae..d8ac648c 100755 --- a/ci4/app/Language/es/Presupuestos.php +++ b/ci4/app/Language/es/Presupuestos.php @@ -64,6 +64,7 @@ return [ 'retractilado' => 'Retractilado individual', 'retractilado5' => 'Retractilado de 5', 'Guardas' => 'Guardas', + 'imprimir_guardas' => 'Imprimir guardas', 'fajaColor' => 'Imprimir faja a color', 'compInteriorPlana' => 'Interior en plana', 'compInteriorRotativa' => 'Interior en rotativa', @@ -95,6 +96,7 @@ return [ 'encuadernacion' => 'Encuadernación', 'solapasCubierta' => 'Solapas cubierta', 'solapasAnchoCubierta' => 'Ancho solapas cubierta', + 'sinImpresion' => 'Sin impresion', '1cara' => '1 cara', '2caras' => '2 caras', 'bn' => 'BN', diff --git a/ci4/app/Models/Configuracion/PapelGenericoModel.php b/ci4/app/Models/Configuracion/PapelGenericoModel.php index e8d1c99a..acff8639 100755 --- a/ci4/app/Models/Configuracion/PapelGenericoModel.php +++ b/ci4/app/Models/Configuracion/PapelGenericoModel.php @@ -93,7 +93,7 @@ class PapelGenericoModel extends \App\Models\GoBaseModel } - public function getPapelForComparador($tipo, $is_cubierta = false, $is_sobrecubierta = false, $rotativa = false) + public function getPapelForComparador($tipo, $is_cubierta = false, $is_sobrecubierta = false, $rotativa = false, $is_guardas = false) { /* 1.-> Tipo impresion @@ -128,8 +128,9 @@ class PapelGenericoModel extends \App\Models\GoBaseModel $builder->where("t5.uso", 'cubierta'); } else{ - $builder->where("t2.cubierta", 0); - $builder->where("t5.uso", 'interior'); + if(!$is_guardas){ + $builder->where("t2.cubierta", 0); + } } if($is_sobrecubierta==true){ @@ -137,13 +138,19 @@ class PapelGenericoModel extends \App\Models\GoBaseModel $builder->where("t5.uso", 'sobrecubierta'); } else{ - $builder->where("t2.sobrecubierta", 0); + if(!$is_guardas){ + $builder->where("t2.sobrecubierta", 0); + } } if($is_cubierta==false && $is_sobrecubierta==false){ $builder->where("t5.uso", 'interior'); } + if($is_guardas==true){ + $builder->where("t2.guardas", 1); + } + if($rotativa==true){ $builder->where("t2.rotativa", 1); } diff --git a/ci4/app/Services/PresupuestoService.php b/ci4/app/Services/PresupuestoService.php index 763b9360..83f09c0f 100755 --- a/ci4/app/Services/PresupuestoService.php +++ b/ci4/app/Services/PresupuestoService.php @@ -71,7 +71,9 @@ class PresupuestoService extends BaseService //interior (bn o color) if ($cubierta == 0 && $sobrecubierta == 0 && $rotativa == 0) { // precio papel - $pliegos_libro = ($datosPedido->paginas / 2.0) / $response['fields']['num_formas']['value']; + $pliegos_libro = ceil(($datosPedido->paginas / 2.0) / $response['fields']['num_formas']['value']); + if($pliegos_libro<1) + $pliegos_libro = 1; $pliegos_pedido = $pliegos_libro * ($datosPedido->tirada + $datosPedido->merma); $precio_libro = $pliegos_libro * ($precio_pliego_impresion+$margen_pliego_impresion); $margen_papel_pedido = $pliegos_libro * $margen_pliego_impresion * ($datosPedido->tirada + $datosPedido->merma); 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 dcc38897..66793f66 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 @@ -215,6 +215,44 @@ + +
+
+

+
+
+ +
+
+ +
+
+ +
+
+
+
+
+ +
@@ -422,6 +460,66 @@
+ + +
+
+

+ +

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
: 0.00
+ +
+ + +
+ +
+
+
+
+ + + @@ -580,11 +678,22 @@ allowClear: false, }); + $('#compCarasCubierta').select2({ allowClear: false, minimumResultsForSearch: Infinity, }); + $('#compPapelGuardas').select2({ + allowClear: false, + }); + + + $('#compCarasGuardas').select2({ + allowClear: false, + minimumResultsForSearch: Infinity, + }); + updatePapelesComparador(); const paginasColor = document.getElementById('compCalPaginasColor'); if (paginasColor.value.length > 0) { @@ -827,6 +936,129 @@ ] }); + + var tableCompGuardas = new DataTable('#tableCompGuardas',{ + scrollX: true, + searching: false, + paging: false, + info: false, + ordering: false, + responsive: true, + select: false, + language: { + url: "//cdn.datatables.net/plug-ins/1.13.4/i18n/i18n ?>.json" + }, + columns: [ + { 'data': 'tipo', + 'render': function ( data, type, row, meta ) { + + return ''; + } + + }, + { 'data': 'paginas' }, + { 'data': 'papel' }, + { 'data': 'gramaje' }, + { 'data': 'marca' }, + { 'data': 'maquina' }, + { 'data': 'numeroPliegos' }, + { 'data': 'pliegosPedido' }, + { 'data': 'precioPliego' }, + { 'data': 'libro' }, + { 'data': 'totalPapelPedido' }, + { 'data': 'lomo' }, + { 'data': 'peso' }, + { 'data': 'horasMaquina' }, + { 'data': 'precioImpresion' }, + { 'data': 'total' }, + { 'data': 'maquinaId'}, + { 'data': 'maquinaVelocidad'}, + { 'data': 'tiempoMaquina'}, + { 'data': 'papelGenericoId'}, + { 'data': 'papelImpresionId'}, + { 'data': 'tarifa_impresion_id'} + ], + columnDefs: [ + { + target: [16,17,18,19,20,21], + visible: false, + searchable: false + }, + ] + }); + + function checkComparadorGuardas(actualizarLinea = false){ + + if ($('#compPapelGuardas').select2('data').length > 0 ){ + + const dimension = getDimensionLibro(); + + let datos = { + tipo_impresion_id: , + type: 'guardas', + paginas: 8, + paginas_impresion: parseInt($('#compCarasGuardas').select2('data')[0].id), + tirada: parseInt($('#tirada').val()), + merma: parseInt($('#mermacubierta').val()), + color: 1, + hq: 1, + ancho: dimension.ancho, + alto: dimension.alto, + papel_generico_id: $('#compPapelGuardas').select2('data')[0].id, + papel_generico: $('#compPapelGuardas').select2('data')[0].text.trim(), + gramaje: parseInt($('#compGramajeGuardas').val()), + cliente_id: $('#clienteId').find(":selected").val(), + : v + }; + + $.ajax({ + type: "POST", + url: "/cosidotapablanda/datatable", + data: datos, + success: function (data) { + + clearGuardas(); + + if(data.lineas.length >0){ + /* + fillCubierta(data); + selectCubiertaLineas(); + $('#title_cubierta').html('' + ' (' + tableCompCubierta.rows().count() + ')'); + $('#insertarCubiertaBtn').removeClass('d-none') + if(actualizarLinea){ + var rows = $("#tableCompCubierta").DataTable().rows( '.selected' ).data().toArray(); + for(row of rows){ + fill_lp_cubierta(row, true); + } + } + */ + } + else{ + $('#title_guardas').html(''); + $('#insertarGuardasBtn').addClass('d-none') + $('#total_comp_guardas').html('0.00') + + } + yeniden(data.); + return true; + }, + error: function(e){ + return false; + } + }) + } + + else{ + clearGuardas(); + } + } + + + $('.comp_guardas_items').on('change', function (e) { + + checkComparadorGuardas(false,false); + }); + async function getLineasIntPlana(is_color, is_hq, actualizarLinea){ @@ -1049,6 +1281,8 @@ } } + + $('.comp_negro_items').on('change', function (e) { checkComparadorInt(false,false); 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 bd3c7adc..a55be16e 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 @@ -328,6 +328,12 @@ function clearCubierta() { } +function clearGuardas() { + + $('#tableCompGuardas').DataTable().clear().draw(); + $('#insertarGuardasBtn').css('display', 'none'); +} + function clearIntRot() { $('#errorComRot').html('');