corregidas direfencias en totales presupuestos. tiradas alternativas ok. corregido calculo envio base

This commit is contained in:
2025-02-04 20:31:04 +01:00
parent 430cf0fd6c
commit 2149796cbb
18 changed files with 568 additions and 431 deletions

View File

@ -88,6 +88,8 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
$json_data_acabados = $reqData['json_acabados'] ?? null;
$json_data_encuadernacion = $reqData['json_encuadernaciones'] ?? null;
$json_data_manipulado = $reqData['json_manipulado'] ?? null;
$json_data_preimpresion = $reqData['json_preimpresion'] ?? null;
$json_data_extra = $reqData['json_extra'] ?? null;
$cliente_id = $reqData['cliente_id'] ?? 0;
$faja_alto = $reqData['faja_alto'] ?? 0;
@ -95,6 +97,8 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
$tipo_impresion_id = $reqData['tipo_impresion_id'] ?? 4;
$tirada = $reqData['tirada'] ?? 0;
$values = [];
if ($json_data) {
@ -126,7 +130,9 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
} else if ($linea['row_id'] == 'lp_sobrecubierta' || $linea['row_id'] == 'lp_cubierta' || $linea['row_id'] == 'lp_faja') {
$datosPedido->solapas = $reqData['solapas_cubierta'];
if ($linea['row_id'] == 'lp_faja') {
$datosPedido->solapas = $solapas_faja;
$datosPedido->solapas = 1;
$datosPedido->alto = $faja_alto;
} else if ($linea['row_id'] == 'lp_sobrecubierta') {
$datosPedido->solapas = $reqData['solapas_sobrecubierta'];
}
@ -252,10 +258,6 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
$datosLinea['gramaje'] = $linea['gramaje'] ?? 0;
if ($linea['row_id'] != 'lp_rot_bn' && $linea['row_id'] != 'lp_rot_color') {
$data = $datosLinea;
if($uso=='faja'){
$data['datosPedido']->alto = $faja_alto;
}
$linea_coste = PresupuestoService::getLineaPresupuestoPlana($datosLinea);
} else {
$linea_coste = PresupuestoService::getLineaPresupuestoRotativa($datosLinea);
@ -311,10 +313,10 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
$result = $acabados->getServiciosAcabados($json_data_acabados, $reqData['tirada'], $POD);
if (count($result) > 0) {
foreach ($result as $servicio) {
$coste = round($servicio->total / (1 + $servicio->margen / 100), 2);
$margen = round($servicio->total - $coste, 2);
$servicios->coste += $coste;
$servicios->margen += $margen;
$servicios->coste += round(floatval($servicio->total), 2);
$base = round(floatval($servicio->total / (1 + $servicio->margen / 100.0)), 2);
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
$servicios->margen += round(floatval($servicio->total - $base), 2);
}
}
}
@ -329,10 +331,10 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
$result = $encuadernacion->getServiciosEncuadernacion($json_data_encuadernacion, $reqData['tirada'], $reqData['paginas'], $reqData['ancho'], $reqData['alto'], $POD);
if (count($result) > 0) {
foreach ($result as $servicio) {
$coste = round($servicio->total / (1 + $servicio->margen / 100), 2);
$margen = round($servicio->total - $coste, 2);
$servicios->coste += $coste;
$servicios->margen += $margen;
$servicios->coste += round(floatval($servicio->total), 2);
$base = round(floatval($servicio->total / (1 + $servicio->margen / 100.0)), 2);
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
$servicios->margen += round(floatval($servicio->total - $base), 2);
}
}
}
@ -346,10 +348,44 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
$result = $manipulados->getServiciosManipulado($json_data_manipulado, $reqData['tirada'], $POD);
if (count($result) > 0) {
foreach ($result as $servicio) {
$coste = round($servicio->total / (1 + $servicio->margen / 100), 2);
$margen = round($servicio->total - $coste, 2);
$servicios->coste += $coste;
$servicios->margen += $margen;
$servicios->coste += round(floatval($servicio->total), 2);
$base = round(floatval($servicio->total / (1 + $servicio->margen / 100.0)), 2);
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
$servicios->margen += round(floatval($servicio->total - $base), 2);
}
}
}
}
if($json_data_preimpresion){
$json_data_preimpresion = json_decode($json_data_preimpresion, true);
if (count($json_data_preimpresion) > 0) {
$preimpresion = new Presupuestopreimpresiones();
$POD = (new \App\Models\Configuracion\ConfigVariableModel())->getVariable('POD')->value;
$result = $preimpresion->getServiciosPreimpresion($json_data_preimpresion);
if (count($result) > 0) {
foreach ($result as $servicio) {
$servicios->coste += round(floatval($servicio->total), 2);
$base = round(floatval($servicio->total / (1 + $servicio->margen / 100.0)), 2);
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
$servicios->margen += round(floatval($servicio->total - $base), 2);
}
}
}
}
if($json_data_extra){
$json_data_extra = json_decode($json_data_extra, true);
if (count($json_data_extra) > 0) {
$extra = new Presupuestoserviciosextra();
$POD = (new \App\Models\Configuracion\ConfigVariableModel())->getVariable('POD')->value;
$result = $extra->getServiciosExtra($json_data_extra, $reqData['tirada'], $POD);
if (count($result) > 0) {
foreach ($result as $servicio) {
$servicios->coste += round(floatval($servicio->total), 2);
$base = round(floatval($servicio->total / (1 + $servicio->margen / 100.0)), 2);
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
$servicios->margen += round(floatval($servicio->total - $base), 2);
}
}
}