diff --git a/src/pages/Ecomerce/CheckoutView.vue b/src/pages/Ecomerce/CheckoutView.vue index a8471b35..ee38062f 100644 --- a/src/pages/Ecomerce/CheckoutView.vue +++ b/src/pages/Ecomerce/CheckoutView.vue @@ -198,22 +198,25 @@ const getAddresses = async (clientFk) => { const getAgencies = async () => { try { - const { results } = await jApi.execQuery( - `CALL vn.zone_getAgency(#address, #date); - SELECT DISTINCT a.agencyModeFk id, a.description - FROM tmp.zoneGetAgency a - JOIN vn.deliveryMethod d - ON d.id = a.deliveryMethodFk - WHERE d.code IN ('AGENCY', 'DELIVERY') - AND a.isVisible - ORDER BY a.description; - DROP TEMPORARY TABLE tmp.zoneGetAgency`, - { - address: orderForm.value.address, - date: new Date(orderForm.value.date) - } - ); - agencies.value = results[1].data; + const agenciesInZone = await api.get('Agencies/landsThatDay', { + params: { + addressFk: orderForm.value.address, + landed: new Date(orderForm.value.date), + } + }); + const deliveryMethods = await api.get('DeliveryMethods'); + + const results = agenciesInZone.data + .filter(agency => agency.isVisible) + .map(agency => ({ + id: agency.agencyModeFk, + description: agency.description, + deliveryMethod: deliveryMethods.data.find(dm => dm.id === agency.deliveryMethodFk).code, + })) + .filter(agency => agency.deliveryMethod === 'AGENCY' || agency.deliveryMethod === 'DELIVERY') + .toSorted((a, b) => a.description.localeCompare(b.description)); + + agencies.value = results; if (agencies.value && agencies.value.length && defaultValues.value) { const found = agencies.value.find(