comparador cubierta y sobrecubierta terminado

This commit is contained in:
2024-12-19 11:12:40 +01:00
parent 57c34b768d
commit 77db3104d3
6 changed files with 96 additions and 112 deletions

View File

@ -9,18 +9,18 @@ const SK_PERMISSION_MATRIX = [
"plantilla-tarifa.edit",
"plantilla-tarifa.delete",
"plantilla-tarifa.menu",
"perfil.create",
"perfil.edit",
"perfil.delete",
"perfil.menu",
"presupuesto.create",
"presupuesto.edit",
"presupuesto.delete",
"presupuesto.menu",
"presupuesto-cliente.create",
"presupuesto-cliente.edit",
"presupuesto-cliente.delete",
"presupuesto-cliente.menu",
"pedidos-activos.view",
"pedidos-activos.menu",
"pedidos-finalizados.view",
"pedidos-finalizados.menu",
"pedidos-cancelados.view",
"pedidos-cancelados.menu",
"pedidos-todos.view",
"pedidos-todos.menu",
"tarifa-preimpresion.create",
"tarifa-preimpresion.edit",
"tarifa-preimpresion.delete",
@ -41,10 +41,6 @@ const SK_PERMISSION_MATRIX = [
"tarifa-envio.edit",
"tarifa-envio.delete",
"tarifa-envio.menu",
"tarifa-extra.create",
"tarifa-extra.edit",
"tarifa-extra.delete",
"tarifa-extra.menu",
"proveedores.create",
"proveedores.edit",
"proveedores.delete",
@ -61,10 +57,6 @@ const SK_PERMISSION_MATRIX = [
"paises.edit",
"paises.delete",
"paises.menu",
"formas-pago.create",
"formas-pago.edit",
"formas-pago.delete",
"formas-pago.menu",
"maquinas.create",
"maquinas.edit",
"maquinas.delete",
@ -89,36 +81,12 @@ const SK_PERMISSION_MATRIX = [
"roles-permisos.edit",
"roles-permisos.delete",
"roles-permisos.menu",
"ubicaciones.create",
"ubicaciones.edit",
"ubicaciones.delete",
"ubicaciones.menu",
"series-facturas.create",
"series-facturas.edit",
"series-facturas.delete",
"series-facturas.menu",
],
"cliente-admin" => [
"perfil.edit",
"perfil.menu",
"direcciones.create",
"direcciones.edit",
"direcciones.delete",
"direcciones.menu",
"presupuesto-cliente.create",
"presupuesto-cliente.edit",
"presupuesto-cliente.delete",
"presupuesto-cliente.menu",
"pedidos-activos.view",
"pedidos-activos.menu",
],
"cliente-editor" => [
"perfil.create",
"perfil.edit",
"perfil.delete",
"perfil.menu",
"direcciones.create",
"direcciones.edit",
"direcciones.delete",
"direcciones.menu",
"presupuesto-cliente.create",
"presupuesto-cliente.edit",
"presupuesto-cliente.delete",
@ -129,8 +97,15 @@ const SK_PERMISSION_MATRIX = [
"token.menu",
],
"produccion" => [
"token.token",
"token.menu",
"clientes.create",
"clientes.edit",
"clientes.menu",
"direcciones.create",
"direcciones.edit",
"direcciones.menu",
"presupuesto.create",
"presupuesto.edit",
"presupuesto.menu",
],
"maquina" => [
"token.token",
@ -163,10 +138,6 @@ const SK_PERMISSION_MATRIX = [
"plantilla-tarifa.edit",
"plantilla-tarifa.delete",
"plantilla-tarifa.menu",
"perfil.create",
"perfil.edit",
"perfil.delete",
"perfil.menu",
"presupuesto.create",
"presupuesto.edit",
"presupuesto.delete",
@ -195,10 +166,6 @@ const SK_PERMISSION_MATRIX = [
"tarifa-envio.edit",
"tarifa-envio.delete",
"tarifa-envio.menu",
"tarifa-extra.create",
"tarifa-extra.edit",
"tarifa-extra.delete",
"tarifa-extra.menu",
"proveedores.create",
"proveedores.edit",
"proveedores.delete",
@ -239,13 +206,5 @@ const SK_PERMISSION_MATRIX = [
"roles-permisos.edit",
"roles-permisos.delete",
"roles-permisos.menu",
"ubicaciones.create",
"ubicaciones.edit",
"ubicaciones.delete",
"ubicaciones.menu",
"series-facturas.create",
"series-facturas.edit",
"series-facturas.delete",
"series-facturas.menu",
],
];

View File

@ -9,10 +9,6 @@ const SK_PERMISSIONS = [
'plantilla-tarifa.edit' => 'Can edit',
'plantilla-tarifa.delete' => 'Can delete',
'plantilla-tarifa.menu' => 'Menu shall be visualize',
'perfil.create' => 'Can create',
'perfil.edit' => 'Can edit',
'perfil.delete' => 'Can delete',
'perfil.menu' => 'Menu shall be visualize',
'direcciones.create' => 'Can create',
'direcciones.edit' => 'Can edit',
'direcciones.delete' => 'Can delete',
@ -25,6 +21,14 @@ const SK_PERMISSIONS = [
'presupuesto-cliente.edit' => 'Can edit',
'presupuesto-cliente.delete' => 'Can delete',
'presupuesto-cliente.menu' => 'Menu shall be visualize',
'pedidos-activos.view' => 'Can view',
'pedidos-activos.menu' => 'Menu shall be visualize',
'pedidos-finalizados.view' => 'Can view',
'pedidos-finalizados.menu' => 'Menu shall be visualize',
'pedidos-cancelados.view' => 'Can view',
'pedidos-cancelados.menu' => 'Menu shall be visualize',
'pedidos-todos.view' => 'Can view',
'pedidos-todos.menu' => 'Menu shall be visualize',
'tarifa-preimpresion.create' => 'Can create',
'tarifa-preimpresion.edit' => 'Can edit',
'tarifa-preimpresion.delete' => 'Can delete',
@ -45,10 +49,6 @@ const SK_PERMISSIONS = [
'tarifa-envio.edit' => 'Can edit',
'tarifa-envio.delete' => 'Can delete',
'tarifa-envio.menu' => 'Menu shall be visualize',
'tarifa-extra.create' => 'Can create',
'tarifa-extra.edit' => 'Can edit',
'tarifa-extra.delete' => 'Can delete',
'tarifa-extra.menu' => 'Menu shall be visualize',
'proveedores.create' => 'Can create',
'proveedores.edit' => 'Can edit',
'proveedores.delete' => 'Can delete',
@ -65,10 +65,6 @@ const SK_PERMISSIONS = [
'paises.edit' => 'Can edit',
'paises.delete' => 'Can delete',
'paises.menu' => 'Menu shall be visualize',
'formas-pago.create' => 'Can create',
'formas-pago.edit' => 'Can edit',
'formas-pago.delete' => 'Can delete',
'formas-pago.menu' => 'Menu shall be visualize',
'maquinas.create' => 'Can create',
'maquinas.edit' => 'Can edit',
'maquinas.delete' => 'Can delete',
@ -93,12 +89,4 @@ const SK_PERMISSIONS = [
'roles-permisos.edit' => 'Can edit',
'roles-permisos.delete' => 'Can delete',
'roles-permisos.menu' => 'Menu shall be visualize',
'ubicaciones.create' => 'Can create',
'ubicaciones.edit' => 'Can edit',
'ubicaciones.delete' => 'Can delete',
'ubicaciones.menu' => 'Menu shall be visualize',
'series-facturas.create' => 'Can create',
'series-facturas.edit' => 'Can edit',
'series-facturas.delete' => 'Can delete',
'series-facturas.menu' => 'Menu shall be visualize',
];

View File

@ -660,7 +660,9 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
public function obtenerComparadorExteriores()
{
$resultado = [];
$lineasCubierta = null;
$lineasSobrecubierta = null;
if ($this->request->isAJAX()) {
$cubierta = $this->request->getPost('cubierta') ?? false;
@ -676,9 +678,9 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$datosPedido = $cubierta['datosPedido'];
$papel_generico = $cubierta['papel_generico'];
$gramaje = $cubierta['gramaje'];
$paginas_color = $this->request->getPost('paginas_color') ?? 0;
$tipo_impresion_id = $this->request->getPost('tipo_impresion_id');
$uso = $this->request->getPost('uso');
$paginas_color = $cubierta['datosPedido']['paginas'] ?? 0;
$tipo_impresion_id = $cubierta['tipo_impresion_id'];
$uso = $cubierta['uso'];
$lomoRedondo = $cubierta['lomoRedondo'] ?? false;
$data = array(
@ -693,8 +695,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
'uso' => $uso,
'lomoRedondo' => $lomoRedondo
);
$lineas = PresupuestoClienteService::obtenerCubierta($data, true);
$resultado['cubierta'] = $lineas;
$lineasCubierta = PresupuestoClienteService::obtenerCubierta($data, true);
}
if ($sobrecubierta) {
@ -703,9 +704,9 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$datosPedido = $sobrecubierta['datosPedido'];
$papel_generico = $sobrecubierta['papel_generico'];
$gramaje = $sobrecubierta['gramaje'];
$paginas_color = $this->request->getPost('paginas_color') ?? 0;
$tipo_impresion_id = $this->request->getPost('tipo_impresion_id');
$uso = $this->request->getPost('uso');
$paginas_color = $sobrecubierta['datosPedido']['paginas'] ?? 0;
$tipo_impresion_id = $sobrecubierta['tipo_impresion_id'];
$uso = $sobrecubierta['uso'];
$data = array(
'cliente_id' => $cliente_id,
@ -718,14 +719,16 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
'tipo_impresion_id' => $tipo_impresion_id,
'uso' => $uso
);
$lineas = PresupuestoClienteService::obtenerSobrecubierta($data, true);
$resultado['sobrecubierta'] = $lineas;
$lineasSobrecubierta = PresupuestoClienteService::obtenerSobrecubierta($data, true);
}
return $this->respond(
[
'status' => 1,
'data' => $resultado
'data' => (object) array(
'cubierta' => $lineasCubierta,
'sobrecubierta' => $lineasSobrecubierta
)
]
);
} else {

View File

@ -30,7 +30,7 @@ return [
'perfilSection' => 'Perfil',
'direccionesSection' => 'Direcciones',
'presupuestoSection' => 'Presupuestos',
'presupuestoClienteSection' => 'Presupuestos',
'presupuestoClienteSection' => 'Presupuestos cliente',
'pedidosActivosSection' => 'Activos',
'pedidosFinalizadosSection' => 'Finalizados',
'pedidosCanceladosSection' => 'Cancelados',

View File

@ -165,7 +165,7 @@ class PresupuestoClienteService extends BaseService
$lineas_sobrecubierta = array_values(array_unique($lineas_sobrecubierta, SORT_REGULAR));
return[
'cubierta' => $lineas_sobrecubierta
'sobrecubierta' => $lineas_sobrecubierta
];
}

View File

@ -240,6 +240,7 @@ class Comparador {
this.papelColor.onChange(() => this.gramajeColor.setVal(0))
this.papelColorhq.onChange(() => this.gramajeColorhq.setVal(0))
this.papelCubierta.onChange(() => this.gramajeCubierta.setVal(0))
this.papelCubierta.onChange(() => this.gramajeSobrecubierta.setVal(0))
this.tipo_impresion.select2({
@ -841,7 +842,7 @@ class Comparador {
}
}
else if (uso = 'cubierta') {
else if (uso == 'cubierta') {
if (this.papelCubierta.getVal() == 0 || this.papelCubierta.getVal() == null) {
popErrorAlert(window.language.Presupuestos.errores.seleccionePapel, 'divAlarmasComparador');
return { error: true, data: {} };
@ -857,7 +858,7 @@ class Comparador {
paginas = this.paginasCubierta.select2('data')[0].id
}
else if (uso = 'sobrecubierta') {
else if (uso == 'sobrecubierta') {
if (this.papelSobrecubierta.getVal() == 0 || this.papelSobrecubierta.getVal() == null) {
popErrorAlert(window.language.Presupuestos.errores.seleccionePapel, 'divAlarmasComparador');
return { error: true, data: {} };
@ -900,15 +901,47 @@ class Comparador {
isHq: this.tipo_impresion.val().includes('hq'),
paginas_color: paginasColor
}
// TO-DO
if(uso == 'cubierta'){
if (uso == 'cubierta') {
datos.datosPedido.lomo = this.getLomoLineasPresupuesto('interior');
datos.datosPedido.solapas = $('#solapas').prop('checked') ? 1 : 0;
datos.datosPedido.solapas_ancho = $('#solapas').prop('checked') ? parseInt($('#solapas_ancho').val()) : 0;
// TO-DO
datos.lomoRedondo = false;
}
else if (uso == 'sobrecubierta') {
datos.datosPedido.lomo = this.getLomoLineasPresupuesto() + this.getLomoLineasPresupuesto('cubierta');
datos.datosPedido.solapas = $('#solapas_sobrecubierta').prop('checked') ? 1 : 0;
datos.datosPedido.solapas_ancho = $('#solapas_sobrecubierta').prop('checked') ? parseInt($('#solapas_ancho_sobrecubierta').val()) : 0;
}
return { error: false, data: datos };
}
getLomoLineasPresupuesto(tipo_lomo='interior') {
let lomoTotal = 0
try {
$('#tableLineasPresupuesto').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) {
var rowData = this.data();
if (tipo_lomo = 'interior') {
if (rowData.row_id != 'lp_cubierta' && rowData.tipo != 'lp_sobrecubierta')
lomoTotal += parseFloat(rowData.lomo);
}
else if (tipo_lomo == 'cubierta') {
if (rowData.row_id == 'lp_cubierta')
lomoTotal += parseFloat(rowData.lomo);
}
})
}
catch (error) {
lomoTotal = 0;
}
$('#lomo_cubierta').val(lomoTotal);
return lomoTotal;
}
obtenerComparadorInterior(event, actualizarLineaPlana = false, actualizarLineaRot = false) {
try {
@ -1067,15 +1100,15 @@ class Comparador {
return;
}
}
else{
else {
datosComp.sobrecubierta = {};
}
}
else{
else {
datosComp.sobrecubierta = {};
}
datosComp.cubierta.data[this.csrf_token] = this.csrf_hash;
if(Object.keys(datosComp.sobrecubierta).length > 0){
if (Object.keys(datosComp.sobrecubierta).length > 0) {
datosComp.sobrecubierta.data[this.csrf_token] = this.csrf_hash;
}
new Ajax('/presupuestoadmin/comparadorexteriores',
@ -1085,22 +1118,23 @@ class Comparador {
},
{},
(response) => {
if (response.data.cubierta.length > 0) {
let sorted = response.data.cubierta.sort(
if (response.data.cubierta && Object.keys(response.data.cubierta).length > 0) {
let sorted = Object.values(response.data.cubierta).sort(
(p1, p2) => ((p1.fields.precio_pedido + p1.fields.precio_click_pedido) < (p2.fields.precio_pedido + p2.fields.precio_click_pedido)) ?
-1 : ((p1.fields.precio_pedido + p1.fields.precio_click_pedido) > (p2.fields.precio_pedido + p2.fields.precio_click_pedido)) ? 1 : 0);
sorted.forEach(function (linea) {
sorted[0].forEach(function (linea) {
if (typeof linea.error == "undefined")
self.tableCompCubierta.row
add(self.getRowFromLinea('cubierta', linea))
.draw()
.add(self.getRowFromLinea('cubierta', linea))
.draw();
});
}
if (response.data.sobrecubierta) {
let sorted = response.data.sobrecubierta.sort(
if (response.data.sobrecubierta && Object.keys(response.data.sobrecubierta).length > 0) {
let sorted = Object.values(response.data.sobrecubierta).sort(
(p1, p2) => ((p1.fields.precio_pedido + p1.fields.precio_click_pedido) < (p2.fields.precio_pedido + p2.fields.precio_click_pedido)) ?
-1 : ((p1.fields.precio_pedido + p1.fields.precio_click_pedido) > (p2.fields.precio_pedido + p2.fields.precio_click_pedido)) ? 1 : 0);
sorted.forEach(function (linea) {
sorted[0].forEach(function (linea) {
if (typeof linea.error == "undefined")
self.tableCompCubierta.row
.add(self.getRowFromLinea('sobrecubierta', linea))
@ -1141,8 +1175,8 @@ class Comparador {
switch (tabla) {
case 'cubierta':
table = this.tableCompCubierta;
tipo1 = 'lp_cubierta';
tipo2 = 'lp_sobrecubierta';
tipo1 = 'cubierta';
tipo2 = 'sobrecubierta';
total_label = '#total_comp_cubierta';
break;