Распределение доставок и Карты Google

Автор: | 19 ноября 2010

Была постав­ле­на зада­ча авто­ма­ти­зи­ро­вать, упро­стить рабо­ту сотруд­ни­ка, зани­ма­ю­ще­го­ся рас­пре­де­ле­ни­ем доста­вок по марш­ру­там. Ну если быть более точ­ным, то зада­ча выгля­де­ла вот так:

1. …
2. Воз­мож­ность загру­зить достав­ки на задан­ный интер­вал дат.
3. При запус­ке скрип­та запро­сить усло­вие — по при­зна­кам …
4. Изме­нить внеш­ний функ­ци­о­нал. Не делить экран на два поля в раз­де­ле марш­ру­ты. Сде­лать две заклад­ки — “достав­ки” и “марш­ру­ты”. В заклад­ке достав­ки отоб­ра­жать доку­мен­ты доста­вок (то,что сей­час отоб­ра­жа­ет­ся в раз­де­ле “марш­ру­ты”), а в раз­де­ле “марш­ру­ты” отоб­ра­жать рабо­ту с марш­ру­та­ми.
5. Лик­ви­ди­ро­вать раз­дел “пира­ми­ды”.
6. В раз­де­ле Марш­ру­ты:
а.) Выво­дить марш­ру­ты соот­вет­ству­ю­щие выбран­но­му диап­па­зо­ну доста­вок.
б.) доба­вить колон­ку “води­тель”. В кото­рой опе­ра­тор будет про­став­лять ФИО води­те­ля. Эти дан­ные нуж­но будет сохра­нить и про­ста­вить это ФИО в каж­дой достав­ке.
в.) под­вал марш­ру­та — пока­зы­вать пози­ции изде­лий, упа­ков­ки. Скрыть кре­пеж. Для упа­ко­вок тоже сде­лать под­вал, в кото­ром нуж­но отоб­ра­зить содер­жи­мое упа­ков­ки.
г.) к марш­ру­ту доба­вить колон­ку “изоб­ра­же­ние изде­лия с раз­ме­ра­ми”. В том виде как сей­час это реа­ли­зо­ва­но в раз­де­ле пира­ми­ды.

7. Во всех полях “ком­мен­та­рий”, если есть ком­мен­та­рий пока­зы­вать зна­чок всплы­ва­ю­ще­го окна, клик­нув на кото­рый откры­ва­ет­ся ком­мент.
8. В заклад­ке доста­вок создать колон­ку для рабо­ты дис­пет­че­ра, по кото­рой он будет груп­пи­ро­вать. В этой колон­ке будут ста­вить текст.
9. Сде­лать воз­мож­ным уви­деть общее коли­че­ство доста­вок, изде­лий, пло­щадь
10. Сде­лать с под­свет­кой достав­ки, у кото­рых в зака­зе мон­таж равен дате достав­ки


Уже в про­цес­се реше­ния основ­ной зада­чи посту­пи­ли прось­бы, свя­зать про­грам­му WinDraw с какой-либо гра­фи­че­ской кар­той, что бы отоб­ра­жать нуж­ный адрес на кар­те. Выби­рая с какой кар­той рабо­тать сна­ча­ла отсек­ли офф-лайн вер­сии. Даль­ше выби­ра­ли меж­ду Яндекс.Картами и Google.Maps. В ито­ге выбран был Гугл, как наи­бо­лее функ­ци­о­наль­ный и быст­ро раз­ви­ва­ю­щий­ся.

Итак, от кар­ты тре­бо­ва­лось либо отоб­ра­зить адрес кон­крет­но­го дого­во­ра, либо про­ло­жить марш­рут по несколь­ким адре­сам.

Пер­вая часть была реше­на быст­ро и про­сто, фак­ти­че­ски откры­ва­ет­ся бра­у­зер по умол­ча­нию и в адрес­ную стро­ку встав­ля­ет­ся выра­же­ние

напри­мер

Просмотр адреса конкретного договора

Вто­рая часть более инте­рес­на. Необ­хо­ди­мо пере­дать несколь­ко адре­сов сра­зу, что бы про­ло­жить марш­рут меж­ду ними. Сра­зу появи­лась про­бле­ма — в длинне стро­ки http боль­ше 10 адре­сов не уда­ет­ся отпра­вить. Тем более, что адре­са запол­ня­ет кто как. Плюс в адрес встав­ля­ют номер квар­ти­ры, этаж, код домо­фо­на и мно­гое дру­гое, что толь­ко меша­ет Google.Maps пра­виль­но най­ти адрес. Была напи­са­на такая вот функ­ция (она не иде­аль­на и пери­о­ди­че­ски дора­ба­ты­ва­ет­ся):

Бла­го­да­ря этой функ­ции ста­ло воз­мож­но пере­да­вать боль­ше 10 адре­сов сра­зу.

Прокладка маршрута в Гугл Картах

Конеч­но неко­то­рые адре­са при­хо­дит­ся под­кор­рек­ти­ро­вать, но в ито­ге полу­ча­ет­ся про­ло­жен­ный марш­рут, внут­ри кото­ро­го мож­но менять после­до­ва­тель­ность точек про­хож­де­ния (доста­точ­но про­сто пере­тас­ки­вать бук­вен­ный мар­кер вверх или вниз и марш­рут пере­стра­и­ва­ет­ся).

Вот такой вот полу­чил­ся инстру­мент.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*