mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
corregidos varios problemas con los presupuestos (calculo envio base debido al peso de las guardas, resumen, etc)
This commit is contained in:
@ -565,7 +565,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
'servicios' => $reqData['servicios'] ?? [],
|
'servicios' => $reqData['servicios'] ?? [],
|
||||||
);
|
);
|
||||||
|
|
||||||
$return_data = $this->calcular_presupuesto($datos_presupuesto, 0, false); //TRUE FOR DEBUG
|
$develoment_mode = getenv('SK_ENVIRONMENT') !== 'production';
|
||||||
|
$return_data = $this->calcular_presupuesto($datos_presupuesto, 0, $develoment_mode); //TRUE FOR DEBUG
|
||||||
if (array_key_exists('errors', $return_data)) {
|
if (array_key_exists('errors', $return_data)) {
|
||||||
if ($return_data['errors']->status == 1) {
|
if ($return_data['errors']->status == 1) {
|
||||||
$return_data = [
|
$return_data = [
|
||||||
@ -1200,12 +1201,14 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
// para el calculo del precio unidad, sólo se tiene en cuenta el envío base
|
// para el calculo del precio unidad, sólo se tiene en cuenta el envío base
|
||||||
for ($i = 0; $i < count($tirada); $i++) {
|
for ($i = 0; $i < count($tirada); $i++) {
|
||||||
$coste_envio = 0.0;
|
|
||||||
$coste_envio += ($resultado_presupuesto['eb'][$i] / $tirada[$i]);
|
|
||||||
$resultado_presupuesto['info']['totales'][$i]['envio_base_margen'] =
|
$resultado_presupuesto['info']['totales'][$i]['envio_base_margen'] =
|
||||||
floatval($resultado_presupuesto['eb'][$i]) * (floatval($resultado_presupuesto['eb_margen'][$i]) / 100.0);
|
floatval($resultado_presupuesto['eb'][$i]) * (floatval($resultado_presupuesto['eb_margen'][$i]) / 100.0);
|
||||||
$resultado_presupuesto['info']['totales'][$i]['envio_base_coste'] = $resultado_presupuesto['eb'][$i];
|
$resultado_presupuesto['info']['totales'][$i]['envio_base_coste'] = $resultado_presupuesto['eb'][$i];
|
||||||
|
|
||||||
|
$coste_envio = round(round($resultado_presupuesto['info']['totales'][$i]['envio_base_margen'] +
|
||||||
|
$resultado_presupuesto['info']['totales'][$i]['envio_base_coste'], 2) / 50, 4);
|
||||||
|
|
||||||
$resultado_presupuesto['precio_u'][$i] = round(floatval($resultado_presupuesto['precio_u'][$i]) + $coste_envio, 4);
|
$resultado_presupuesto['precio_u'][$i] = round(floatval($resultado_presupuesto['precio_u'][$i]) + $coste_envio, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2125,7 +2128,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
foreach ($interior as $linea) {
|
foreach ($interior as $linea) {
|
||||||
if (count($linea) > 0) {
|
if (count($linea) > 0) {
|
||||||
$costeInterior += round(floatval($linea['total_impresion']), 2);
|
$costeInterior += round(floatval($linea['total_impresion']), 2);
|
||||||
$peso_interior += floatval($linea['peso']);
|
$peso_interior += round(floatval($linea['peso']), 2);
|
||||||
$lomo += floatval($linea['mano']);
|
$lomo += floatval($linea['mano']);
|
||||||
$info['lomo_interior'] += floatval($linea['mano']);
|
$info['lomo_interior'] += floatval($linea['mano']);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
@ -2238,7 +2241,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
$peso_cubierta = 0.0;
|
$peso_cubierta = 0.0;
|
||||||
if (count($cubierta) > 0) {
|
if (count($cubierta) > 0) {
|
||||||
$coste_cubierta += round(floatval($cubierta['total_impresion']), 2);
|
$coste_cubierta += round(floatval($cubierta['total_impresion']), 2);
|
||||||
$peso_cubierta += floatval($cubierta['peso']);
|
$peso_cubierta += round(floatval($cubierta['peso']), 2);
|
||||||
$lomo += floatval($cubierta['mano']);
|
$lomo += floatval($cubierta['mano']);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
|
|
||||||
@ -2302,9 +2305,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
}
|
}
|
||||||
$coste_servicios += round(floatval($acabadoCubierta[0]->total), 2);
|
$coste_servicios += round(floatval($acabadoCubierta[0]->total), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$totalServicios += round(floatval($acabadoCubierta[0]->total), 2);
|
//$totalServicios += round(floatval($acabadoCubierta[0]->total), 2);
|
||||||
$base = round(floatval($acabadoCubierta[0]->total / (1 + $acabadoCubierta[0]->margen / 100.0)), 2);
|
$base = round(floatval($acabadoCubierta[0]->total / (1 + $acabadoCubierta[0]->margen / 100.0)), 2);
|
||||||
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
||||||
|
$totalServicios += $base;
|
||||||
$margenServicios += round(floatval($acabadoCubierta[0]->total - $base), 2);
|
$margenServicios += round(floatval($acabadoCubierta[0]->total - $base), 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2341,9 +2345,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
}
|
}
|
||||||
$coste_servicios += round(floatval($resultado[0]->total), 2);
|
$coste_servicios += round(floatval($resultado[0]->total), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$totalServicios += round(floatval($resultado[0]->total), 2);
|
//$totalServicios += round(floatval($resultado[0]->total), 2);
|
||||||
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
||||||
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
||||||
|
$totalServicios += $base;
|
||||||
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2374,7 +2379,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
if (count($linea_sobrecubierta) > 0) {
|
if (count($linea_sobrecubierta) > 0) {
|
||||||
$coste_sobrecubierta += round(floatval($linea_sobrecubierta['total_impresion']), 2);
|
$coste_sobrecubierta += round(floatval($linea_sobrecubierta['total_impresion']), 2);
|
||||||
$peso_sobrecubierta += floatval($linea_sobrecubierta['peso']);
|
$peso_sobrecubierta += round(floatval($linea_sobrecubierta['peso']), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
|
|
||||||
$this->calcular_coste_linea(
|
$this->calcular_coste_linea(
|
||||||
@ -2437,9 +2442,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$coste_servicios += round(floatval($acabadoSobrecubierta[0]->total), 2);
|
$coste_servicios += round(floatval($acabadoSobrecubierta[0]->total), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$totalServicios += round(floatval($acabadoSobrecubierta[0]->total), 2);
|
//$totalServicios += round(floatval($acabadoSobrecubierta[0]->total), 2);
|
||||||
$base = round(floatval($acabadoSobrecubierta[0]->total / (1 + $acabadoSobrecubierta[0]->margen / 100.0)), 2);
|
$base = round(floatval($acabadoSobrecubierta[0]->total / (1 + $acabadoSobrecubierta[0]->margen / 100.0)), 2);
|
||||||
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
||||||
|
$totalServicios += $base;
|
||||||
$margenServicios += round(floatval($acabadoSobrecubierta[0]->total - $base), 2);
|
$margenServicios += round(floatval($acabadoSobrecubierta[0]->total - $base), 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2479,7 +2485,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
if (count($guardas) > 0) {
|
if (count($guardas) > 0) {
|
||||||
$coste_guardas += round(floatval($guardas['total_impresion']), 2);
|
$coste_guardas += round(floatval($guardas['total_impresion']), 2);
|
||||||
$peso_guardas += floatval($guardas['peso']);
|
$peso_guardas += round(floatval($guardas['peso']), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
|
|
||||||
$this->calcular_coste_linea(
|
$this->calcular_coste_linea(
|
||||||
@ -2595,9 +2601,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$coste_servicios += round(floatval($acabadoFaja[0]->total), 2);
|
$coste_servicios += round(floatval($acabadoFaja[0]->total), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$totalServicios += round(floatval($acabadoFaja[0]->total), 2);
|
//$totalServicios += round(floatval($acabadoFaja[0]->total), 2);
|
||||||
$base = round(floatval($acabadoFaja[0]->total / (1 + $acabadoFaja[0]->margen / 100.0)), 2);
|
$base = round(floatval($acabadoFaja[0]->total / (1 + $acabadoFaja[0]->margen / 100.0)), 2);
|
||||||
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
||||||
|
$totalServicios += $base;
|
||||||
$margenServicios += round(floatval($acabadoFaja[0]->total - $base), 2);
|
$margenServicios += round(floatval($acabadoFaja[0]->total - $base), 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2649,9 +2656,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$costeServiciosDefecto += round(floatval($servicio->total), 2);
|
$costeServiciosDefecto += round(floatval($servicio->total), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$totalServicios += round(floatval($servicio->total), 2);
|
//$totalServicios += round(floatval($servicio->total), 2);
|
||||||
$base = round(floatval($servicio->total / (1 + $servicio->margen / 100.0)), 2);
|
$base = round(floatval($servicio->total / (1 + $servicio->margen / 100.0)), 2);
|
||||||
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
||||||
|
$totalServicios += $base;
|
||||||
$margenServicios += round(floatval($servicio->total - $base), 2);
|
$margenServicios += round(floatval($servicio->total - $base), 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2686,9 +2694,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$costeServiciosDefecto += round(floatval($servicio->total), 2);
|
$costeServiciosDefecto += round(floatval($servicio->total), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$totalServicios += round(floatval($servicio->total), 2);
|
//$totalServicios += round(floatval($servicio->total), 2);
|
||||||
$base = round(floatval($servicio->total / (1 + $servicio->margen / 100.0)), 2);
|
$base = round(floatval($servicio->total / (1 + $servicio->margen / 100.0)), 2);
|
||||||
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
||||||
|
$totalServicios += $base;
|
||||||
$margenServicios += round(floatval($servicio->total - $base), 2);
|
$margenServicios += round(floatval($servicio->total - $base), 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2791,9 +2800,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$coste_servicios += round(floatval($resultado[0]->total), 2);
|
$coste_servicios += round(floatval($resultado[0]->total), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$totalServicios += round(floatval($resultado[0]->total), 2);
|
//$totalServicios += round(floatval($resultado[0]->total), 2);
|
||||||
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
||||||
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
||||||
|
$totalServicios += $base;
|
||||||
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
||||||
}
|
}
|
||||||
} else if ($servicio->nombre == "ferro" || $servicio->nombre == "prototipo") {
|
} else if ($servicio->nombre == "ferro" || $servicio->nombre == "prototipo") {
|
||||||
@ -2823,9 +2833,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$coste_servicios += round(floatval($resultado[0]->precio), 2);
|
$coste_servicios += round(floatval($resultado[0]->precio), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$totalServicios += round(floatval($resultado[0]->precio), 2);
|
//$totalServicios += round(floatval($resultado[0]->precio), 2);
|
||||||
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
||||||
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
||||||
|
$totalServicios += $base;
|
||||||
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
||||||
}
|
}
|
||||||
} else if ($servicio->nombre == 'solapas_cubierta' || $servicio->nombre == 'solapas_sobrecubierta' || $servicio->nombre == 'solapas_faja') {
|
} else if ($servicio->nombre == 'solapas_cubierta' || $servicio->nombre == 'solapas_sobrecubierta' || $servicio->nombre == 'solapas_faja') {
|
||||||
@ -2857,9 +2868,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$coste_servicios += round(floatval($resultado[0]->total), 2);
|
$coste_servicios += round(floatval($resultado[0]->total), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$totalServicios += round(floatval($resultado[0]->total), 2);
|
//$totalServicios += round(floatval($resultado[0]->total), 2);
|
||||||
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
||||||
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
||||||
|
$totalServicios += $base;
|
||||||
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2898,9 +2910,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$coste_servicios += round(floatval($resultado[0]->precio), 2);
|
$coste_servicios += round(floatval($resultado[0]->precio), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$totalServicios += round(floatval($resultado[0]->precio), 2);
|
//$totalServicios += round(floatval($resultado[0]->precio), 2);
|
||||||
$base = round(floatval($resultado[0]->precio / (1 + $resultado[0]->margen / 100.0)), 2);
|
$base = round(floatval($resultado[0]->precio / (1 + $resultado[0]->margen / 100.0)), 2);
|
||||||
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
||||||
|
$totalServicios += $base;
|
||||||
$margenServicios += round(floatval($resultado[0]->precio - $base), 2);
|
$margenServicios += round(floatval($resultado[0]->precio - $base), 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2937,9 +2950,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$coste_servicios += round(floatval($resultado[0]->total), 2);
|
$coste_servicios += round(floatval($resultado[0]->total), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$totalServicios += round(floatval($resultado[0]->total), 2);
|
//$totalServicios += round(floatval($resultado[0]->total), 2);
|
||||||
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
||||||
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
||||||
|
$totalServicios += $base;
|
||||||
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2974,9 +2988,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$coste_servicios += round(floatval($resultado[0]->total), 2);
|
$coste_servicios += round(floatval($resultado[0]->total), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$totalServicios += round(floatval($resultado[0]->total), 2);
|
//$totalServicios += round(floatval($resultado[0]->total), 2);
|
||||||
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
||||||
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
||||||
|
$totalServicios += $base;
|
||||||
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3011,19 +3026,23 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$coste_servicios += round(floatval($resultado[0]->total), 2);
|
$coste_servicios += round(floatval($resultado[0]->total), 2);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$totalServicios += round(floatval($resultado[0]->total), 2);
|
//$totalServicios += round(floatval($resultado[0]->total), 2);
|
||||||
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
||||||
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
|
||||||
|
$totalServicios += $base;
|
||||||
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$total_por_tirada = $costeInterior +
|
/*$total_por_tirada = $costeInterior +
|
||||||
$coste_cubierta +
|
$coste_cubierta +
|
||||||
$coste_sobrecubierta +
|
$coste_sobrecubierta +
|
||||||
$coste_guardas +
|
$coste_guardas +
|
||||||
$coste_faja +
|
$coste_faja +
|
||||||
$costeServiciosDefecto + $coste_servicios;
|
$costeServiciosDefecto + $coste_servicios;*/
|
||||||
|
$total_por_tirada = $totalPapel + $margenPapel +
|
||||||
|
$totalImpresion + $margenImpresion +
|
||||||
|
$totalServicios + $margenServicios;
|
||||||
array_push(
|
array_push(
|
||||||
$precio_u,
|
$precio_u,
|
||||||
round(($total_por_tirada) / $tirada[$t], 4)
|
round(($total_por_tirada) / $tirada[$t], 4)
|
||||||
@ -3031,7 +3050,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
array_push($peso, round($peso_interior + $peso_cubierta + $peso_sobrecubierta + $peso_guardas + $peso_faja, 2));
|
array_push($peso, round($peso_interior + $peso_cubierta + $peso_sobrecubierta + $peso_guardas + $peso_faja, 2));
|
||||||
|
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$totalServicios -= $margenServicios;
|
//$totalServicios -= $margenServicios;
|
||||||
if (($margenServicios + $totalServicios) > 0) {
|
if (($margenServicios + $totalServicios) > 0) {
|
||||||
$porcentajeMargenServicios = $margenServicios / ($totalServicios) * 100;
|
$porcentajeMargenServicios = $margenServicios / ($totalServicios) * 100;
|
||||||
} else {
|
} else {
|
||||||
@ -3047,15 +3066,18 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
'totalImpresion' => $totalImpresion,
|
'totalImpresion' => $totalImpresion,
|
||||||
'margenImpresion' => $margenImpresion,
|
'margenImpresion' => $margenImpresion,
|
||||||
|
|
||||||
'sumForFactor' => $sumForFactor,
|
|
||||||
'sumForFactorPonderado' => $sumForFactorPonderado,
|
|
||||||
|
|
||||||
'totalServicios' => $totalServicios,
|
'totalServicios' => $totalServicios,
|
||||||
'margenServicios' => $margenServicios,
|
'margenServicios' => $margenServicios,
|
||||||
|
|
||||||
'porcentajeMargenPapel' => $porcentajeMargenPapel,
|
'porcentajeMargenPapel' => round($porcentajeMargenPapel, 0),
|
||||||
'porcentajeMargenImpresion' => $porcentajeMargenImpresion,
|
'porcentajeMargenImpresion' => round($porcentajeMargenImpresion, 0),
|
||||||
'porcentajeMargenServicios' => $porcentajeMargenServicios
|
'porcentajeMargenServicios' => round($porcentajeMargenServicios, 0),
|
||||||
|
|
||||||
|
'sumForFactor' => $sumForFactor,
|
||||||
|
'sumForFactorPonderado' => $sumForFactorPonderado,
|
||||||
|
|
||||||
|
'total' => round($total_por_tirada, 2),
|
||||||
|
'precio_u' => round(($total_por_tirada) / $tirada[$t], 4),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3112,12 +3134,14 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
return;
|
return;
|
||||||
$totalPapel += round($linea['precio_pedido'], 2);
|
$totalPapel += round($linea['precio_pedido'], 2);
|
||||||
$totalPapel -= round($linea['margen_papel_pedido'], 2);
|
$totalPapel -= round($linea['margen_papel_pedido'], 2);
|
||||||
|
$totalPapel = round($totalPapel, 2);
|
||||||
$sumForFactor += round($linea['precio_pedido'], 2)
|
$sumForFactor += round($linea['precio_pedido'], 2)
|
||||||
- round($linea['margen_papel_pedido'], 2);
|
- round($linea['margen_papel_pedido'], 2);
|
||||||
$margenPapel += round($linea['margen_papel_pedido'], 2);
|
$margenPapel += round($linea['margen_papel_pedido'], 2);
|
||||||
|
|
||||||
$totalImpresion += round($linea['precio_click_pedido'], 2);
|
$totalImpresion += round($linea['precio_click_pedido'], 2);
|
||||||
$totalImpresion -= round($linea['margen_click_pedido'], 2);
|
$totalImpresion -= round($linea['margen_click_pedido'], 2);
|
||||||
|
$totalImpresion = round($totalImpresion, 2);
|
||||||
$sumForFactor += round($linea['precio_click_pedido'], 2)
|
$sumForFactor += round($linea['precio_click_pedido'], 2)
|
||||||
- round($linea['margen_click_pedido'], 2);
|
- round($linea['margen_click_pedido'], 2);
|
||||||
|
|
||||||
@ -3132,6 +3156,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
$margenImpresion += round($linea['precio_impresion_horas'], 2); // coste de maquina y magen son MARGEN, no COSTE
|
$margenImpresion += round($linea['precio_impresion_horas'], 2); // coste de maquina y magen son MARGEN, no COSTE
|
||||||
$margenImpresion += round($linea['margen_impresion_horas'], 2);
|
$margenImpresion += round($linea['margen_impresion_horas'], 2);
|
||||||
$margenImpresion += round($linea['margen_click_pedido'], 2);
|
$margenImpresion += round($linea['margen_click_pedido'], 2);
|
||||||
|
$margenImpresion = round($margenImpresion, 2);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1213,7 +1213,7 @@ class Comparador {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const datosPedido = {
|
let datosPedido = {
|
||||||
paginas: paginas,
|
paginas: paginas,
|
||||||
tirada: $('#tirada').val(),
|
tirada: $('#tirada').val(),
|
||||||
merma: $('#merma').val(),
|
merma: $('#merma').val(),
|
||||||
@ -1262,7 +1262,14 @@ class Comparador {
|
|||||||
}
|
}
|
||||||
|
|
||||||
else if (uso == 'guardas') {
|
else if (uso == 'guardas') {
|
||||||
datos.datosPedido.isCosido = 1;
|
// Para el caso de Fresado y Cosido tapa dura, las guardas son un diptico
|
||||||
|
// y hay que imprimirlas como "cosido" (dos hojas pegadas). En el caso de espiral
|
||||||
|
// o wire-o tapa dura, las guardas se imprimen como hojas sueltas
|
||||||
|
if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3) {
|
||||||
|
datos.datosPedido.isCosido = 1;
|
||||||
|
} else if (this.tipo_impresion_id == 5 || this.tipo_impresion_id == 7) {
|
||||||
|
datos.datosPedido.isCosido = 0;
|
||||||
|
}
|
||||||
datos.datosPedido.isHq = 1;
|
datos.datosPedido.isHq = 1;
|
||||||
datos.paginas_color = datos.datosPedido.paginas;
|
datos.paginas_color = datos.datosPedido.paginas;
|
||||||
datos.paginas_impresion = this.carasGuardas.val();
|
datos.paginas_impresion = this.carasGuardas.val();
|
||||||
@ -1458,7 +1465,7 @@ class Comparador {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (this.tipo_impresion_id != 5 && this.tipo_impresion_id != 6 && this.tipo_impresion_id != 7 && this.tipo_impresion_id != 8 && this.tipo_impresion_id != 21) {
|
if (this.tipo_impresion_id != 5 && this.tipo_impresion_id != 6 && this.tipo_impresion_id != 7 && this.tipo_impresion_id != 8 && this.tipo_impresion_id != 21) {
|
||||||
if (this.sobrecubierta.select2('data').length >0 && parseInt(this.sobrecubierta.select2('data')[0].id) == 1) {
|
if (this.sobrecubierta.select2('data').length > 0 && parseInt(this.sobrecubierta.select2('data')[0].id) == 1) {
|
||||||
datosComp.sobrecubierta = this.getDataForComp('sobrecubierta');
|
datosComp.sobrecubierta = this.getDataForComp('sobrecubierta');
|
||||||
if (datosComp.sobrecubierta.error) {
|
if (datosComp.sobrecubierta.error) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -8,6 +8,9 @@ class PreviewFormasAdmin {
|
|||||||
this.isCosido = $("#isCosido").val();
|
this.isCosido = $("#isCosido").val();
|
||||||
this.tipoTapa = tipoTapa;
|
this.tipoTapa = tipoTapa;
|
||||||
|
|
||||||
|
this.tipo_impresion_id = parseInt($('#tipo_impresion_id').val());
|
||||||
|
|
||||||
|
|
||||||
// Container para el esquema de cubierta
|
// Container para el esquema de cubierta
|
||||||
this.preview = new preview($('#pv_ec_shape'), tipoLibro, tipoTapa, "fullImage", data);
|
this.preview = new preview($('#pv_ec_shape'), tipoLibro, tipoTapa, "fullImage", data);
|
||||||
}
|
}
|
||||||
@ -66,8 +69,18 @@ class PreviewFormasAdmin {
|
|||||||
|
|
||||||
$('#tab-pv-guardas').on("click", function () {
|
$('#tab-pv-guardas').on("click", function () {
|
||||||
|
|
||||||
|
let cosidoGuardas = false;
|
||||||
|
// Para el caso de Fresado y Cosido tapa dura, las guardas son un diptico
|
||||||
|
// y hay que imprimirlas como "cosido" (dos hojas pegadas). En el caso de espiral
|
||||||
|
// o wire-o tapa dura, las guardas se imprimen como hojas sueltas
|
||||||
|
if (self.tipo_impresion_id == 1 || self.tipo_impresion_id == 3) {
|
||||||
|
cosidoGuardas = true;
|
||||||
|
} /*else if (self.tipo_impresion_id == 5 || self.tipo_impresion_id == 7) {
|
||||||
|
cosidoGuardas = false;
|
||||||
|
}*/
|
||||||
|
|
||||||
self.preview.setData(self.data);
|
self.preview.setData(self.data);
|
||||||
self.preview.previewInteriorPlana('guardas', self.isCosido, self.tipoTapa.includes("dura") ? 1 : 0);
|
self.preview.previewInteriorPlana('guardas', cosidoGuardas, self.tipoTapa.includes("dura") ? 1 : 0);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -214,8 +214,14 @@ class Resumen {
|
|||||||
let margen_servicio = parseFloat(rowData.margen);
|
let margen_servicio = parseFloat(rowData.margen);
|
||||||
let importe_fijo = parseFloat(rowData.importe_fijo);
|
let importe_fijo = parseFloat(rowData.importe_fijo);
|
||||||
totalServicios += total_servicio
|
totalServicios += total_servicio
|
||||||
let base = self.roundToTwoDecimals((total_servicio-importe_fijo) / (1 + margen_servicio / 100.0));
|
|
||||||
margenServicios += self.roundToTwoDecimals(parseFloat(total_servicio - base));
|
let calculoMargen = self.roundToTwoDecimals((total_servicio-importe_fijo) / parseInt($('#tirada').val()));
|
||||||
|
calculoMargen = self.roundToTwoDecimals(calculoMargen / (1 + margen_servicio / 100.0));
|
||||||
|
calculoMargen = total_servicio - self.roundToTwoDecimals(calculoMargen * parseInt($('#tirada').val()));
|
||||||
|
margenServicios += calculoMargen
|
||||||
|
|
||||||
|
/*let base = self.roundToTwoDecimals((total_servicio-importe_fijo) / (1 + margen_servicio / 100.0));
|
||||||
|
margenServicios += self.roundToTwoDecimals(parseFloat(total_servicio - base));*/
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -466,10 +466,10 @@ class PresupuestoCliente {
|
|||||||
popErrorAlert("Presupuesto no válido, corrija los errores antes de guardar.");
|
popErrorAlert("Presupuesto no válido, corrija los errores antes de guardar.");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
popSuccessAlert(response.message);
|
|
||||||
$('.is-invalid').removeClass('is-invalid');
|
$('.is-invalid').removeClass('is-invalid');
|
||||||
const skAlert = document.getElementById('sk-alert');
|
const skAlert = document.getElementById('sk-alert');
|
||||||
skAlert.innerHTML = '';
|
skAlert.innerHTML = '';
|
||||||
|
popSuccessAlert(response.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -514,6 +514,8 @@ class PresupuestoCliente {
|
|||||||
|
|
||||||
popAlert2Hide();
|
popAlert2Hide();
|
||||||
|
|
||||||
|
this.divTiradasPrecios.empty();
|
||||||
|
|
||||||
for (let i = 0; i < response.tiradas.length; i++) {
|
for (let i = 0; i < response.tiradas.length; i++) {
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
$('#eb').val(response.eb[i]);
|
$('#eb').val(response.eb[i]);
|
||||||
@ -555,7 +557,7 @@ class PresupuestoCliente {
|
|||||||
$(window).scrollTop(0);
|
$(window).scrollTop(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.datos.cubierta.acabado)
|
if (this.datos.cubierta && this.datos.cubierta.acabado)
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
$(`#containerTiradasEnvios .tirada-envio input[tirada="${this.direcciones.tiradaSeleccionada}"]`).trigger('click');
|
$(`#containerTiradasEnvios .tirada-envio input[tirada="${this.direcciones.tiradaSeleccionada}"]`).trigger('click');
|
||||||
}, 0);
|
}, 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user