4873-zone.delivery-day #1248
|
@ -30,31 +30,28 @@ module.exports = Self => {
|
|||
if (typeof options == 'object')
|
||||
Object.assign(myOptions, options);
|
||||
|
||||
const dated = new Date(date);
|
||||
const dayName = dated.toString().split(' ')[0];
|
||||
|
||||
query = `
|
||||
vicent marked this conversation as resolved
Outdated
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
DISTINCT z.id,
|
||||
z.name,
|
||||
am.name agencyModeName,
|
||||
IFNULL(ze.hour, z.hour) as hour,
|
||||
IFNULL(ze.price, z.price) as price
|
||||
FROM vn.zone z
|
||||
JOIN agencyMode am ON am.id = z.agencyModeFk
|
||||
LEFT JOIN zoneEvent ze ON ze.zoneFk = z.id
|
||||
WHERE
|
||||
(
|
||||
dated = ?
|
||||
OR ? BETWEEN started AND ended
|
||||
OR weekDays LIKE ?
|
||||
)
|
||||
AND z.id IN (?)
|
||||
ORDER BY type='day' DESC, type='range' DESC, type='indefinitely' DESC) z
|
||||
GROUP BY z.id`;
|
||||
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 (
|
||||
SELECT
|
||||
DISTINCT z.id,
|
||||
z.name,
|
||||
am.name agencyModeName,
|
||||
IFNULL(ze.hour, z.hour) as hour,
|
||||
IFNULL(ze.price, z.price) as price
|
||||
FROM vn.zone z
|
||||
JOIN vn.agencyMode am ON am.id = z.agencyModeFk
|
||||
LEFT JOIN vn.zoneEvent ze ON ze.zoneFk = z.id
|
||||
WHERE
|
||||
(
|
||||
ze.dated = ?
|
||||
OR ? BETWEEN ze.started AND ze.ended
|
||||
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 (?)
|
||||
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;`;
|
||||
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