errores presupuesto

This commit is contained in:
2024-10-19 10:38:13 +02:00
parent 643e325e59
commit 8135e635ab
5 changed files with 1793 additions and 7 deletions

View File

@ -17,6 +17,7 @@ use App\Models\Presupuestos\PresupuestoManipuladosModel;
use App\Models\Presupuestos\PresupuestoModel;
use App\Models\Presupuestos\PresupuestoPreimpresionesModel;
use App\Models\Presupuestos\PresupuestoServiciosExtraModel;
use App\Models\Presupuestos\ErrorPresupuesto;
use App\Services\PresupuestoClienteService;
use App\Services\PresupuestoService;
use Exception;
@ -294,6 +295,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$modelPapelGenerico = new PapelGenericoModel();
$id = $reqData['id'] ?? 0;
$cliente_id = $reqData['clienteId'] ?? -1;
$tirada = $reqData['tirada'] ?? 0;
@ -372,6 +375,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$datos_guardas = false;
$datos_presupuesto = array(
'id' => $id,
'tirada' => $tirada,
'tamanio' => $tamanio,
'tipo_impresion_id' => $tipo_impresion_id,
@ -1421,6 +1425,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);
$return_data = [
'errors' => (object)([
'status' => 1
]),
];
}
$costeInterior = 0.0;
$peso_interior = 0.0;
foreach ($interior as $linea) {
@ -1441,9 +1455,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
}
if ($costeInterior <= 0) {
$error->interior = lang('Presupuestos.errores.noInterior');
}
// Si es POD hay que volver a calcular para incluir la merma correcta
if ($tirada[$t] <= $POD) {
@ -1459,6 +1471,15 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$info['merma'] = max($info['merma'], $input_data['datosPedido']->merma);
}
$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);
$return_data = [
'errors' => (object)([
'status' => 1
]),
];
}
$costeInterior = 0.0;
$peso_interior = 0.0;

View File

@ -25,8 +25,13 @@ class PresupuestoClienteService extends BaseService
$total_plana = -1;
$hay_plana = false;
if ($data['isColor']) {
if ($data['datosPedido']->paginas == $data['paginas_color'])
$total_plana += floatval($plana[1]['total_impresion']);
if ($data['datosPedido']->paginas == $data['paginas_color']){
if(count($plana[1]) > 2)
$total_plana += floatval($plana[1]['total_impresion']);
else
return -1;
}
elseif (count($plana) > 0) {
if (count($plana[0]) > 2 && count($plana[1]) > 2) {
$total_plana = 0.0;

View File

@ -107,10 +107,14 @@ class PresupuestoCliente {
if (datos_to_check.direcciones) {
delete datos_to_check.direcciones;
}
if(datos_to_check.posPaginasColor){
delete datos_to_check.posPaginasColor;
}
if (Object.values(datos_to_check).every(this.#isValidDataForm)) {
try {
$('#loader').modal('show');
$('#loader').modal('show');
// Si se está ejecutando la petición, abortar la petición anterior
this.ajax_calcular.abort();
@ -409,6 +413,9 @@ class PresupuestoCliente {
this.datos.selectedTirada = this.direcciones.getSelectedTirada();
}
if (window.location.href.includes("edit")) {
this.datos["id"] = window.location.href.split("/").pop();
}
}
@ -444,7 +451,8 @@ class PresupuestoCliente {
return false;
}
if (typeof value === 'object' && value !== null) {
return Object.values(value).every(isValid);
const isValidData = Object.values(value).every(isValid);
return isValidData;
}
return true;
}

View File

@ -109,7 +109,7 @@ class Resumen {
this.cubiertaAcabados.text(this.disenioCubierta.getAcabados(true));
if (this.disenioCubierta.getSobrecubierta()) {
this.divSobrecubierta.rempveClass('d-none');
this.divSobrecubierta.removeClass('d-none');
const sobrecubierta = this.disenioCubierta.getSobrecubierta(true);
this.papelSobrecubierta.text(sobrecubierta.papel);
this.gramajeSobrecubierta.text(sobrecubierta.gramaje);

File diff suppressed because one or more lines are too long