añadida sangre al calculo de todas las formas

This commit is contained in:
Jaime Jiménez Ortega
2024-02-12 18:33:55 +01:00
parent b6547f9ec5
commit bdb719a2cf

View File

@ -14,6 +14,8 @@ class PresupuestoService extends BaseService
*/
const MARGEN_PAGINAS_ROTATIVA = 15.0;
const SANGRE_FORMAS = 5.0;
const SANGRE_FORMAS_CUBIERTA = 20.0;
/**
@ -322,9 +324,12 @@ class PresupuestoService extends BaseService
// El ancho si es cosido es el doble
$anchoForCalculo = $isCosido ? $ancho * 2 : $ancho;
// Hay que sumar la la sangre al alto y al ancho
$anchoForCalculo += (2*self::SANGRE_FORMAS);
$altoForCalculo = $alto + (2*self::SANGRE_FORMAS);
$h1_temp = floor($maquina->ancho_impresion / $anchoForCalculo);
$h2_temp = floor($maquina->ancho_impresion / $alto);
$h2_temp = floor($maquina->ancho_impresion / $altoForCalculo);
// horizontales
if($a_favor_fibra){
@ -336,15 +341,15 @@ class PresupuestoService extends BaseService
else
$h1 = $h1_temp;
$v1 = floor($maquina->alto_click / $alto);
$v1 = floor($maquina->alto_click / $altoForCalculo);
$formas_h = $h1 * $v1; //p1
}
// verticales
else{
$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;
$h2 = ($h2_temp * $altoForCalculo + 2 * $calles[0]->externas + ($h2_temp - 1) * $calles[0]->internas < ($maquina->ancho)) ? $h2_temp : $h2_temp - 1;
else
$h2 = $h2_temp;
$v2 = floor($maquina->alto_click / $anchoForCalculo);
@ -385,7 +390,11 @@ class PresupuestoService extends BaseService
else{
$anchoForCalculo = $ancho;
}
// Hay que sumar la la sangre al alto y al ancho
$anchoForCalculo += (2*self::SANGRE_FORMAS);
$altoForCalculo = $alto + (2*self::SANGRE_FORMAS);
if($uso == 'cubierta' || $uso == 'sobrecubierta') {
if(property_exists($maquina, 'forzar_num_formas_horizontales_cubierta') &&
property_exists($maquina, 'forzar_num_formas_verticales_cubierta')){
@ -405,7 +414,7 @@ class PresupuestoService extends BaseService
else{
// horizontales
$h1_temp = floor(floatval($maquina->ancho_impresion) / $anchoForCalculo);
$h2_temp = floor(floatval($maquina->ancho_impresion) / $alto);
$h2_temp = floor(floatval($maquina->ancho_impresion) / $altoForCalculo);
}
@ -420,16 +429,16 @@ class PresupuestoService extends BaseService
}
$v1 = floor($maquina->alto_impresion / $alto);
$v1 = floor($maquina->alto_impresion / $altoForCalculo);
$formas_h = $h1 * $v1; //p1
// verticales
$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;
$h2 = ($h2_temp * $altoForCalculo + 2 * $calles[0]->externas + ($h2_temp - 1) * $calles[0]->internas < ($maquina->ancho)) ? $h2_temp : $h2_temp - 1;
else{
$h2 = $alto<=$maquina->ancho_impresion?$h2_temp:0;
$h2 = $altoForCalculo<=$maquina->ancho_impresion?$h2_temp:0;
}
$v2 = floor($maquina->alto_impresion / $anchoForCalculo);
@ -552,13 +561,19 @@ class PresupuestoService extends BaseService
if ($datosPedido->solapas) {
$ancho_total += (floatval($datosPedido->solapas_ancho) * 2) + 6;
}
// En cualquier otro caso se le suma 5mm de sangre por cada lado
$ancho_total += (2*self::SANGRE_FORMAS);
}
// 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;
$ancho_total += (1.2+2*self::SANGRE_FORMAS_CUBIERTA);
}
else{
// En cualquier otro caso se le suma 5mm de sangre por cada lado
$ancho_total += (2*self::SANGRE_FORMAS);
}
}
return $ancho_total;
@ -572,11 +587,15 @@ class PresupuestoService extends BaseService
$alto_total = 0;
if ($datosPedido) {
// Tapa blanda (cosido y fresado)
$alto_total = floatval($datosPedido->alto);
// Tapa dura (cosido y fresado)
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;
$alto_total += (0.7+2*self::SANGRE_FORMAS_CUBIERTA);
}
// En cualquier otro caso se le suma 5mm de sangre por cada lado
else{
$alto_total += (2*self::SANGRE_FORMAS);
}
}
return $alto_total;