mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
haciendo pruebas
This commit is contained in:
@ -870,12 +870,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
$proporcion = intval($direccion['unidades'])/$selected_tirada*100.0;
|
||||
$unidades_calculo = floor($tirada[$i] * $proporcion / 100.0);
|
||||
$peso_calculo = $peso_libro / $selected_tirada * $unidades_calculo;
|
||||
$coste_envio = $this->calcular_coste_envio(
|
||||
$direccion['id'], $peso_calculo, $unidades_calculo, $direccion['tipo']=='cajas'?0:1);
|
||||
$direccion['id'], $peso_libro, $unidades_calculo, $direccion['tipo']=='cajas'?0:1);
|
||||
if(count($coste_envio)> 0){
|
||||
$coste = $coste_envio[0]->coste;
|
||||
$margen = ($coste_envio[0]->coste * $coste_envio[0]->margen)/100.0;
|
||||
$coste = floatval($coste_envio[0]->coste);
|
||||
$margen = ($coste * floatval($coste_envio[0]->margen))/100.0;
|
||||
$coste -= $margen;
|
||||
$resultado_presupuesto['totales'][$i]['coste_envio'] += $coste;
|
||||
$resultado_presupuesto['totales'][$i]['margen_envio'] += $margen;
|
||||
@ -916,9 +915,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$selected_tirada, $datos_presupuesto, $datosCabecera, $resultado_presupuesto['info'],
|
||||
$resumen_totales, $iva_reducido, $tiradas_alternativas);
|
||||
|
||||
|
||||
// Lineas Presupuesto
|
||||
/*
|
||||
foreach ($resultado_presupuesto['info']['interior'] as $linea){
|
||||
|
||||
if(count($linea) > 0)
|
||||
@ -949,11 +946,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$this->guardarServicio($id, $servicio, 'manipulado');
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
foreach ($reqData['direcciones'] as $direccion){
|
||||
$this->guardarLineaEnvio($id, $direccion, $peso_libro);
|
||||
}
|
||||
|
||||
|
||||
return $this->respond([
|
||||
'value' => $id,
|
||||
@ -979,9 +975,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
|
||||
protected function guardarLineaEnvio($presupuestoId, $direccion, $peso_libro){
|
||||
|
||||
|
||||
$unidades = intval($direccion['unidades']);
|
||||
$peso_envio = $peso_libro * $unidades / 1000.0;
|
||||
|
||||
$data = $this->calcular_coste_envio($direccion['id'], $peso_libro, $direccion['unidades'], $direccion['tipo']=='cajas'?0:1);
|
||||
if(count($data)>0){
|
||||
|
||||
$data[0]->presupuesto_id = $presupuestoId;
|
||||
$data[0]->tarifa_id = $data[0]->id;
|
||||
unset($data[0]->id);
|
||||
@ -989,14 +989,14 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
unset($data[0]->coste);
|
||||
$data[0]->entregaPieCalle = $direccion['tipo']=='cajas'?0:1;
|
||||
unset($data[0]->tipo);
|
||||
$data[0]->peso = $peso_envio;
|
||||
$data[0]->cantidad = $unidades;
|
||||
|
||||
$model = new PresupuestoDireccionesModel();
|
||||
$model->insert($data[0]);
|
||||
}
|
||||
}
|
||||
|
||||
protected function guardarTiradas($presupuestoId, $direccion){
|
||||
|
||||
}
|
||||
|
||||
protected function guardarServicio($presupuestoId, $servicio, $tipo){
|
||||
|
||||
@ -1063,17 +1063,17 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$margen = 0;
|
||||
|
||||
if ($data > 0) {
|
||||
$peso_envio = $peso * $unidades / 1000.0; // peso libro * unidades y se pasa a gramos
|
||||
$peso_envio = $peso * $unidades / 1000.0; // peso libro * unidades y se pasa a kilogramos
|
||||
$tarifas_envio = $modelTarifaEnvio->getTarifaEnvio($data[0]->pais_id, $data[0]->cp, $peso_envio, $entregaPieCalle ? 'palets' : 'cajas');
|
||||
for ($i = 0; $i < count($tarifas_envio); $i++) {
|
||||
if ($peso > $tarifas_envio[$i]->peso_max) {
|
||||
$tarifas_envio[$i]->precio = number_format($tarifas_envio[$i]->peso_min + ($peso - $tarifas_envio[$i]->peso_min) * $tarifas_envio[$i]->precio_adicional, 2);
|
||||
if ($peso_envio > $tarifas_envio[$i]->peso_max || floatval($tarifas_envio[$i]->precio_max) == 0) {
|
||||
$tarifas_envio[$i]->precio = number_format(floatval($tarifas_envio[$i]->precio_min) + ($peso_envio - floatval($tarifas_envio[$i]->peso_min)) * floatval($tarifas_envio[$i]->precio_adicional), 2);
|
||||
}
|
||||
// si no se calcula linealmente
|
||||
else {
|
||||
$m = (($tarifas_envio[$i]->precio_max - $tarifas_envio[$i]->precio_min) / ($tarifas_envio[$i]->peso_max - $tarifas_envio[$i]->peso_min));
|
||||
$b = $tarifas_envio[$i]->precio_max - $m * $tarifas_envio[$i]->peso_max;
|
||||
$tarifas_envio[$i]->precio = number_format($m * $peso + $b, 2);
|
||||
$tarifas_envio[$i]->precio = number_format($m * $peso_envio + $b, 2);
|
||||
}
|
||||
$margen = $tarifas_envio[$i]->margen;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user