terminada faja en presu admin a falta de preview

This commit is contained in:
2025-02-01 13:28:38 +01:00
parent 432a41b879
commit e17e72f46d
6 changed files with 55 additions and 22 deletions

View File

@ -83,8 +83,13 @@ class PresupuestoService extends BaseService
$parametrosInkjet->rotativa_cg = $datosTipologias[0]->cg;
}
$uso_tarifa = $uso;
if($uso == 'guardas')
$uso_tarifa = 'interior';
else if ($uso == 'faja')
$uso_tarifa = 'sobrecubierta';
$tarifamodel = new \App\Models\Configuracion\MaquinasTarifasImpresionModel();
$datos_tarifa = $tarifamodel->getTarifa($maquina->maquina_id, ($uso == 'guardas') ? 'interior' : $uso, $tipo);
$datos_tarifa = $tarifamodel->getTarifa($maquina->maquina_id, $uso_tarifa, $tipo);
if (count($datos_tarifa) > 0) {
$tarifaId = $datos_tarifa[0];
$tarifa = $datos_tarifa[1];
@ -128,7 +133,7 @@ class PresupuestoService extends BaseService
$clientePreciosModel = new \App\Models\Clientes\ClientePreciosModel();
$config = (object) [
"tipo" => ($uso == 'guardas') ? 'interior' : $uso,
"tipo" => $uso_tarifa,
"tipo_maquina" => $maquina->is_inkjet ? 'inkjet' : 'toner',
"tipo_impresion" => $tipo
];
@ -334,8 +339,8 @@ class PresupuestoService extends BaseService
if ($uso != 'rotativa') {
$ancho_calculo = ($uso == 'cubierta' || $uso == 'sobrecubierta') ? $datosPedido->anchoExteriores : $datosPedido->ancho;
$alto_calculo = ($uso == 'cubierta' || $uso == 'sobrecubierta') ? $datosPedido->altoExteriores : $datosPedido->alto;
$ancho_calculo = ($uso == 'cubierta' || $uso == 'sobrecubierta' || $uso == 'faja') ? $datosPedido->anchoExteriores : $datosPedido->ancho;
$alto_calculo = ($uso == 'cubierta' || $uso == 'sobrecubierta' || $uso == 'faja') ? $datosPedido->altoExteriores : $datosPedido->alto;
$formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $ancho_calculo, $alto_calculo, $datosPedido->isCosido, $forzar_a_favor_fibra);
$response['fields'] = $formas;
}
@ -366,10 +371,12 @@ class PresupuestoService extends BaseService
$margen_click = $tarifa * ($tarifa_margen / 100.0);
//interior (bn o color)
if ($cubierta == 0 && $sobrecubierta == 0 && $rotativa == 0) {
if ($cubierta == 0 && $sobrecubierta == 0 && $rotativa == 0 || $uso == 'faja') {
// precio papel
$pliegos_libro = ceil(($datosPedido->paginas / 2.0) / $response['fields']['num_formas']['value']);
if ($pliegos_libro < 1)
$pliegos_libro = ($datosPedido->paginas / 2.0) / $response['fields']['num_formas']['value'];
if($uso != 'faja')
$pliegos_libro = ceil($pliegos_libro);
if ($uso != 'faja' && $pliegos_libro < 1) // faja pueden entrar más de una forma
$pliegos_libro = 1;
$pliegos_pedido = $pliegos_libro * ($datosPedido->tirada + $datosPedido->merma);
$precio_libro = $pliegos_libro * ($precio_pliego_impresion + $margen_pliego_impresion);
@ -693,7 +700,7 @@ class PresupuestoService extends BaseService
$h2_temp = 0;
// El ancho si es cosido es el doble
if ($uso != 'cubierta' && $uso != 'sobrecubierta') {
if ($uso != 'cubierta' && $uso != 'sobrecubierta' && $uso != 'faja') {
$anchoForCalculo = $isCosido ? $ancho * 2 : $ancho;
} else {
$anchoForCalculo = $ancho;
@ -931,7 +938,7 @@ class PresupuestoService extends BaseService
if ($datosPedido) {
$alto_total = floatval($datosPedido->alto);
$sangre_cubierta = self::SANGRE_FORMAS_CUBIERTA;
if ($datosPedido->alto >= 297) {
if ($datosPedido->alto >= 267) {
$sangre_cubierta = 10;
}
// Tapa dura (cosido y fresado)
@ -1761,7 +1768,8 @@ class PresupuestoService extends BaseService
$tipo = $isColor ? ($isHq ? 'colorhq' : 'color') : ($isHq ? 'negrohq' : 'negro');
$opciones_papel = PresupuestoService::get_opciones_papel($uso, $isColor);
$uso_papel = $uso == 'faja' ? 'sobrecubierta': $uso;
$opciones_papel = PresupuestoService::get_opciones_papel($uso_papel, $isColor);
// Se obtienen los papeles disponibles
$papelimpresionmodel = new PapelImpresionModel();
@ -1779,7 +1787,7 @@ class PresupuestoService extends BaseService
$maquinas = $maquinamodel->getMaquinaImpresionForPresupuesto(
is_rotativa: 0,
tarifa_tipo: $tipo,
uso_tarifa: ($uso == 'guardas') ? 'interior' : $uso,
uso_tarifa: ($uso == 'guardas') ? 'interior' : $uso_papel,
tirada: $datosPedido->tirada + $datosPedido->merma,
papel_impresion_id: $papel->id,
)->orderBy("t1.id", "asc")->get()->getResultObject();
@ -1787,10 +1795,10 @@ class PresupuestoService extends BaseService
// Se recorren las máquinas y se calcula el coste de linea por cada una
foreach ($maquinas as $maquina) {
if ($uso == 'cubierta' || $uso == 'sobrecubierta') {
if ($uso == 'cubierta' || $uso == 'sobrecubierta' || $uso == 'faja') {
$datosPedido->anchoExteriores = PresupuestoService::getAnchoTotalExteriores($uso, $tipo_impresion_id, $datosPedido, $maquina->maquina_id, $lomoRedondo);
$datosPedido->altoExteriores = PresupuestoService::getAltoTotalExteriores($uso, $tipo_impresion_id, $datosPedido);
$datosPedido->anchoExteriores = PresupuestoService::getAnchoTotalExteriores($uso_papel, $tipo_impresion_id, $datosPedido, $maquina->maquina_id, $lomoRedondo);
$datosPedido->altoExteriores = PresupuestoService::getAltoTotalExteriores($uso_papel, $tipo_impresion_id, $datosPedido);
}
$data['uso'] = $uso;