diff --git a/ci4/app/Config/Routes/PresupuestosRoutes.php b/ci4/app/Config/Routes/PresupuestosRoutes.php
index 4097a69e..16929334 100755
--- a/ci4/app/Config/Routes/PresupuestosRoutes.php
+++ b/ci4/app/Config/Routes/PresupuestosRoutes.php
@@ -17,6 +17,8 @@ $routes->group('presupuestoadmin', ['namespace' => 'App\Controllers\Presupuestos
$routes->post('allmenuitems', 'Presupuestoadmin::allItemsSelect', ['as' => 'select2ItemsOfPresupuestoAdmin']);
$routes->post('menuitems', 'Presupuestoadmin::menuItems', ['as' => 'menuItemsOfPresupuestoAdmin']);
+ $routes->get('checklomointerior', 'Presupuestoadmin::checkLomo');
+
$routes->get('cargar/(:any)', 'Presupuestoadmin::cargar/$1');
$routes->post('comparadorinterior', 'Presupuestoadmin::obtenerComparadorInterior');
$routes->post('comparadorexteriores', 'Presupuestoadmin::obtenerComparadorExteriores');
diff --git a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php
index a69fad38..11a5668f 100755
--- a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php
+++ b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php
@@ -1841,6 +1841,18 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
}
}
+ public function checkLomo()
+ {
+ if ($this->request->isAJAX()) {
+ $tipo_impresion_id = $this->request->getGet('tipo_impresion_id');
+ $lomo = $this->request->getGet('lomo') ?? 0;
+ $response = PresupuestoService::check_lomo_interior($tipo_impresion_id, $lomo);
+ return $this->respond($response);
+ } else {
+ return $this->failUnauthorized('Invalid request', 403);
+ }
+ }
+
public function reprintPresupuesto()
{
diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php
index e8ee484c..c5d50698 100755
--- a/ci4/app/Language/es/Presupuestos.php
+++ b/ci4/app/Language/es/Presupuestos.php
@@ -459,9 +459,9 @@ return [
'errorPresupuesto' => 'Se ha producido un error al calcular el presupuesto. Póngase en contacto con el administrador',
'error_sobrecubierta_sin_solapas' => 'Debe seleccionar "sobrecubierta" en los datos del libro para introducir el ancho de solapa',
'error_faja_sin_solapas' => 'Debe seleccionar "faja" en los datos del libro para introducir el ancho de solapa',
- 'error_lomo_maximo' => "No se pueden encuadernar libros {0} con un lomo superior a {1} mm. El lomo actual es de {2} mm.
+ 'error_lomo_maximo' => "No se pueden encuadernar libros {0} con un lomo interior superior a {1} mm. El lomo actual es de {2} mm.
Por favor, disminuya el número de páginas o el gramaje del papel para que sea encuadernable.",
- 'error_lomo_minimo' => "No se pueden encuadernar libros {0} con un lomo inferior a {1} mm. El lomo actual es de {2} mm.
+ 'error_lomo_minimo' => "No se pueden encuadernar libros {0} con un lomo interior inferior a {1} mm. El lomo actual es de {2} mm.
Por favor, aumente el número de páginas o el gramaje del papel para que sea encuadernable.",
],
'resize_preview' => 'Refrescar vista esquema'
diff --git a/ci4/app/Services/PresupuestoService.php b/ci4/app/Services/PresupuestoService.php
index a27bf71e..b4d6b89f 100755
--- a/ci4/app/Services/PresupuestoService.php
+++ b/ci4/app/Services/PresupuestoService.php
@@ -2079,15 +2079,14 @@ class PresupuestoService extends BaseService
if ($tirada == 1) {
$merma = 0;
- }
- else if ($tirada > intval($POD)) {
+ } else if ($tirada > intval($POD)) {
$merma = $tirada * 0.1;
} else {
$merma_lineas = [];
foreach ($formas_lineas_interior as $formas_linea) {
if ($formas_linea > $tirada)
array_push($merma_lineas, $formas_linea - $tirada);
- else{
+ else {
$total_pliegos = ceil($tirada / $formas_linea);
$total_formas = $total_pliegos * $formas_linea;
array_push($merma_lineas, $total_formas - $tirada);
@@ -2127,27 +2126,25 @@ class PresupuestoService extends BaseService
$presupuesto->titulo = $presupuesto->titulo . ' - ' . lang('Presupuestos.duplicado');
$presupuesto->is_duplicado = 1;
$presupuesto->estado_id = 1;
- if($is_reimpresion && boolval($copy_files)){
+ if ($is_reimpresion && boolval($copy_files)) {
$presupuesto->inc_rei = "reimpresion";
$modelPedidoLinea = model('App\Models\Pedidos\PedidoLineaModel');
$pedido_linea = $modelPedidoLinea->where('presupuesto_id', $id)->first();
- if($pedido_linea){
- $text = "REIMPRESION [" . date('Y-m-d H:i:s') . "] - PEDIDO: " . $pedido_linea->pedido_id .
- "\n================================================\n";
- $presupuesto->comentarios_safekat = $text . $presupuesto->comentarios_safekat ;
- }
- }
- else if($is_reimpresion){
- $presupuesto->inc_rei = null;
- $modelPedidoLinea = model('App\Models\Pedidos\PedidoLineaModel');
- $pedido_linea = $modelPedidoLinea->where('presupuesto_id', $id)->first();
- if($pedido_linea){
- $text = "DUPLICADO [" . date('Y-m-d H:i:s') . "] - PEDIDO: " . $pedido_linea->pedido_id .
+ if ($pedido_linea) {
+ $text = "REIMPRESION [" . date('Y-m-d H:i:s') . "] - PEDIDO: " . $pedido_linea->pedido_id .
"\n================================================\n";
$presupuesto->comentarios_safekat = $text . $presupuesto->comentarios_safekat;
}
- }
- else{
+ } else if ($is_reimpresion) {
+ $presupuesto->inc_rei = null;
+ $modelPedidoLinea = model('App\Models\Pedidos\PedidoLineaModel');
+ $pedido_linea = $modelPedidoLinea->where('presupuesto_id', $id)->first();
+ if ($pedido_linea) {
+ $text = "DUPLICADO [" . date('Y-m-d H:i:s') . "] - PEDIDO: " . $pedido_linea->pedido_id .
+ "\n================================================\n";
+ $presupuesto->comentarios_safekat = $text . $presupuesto->comentarios_safekat;
+ }
+ } else {
$presupuesto->inc_rei = null;
}
$new_id = $modelPresupuesto->insert($presupuesto);
@@ -2192,7 +2189,7 @@ class PresupuestoService extends BaseService
$presupuestoLineaModel->duplicateLineasPresupuesto($presupuesto->id, $new_id);
- if (boolval($copy_files)== true) {
+ if (boolval($copy_files) == true) {
$presupuestoFilesModel = model('App\Models\Presupuestos\PresupuestoFicheroModel');
$presupuestoFilesModel->copyFiles($presupuesto->id, $new_id);
}
@@ -2200,7 +2197,7 @@ class PresupuestoService extends BaseService
return [
'success' => true,
'id' => $new_id,
- 'message' => lang('Presupuestos.presupuestoGenerado'),
+ 'message' => lang('Presupuestos.presupuestoGenerado'),
];
} catch (\Exception $e) {
@@ -2210,4 +2207,96 @@ class PresupuestoService extends BaseService
];
}
}
+
+ public static function check_lomo_interior($tipo_impresion_id, $lomo = 0)
+ {
+ $lomo_maximo = 0;
+ $lomo_minimo = 0;
+ if ($lomo == 0) {
+ return [
+ 'status' => true,
+ 'message' => 'Lomo interior 0'
+ ];
+ }
+ switch ($tipo_impresion_id) {
+ case 1: // Fresado
+ case 2:
+ case 3: // Cosido
+ case 4:
+ $lomo_minimo = intval(model('App\Models\Configuracion\ConfigVariableModel')->getVariable('lomo_minimo_fresado_cosido')->value);
+ $lomo_maximo = intval(model('App\Models\Configuracion\ConfigVariableModel')->getVariable('lomo_maximo_fresado_cosido')->value);
+ if ($lomo != 0 && $lomo < $lomo_minimo) {
+ return [
+ 'status' => false,
+ 'message' => lang(
+ 'Presupuestos.errores.error_lomo_minimo',
+ [
+ lang('Presupuestos.cosido') . "/" . lang('Presupuestos.fresado'),
+ $lomo_minimo,
+ $lomo,
+ ]
+ )
+ ];
+ } else if ($lomo != 0 && $lomo > $lomo_maximo) {
+ return [
+ 'status' => false,
+ 'message' => lang(
+ 'Presupuestos.errores.error_lomo_maximo',
+ [
+ lang('Presupuestos.cosido') . "/" . lang('Presupuestos.fresado'),
+ $lomo_maximo,
+ $lomo,
+ ]
+ )
+ ];
+
+ }
+ break;
+ case 5: // Espiral
+ case 6:
+ $lomo_maximo = intval(model('App\Models\Configuracion\ConfigVariableModel')->getVariable('lomo_maximo_espiral')->value);
+ if ($lomo != 0 && $lomo > $lomo_maximo) {
+ return [
+ 'status' => false,
+ 'message' => lang(
+ 'Presupuestos.errores.error_lomo_maximo',
+ [
+ lang('Presupuestos.espiral'),
+ $lomo_maximo,
+ $lomo,
+ ]
+ )
+ ];
+ }
+ break;
+ case 7: // Wire-O
+ case 8:
+ $lomo_maximo = intval(model('App\Models\Configuracion\ConfigVariableModel')->getVariable('lomo_maximo_wireo')->value);
+ $lomo_maximo = intval(model('App\Models\Configuracion\ConfigVariableModel')->getVariable('lomo_maximo_espiral')->value);
+ if ($lomo != 0 && $lomo > $lomo_maximo) {
+ return [
+ 'status' => false,
+ 'message' => lang(
+ 'Presupuestos.errores.error_lomo_maximo',
+ [
+ lang('Presupuestos.wireo'),
+ $lomo_maximo,
+ $lomo,
+ ]
+ )
+ ];
+ }
+ break;
+ default:
+ return [
+ 'status' => true,
+ 'message' => 'Lomo valido'
+ ];
+ }
+
+ return [
+ 'status' => true,
+ 'message' => 'Lomo valido'
+ ];
+ }
}
diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php
index 04f5421c..86e386c6 100755
--- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php
+++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php
@@ -14,6 +14,7 @@
= csrf_field() ?>
= view("themes/_commonPartialsBs/_alertBoxes") ?>
+