Автоматизация отдела доставки с помощью PHP и JavaScript

Данный скрипт легко установить на свой хостинг, поддерживающий PHP, или использовать локально с помощью эмуляторов PHP типа Denwer. Вы сможете при помощи открытого API Яндекс.Карт составлять оптимальный маршрут для своих курьеров, будете знать требуемое время и общий километраж.

На написание данной статьи меня сподвигнул этот стартап:

Вспомнил, что когда то давно, когда у меня были свои водители для доставки по Ростов-на-Дону, сделал тогда себе нехитрый скрипт (php + javascript) для составления оптимального плана доставки, который при необходимости легко разделить на нескольких водителей.

Скачиваете дистрибутив (php + javascript):

И заливаете все содержимое к себе на сайт в отдельную папку, скажем в папку route, далее в адресной строке браузера набираете ваш_сайт.ru/route/, появится такое окно:

Загружаете csv файл c кодировкой utf-8, его в excel можно сделать, нажав "сохранить как" и выбрав там "Текст CSV(.csv)".

В этом списке должно быть всего два поля, полный адрес (включая город) и время стоянки по адресу в минутах. Первой записью должен быть адрес вашего склада, остальные адреса в произвольном порядке. Я например такой список формировал автоматом своей crm.

Нажав кнопку "найти оптимальный маршрут", вы через минуту работы javascript кода получите такой результат:

Ниже будет список оптимальной последовательности адресов:

Можно кликнуть по ссылке "открыть маршрут" и в режиме навигатора начать двигаться по адресам.

Этим скриптом я также начислял водителям компенсацию за использование их автомобиля, заранее рассчитав с конкретным водителем стоимость одного км пробега, исходя из расхода топлива по городу и стоимости планового ТО.

0
92 комментария
Написать комментарий...
Роман Сопов

Denwer ещё жив??? о_О

Ответить
Развернуть ветку
Денис Демидов
Автор

Сайт работает
http://www.denwer.ru/
А что сейчас лучше для эмуляции сервака на локалке?

Ответить
Развернуть ветку
Sergei Timofeyev

OpenServer

Ответить
Развернуть ветку
Денис Демидов
Автор

Спасибо, почитаю

Ответить
Развернуть ветку
Sergei Timofeyev

Лучше денвера. Давно под виндой именно под ним

Ответить
Развернуть ветку
Денис Демидов
Автор

А чем конкретно лучше? Что там посмотреть в первую очередь?

Ответить
Развернуть ветку
Илья Стрелов

Docker

Ответить
Развернуть ветку
Денис Демидов
Автор

Это уже тяжелая техника для девелоперов )))

Ответить
Развернуть ветку
Артём Лисовский

скорее наоборот) просто чуть лучше надо разбираться чем две кнопки. три-четыре

Ответить
Развернуть ветку
Denis Kiselev

Докер - хорошо, но может напугать, да)

Хотя скачивание правильного образа и запуск - реально пара кликов

Ответить
Развернуть ветку
Denis Kiselev

http://htmlbook.ru/webserver
Небольшой каталог локальных серверов.

Ответить
Развернуть ветку
Денис Демидов
Автор

Спасибо, чем он лучше чем denwer?
Он правда так устарел что нельзя им пользоваться?
У меня вроде справляется, или там нет чего-то сверхудобного?

Ответить
Развернуть ветку
Denis Kiselev

Ну - версии софта поновее, это существенно. Например, на некоторых хостингах нет php5 уже

Ответить
Развернуть ветку
Sergei Timofeyev

У меня есть проект, где адская смесь из 4.4 и 5.0, на 5.2 уже варнинги сыплятся.

Ответить
Развернуть ветку
Denis Kiselev

Для кода то - да, миграция на старшие версии софта - всегда риск breaking change словить. Я имел ввиду в основном, что если на хостингах свежие версии php, желательно и на них тестировать скрипты.

Но, вроде, php semver не исповедует - там вообще хз как версионирование сделано. Впрочем, я не в курсе!

Ответить
Развернуть ветку
Денис Демидов
Автор

Спасибо, но пока не сталкивался что чего то у денвера не хватает, но все равно попробую.

Ответить
Развернуть ветку
Denis Kiselev

Да не принципиально - использование нового софта - это своеобразный фетиш ИТ индустрии. Часть - просто дань трендам или "ну так же лучше"

Ответить
Развернуть ветку
Денис Демидов
Автор

А еще над женщинами смеемся )))

Ответить
Развернуть ветку
Mikhail Gladchenko

MAMP лёгок в настройке и установке 👌🏻

Ответить
Развернуть ветку
Дмитрий Чайников

Реально легко и без заморочек - OpenServer, установили закинули проект в папку domains и все работает. А если нужно прямо по феншую то сейчас модно Docker, только на первых порах с ним много мороки - пока разберётесь как он устроен зима наступит))

Ответить
Развернуть ветку
89 комментариев
Раскрывать всегда