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 12 additions and 25 deletions
Showing only changes of commit 50e2c03d3e - Show all commits

View File

@ -1,40 +1,28 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`zone_getAddresses`(
vSelf INT,
vDated DATE,
vDepartment INT
vShipped DATE,
vDepartmentFk INT
ivanm marked this conversation as resolved Outdated

vDepartmentFk

vDepartmentFk
)
BEGIN
/**
* Devuelve un listado de todos los clientes activos
* con consignatarios a los que se les puede
* vender producto para esa zona y no tiene un ticket
* para ese día.
* vender producto para esa zona.
*
* @param vSelf Id de zona
* @param vDated Fecha de entrega
* @param vDepartment Departamento del trabajador
* @param vShipped Fecha de envio
* @param vDepartmentFk Id de departamento
* @return Un select
ivanm marked this conversation as resolved Outdated

vDepartmentFk Id de departamento

vDepartmentFk Id de departamento
*/
CALL zone_getPostalCode(vSelf);
WITH notHasTicket AS (
SELECT id
FROM vn.client
WHERE id NOT IN (
SELECT clientFk
FROM vn.ticket
WHERE landed BETWEEN vDated AND util.dayEnd(vDated)
)
),
hasTicketShippedToday AS (
SELECT clientFk,
IF (COUNT(*) > 0, TRUE, FALSE) hasTicketShipped
WITH clientWithTicket AS (
SELECT clientFk
FROM vn.ticket
WHERE shipped BETWEEN vDated AND util.dayEnd(vDated)
GROUP BY clientFk
WHERE shipped BETWEEN vShipped AND util.dayEnd(vShipped)
)
ivanm marked this conversation as resolved
Review

notHasTicket crec que te sobra

notHasTicket crec que te sobra
SELECT c.id clientFk,
SELECT c.id,
c.name,
c.phone,
bt.description,
@ -42,12 +30,12 @@ BEGIN
u.name username,
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)
aai.invoiced,
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) ```
cnb.lastShipped,
ht.hasTicketShipped
cwt.clientFk
FROM vn.client c
ivanm marked this conversation as resolved
Review

Si li preguntares i volia per shipped ok

Si li preguntares i volia per shipped ok
JOIN vn.worker w ON w.id = c.salesPersonFk
JOIN vn.workerDepartment wd ON wd.workerFk = w.id
JOIN vn.department d ON d.id = wd.departmentFk
JOIN notHasTicket ON notHasTicket.id = c.id
LEFT JOIN clientWithTicket cwt ON cwt.clientFk = c.id
LEFT JOIN account.`user` u ON u.id = c.salesPersonFk
JOIN vn.`address` a ON a.clientFk = c.id
JOIN vn.postCode pc ON pc.code = a.postalCode
@ -58,12 +46,11 @@ BEGIN
LEFT JOIN vn.annualAverageInvoiced aai ON aai.clientFk = c.id
JOIN vn.clientType ct ON ct.code = c.typeFk
JOIN vn.businessType bt ON bt.code = c.businessTypeFk
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
AND d.id = vDepartmentFk
ivanm marked this conversation as resolved Outdated

Soporta que pueda ser null:
(d.id = vDepartmentFk OR NOT vDepartmentFk)

Soporta que pueda ser null: `(d.id = vDepartmentFk OR NOT vDepartmentFk)`
Outdated
Review

Cert, també demana els que no tinguen comercial/departament assignat. Ho modifique.

Cert, també demana els que no tinguen comercial/departament assignat. Ho modifique.
GROUP BY c.id;
DROP TEMPORARY TABLE tmp.zoneNodes;