._.
This commit is contained in:
parent
66e2f4362d
commit
6ef4ec1fda
@ -1,4 +1,10 @@
|
||||
import { getDeliveryOrders, updateDeliveryOrderRoute } from "../api.jsx";
|
||||
import {
|
||||
getDeliveryOrders,
|
||||
updateDeliveryOrderRoute,
|
||||
getDeliveryOrderDetails,
|
||||
getDeliveryAccessories,
|
||||
} from "../api.jsx";
|
||||
import { getCoordinates } from "../geocoder.jsx";
|
||||
import React, { useState, useEffect } from "react";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import polyline from "@mapbox/polyline";
|
||||
@ -56,65 +62,66 @@ const DeliveryOrdersList = ({
|
||||
await Promise.all(
|
||||
ordersToCalculate.map(async (order) => {
|
||||
try {
|
||||
// const deliveryOrderDetails = await getDeliveryOrderDetails(order.id);
|
||||
const deliveryOrderDetails = await getDeliveryOrderDetails(order.id);
|
||||
const accessories = await getDeliveryAccessories(
|
||||
deliveryOrderDetails.id
|
||||
);
|
||||
|
||||
// const coords = await Promise.all(
|
||||
// accessories.map(async (accessory) => {
|
||||
// if (accessory.latitude && accessory.longitude) {
|
||||
// return {
|
||||
// city: accessory.city_name,
|
||||
// latitude: accessory.latitude,
|
||||
// longitude: accessory.longitude,
|
||||
// accessory_name:
|
||||
// accessory.accessory_name +
|
||||
// Math.round(
|
||||
// (accessory.accessory_volume * accessory.count) / 100
|
||||
// ) +
|
||||
// "шт.",
|
||||
// };
|
||||
// } else {
|
||||
// const coords = await getCoordinates(accessory.city_name);
|
||||
// return {
|
||||
// city: accessory.city_name,
|
||||
// accessory_name:
|
||||
// accessory.accessory_name +
|
||||
// ": " +
|
||||
// Math.round(
|
||||
// (accessory.accessory_volume * accessory.count) / 100
|
||||
// ) +
|
||||
// "шт.",
|
||||
// ...coords,
|
||||
// };
|
||||
// }
|
||||
// })
|
||||
// );
|
||||
const coords = await Promise.all(
|
||||
accessories.map(async (accessory) => {
|
||||
if (accessory.latitude && accessory.longitude) {
|
||||
return {
|
||||
city: accessory.city_name,
|
||||
latitude: accessory.latitude,
|
||||
longitude: accessory.longitude,
|
||||
accessory_name:
|
||||
accessory.accessory_name +
|
||||
Math.round(
|
||||
(accessory.accessory_volume * accessory.count) / 100
|
||||
) +
|
||||
"шт.",
|
||||
};
|
||||
} else {
|
||||
const coords = await getCoordinates(accessory.city_name);
|
||||
return {
|
||||
city: accessory.city_name,
|
||||
accessory_name:
|
||||
accessory.accessory_name +
|
||||
": " +
|
||||
Math.round(
|
||||
(accessory.accessory_volume * accessory.count) / 100
|
||||
) +
|
||||
"шт.",
|
||||
...coords,
|
||||
};
|
||||
}
|
||||
})
|
||||
);
|
||||
|
||||
// if (fullCoordinates.length > 1) {
|
||||
// const waypoints = fullCoordinates
|
||||
// .map(({ longitude, latitude }) => `${longitude},${latitude}`)
|
||||
// .join(";");
|
||||
if (fullCoordinates.length > 1) {
|
||||
const waypoints = fullCoordinates
|
||||
.map(({ longitude, latitude }) => `${longitude},${latitude}`)
|
||||
.join(";");
|
||||
|
||||
// const routeUrl = `https://router.project-osrm.org/route/v1/driving/${waypoints}?overview=full`;
|
||||
const routeUrl = `https://router.project-osrm.org/route/v1/driving/${waypoints}?overview=full`;
|
||||
|
||||
// const response = await fetch(routeUrl);
|
||||
// const data = await response.json();
|
||||
const response = await fetch(routeUrl);
|
||||
const data = await response.json();
|
||||
|
||||
// if (data.routes && data.routes.length > 0) {
|
||||
// const geometry = data.routes[0].geometry;
|
||||
// const decodedRoute = polyline.decode(geometry);
|
||||
// setRoute(decodedRoute);
|
||||
// const duration = data.routes[0].duration;
|
||||
// setOrderDuration(duration);
|
||||
if (data.routes && data.routes.length > 0) {
|
||||
const geometry = data.routes[0].geometry;
|
||||
const decodedRoute = polyline.decode(geometry);
|
||||
const duration = data.routes[0].duration;
|
||||
|
||||
// await updateDeliveryOrderRoute(
|
||||
// order.id,
|
||||
// duration / 60,
|
||||
// decodedRoute
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
await updateDeliveryOrderRoute(
|
||||
order.id,
|
||||
duration / 60,
|
||||
decodedRoute
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// const fullCoordinates = [...coords, DELIVERY_CITY];
|
||||
const fullCoordinates = [...coords, DELIVERY_CITY];
|
||||
|
||||
const routeUrl = `https://router.project-osrm.org/route/v1/driving/${order.start_longitude},${order.start_latitude};${order.end_longitude},${order.end_latitude}?overview=full`;
|
||||
const response = await fetch(routeUrl);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user