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

View File

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

View File

@ -107,10 +107,14 @@ class PresupuestoCliente {
if (datos_to_check.direcciones) { if (datos_to_check.direcciones) {
delete 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)) { if (Object.values(datos_to_check).every(this.#isValidDataForm)) {
try { try {
$('#loader').modal('show'); $('#loader').modal('show');
$('#loader').modal('show');
// Si se está ejecutando la petición, abortar la petición anterior // Si se está ejecutando la petición, abortar la petición anterior
this.ajax_calcular.abort(); this.ajax_calcular.abort();
@ -409,6 +413,9 @@ class PresupuestoCliente {
this.datos.selectedTirada = this.direcciones.getSelectedTirada(); 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; return false;
} }
if (typeof value === 'object' && value !== null) { if (typeof value === 'object' && value !== null) {
return Object.values(value).every(isValid); const isValidData = Object.values(value).every(isValid);
return isValidData;
} }
return true; return true;
} }

View File

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

File diff suppressed because one or more lines are too long