feat: refs #3199 Added one more scope ticketTotal #2447

Merged
guillermo merged 15 commits from 3199-ticket_recalc_itemTaxCountry into dev 2024-08-21 12:32:28 +00:00
1 changed files with 11 additions and 4 deletions
Showing only changes of commit 2cee9c9c01 - Show all commits

View File

@ -14,10 +14,17 @@ BEGIN
DECLARE vTicketFk INT;
DECLARE cTickets CURSOR FOR
SELECT id FROM ticket
WHERE refFk IS NULL
AND ((vScope = 'client' AND clientFk = vId)
OR (vScope = 'address' AND addressFk = vId));
SELECT DISTINCT t.id
FROM ticket t
JOIN sale s ON s.ticketFk = t.id
JOIN itemTaxCountry itc ON itc.itemFk = s.itemFk
guillermo marked this conversation as resolved
Review

Porque se hace JOIN con itemTaxCountry si no se utiliza ninguno de los campos de la tabla?

Para filtrar por itemFk puede hacerse utilizando directamente s.itemFk

Porque se hace JOIN con `itemTaxCountry` si no se utiliza ninguno de los campos de la tabla? Para filtrar por `itemFk` puede hacerse utilizando directamente `s.itemFk`
Review

Porque quiero que tenga registro en la tabla itemTaxCountry, si no no tiene sentido

Porque quiero que tenga registro en la tabla `itemTaxCountry`, si no no tiene sentido
WHERE t.refFk IS NULL
AND DATE(t.shipped) > util.VN_CURDATE()
guillermo marked this conversation as resolved
Review

Si se pasa la columna t.shipped por la funcion DATE no se utilizara el indice y la tabla ticket es demasiado grande como para aplicar filtros sin índice.

Ademas, el filtro no aplica, ya que en caso de recalcular totales, queremos hacerlo de todos aquellos tickets no facturados.

Si se pasa la columna `t.shipped` por la funcion `DATE` no se utilizara el indice y la tabla `ticket` es demasiado grande como para aplicar filtros sin índice. Ademas, el filtro no aplica, ya que en caso de recalcular totales, queremos hacerlo de todos aquellos tickets no facturados.
AND (
(vScope = 'client' AND t.clientFk = vId)
OR (vScope = 'address' AND t.addressFk = vId)
guillermo marked this conversation as resolved Outdated

Juan:

Generar una tabla temporal para que solo pase por sale y itemTaxCountry cuando sea vScope = 'item'.

Juan: Generar una tabla temporal para que solo pase por sale y itemTaxCountry cuando sea vScope = 'item'.
OR (vScope = 'item' AND itc.itemFk = vId)
);
guillermo marked this conversation as resolved
Review

pk y engine

pk y engine
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET vDone = TRUE;