4873-zone.delivery-day #1248
|
@ -30,31 +30,28 @@ module.exports = Self => {
|
||||||
if (typeof options == 'object')
|
if (typeof options == 'object')
|
||||||
Object.assign(myOptions, options);
|
Object.assign(myOptions, options);
|
||||||
|
|
||||||
const dated = new Date(date);
|
|
||||||
const dayName = dated.toString().split(' ')[0];
|
|
||||||
|
|
||||||
query = `
|
query = `
|
||||||
vicent marked this conversation as resolved
Outdated
|
|||||||
SELECT *
|
SELECT *
|
||||||
vicent marked this conversation as resolved
Outdated
juan
commented
No nesario si se pasa directamente date a la función No nesario si se pasa directamente date a la función
|
|||||||
FROM (
|
FROM (
|
||||||
SELECT
|
SELECT
|
||||||
DISTINCT z.id,
|
DISTINCT z.id,
|
||||||
z.name,
|
z.name,
|
||||||
am.name agencyModeName,
|
am.name agencyModeName,
|
||||||
IFNULL(ze.hour, z.hour) as hour,
|
IFNULL(ze.hour, z.hour) as hour,
|
||||||
IFNULL(ze.price, z.price) as price
|
IFNULL(ze.price, z.price) as price
|
||||||
FROM vn.zone z
|
FROM vn.zone z
|
||||||
JOIN agencyMode am ON am.id = z.agencyModeFk
|
JOIN vn.agencyMode am ON am.id = z.agencyModeFk
|
||||||
LEFT JOIN zoneEvent ze ON ze.zoneFk = z.id
|
LEFT JOIN vn.zoneEvent ze ON ze.zoneFk = z.id
|
||||||
WHERE
|
WHERE
|
||||||
(
|
(
|
||||||
dated = ?
|
ze.dated = ?
|
||||||
OR ? BETWEEN started AND ended
|
OR ? BETWEEN ze.started AND ze.ended
|
||||||
OR weekDays LIKE ?
|
OR ze.weekDays & (1 << WEEKDAY(?))
|
||||||
vicent marked this conversation as resolved
Outdated
juan
commented
S'ha de tindre en compte tambe la columna S'ha de tindre en compte tambe la columna `type` de `zoneEvent`, mira el WHERE del procediment `vn.zone_getOptionsForLanding`
vicent
commented
Pero aixo ja ho fa:
pq depen del camps q tinga rellenats es un type o altre. Pero aixo ja ho fa:
```
WHERE
(
ze.dated = ?
OR ? BETWEEN ze.started AND ze.ended
OR ze.weekDays & (1 << WEEKDAY(?))
)
```
pq depen del camps q tinga rellenats es un type o altre.
vicent
commented
Vale res, he vist q pot tindre started, ended y weekDays rellenat. Pensava q eren exclusius. Vale res, he vist q pot tindre started, ended y weekDays rellenat. Pensava q eren exclusius.
|
|||||||
)
|
)
|
||||||
AND z.id IN (?)
|
AND z.id IN (?)
|
||||||
ORDER BY type='day' DESC, type='range' DESC, type='indefinitely' DESC) z
|
ORDER BY type='day' DESC, type='range' DESC, type='indefinitely' DESC) z
|
||||||
vicent marked this conversation as resolved
Outdated
juan
commented
Pasar la fecha directamnte y comparar así: Además hay que tener en cuenta el tipo de evento Todas las columnas de la consulta debería llevar el alias de la tabla. Pasar la fecha directamnte y comparar así: `ze.weekDays & (1 << WEEKDAY(?))`
Además hay que tener en cuenta el tipo de evento `type`.
Todas las columnas de la consulta debería llevar el alias de la tabla.
|
|||||||
GROUP BY z.id`;
|
GROUP BY z.id;`;
|
||||||
vicent marked this conversation as resolved
Outdated
juan
commented
N'hi ha una tabulació de mes en tota la consulta, punt i coma no fa falta al final si nomes es una consulta. N'hi ha una tabulació de mes en tota la consulta, punt i coma no fa falta al final si nomes es una consulta.
|
|||||||
|
|
||||||
return Self.rawSql(query, [date, date, dayName, zoneIds], myOptions);
|
return Self.rawSql(query, [date, date, date, zoneIds], myOptions);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue
Esto es necesario? Si se define el argumento como tipo Date debería llegar una fecha