cargando presupuesto datos generales

This commit is contained in:
2024-10-18 14:33:27 +02:00
parent 8a044d41fe
commit 464e136025
17 changed files with 12250 additions and 469 deletions

View File

@ -5,6 +5,8 @@ namespace App\Controllers\Presupuestos;
use App\Entities\Presupuestos\PresupuestoEntity;
use App\Libraries\SafekatFtpClient;
use App\Models\Collection;
use App\Models\Clientes\ClienteModel;
use App\Models\Configuracion\PapelFormatoModel;
use App\Models\Configuracion\PapelGenericoModel;
use App\Models\Configuracion\TipoPresupuestoModel;
use App\Models\Presupuestos\PresupuestoAcabadosModel;
@ -400,20 +402,35 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$coste_envio = 0.0;
foreach ($direcciones as $direccion) {
$coste_envio += $this->getCosteEnvio(
$coste_direccion = $this->getCosteEnvio(
$direccion['id'],
$return_data['peso'][$i],
$direccion['unidades'],
$direccion['entregaPalets'] == 'true' ? 1 : 0
)[0]->coste;
)[0];
if (!property_exists($coste_direccion, 'coste')) {
$return_data['errors']->envios = "No se ha podido calcular el coste de envío";
}else{
$coste_envio += $coste_direccion->coste;
}
}
$return_data['precio_u'][$i] = round(floatval($return_data['precio_u'][$i]) + $coste_envio / $tirada[$i], 4);
}
} else {
for ($i = 0; $i < count($tirada); $i++) {
$coste_envio = 0.0;
$coste_envio += $this->getCosteEnvio(null, $return_data['peso'][$i], $tirada[$i], false)[0]->coste;
$coste_direccion = $this->getCosteEnvio(null, $return_data['peso'][$i], $tirada[$i], false)[0];
if (!property_exists($coste_direccion, 'coste')) {
$return_data['errors']->envios = "No se ha podido calcular el coste de envío";
}else{
$coste_envio += $coste_direccion->coste;
}
$return_data['precio_u'][$i] = round(floatval($return_data['precio_u'][$i]) + $coste_envio / $tirada[$i], 4);
}
@ -596,6 +613,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$tamanio = $reqData['tamanio'];
$paginas = $reqData['paginas'] ?? 0;
$paginas_color = $reqData['paginasColor'] ?? 0;
$posPaginasColor = $reqData['posPaginasColor'] ?? "";
$papelInteriorDiferente = $reqData['papelInteriorDiferente'] ?? 0;
$paginasColorConsecutivas = $reqData['paginasColorConsecutivas'] ?? 0;
$prototipo = $reqData['prototipo'] ?? 0;
$tipo = $reqData['tipo'];
$paginasCuadernillo = $reqData['paginasCuadernillo'] ?? null;
@ -869,6 +891,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
if ($this->request->isAJAX()) {
$modelPapelGenerico = new PapelGenericoModel();
$modelPapelFormato = new PapelFormatoModel();
$modelCliente = new ClienteModel();
$reqData = $this->request->getPost();
@ -887,11 +911,15 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$data['datosGenerales']['ivaReducido'] = $presupuesto->iva_reducido;
$data['datosGenerales']['excluirRotativa'] = $presupuesto->excluir_rotativa;
$data['datosGenerales']['clienteId'] = $presupuesto->cliente_id;
$data['datosGenerales']['clienteNombre'] =
$data['datosGenerales']['clienteNombre'] = $modelCliente->getNombre($presupuesto->cliente_id);
model('App\Models\Clientes\ClienteModel')
->find($presupuesto->cliente_id)->nombre;
$data['datosGenerales']['papelFormatoId'] = $presupuesto->papel_formato_id;
$data['datosGenerales']['papelFormatoNombre'] = $modelPapelFormato->getNombre($presupuesto->papel_formato_id);
$data['datosGenerales']['papelFormatoPersonalizado'] = $presupuesto->papel_formato_personalizado;
$data['datosGenerales']['papelFormatoAncho'] = $presupuesto->papel_formato_ancho;
$data['datosGenerales']['papelFormatoAlto'] = $presupuesto->papel_formato_alto;
$data['datosGenerales']['papelInteriorDiferente'] = $presupuesto->papel_interior_diferente;
$data['tiradasPrecio'] = [
@ -1244,7 +1272,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$margen = 0;
if ($data > 0) {
$peso_envio = $peso * $unidades / 1000.0; // peso libro * unidades y se pasa a kilogramos
$peso_envio = round(floatval($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_envio > $tarifas_envio[$i]->peso_max || floatval($tarifas_envio[$i]->precio_max) == 0) {
@ -1333,6 +1361,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
'guardas' => "",
'servicios' => "",
'serviciosDefecto' => "",
"envios" => "",
];
$coste_servicios = 0.0;
@ -1568,6 +1597,9 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$acabadoSobrecubierta = [];
foreach ($tarifaAcabadoSobrecubierta as $tarifa) {
// NONE
if($tarifaAcabadoSobrecubierta[0] == 0)
continue;
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
$acabadoSobrecubierta = $model->getPrecioTarifa($tarifa, $datosPedido->tirada, -1, $POD);
@ -1705,7 +1737,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$margenServicios += floatval($resultado[0]->total) * floatval($resultado[0]->margen) / 100.0;
}
} else if (intval($servicio) == 9) {
// Servicios preimpresion
// Prototipo
$resultado = PresupuestoCLienteService::getServiciosExtra([
'tarifa_id' => $servicio,
]);
@ -2238,7 +2270,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$paginasColor = 0;
foreach ($lineas as $linea) {
if (strpos($linea->tipo, "lp_bn") !== false || strpos($linea->tipo, "lp_color") !== false) {
if (strpos($linea->tipo, "lp_bn") !== false || strpos($linea->tipo, "lp_bnhq") !== false) {
$paginasNegro = $linea->paginas;
}