se añade el calculo del alto y ancho para tapa dura y así asegurar que entra en el pliego

This commit is contained in:
2024-02-08 14:44:51 +01:00
parent 6f86f369cf
commit 2bf9e271a7
4 changed files with 42 additions and 12 deletions

View File

@ -538,7 +538,8 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
if($type=='sobrecubierta') if($type=='sobrecubierta')
$datosPedido->lomo_cubierta = $reqData['lomo_cubierta']; $datosPedido->lomo_cubierta = $reqData['lomo_cubierta'];
$datosPedido->anchoExteriores = PresupuestoService::getAnchoTotalExteriores($datosPedido); $datosPedido->anchoExteriores = PresupuestoService::getAnchoTotalExteriores($tipo_impresion_id, $datosPedido);
$datosPedido->altoExteriores = PresupuestoService::getAltoTotalExteriores($tipo_impresion_id, $datosPedido);
// Cubierta y sobrecubierta siempre color HQ // Cubierta y sobrecubierta siempre color HQ
$resourceData = $this->getCompIntData($type, $datosPedido, $papel_generico, $gramaje, $isColor, 1, $cliente_id); $resourceData = $this->getCompIntData($type, $datosPedido, $papel_generico, $gramaje, $isColor, 1, $cliente_id);

View File

@ -45,7 +45,8 @@ class PresupuestoService extends BaseService
if ($uso!='rotativa') { if ($uso!='rotativa') {
$ancho_calculo = ($uso=='cubierta' || $uso=='sobrecubierta') ? $datosPedido->anchoExteriores : $datosPedido->ancho; $ancho_calculo = ($uso=='cubierta' || $uso=='sobrecubierta') ? $datosPedido->anchoExteriores : $datosPedido->ancho;
$formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $ancho_calculo, $datosPedido->alto, $datosPedido->isCosido, $forzar_a_favor_fibra); $alto_calculo = ($uso=='cubierta' || $uso=='sobrecubierta') ? $datosPedido->altoExteriores : $datosPedido->ancho;
$formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $ancho_calculo, $alto_calculo, $datosPedido->isCosido, $forzar_a_favor_fibra);
$response['fields'] = $formas; $response['fields'] = $formas;
} }
@ -521,23 +522,51 @@ class PresupuestoService extends BaseService
/** /**
* Devuelve el ancho de la cubierta/sobrecubierta, incluido el lomo. * Devuelve el ancho de la cubierta/sobrecubierta, incluido el lomo.
*/ */
public static function getAnchoTotalExteriores($datosPedido=null) public static function getAnchoTotalExteriores($tipo_impresion_id, $datosPedido=null)
{ {
$ancho_total = 0; $ancho_total = 0;
if ($datosPedido) { if ($datosPedido) {
$ancho_total = floatval($datosPedido->ancho)*2 + floatval($datosPedido->lomo); // Tapa blanda (cosido y fresado)
$ancho_total += property_exists($datosPedido, 'lomo_cubierta')?$datosPedido->lomo_cubierta:0; if($tipo_impresion_id == 2 || $tipo_impresion_id == 4){
$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 // añadimos ancho de las solapas
// si se añaden solapas hay que sumar 3mm de los dobleces // si se añaden solapas hay que sumar 3mm de los dobleces
if ($datosPedido->solapas) { if ($datosPedido->solapas) {
$ancho_total += (floatval($datosPedido->solapas_ancho) * 2) + 6; $ancho_total += (floatval($datosPedido->solapas_ancho) * 2) + 6;
}
}
// Tapa dura cosido y fresado
else if($tipo_impresion_id == 1 || $tipo_impresion_id == 3){
$ancho_total = floatval($datosPedido->ancho)*2 + floatval($datosPedido->lomo);
$ancho_total += property_exists($datosPedido, 'lomo_cubierta')?$datosPedido->lomo_cubierta:0;
// Se añaden 20mm de sangre por cada lado + 2 * 0.6mm de portada y contraportada -> total 41.2
$ancho_total += 41.2;
} }
} }
return $ancho_total; return $ancho_total;
} }
/**
* Devuelve el ancho de la cubierta/sobrecubierta, incluido el lomo.
*/
public static function getAltoTotalExteriores($tipo_impresion_id, $datosPedido=null)
{
$alto_total = 0;
if ($datosPedido) {
// Tapa blanda (cosido y fresado)
$alto_total = floatval($datosPedido->alto);
if($tipo_impresion_id == 1 || $tipo_impresion_id == 3){
// Se añaden 20mm de sangre por cada lado + 0.7mm extra que sobresale -> total 40.7
$alto_total += 40.7;
}
}
return $alto_total;
}
/** /**
* Devuelve la dimensión del lomo interior. * Devuelve la dimensión del lomo interior.
*/ */