38 lines
1.0 KiB
MySQL
38 lines
1.0 KiB
MySQL
|
DELIMITER $$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`zone_getWarehouse`(vAddress INT, vLanded DATE, vWarehouse INT)
|
||
|
BEGIN
|
||
|
/**
|
||
|
* Devuelve el listado de agencias disponibles para la fecha,
|
||
|
* dirección y almacén pasados.
|
||
|
*
|
||
|
* @param vAddress
|
||
|
* @param vWarehouse warehouse
|
||
|
* @param vLanded Fecha de recogida
|
||
|
* @select Listado de agencias disponibles
|
||
|
*/
|
||
|
|
||
|
CALL zone_getFromGeo(address_getGeo(vAddress));
|
||
|
CALL zone_getOptionsForLanding(vLanded, FALSE);
|
||
|
|
||
|
SELECT am.id agencyModeFk,
|
||
|
am.name agencyMode,
|
||
|
am.description,
|
||
|
am.deliveryMethodFk,
|
||
|
TIMESTAMPADD(DAY, -zo.travelingDays, vLanded) shipped,
|
||
|
zw.warehouseFk,
|
||
|
z.id zoneFk
|
||
|
FROM tmp.zoneOption zo
|
||
|
JOIN zone z ON z.id = zo.zoneFk
|
||
|
JOIN agencyMode am ON am.id = z.agencyModeFk
|
||
|
JOIN zoneWarehouse zw ON zw.zoneFk = zo.zoneFk
|
||
|
WHERE zw.warehouseFk = vWarehouse
|
||
|
GROUP BY z.agencyModeFk
|
||
|
ORDER BY agencyMode;
|
||
|
|
||
|
DROP TEMPORARY TABLE
|
||
|
tmp.zone,
|
||
|
tmp.zoneOption;
|
||
|
|
||
|
END$$
|
||
|
DELIMITER ;
|