7129-fixFilter #2766

Merged
pablone merged 6 commits from 7129-fixFilter into test 2024-07-22 15:52:23 +00:00
3 changed files with 49 additions and 48 deletions

View File

@ -91,11 +91,13 @@ module.exports = Self => {
SELECT t.cmrFk, SELECT t.cmrFk,
t.id ticketFk, t.id ticketFk,
t.routeFk, t.routeFk,
co.name country, co.id countryFk,
co.name countryName,
t.clientFk, t.clientFk,
IF(sub.id, TRUE, FALSE) hasCmrDms, IF(sub.id, TRUE, FALSE) hasCmrDms,
DATE(t.shipped) shipped, DATE(t.shipped) shipped,
t.warehouseFk t.warehouseFk,
w.name warehouseName
FROM ticket t FROM ticket t
JOIN ticketState ts ON ts.ticketFk = t.id JOIN ticketState ts ON ts.ticketFk = t.id
JOIN state s ON s.id = ts.stateFk JOIN state s ON s.id = ts.stateFk

View File

@ -91,25 +91,20 @@ module.exports = Self => {
let where = buildFilter(ctx.args, (param, value) => { let where = buildFilter(ctx.args, (param, value) => {
switch (param) { switch (param) {
case 'search': case 'search':
return {'r.id': value}; return {'id': value};
case 'from': case 'from':
return {'r.created': {gte: value}}; return {'created': {gte: value}};
case 'to': case 'to':
return {'r.created': {lte: value}}; return {'created': {lte: value}};
case 'm3':
return {'r.m3': value};
case 'description': case 'description':
return {'r.description': {like: `%${value}%`}}; return {'description': {like: `%${value}%`}};
case 'isOk':
case 'm3':
case 'warehouseFk': case 'warehouseFk':
param = `v.${param}`;
return {[param]: value};
case 'workerFk': case 'workerFk':
case 'vehicleFk': case 'vehicleFk':
case 'agencyModeFk': case 'agencyModeFk':
param = `r.${param}`;
return {[param]: value}; return {[param]: value};
case 'isOk':
return {'r.isOk': value};
} }
}); });
@ -119,34 +114,38 @@ module.exports = Self => {
let stmt; let stmt;
stmt = new ParameterizedSQL( stmt = new ParameterizedSQL(
`SELECT `SELECT *
r.id, FROM(
r.workerFk, SELECT
r.created, r.id,
r.vehicleFk, r.workerFk,
r.agencyModeFk, r.created,
r.time, r.vehicleFk,
r.isOk, r.agencyModeFk,
r.kmStart, r.time,
r.kmEnd, r.isOk,
r.started, r.kmStart,
r.finished, r.kmEnd,
r.gestdocFk, r.started,
r.cost, r.finished,
r.m3, r.gestdocFk,
r.description, r.cost,
am.name agencyName, r.m3,
u.name AS workerUserName, r.description,
v.numberPlate AS vehiclePlateNumber, am.name agencyName,
Date_format(r.time, '%H:%i') hour, u.name workerUserName,
eu.email v.numberPlate vehiclePlateNumber,
FROM route r Date_format(r.time, '%H:%i') hour,
LEFT JOIN agencyMode am ON am.id = r.agencyModeFk eu.email,
LEFT JOIN agency a ON a.id = am.agencyFk v.warehouseFk
LEFT JOIN vehicle v ON v.id = r.vehicleFk FROM route r
LEFT JOIN worker w ON w.id = r.workerFk LEFT JOIN agencyMode am ON am.id = r.agencyModeFk
LEFT JOIN account.user u ON u.id = w.id LEFT JOIN agency a ON a.id = am.agencyFk
LEFT JOIN account.emailUser eu ON eu.userFk = r.workerFk` LEFT JOIN vehicle v ON v.id = r.vehicleFk
LEFT JOIN worker w ON w.id = r.workerFk
LEFT JOIN account.user u ON u.id = w.id
LEFT JOIN account.emailUser eu ON eu.userFk = r.workerFk
) sub`
); );
stmt.merge(conn.makeSuffix(filter)); stmt.merge(conn.makeSuffix(filter));

View File

@ -28,11 +28,11 @@ module.exports = Self => {
if (canViewAll) { if (canViewAll) {
const userConfig = await models.UserConfig.getUserConfig(ctx, myOptions); const userConfig = await models.UserConfig.getUserConfig(ctx, myOptions);
pablone marked this conversation as resolved
Review

Estas usando solo una propiedad del userConfig, a lo mejor desestructurarlo

Estas usando solo una propiedad del userConfig, a lo mejor desestructurarlo
filterGrant = { filterGrant = {
where: {'a.warehouseFk': userConfig.warehouseFk} where: {'warehouseFk': userConfig.warehouseFk}
}; };
} else { } else {
filterGrant = { filterGrant = {
where: {'r.workerFk': userId} where: {'workerFk': userId}
}; };
} }
@ -46,16 +46,16 @@ module.exports = Self => {
and: [ and: [
{ {
or: [ or: [
{'r.created': currentDate}, {'created': currentDate},
{'r.created': nextDay} {'created': nextDay}
] ]
} }
] ]
}, },
order: [ order: [
'r.created ASC', 'created ASC',
'r.time ASC', 'time ASC',
'am.name ASC' 'agencyName ASC'
] ]
}; };