mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
resuelto problema presupuesto cliente
This commit is contained in:
@ -605,8 +605,16 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
}
|
||||
|
||||
// para el calculo del precio unidad, sólo se tiene en cuenta el envío base
|
||||
for ($i = 0; $i < count($tirada); $i++) {
|
||||
$coste_envio = 0.0;
|
||||
$coste_envio += ($return_data['eb'][$i] / $tirada[$i]);
|
||||
$return_data['precio_u'][$i] = round(floatval($return_data['precio_u'][$i]) + $coste_envio, 4);
|
||||
}
|
||||
|
||||
$envio_base = true;
|
||||
$coste_envio = 0.0; // se inicializa para calcular los costes de envíos restantes si es que hay
|
||||
$return_data['coste_envio'] = [];
|
||||
if (count($direcciones) > 0) {
|
||||
|
||||
for ($i = 0; $i < count($tirada); $i++) {
|
||||
@ -614,8 +622,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
foreach ($direcciones as $direccion) {
|
||||
// El primer envio no se calcula ya que se añade el base
|
||||
if ($envio_base) {
|
||||
//aporte del envio al precio unidad
|
||||
$coste_envio += ($return_data['eb'][$i] / $tirada[$i]);
|
||||
$envio_base = false;
|
||||
continue;
|
||||
}
|
||||
@ -651,19 +657,17 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
];
|
||||
return $return_data;
|
||||
} else {
|
||||
//aporte del envio al precio unidad
|
||||
$coste_envio += ($coste_direccion->coste / $tirada[$i]);
|
||||
// Se añade a los costes de envío
|
||||
$coste_envio += $coste_direccion->coste;
|
||||
}
|
||||
}
|
||||
$return_data['precio_u'][$i] = round(floatval($return_data['precio_u'][$i]) + $coste_envio, 4);
|
||||
|
||||
$return_data['coste_envio'][$i] = round($coste_envio, 2);
|
||||
}
|
||||
} else {
|
||||
for ($i = 0; $i < count($tirada); $i++) {
|
||||
$coste_envio = 0.0;
|
||||
$coste_envio += ($return_data['eb'][$i] / $tirada[$i]);
|
||||
$return_data['precio_u'][$i] = round(floatval($return_data['precio_u'][$i]) + $coste_envio, 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ($this->request) {
|
||||
if ($this->request->isAJAX())
|
||||
return $this->respond($return_data);
|
||||
@ -1158,6 +1162,18 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$resultado_presupuesto['info']['totales'][$i]['coste_envio'] = 0.0;
|
||||
$resultado_presupuesto['info']['totales'][$i]['margen_envio'] = 0.0;
|
||||
}
|
||||
|
||||
// para el calculo del precio unidad, sólo se tiene en cuenta el envío base
|
||||
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_coste'] = $resultado_presupuesto['eb'][$i] - $resultado_presupuesto['eb_margen'][$i];
|
||||
$resultado_presupuesto['info']['totales'][$i]['envio_base_margen'] = $resultado_presupuesto['eb_margen'][$i];
|
||||
$resultado_presupuesto['precio_u'][$i] = round(floatval($resultado_presupuesto['precio_u'][$i]) + $coste_envio, 4);
|
||||
}
|
||||
|
||||
$coste_envio = 0.0; // se inicializa para calcular los costes de envíos restantes si es que hay
|
||||
$resultado_presupuesto['coste_envio'] = [];
|
||||
if (count($direcciones) > 0) {
|
||||
|
||||
for ($i = 0; $i < count($tirada); $i++) {
|
||||
@ -1168,11 +1184,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
foreach ($direcciones as $direccion) {
|
||||
// El primer envio no se calcula ya que se añade el base
|
||||
if ($envio_base) {
|
||||
//aporte del envio al precio unidad
|
||||
$coste_envio += ($resultado_presupuesto['eb'][$i] / $tirada[$i]);
|
||||
$margen_envio += ($resultado_presupuesto['eb_margen'][$i] / $tirada[$i]);
|
||||
$resultado_presupuesto['info']['totales'][$i]['coste_envio'] += $resultado_presupuesto['eb'][$i] - $resultado_presupuesto['eb_margen'][$i];
|
||||
$resultado_presupuesto['info']['totales'][$i]['margen_envio'] += $resultado_presupuesto['eb_margen'][$i];
|
||||
$envio_base = false;
|
||||
continue;
|
||||
}
|
||||
@ -1212,18 +1223,9 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
}
|
||||
}
|
||||
$resultado_presupuesto['precio_u'][$i] = round(floatval($resultado_presupuesto['precio_u'][$i]) + $coste_envio, 4);
|
||||
$resultado_presupuesto['coste_envio'][$i] = round($coste_envio, 2);
|
||||
}
|
||||
} else {
|
||||
for ($i = 0; $i < count($tirada); $i++) {
|
||||
$coste_envio = 0.0;
|
||||
$coste_envio += ($resultado_presupuesto['eb'][$i] / $tirada[$i]);
|
||||
$resultado_presupuesto['info']['totales'][$i]['coste_envio'] = $resultado_presupuesto['eb'][$i] - $resultado_presupuesto['eb_margen'][$i];
|
||||
$resultado_presupuesto['info']['totales'][$i]['margen_envio'] = $resultado_presupuesto['eb_margen'][$i];
|
||||
$resultado_presupuesto['precio_u'][$i] = round(floatval($resultado_presupuesto['precio_u'][$i]) + $coste_envio, 4);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$model_presupuesto = new PresupuestoModel();
|
||||
$tiradas_alternativas = [];
|
||||
@ -1240,7 +1242,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$resultado_presupuesto['info']['totales'][$i]['margenPapel'] +
|
||||
$resultado_presupuesto['info']['totales'][$i]['margen_envio']) / ($coste_total + $coste_envio) * 100.0, 2);
|
||||
$total_pedido = round(($coste_total + $resultado_presupuesto['info']['totales'][$i]['totalServicios'] + $resultado_presupuesto['info']['totales'][$i]['margenServicios'] + $coste_envio), 2);
|
||||
$precio_u = round(($coste_total + $resultado_presupuesto['info']['totales'][$i]['totalServicios'] + $resultado_presupuesto['info']['totales'][$i]['margenServicios'] + $coste_envio) / $tirada[$i], 4);
|
||||
$precio_u = round( $resultado_presupuesto['precio_u'][$i], 4);
|
||||
|
||||
array_push($tiradas_alternativas, (object) array(
|
||||
'tirada' => $tirada[$i],
|
||||
@ -1252,6 +1254,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
));
|
||||
} else {
|
||||
$resumen_totales = $resultado_presupuesto['info']['totales'][$i];
|
||||
$resumen_totales['precio_unidad'] = round($resultado_presupuesto['precio_u'][$i], 4);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -1607,7 +1611,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
|
||||
if (intval($presupuesto->estado_id) == 2) {
|
||||
$data['resumen']['base'] = $presupuesto->total_aceptado;
|
||||
$data['resumen']['base'] = $presupuesto->total_antes_descuento;
|
||||
$data['resumen']['total_envio'] = round(
|
||||
floatval($presupuesto->total_coste_envios) +
|
||||
floatval($presupuesto->total_margen_envios), 2);
|
||||
$data['resumen']['precio_unidad'] = $presupuesto->total_precio_unidad;
|
||||
}
|
||||
|
||||
|
||||
@ -754,6 +754,7 @@ return [
|
||||
"menu_presupuestos_clientes" => "Presupuestos (Clientes)",
|
||||
"menu_presupuesto" => "Libros",
|
||||
"menu_presupuesto_buscador" => "Buscador",
|
||||
"menu_presupuesto_importador" => "Importador ERP antiguo",
|
||||
"menu_libros" => "Libros",
|
||||
"menu_libros_fresasdo_tapa_dura" => "Fresado tapa dura",
|
||||
"menu_libros_fresasdo_tapa_blanda" => "Fresado tapa blanda",
|
||||
|
||||
@ -404,9 +404,9 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
$is_cosido = (new TipoPresupuestoModel())->get_isCosido($data['tipo_impresion_id']);
|
||||
|
||||
$totalCostes = $resumen_totales['totalPapel'] + $resumen_totales['totalImpresion'] +
|
||||
$resumen_totales['totalServicios'] + $resumen_totales['coste_envio'];
|
||||
$resumen_totales['totalServicios'] + $resumen_totales['envio_base_coste'];
|
||||
$totalMargenes = $resumen_totales['margenPapel'] + $resumen_totales['margenImpresion'] +
|
||||
$resumen_totales['margenServicios'] + $resumen_totales['margen_envio'];
|
||||
$resumen_totales['margenServicios'] + $resumen_totales['envio_base_margen'];
|
||||
|
||||
$fields = [
|
||||
'cliente_id' => $data['clienteId'],
|
||||
@ -486,9 +486,9 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
'total_descuento' => 0,
|
||||
'total_descuentoPercent' => 0,
|
||||
|
||||
'total_precio_unidad' => round(($totalCostes + $totalMargenes) / $tirada, 4),
|
||||
'total_presupuesto' => round($totalCostes + $totalMargenes, 2),
|
||||
'total_aceptado' => round($totalCostes + $totalMargenes, 2),
|
||||
'total_precio_unidad' => $resumen_totales['precio_unidad'],
|
||||
'total_presupuesto' => round($totalCostes + $totalMargenes + $resumen_totales['coste_envio']+$resumen_totales['margen_envio'], 2),
|
||||
'total_aceptado' => round($totalCostes + $totalMargenes + $resumen_totales['coste_envio']+$resumen_totales['margen_envio'], 2),
|
||||
|
||||
'total_factor' => round(($totalCostes + $totalMargenes - $resumen_totales['coste_envio'] - $resumen_totales['margen_envio']) / $resumen_totales['sumForFactor'], 2),
|
||||
'total_factor_ponderado' => round(($totalCostes + $totalMargenes - $resumen_totales['coste_envio'] - $resumen_totales['margen_envio']) / $resumen_totales['sumForFactorPonderado'], 2),
|
||||
|
||||
@ -5,9 +5,11 @@
|
||||
|
||||
<div class="col-sm-8 mb-3 d-flex flex-column align-items-center">
|
||||
<h5 class="mb-1 "> Precio unidad: <span id="resumenPrecioU"></span> €</h5>
|
||||
<h4 class="mb-1 "> Total base: <span id="resumenTotalBase"></span> €</h>
|
||||
<h4 class="mb-1 "> Iva (<span id="resumenIvaPorcentaje"></span>%): <span id="resumenIva"></span> €</h>
|
||||
<h3 class="mt-3 mb-1 fw-bold"> Total: <span id="resumenTotal"></span> €</h>
|
||||
<h4 class="mb-1 "> Total base: <span id="resumenTotalBase"></span> €</h4>
|
||||
<h4 class="mb-1 "> Envío: <span id="resumenTotalEnvio"></span> €</h4>
|
||||
<h4 class="mb-1 "> Total antes de I.V.A: <span id="resumenTotalAntesIVA"></span> €</h4>
|
||||
<h4 class="mb-1 "> Iva (<span id="resumenIvaPorcentaje"></span>%): <span id="resumenIva"></span> €</h4>
|
||||
<h3 class="mt-3 mb-1 fw-bold"> Total: <span id="resumenTotal"></span> €</h3>
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
<div id="divFormaCubierta" class="col-sm-12 mb-3 d-flex flex-column align-items-center">
|
||||
|
||||
@ -23,27 +23,23 @@ if (auth()->user()->can('presupuesto.menu')) {
|
||||
</a>
|
||||
<ul class="menu-sub">
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("presupuestoadmin/list/1") ?>"
|
||||
class="menu-link">
|
||||
<a href="<?= site_url("presupuestoadmin/list/1") ?>" class="menu-link">
|
||||
<?= lang("App.menu_libros_fresasdo_tapa_dura") ?>
|
||||
</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("presupuestoadmin/list/2") ?>"
|
||||
class="menu-link">
|
||||
<a href="<?= site_url("presupuestoadmin/list/2") ?>" class="menu-link">
|
||||
<?= lang("App.menu_libros_fresasdo_tapa_blanda") ?>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("presupuestoadmin/list/3") ?>"
|
||||
class="menu-link">
|
||||
<a href="<?= site_url("presupuestoadmin/list/3") ?>" class="menu-link">
|
||||
<?= lang("App.menu_libros_cosido_tapa_dura") ?>
|
||||
</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("presupuestoadmin/list/4") ?>"
|
||||
class="menu-link">
|
||||
<a href="<?= site_url("presupuestoadmin/list/4") ?>" class="menu-link">
|
||||
<?= lang("App.menu_libros_cosido_tapa_blanda") ?>
|
||||
</a>
|
||||
</li>
|
||||
@ -59,8 +55,7 @@ if (auth()->user()->can('presupuesto.menu')) {
|
||||
</li>
|
||||
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("presupuestoadmin/list/6") ?>"
|
||||
class="menu-link">
|
||||
<a href="<?= site_url("presupuestoadmin/list/6") ?>" class="menu-link">
|
||||
<?= lang("App.menu_libros_espiral_tapa_blanda") ?>
|
||||
</a>
|
||||
</li>
|
||||
@ -96,7 +91,8 @@ if (auth()->user()->can('presupuesto.menu')) {
|
||||
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("presupuestos/tarjetascomerciales") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_tarjetas_comerciales") ?>"><?= lang("App.menu_tarjetas_comerciales") ?></div>
|
||||
<div data-i18n="<?= lang("App.menu_tarjetas_comerciales") ?>">
|
||||
<?= lang("App.menu_tarjetas_comerciales") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -119,18 +115,21 @@ if (auth()->user()->can('presupuesto.menu')) {
|
||||
<ul class="menu-sub">
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("presupuestos/dipticos") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_folleto_diptico") ?>"><?= lang("App.menu_folleto_diptico") ?></div>
|
||||
<div data-i18n="<?= lang("App.menu_folleto_diptico") ?>"><?= lang("App.menu_folleto_diptico") ?>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("presupuestos/tripticos") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_folleto_triptico") ?>"><?= lang("App.menu_folleto_triptico") ?></div>
|
||||
<div data-i18n="<?= lang("App.menu_folleto_triptico") ?>">
|
||||
<?= lang("App.menu_folleto_triptico") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("presupuestos/cuadripticos") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_folleto_cuadriptico") ?>"><?= lang("App.menu_folleto_cuadriptico") ?></div>
|
||||
<div data-i18n="<?= lang("App.menu_folleto_cuadriptico") ?>">
|
||||
<?= lang("App.menu_folleto_cuadriptico") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
@ -140,8 +139,13 @@ if (auth()->user()->can('presupuesto.menu')) {
|
||||
<div data-i18n="<?= lang("App.menu_calendarios") ?>"><?= lang("App.menu_calendarios") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("/importador") ?>" class="menu-link">
|
||||
<?= lang("App.menu_presupuesto_importador") ?>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
<?php } ?>
|
||||
Reference in New Issue
Block a user