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;
|
$proporcion = intval($direccion['unidades'])/$selected_tirada*100.0;
|
||||||
$unidades_calculo = floor($tirada[$i] * $proporcion / 100.0);
|
$unidades_calculo = floor($tirada[$i] * $proporcion / 100.0);
|
||||||
$peso_calculo = $peso_libro / $selected_tirada * $unidades_calculo;
|
|
||||||
$coste_envio = $this->calcular_coste_envio(
|
$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){
|
if(count($coste_envio)> 0){
|
||||||
$coste = $coste_envio[0]->coste;
|
$coste = floatval($coste_envio[0]->coste);
|
||||||
$margen = ($coste_envio[0]->coste * $coste_envio[0]->margen)/100.0;
|
$margen = ($coste * floatval($coste_envio[0]->margen))/100.0;
|
||||||
$coste -= $margen;
|
$coste -= $margen;
|
||||||
$resultado_presupuesto['totales'][$i]['coste_envio'] += $coste;
|
$resultado_presupuesto['totales'][$i]['coste_envio'] += $coste;
|
||||||
$resultado_presupuesto['totales'][$i]['margen_envio'] += $margen;
|
$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'],
|
$selected_tirada, $datos_presupuesto, $datosCabecera, $resultado_presupuesto['info'],
|
||||||
$resumen_totales, $iva_reducido, $tiradas_alternativas);
|
$resumen_totales, $iva_reducido, $tiradas_alternativas);
|
||||||
|
|
||||||
|
|
||||||
// Lineas Presupuesto
|
// Lineas Presupuesto
|
||||||
/*
|
|
||||||
foreach ($resultado_presupuesto['info']['interior'] as $linea){
|
foreach ($resultado_presupuesto['info']['interior'] as $linea){
|
||||||
|
|
||||||
if(count($linea) > 0)
|
if(count($linea) > 0)
|
||||||
@ -949,12 +946,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
$this->guardarServicio($id, $servicio, 'manipulado');
|
$this->guardarServicio($id, $servicio, 'manipulado');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
foreach ($reqData['direcciones'] as $direccion){
|
foreach ($reqData['direcciones'] as $direccion){
|
||||||
$this->guardarLineaEnvio($id, $direccion, $peso_libro);
|
$this->guardarLineaEnvio($id, $direccion, $peso_libro);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return $this->respond([
|
return $this->respond([
|
||||||
'value' => $id,
|
'value' => $id,
|
||||||
$csrfTokenName => $newTokenHash
|
$csrfTokenName => $newTokenHash
|
||||||
@ -980,8 +976,12 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
protected function guardarLineaEnvio($presupuestoId, $direccion, $peso_libro){
|
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);
|
$data = $this->calcular_coste_envio($direccion['id'], $peso_libro, $direccion['unidades'], $direccion['tipo']=='cajas'?0:1);
|
||||||
if(count($data)>0){
|
if(count($data)>0){
|
||||||
|
|
||||||
$data[0]->presupuesto_id = $presupuestoId;
|
$data[0]->presupuesto_id = $presupuestoId;
|
||||||
$data[0]->tarifa_id = $data[0]->id;
|
$data[0]->tarifa_id = $data[0]->id;
|
||||||
unset($data[0]->id);
|
unset($data[0]->id);
|
||||||
@ -989,14 +989,14 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
unset($data[0]->coste);
|
unset($data[0]->coste);
|
||||||
$data[0]->entregaPieCalle = $direccion['tipo']=='cajas'?0:1;
|
$data[0]->entregaPieCalle = $direccion['tipo']=='cajas'?0:1;
|
||||||
unset($data[0]->tipo);
|
unset($data[0]->tipo);
|
||||||
|
$data[0]->peso = $peso_envio;
|
||||||
|
$data[0]->cantidad = $unidades;
|
||||||
|
|
||||||
$model = new PresupuestoDireccionesModel();
|
$model = new PresupuestoDireccionesModel();
|
||||||
$model->insert($data[0]);
|
$model->insert($data[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function guardarTiradas($presupuestoId, $direccion){
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function guardarServicio($presupuestoId, $servicio, $tipo){
|
protected function guardarServicio($presupuestoId, $servicio, $tipo){
|
||||||
|
|
||||||
@ -1063,17 +1063,17 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
$margen = 0;
|
$margen = 0;
|
||||||
|
|
||||||
if ($data > 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');
|
$tarifas_envio = $modelTarifaEnvio->getTarifaEnvio($data[0]->pais_id, $data[0]->cp, $peso_envio, $entregaPieCalle ? 'palets' : 'cajas');
|
||||||
for ($i = 0; $i < count($tarifas_envio); $i++) {
|
for ($i = 0; $i < count($tarifas_envio); $i++) {
|
||||||
if ($peso > $tarifas_envio[$i]->peso_max) {
|
if ($peso_envio > $tarifas_envio[$i]->peso_max || floatval($tarifas_envio[$i]->precio_max) == 0) {
|
||||||
$tarifas_envio[$i]->precio = number_format($tarifas_envio[$i]->peso_min + ($peso - $tarifas_envio[$i]->peso_min) * $tarifas_envio[$i]->precio_adicional, 2);
|
$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
|
// si no se calcula linealmente
|
||||||
else {
|
else {
|
||||||
$m = (($tarifas_envio[$i]->precio_max - $tarifas_envio[$i]->precio_min) / ($tarifas_envio[$i]->peso_max - $tarifas_envio[$i]->peso_min));
|
$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;
|
$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;
|
$margen = $tarifas_envio[$i]->margen;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1117,7 +1117,7 @@ class PresupuestoService extends BaseService
|
|||||||
|
|
||||||
if( str_contains($linea->tipo, 'guardas') ){
|
if( str_contains($linea->tipo, 'guardas') ){
|
||||||
$datos['uso'] = 'guardas';
|
$datos['uso'] = 'guardas';
|
||||||
$datos['datosPedido']->paginas_impresion = linea->paginas_impresion;
|
$datos['datosPedido']->paginas_impresion = $linea->paginas_impresion;
|
||||||
}
|
}
|
||||||
|
|
||||||
$comp_data = PresupuestoService::obtenerComparadorPlana($datos);
|
$comp_data = PresupuestoService::obtenerComparadorPlana($datos);
|
||||||
@ -1468,9 +1468,9 @@ class PresupuestoService extends BaseService
|
|||||||
}
|
}
|
||||||
// Si el presupuesto no es duplicado, se comprueba que
|
// Si el presupuesto no es duplicado, se comprueba que
|
||||||
// no ha cambiado el precio unidad
|
// no ha cambiado el precio unidad
|
||||||
if(round($nueva_tarifa[0]->precio_unidad, 2) != $servicio->precio_unidad ||
|
if(round($nueva_tarifa[0]->precio_unidad, 2) != floatval($servicio->precio_unidad) ||
|
||||||
$nueva_tarifa[0]->margen != $servicio->margen ||
|
$nueva_tarifa[0]->margen != floatval($servicio->margen) ||
|
||||||
$nueva_tarifa[0]->tiempo != $servicio->tiempo){
|
$nueva_tarifa[0]->tiempo != floatval($servicio->tiempo)){
|
||||||
|
|
||||||
$servicio->precio_unidad = round($nueva_tarifa[0]->precio_unidad, 2);
|
$servicio->precio_unidad = round($nueva_tarifa[0]->precio_unidad, 2);
|
||||||
$servicio->tiempo = $nueva_tarifa[0]->tiempo==null?"": round($nueva_tarifa[0]->tiempo, 2);
|
$servicio->tiempo = $nueva_tarifa[0]->tiempo==null?"": round($nueva_tarifa[0]->tiempo, 2);
|
||||||
|
|||||||
@ -62,7 +62,7 @@ async function get_coste_envio_tiradasAlternativas(tirada){
|
|||||||
if(datos_tarifa.id!=null){
|
if(datos_tarifa.id!=null){
|
||||||
|
|
||||||
if(peso_envio>parseFloat(datos_tarifa.peso_max)){
|
if(peso_envio>parseFloat(datos_tarifa.peso_max)){
|
||||||
coste += parseFloat(datos_tarifa.peso_min) + (peso_envio-parseFloat(datos_tarifa.peso_min))*parseFloat(datos_tarifa.precio_adicional);
|
coste += (parseFloat(datos_tarifa.precio_min) + (peso_envio-parseFloat(datos_tarifa.peso_min)) * parseFloat(datos_tarifa.precio_adicional)).toFixed(2);
|
||||||
}
|
}
|
||||||
// si no se calcula linealmente
|
// si no se calcula linealmente
|
||||||
else{
|
else{
|
||||||
@ -130,7 +130,7 @@ async function updateTablaEnvios(tirada_inicial = null, tirada = null){
|
|||||||
|
|
||||||
if(datos_tarifa.id!=null){
|
if(datos_tarifa.id!=null){
|
||||||
|
|
||||||
if(peso_envio>parseFloat(datos_tarifa.peso_max)){
|
if(peso_envio>parseFloat(datos_tarifa.peso_max) || parseFloat(datos_tarifa.peso_max) == 0){
|
||||||
datos_tarifa.precio = parseFloat(datos_tarifa.peso_min) + (peso_envio-parseFloat(datos_tarifa.peso_min))*parseFloat(datos_tarifa.precio_adicional);
|
datos_tarifa.precio = parseFloat(datos_tarifa.peso_min) + (peso_envio-parseFloat(datos_tarifa.peso_min))*parseFloat(datos_tarifa.precio_adicional);
|
||||||
}
|
}
|
||||||
// si no se calcula linealmente
|
// si no se calcula linealmente
|
||||||
|
|||||||
@ -590,14 +590,18 @@ function init_servicio_encuadernado(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
function convertirTiempo(horas){
|
function convertirTiempo(horas){
|
||||||
if(horas != null){
|
if(horas != null && horas.length>0){
|
||||||
|
if(parseFloat(horas)>0){
|
||||||
const seconds = parseFloat(horas) * 3600;
|
const seconds = parseFloat(horas) * 3600;
|
||||||
// se convierte a formato hh:mm:ss
|
// se convierte a formato hh:mm:ss
|
||||||
const h = Math.floor(seconds / 3600);
|
const h = Math.floor(seconds / 3600);
|
||||||
const minutos = Math.floor((seconds % 3600) / 60);
|
const minutos = Math.floor((seconds % 3600) / 60);
|
||||||
const segundos = seconds % 60;
|
const segundos = seconds % 60;
|
||||||
return h + ':' + minutos + ':' + segundos;
|
return h + ':' + minutos + ':' + segundos;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
return "";
|
return "";
|
||||||
|
|||||||
@ -186,14 +186,14 @@ $('#saveDireccionEnvio').on('click', function(){
|
|||||||
|
|
||||||
var precios = []
|
var precios = []
|
||||||
for (var i = 0; i < data.length; i++) {
|
for (var i = 0; i < data.length; i++) {
|
||||||
if(peso_envio>data[i].peso_max){
|
if(peso_envio>data[i].peso_max || data[i].precio_max == 0){
|
||||||
data[i].precio = (data[i].peso_min + (peso_envio-data[i].peso_min)*data[i].precio_adicional).toFixed(2);
|
data[i].precio = (parseFloat(data[i].precio_min) + (peso_envio-parseFloat(data[i].peso_min))*parseFloat(data[i].precio_adicional)).toFixed(2);
|
||||||
}
|
}
|
||||||
// si no se calcula linealmente
|
// si no se calcula linealmente
|
||||||
else{
|
else{
|
||||||
m=((data[i].precio_max-data[i].precio_min)/(data[i].peso_max-data[i].peso_min))
|
m=((data[i].precio_max-data[i].precio_min)/(data[i].peso_max-data[i].peso_min))
|
||||||
b=data[i].precio_max-m*data[i].peso_max
|
b=data[i].precio_max-m*data[i].peso_max
|
||||||
data[i].precio = (m*peso_envio+b).toFixed(2);
|
data[i].precio = parseFloat(m*peso_envio+b).toFixed(2);
|
||||||
}
|
}
|
||||||
data[i].margen = data[i].margen
|
data[i].margen = data[i].margen
|
||||||
}
|
}
|
||||||
|
|||||||
57808
xdebug.log
57808
xdebug.log
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user