mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
a punto de guardar
This commit is contained in:
@ -412,11 +412,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$direccion['unidades'],
|
||||
$direccion['entregaPalets'] == 'true' ? 1 : 0
|
||||
)[0];
|
||||
|
||||
|
||||
|
||||
if (!property_exists($coste_direccion, 'coste')) {
|
||||
$return_data['errors']->envios = "No se ha podido calcular el coste de envío";
|
||||
}else{
|
||||
} else {
|
||||
$coste_envio += $coste_direccion->coste;
|
||||
}
|
||||
}
|
||||
@ -425,16 +425,16 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
} else {
|
||||
|
||||
for ($i = 0; $i < count($tirada); $i++) {
|
||||
|
||||
|
||||
$coste_envio = 0.0;
|
||||
$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{
|
||||
} else {
|
||||
$coste_envio += $coste_direccion->coste;
|
||||
}
|
||||
|
||||
|
||||
$return_data['precio_u'][$i] = round(floatval($return_data['precio_u'][$i]) + $coste_envio / $tirada[$i], 4);
|
||||
}
|
||||
|
||||
@ -616,11 +616,12 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$selected_tirada = $reqData['selectedTirada'] ?? 0;
|
||||
$tamanio = $reqData['tamanio'];
|
||||
$paginas = $reqData['paginas'] ?? 0;
|
||||
|
||||
$paginas_color = $reqData['paginasColor'] ?? 0;
|
||||
|
||||
$posPaginasColor = $reqData['posPaginasColor'] ?? "";
|
||||
$paginasColorConsecutivas = $reqData['pagColorConsecutivas'] ?? 0;
|
||||
$papelInteriorDiferente = $reqData['papelInteriorDiferente'] ?? 0;
|
||||
|
||||
$papelInteriorDiferente = $reqData['papelInteriorDiferente'] ?? 0;
|
||||
|
||||
$tipo = $reqData['tipo'];
|
||||
|
||||
$paginasCuadernillo = $reqData['paginasCuadernillo'] ?? null;
|
||||
@ -655,11 +656,12 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$interior = [
|
||||
'papel_generico' => $papel,
|
||||
'gramaje' => $gramaje,
|
||||
'excluirRotativa' => $excluirRotativa,
|
||||
'excluirRotativa' => $excluirRotativa,
|
||||
'paginas' => $paginas,
|
||||
'paginasColor' => $paginas_color,
|
||||
'pos_paginas_color' => $posPaginasColor,
|
||||
'paginas_color_consecutivas' => $paginasColorConsecutivas,
|
||||
'papel_interior_diferente' => $papelInteriorDiferente
|
||||
'papelInteriorDiferente' => $papelInteriorDiferente
|
||||
];
|
||||
|
||||
|
||||
@ -916,7 +918,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$data['datosGenerales']['excluirRotativa'] = $presupuesto->excluir_rotativa;
|
||||
$data['datosGenerales']['clienteId'] = $presupuesto->cliente_id;
|
||||
$data['datosGenerales']['clienteNombre'] = $modelCliente->getNombre($presupuesto->cliente_id);
|
||||
model('App\Models\Clientes\ClienteModel')
|
||||
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);
|
||||
@ -951,7 +953,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$modelLinea = new PresupuestoLineaModel();
|
||||
$lineas = $modelLinea->where('presupuesto_id', $id)->findAll();
|
||||
|
||||
[$data['datosGenerales']['paginasNegro'], $data['datosGenerales']['paginasColor']] =
|
||||
[$data['datosGenerales']['paginasNegro'], $data['datosGenerales']['paginasColor']] =
|
||||
$this->getPaginas($lineas);
|
||||
|
||||
|
||||
@ -1339,7 +1341,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$gramaje = $datos_entrada['interior']['gramaje'];
|
||||
$excluirRotativa = $datos_entrada['interior']['excluirRotativa'];
|
||||
$paginas = $datos_entrada['interior']['paginas'];
|
||||
$paginas_color = $datos_entrada['interior']['paginas_color'];
|
||||
$paginas_color = $datos_entrada['interior']['paginasColor'];
|
||||
|
||||
|
||||
// Cubierta
|
||||
@ -1358,15 +1360,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
// Servicios
|
||||
$servicios = $datos_entrada['servicios'] ?? [];
|
||||
|
||||
$error = (object) [
|
||||
'interior' => "",
|
||||
'cubierta' => "",
|
||||
'sobrecubierta' => "",
|
||||
'guardas' => "",
|
||||
'servicios' => "",
|
||||
'serviciosDefecto' => "",
|
||||
"envios" => "",
|
||||
];
|
||||
$coste_servicios = 0.0;
|
||||
|
||||
$POD = model('App\Models\Configuracion\ConfiguracionSistemaModel')->getPOD();
|
||||
@ -1427,9 +1420,15 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
if ($interior == -1) {
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError($datos_entrada['id'], auth()->user()->id, 'No se puede obtener el interior', $input_data);
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'
|
||||
No se puede obtener el interior',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object)([
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
@ -1455,8 +1454,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Si es POD hay que volver a calcular para incluir la merma correcta
|
||||
if ($tirada[$t] <= $POD) {
|
||||
$num_formas = [];
|
||||
@ -1472,10 +1469,16 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
$interior = PresupuestoClienteService::obtenerInterior($input_data);
|
||||
if ($interior == -1) {
|
||||
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError($datos_entrada['id'], auth()->user()->id, 'No se puede obtener el interior', $input_data);
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'No se puede obtener el interior',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object)([
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
@ -1511,11 +1514,21 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
}
|
||||
|
||||
if ($costeInterior <= 0)
|
||||
$error->interior = lang('Presupuestos.errores.noInterior');
|
||||
else
|
||||
$error->interior = "";
|
||||
if ($costeInterior <= 0){
|
||||
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'No se puede obtener el interior',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
}
|
||||
|
||||
// Cubierta
|
||||
$input_data['papel_generico'] = $papel_generico_cubierta;
|
||||
@ -1548,11 +1561,21 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
);
|
||||
}
|
||||
}
|
||||
if ($coste_cubierta <= 0)
|
||||
$error->cubierta = lang('Presupuestos.errores.noCubiertaSobrecubierta');
|
||||
else
|
||||
$error->cubierta = "";
|
||||
if ($coste_cubierta <= 0) {
|
||||
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'No se puede obtener la cubierta',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
}
|
||||
// Acabados Cubierta
|
||||
$tarifaAcabadoCubierta = $this->obtenerTarifasAcabado($acabadosCubierta);
|
||||
$acabadoCubierta = [];
|
||||
@ -1564,8 +1587,22 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$acabadoCubierta = $model->getPrecioTarifa($tarifa, $datosPedido->tirada, -1, $POD);
|
||||
|
||||
if (count($acabadoCubierta) > 0) {
|
||||
if ($acabadoCubierta[0]->total <= 0)
|
||||
$error->servicios = lang('Presupuestos.errores.errorPresupuesto');
|
||||
if ($acabadoCubierta[0]->total <= 0) {
|
||||
|
||||
$input_data['tarifas_acabado_cubierta'] = $tarifaAcabadoCubierta;
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'No se puede obtener acabados de cubierta',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
}
|
||||
$coste_servicios += floatval($acabadoCubierta[0]->total);
|
||||
}
|
||||
}
|
||||
@ -1607,11 +1644,21 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
);
|
||||
}
|
||||
}
|
||||
if ($coste_sobrecubierta <= 0)
|
||||
$error->sobrecubierta = lang('Presupuestos.errores.noCubiertaSobrecubierta');
|
||||
else
|
||||
$error->sobrecubierta = "";
|
||||
if ($coste_sobrecubierta <= 0) {
|
||||
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'No se puede obtener la sobrecubierta',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
}
|
||||
$lomo_sobrecubierta = $lomo + floatval($linea_sobrecubierta['mano']);
|
||||
|
||||
$tarifaAcabadoSobrecubierta = $this->obtenerTarifasAcabado(['plastificado' => $sobreCubierta['acabados']]);
|
||||
@ -1619,14 +1666,30 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
foreach ($tarifaAcabadoSobrecubierta as $tarifa) {
|
||||
|
||||
// NONE
|
||||
if($tarifaAcabadoSobrecubierta[0] == 0)
|
||||
if ($tarifaAcabadoSobrecubierta[0] == 0)
|
||||
continue;
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
$acabadoSobrecubierta = $model->getPrecioTarifa($tarifa, $datosPedido->tirada, -1, $POD);
|
||||
|
||||
if (count($acabadoSobrecubierta) > 0) {
|
||||
if ($acabadoSobrecubierta[0]->total <= 0)
|
||||
$error->servicios = lang('Presupuestos.errores.errorPresupuesto');
|
||||
|
||||
if ($acabadoSobrecubierta[0]->total <= 0) {
|
||||
|
||||
$input_data['tarifas_acabado_sobrecubierta'] = $tarifaAcabadoSobrecubierta;
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'No se puede obtener acabados de sobrecubierta',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
}
|
||||
|
||||
$coste_servicios += floatval($acabadoSobrecubierta[0]->total);
|
||||
}
|
||||
}
|
||||
@ -1677,10 +1740,20 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
);
|
||||
}
|
||||
}
|
||||
if ($coste_guardas <= 0)
|
||||
$error->guardas = lang('Presupuestos.errores.noGuardas');
|
||||
else
|
||||
$error->guardas = "";
|
||||
if ($coste_guardas <= 0) {
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'No se puede obtener las guardas',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($extra_info) {
|
||||
@ -1704,8 +1777,23 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
]);
|
||||
$costeServiciosDefecto = 0.0;
|
||||
foreach ($servDefecto as $servicio) {
|
||||
if ($servicio->total <= 0)
|
||||
$error->serviciosDefecto = lang('Presupuestos.errores.errorPresupuesto');
|
||||
if ($servicio->total <= 0) {
|
||||
|
||||
$input_data['servicios'] = $servDefecto;
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'No se puede obtener servicios',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
$costeServiciosDefecto += floatval($servicio->total);
|
||||
if ($extra_info) {
|
||||
@ -1741,6 +1829,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($datos_entrada['servicios']['prototipo'])
|
||||
array_push($servicios, 9);
|
||||
foreach ($servicios as $servicio) {
|
||||
|
||||
if (intval($servicio) == 3) {
|
||||
// Servicios acabado
|
||||
$resultado = PresupuestoCLienteService::getServiciosAcabados([
|
||||
@ -1749,8 +1838,22 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'POD' => $POD,
|
||||
]);
|
||||
array_push($serviciosAutomaticos, $resultado[0]);
|
||||
if ($resultado[0]->total <= 0)
|
||||
$error->servicios = lang('Presupuestos.errores.errorPresupuesto');
|
||||
|
||||
if ($resultado[0]->total <= 0) {
|
||||
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'No se puede obtener servicio con id 3',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
}
|
||||
|
||||
$coste_servicios += floatval($resultado[0]->total);
|
||||
if ($extra_info) {
|
||||
@ -1763,8 +1866,22 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'tarifa_id' => $servicio,
|
||||
]);
|
||||
array_push($serviciosAutomaticos, $resultado[0]);
|
||||
if ($resultado[0]->precio <= 0)
|
||||
$error->servicios = lang('Presupuestos.errores.errorPresupuesto');
|
||||
if ($resultado[0]->precio <= 0){
|
||||
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'No se puede obtener servicio con id 9',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
$coste_servicios += floatval($resultado[0]->precio);
|
||||
if ($extra_info) {
|
||||
@ -1776,11 +1893,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
array_push($precio_u, round(($costeInterior + $coste_cubierta + $coste_sobrecubierta + $costeServiciosDefecto + $coste_servicios) / $tirada[$t], 4));
|
||||
array_push($peso, round($peso_interior + $peso_cubierta + $peso_sobrecubierta + $peso_guardas, 2));
|
||||
foreach ($error as $err) {
|
||||
if ($err != "")
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if ($extra_info) {
|
||||
$totalServicios -= $margenServicios;
|
||||
$porcentajeMargenServicios = $margenServicios / ($margenServicios + $totalServicios) * 100;
|
||||
@ -1806,8 +1919,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
));
|
||||
}
|
||||
|
||||
$info['lomo_cubierta'] = $lomo;
|
||||
$info['lomo_sobrecubierta'] = $lomo_sobrecubierta;
|
||||
$info['lomo_cubierta'] = round(floatval($lomo), 2);
|
||||
$info['lomo_sobrecubierta'] = round(floatval($lomo_sobrecubierta), 2);
|
||||
$return_data['info'] = $info;
|
||||
|
||||
|
||||
@ -1823,7 +1936,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
|
||||
$return_data += [
|
||||
'errors' => $error,
|
||||
'errors' => [],
|
||||
//'total_lp' => $costeInterior + $coste_cubierta + $coste_sobrecubierta,
|
||||
//'acabadoCubierta' => $acabadoCubierta,
|
||||
//'acabadoSobrecubierta' => $acabadoSobrecubierta,
|
||||
@ -1839,6 +1952,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
|
||||
return $return_data;
|
||||
|
||||
} catch (Exception $e) {
|
||||
return [
|
||||
'exception' => $e->getMessage(),
|
||||
@ -2285,11 +2399,12 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
|
||||
|
||||
private function getPaginas($lineas){
|
||||
private function getPaginas($lineas)
|
||||
{
|
||||
|
||||
$paginasNegro = 0;
|
||||
$paginasColor = 0;
|
||||
|
||||
|
||||
foreach ($lineas as $linea) {
|
||||
if (strpos($linea->tipo, "lp_bn") !== false || strpos($linea->tipo, "lp_bnhq") !== false) {
|
||||
$paginasNegro = $linea->paginas;
|
||||
@ -2308,7 +2423,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$paginasNegro = $linea->paginas - $linea->rotativa_pag_color;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return [$paginasNegro, $paginasColor];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user