refs #7531 Modify zone_getAddresses #2675

Merged
guillermo merged 5 commits from 7531-Modify-zone_getAddresses into dev 2024-07-30 10:02:12 +00:00
1 changed files with 41 additions and 26 deletions
Showing only changes of commit 4bef3e9107 - Show all commits

View File

@ -1,7 +1,8 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`zone_getAddresses`( CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`zone_getAddresses`(
vSelf INT, vSelf INT,
vLanded DATE vDated DATE,
vDepartment INT
) )
BEGIN BEGIN
/** /**
@ -12,6 +13,7 @@ BEGIN
* *
* @param vSelf Id de zona * @param vSelf Id de zona
* @param vDated Fecha de entrega * @param vDated Fecha de entrega
* @param vDepartment Departamento del trabajador
* @return Un select * @return Un select
*/ */
CALL zone_getPostalCode(vSelf); CALL zone_getPostalCode(vSelf);
@ -22,34 +24,47 @@ BEGIN
WHERE id NOT IN ( WHERE id NOT IN (
ivanm marked this conversation as resolved
Review

notHasTicket crec que te sobra

notHasTicket crec que te sobra
SELECT clientFk SELECT clientFk
FROM vn.ticket FROM vn.ticket
WHERE landed BETWEEN vLanded AND util.dayEnd(vLanded) WHERE landed BETWEEN vDated AND util.dayEnd(vDated)
) )
),
hasTicketShippedToday AS (
ivanm marked this conversation as resolved
Review

hasTickets (today no es correcte perque li pots pasar una altra fetxa que no siga hui)

hasTickets (today no es correcte perque li pots pasar una altra fetxa que no siga hui)
SELECT clientFk,
ivanm marked this conversation as resolved
Review

Aço queda mes net aixina:

		SELECT DISTINCT clientFk
			FROM vn.ticket
			WHERE shipped BETWEEN vDated AND util.dayEnd(vDated)
Aço queda mes net aixina: ``` SELECT DISTINCT clientFk FROM vn.ticket WHERE shipped BETWEEN vDated AND util.dayEnd(vDated) ```
IF (COUNT(*) > 0, TRUE, FALSE) hasTicketShipped
FROM vn.ticket
WHERE shipped BETWEEN vDated AND util.dayEnd(vDated)
ivanm marked this conversation as resolved
Review

Si li preguntares i volia per shipped ok

Si li preguntares i volia per shipped ok
GROUP BY clientFk
) )
SELECT c.id clientFk, SELECT c.id clientFk,
c.name, c.name,
c.phone, c.phone,
bt.description, bt.description,
c.salesPersonFk, c.salesPersonFk,
u.name username, u.name username,
aai.invoiced, aai.invoiced,
cnb.lastShipped cnb.lastShipped,
FROM vn.client c ht.hasTicketShipped
ivanm marked this conversation as resolved
Review

IF(ht.clientFk, TRUE, FALSE) hasTicket

IF(ht.clientFk, TRUE, FALSE) hasTicket
JOIN notHasTicket ON notHasTicket.id = c.id FROM vn.client c
LEFT JOIN account.`user` u ON u.id = c.salesPersonFk JOIN vn.worker w ON w.id = c.salesPersonFk
JOIN vn.`address` a ON a.clientFk = c.id JOIN vn.workerDepartment wd ON wd.workerFk = w.id
JOIN vn.postCode pc ON pc.code = a.postalCode JOIN vn.department d ON d.id = wd.departmentFk
JOIN vn.town t ON t.id = pc.townFk AND t.provinceFk = a.provinceFk JOIN notHasTicket ON notHasTicket.id = c.id
JOIN vn.zoneGeo zg ON zg.name = a.postalCode LEFT JOIN account.`user` u ON u.id = c.salesPersonFk
JOIN tmp.zoneNodes zn ON zn.geoFk = pc.geoFk JOIN vn.`address` a ON a.clientFk = c.id
LEFT JOIN bs.clientNewBorn cnb ON cnb.clientFk = c.id JOIN vn.postCode pc ON pc.code = a.postalCode
LEFT JOIN vn.annualAverageInvoiced aai ON aai.clientFk = c.id JOIN vn.town t ON t.id = pc.townFk AND t.provinceFk = a.provinceFk
JOIN vn.clientType ct ON ct.code = c.typeFk JOIN vn.zoneGeo zg ON zg.name = a.postalCode
JOIN vn.businessType bt ON bt.code = c.businessTypeFk JOIN tmp.zoneNodes zn ON zn.geoFk = pc.geoFk
WHERE a.isActive LEFT JOIN bs.clientNewBorn cnb ON cnb.clientFk = c.id
AND c.isActive LEFT JOIN vn.annualAverageInvoiced aai ON aai.clientFk = c.id
AND ct.code = 'normal' JOIN vn.clientType ct ON ct.code = c.typeFk
AND bt.code <> 'worker' JOIN vn.businessType bt ON bt.code = c.businessTypeFk
GROUP BY c.id; LEFT JOIN hasTicketShippedToday ht ON ht.clientFk = c.id
WHERE a.isActive
AND c.isActive
AND ct.code = 'normal'
AND bt.code <> 'worker'
AND d.id = vDepartment
GROUP BY c.id;
DROP TEMPORARY TABLE tmp.zoneNodes; DROP TEMPORARY TABLE tmp.zoneNodes;
END$$ END$$