#7884 - Add new param to search days backward #2875
|
@ -106,9 +106,14 @@ module.exports = Self => {
|
||||||
description: `The to shipped date filter`
|
description: `The to shipped date filter`
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
arg: 'days',
|
arg: 'daysAfter',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
description: `N days interval`
|
description: `N days after interval`
|
||||||
|
},
|
||||||
|
{
|
||||||
|
arg: 'daysBefore',
|
||||||
|
type: 'number',
|
||||||
|
description: `N days before interval`
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
returns: {
|
returns: {
|
||||||
|
@ -210,15 +215,25 @@ module.exports = Self => {
|
||||||
JOIN vn.currency cu ON cu.id = e.currencyFk`
|
JOIN vn.currency cu ON cu.id = e.currencyFk`
|
||||||
);
|
);
|
||||||
|
|
||||||
if (ctx.args.days) {
|
if (ctx.args.daysAfter) {
|
||||||
stmt.merge({
|
stmt.merge({
|
||||||
sql: `
|
sql: `
|
||||||
AND t.shipped <= util.VN_CURDATE() + INTERVAL ? DAY
|
AND ((t.shipped <= util.VN_CURDATE() + INTERVAL ? DAY
|
||||||
guillermo marked this conversation as resolved
|
|||||||
AND t.shipped >= util.VN_CURDATE()
|
AND t.shipped>= util.VN_CURDATE())
|
||||||
`,
|
`,
|
||||||
params: [ctx.args.days]
|
params: [ctx.args.daysAfter]
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (ctx.args.daysBefore) {
|
||||||
|
stmt.merge({
|
||||||
|
sql: `
|
||||||
|
${ctx.args.daysAfter ? 'OR' : 'AND'} (t.shipped <= util.VN_CURDATE()
|
||||||
guillermo
commented
Esto creo que se puede unificar con lo de arriba, utilizando el INTERVAL Esto creo que se puede unificar con lo de arriba, utilizando el INTERVAL
guillermo
commented
Si esto lo has probado y funciona bien, adelante Si esto lo has probado y funciona bien, adelante
jsegarra
commented
Los test no se han modificado por lo que debe ir bien. Si te parece y tienes tiempo, podemos probarlo antes de subirlo Los test no se han modificado por lo que debe ir bien.
Pero respondiendo a tu inquietud.
He modificado el travel 3 a 2000-12-30 y en daysBefore he puesto 2 y sólo me sale este resultado.
Si te parece y tienes tiempo, podemos probarlo antes de subirlo
|
|||||||
|
AND t.shipped >= util.VN_CURDATE() - INTERVAL ? DAY)
|
||||||
|
`,
|
||||||
|
params: [ctx.args.daysBefore]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (ctx.args.daysAfter) stmt.merge({sql: ')'});
|
||||||
stmt.merge(conn.makeSuffix(filter));
|
stmt.merge(conn.makeSuffix(filter));
|
||||||
const itemsIndex = stmts.push(stmt) - 1;
|
const itemsIndex = stmts.push(stmt) - 1;
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@ describe('Entry filter()', () => {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
args: {days: 6},
|
args: {daysAfter: 6},
|
||||||
req: {accessToken: {userId: 1102}}
|
req: {accessToken: {userId: 1102}}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Aquí por que no gastas un BETWEEN?
Porque estarías obligando al usuario al introducir 2 valores siempre no?
Y porque no poner un valor por defecto, porque habría que gestionar/mantener ese valor en BD
Tienes razón.