diff --git a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php index 0360fb58..d55c4770 100755 --- a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php +++ b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php @@ -503,7 +503,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 72b38d35..aad2a126 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 ea1a7972..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 @@