#7884 - Add new param to search days backward #2875

Open
jsegarra wants to merge 2 commits from 7884_daysBackward into dev
2 changed files with 22 additions and 7 deletions

View File

@ -106,9 +106,14 @@ module.exports = Self => {
description: `The to shipped date filter`
},
{
arg: 'days',
arg: 'daysAfter',
type: 'number',
description: `N days interval`
description: `N days after interval`
},
{
arg: 'daysBefore',
type: 'number',
description: `N days before interval`
}
],
returns: {
@ -210,15 +215,25 @@ module.exports = Self => {
JOIN vn.currency cu ON cu.id = e.currencyFk`
);
if (ctx.args.days) {
if (ctx.args.daysAfter) {
stmt.merge({
sql: `
AND t.shipped <= util.VN_CURDATE() + INTERVAL ? DAY
AND t.shipped >= util.VN_CURDATE()
AND ((t.shipped <= util.VN_CURDATE() + INTERVAL ? DAY
guillermo marked this conversation as resolved
Review

Aquí por que no gastas un BETWEEN?

Aquí por que no gastas un BETWEEN?
Review

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

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
Review

Tienes razón.

Tienes razón.
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()
Review

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
Review

Si esto lo has probado y funciona bien, adelante

Si esto lo has probado y funciona bien, adelante
Review

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

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));
const itemsIndex = stmts.push(stmt) - 1;

View File

@ -55,7 +55,7 @@ describe('Entry filter()', () => {
try {
const ctx = {
args: {days: 6},
args: {daysAfter: 6},
req: {accessToken: {userId: 1102}}
};