Просмотр полной версии : получить № заказа и его состояние
Добрый день, возможно ли как-то получить данные о текущих заказах в доставке? Например номер и статус? Чтобы использовать в своих целях (вывести информацию о заказе на сайт), как можно это реализовать? Заранее благодарен!
VampireKB
16.01.2013, 16:11
Добрый день, возможно ли как-то получить данные о текущих заказах в доставке? Например номер и статус? Чтобы использовать в своих целях (вывести информацию о заказе на сайт), как можно это реализовать? Заранее благодарен!
Можно всё,но где-то это легче,где-то сложнее :)
Цена соответствует качеству.
Можно всё,но где-то это легче,где-то сложнее :)
Цена соответствует качеству.
Не совсем понял ответа, я не прошу готовую разработку. Мне хотя бы направление поиска - куда копать, как и откуда можно получить данные о текущих заказах?
VampireKB
16.01.2013, 16:31
Не совсем понял ответа, я не прошу готовую разработку. Мне хотя бы направление поиска - куда копать, как и откуда можно получить данные о текущих заказах?
из СУБД,в которой они храняться :)
Извиняюсь,но уже по первому вопросу можно однозначно понять что вы не дружите с базами данных . По-этому расшифровывать что и откуда - считаю лишним.
Если у Вас уже есть Сайт,обращайтесь к ним,они должны сделать конвертер с последующей пересылкой данных из СУБД доставки в СУБД на сайте.
из СУБД,в которой они храняться :)
Извиняюсь,но уже по первому вопросу можно однозначно понять что вы не дружите с базами данных . По-этому расшифровывать что и откуда - считаю лишним.
Если у Вас уже есть Сайт,обращайтесь к ним,они должны сделать конвертер с последующей пересылкой данных из СУБД доставки в СУБД на сайте.
я не дружу с программой деливери, вижу ее первый раз в жизни. А транспорт данных сделать нужно. Думал может там API есть например, информацию поиском нарыть не удалось. Сайт наш, я принимал участие в разработке, так что с субд и прочим вполне себе дружу. Не нужно держать не знакомых Вам людей за идиотов пожалуйста, я задал вопрос - можно на него конкретно ответить, без напыщенности супер профи. Спасибо.
В принципе все довольно просто: Сама БД Доставки это база ФайрБерда (или если старая то ИнтерБейз). Все что вам нужно (в первом приближении) храниться в одной единственно таблице: DVL_ORDERS. Структура этой таблицы вполне понятна. Там есть и статус и номер и даже время приемки заказа и отправки экспедитора. Если копнуть немного глубже (в соседние таблицы), то там можно отрыть и содержимое заказа и адрес куда его повезут. Посмотреть базу можно любым редактором, например IBExpert.
Весь вопрос в том как эту инфу передавать на сайт. Вариант "в лоб" - написать ВИН приложение, которое будет крутиться на сервере доставки, мониторить базу и пересылать данные на сайт.
Если месье знает толк в извращениях топикстартер шарит в программировании и в БД, то могу предложить еще 2 варианта:
1. Цепляться к БД доставки напрямую с WEB сервевра средствами php (или на чем то другом) и работать с базой прямо с сайта.
2. Прямо в БД доставки дописать тригерры, которые при изменении статуса заказа будут вызывать какую то внешную процедуру, которая будет передавать инфу на сайт.
Вооот! Это уже ближе к теме, вариант с вин приложением подходит, завтра буду разбираться. Еще вопрос, немного не по теме топика - в модуле оператора, реально добавить еще одно поле? Ну когда она составляет заказ, нужно ко всему прочему указать номер gps трекера, который экспедитор возьмет с собой в дорогу.
Добавить поле - это вряд ли...
Вот сможете ли вы взять произвольное ВИН приложение (например Калькулятор) и впихнуть в него еще одну кнопку? Если сможете, то тогда и в Оператора засунуть сможете, но лично я не представляю реального пути это сделать.
В Вашем случае можно юзать поле "Комментарий к заказу", туда Оператор может записать все что угодно, и оно хранится в базе.
Но загвоздка в другом: Вы себе не очень четко представляете работу Доставки. Дело в том, что на момент приема заказа, Оператор вряд ли может корректно указать, кто из Экспедиторов в итоге повезет этот заказ. Это рещает Диспетчер, и порой через 30-60 минут после приема заказа Оператором. Факторов, которые влияют на то кто, что и куда повезет довольно много. Экспедитор, как правило, не везет по одному заказу за раз, а берет несколько заказов, примерно в одну сторону. Бывает так что уже готовый заказ еще не отправляют, т.к. через 10 мин будет готов еще один заказ на ту же Улицу и их отдадут одному Экспедитору.
Может быть поступить проще: Если Экспедитор сегодня работает, то у него есть Треккер. И вряд ли с каждым новым заказом он будет брать другой Треккер. Логично? Если так, то можно в какой то сторонней программе в начале каждой смены прописывать соответствие: Каой Экспедитор с каким Треккером сегодня летает по городу. Из БД доставки мы знаем, какой экспедитор повез заказ. Из таблицы соответствия мы знаем какой Треккер у него сегодня на кармане.
VampireKB
17.01.2013, 21:14
Но загвоздка в другом: Вы себе не очень четко представляете работу Доставки. Дело в том, что на момент приема заказа, Оператор вряд ли может корректно указать, кто из Экспедиторов в итоге повезет этот заказ. Это рещает Диспетчер, и порой через 30-60 минут после приема заказа Оператором. Факторов, которые влияют на то кто, что и куда повезет довольно много. Экспедитор, как правило, не везет по одному заказу за раз, а берет несколько заказов, примерно в одну сторону. Бывает так что уже готовый заказ еще не отправляют, т.к. через 10 мин будет готов еще один заказ на ту же Улицу и их отдадут одному Экспедитору.
ну эт смотря какая доставка :) В Этой можно привязать треккер к Курьеру,а также менять Курьера в любой момент времени(до оплаты) + postgreSQL великолепно работает на nix системах и великолепно воспринимает запросы из php :)
P/S/ вся основная инфа находится в 1 viewer-е :)
Да, как я уже упоминал - я очень поверхностно представляю себе работу доставки. Вы мне тут подкинули неоценимые по своей полезности мысли, многое прояснилось, идея с дополнительным полем действительно была бредовая. А вот таблица соответствия у какого экспедитора какой трекер - так наверно и будем делать, еще раз всем огромное спасибо, все встало на свои места :)
Господа, еще раз хочу выразить свою благодарность - очень помогли, дела идут, но вот уперся в проблему - откуда деливери берет имена экспедиторов? Вернее в какой таблице они хранятся? Единственное что нашел DLV_EXPEDITORS_WORK , но там указаны имена у уже текущих заказов, номер заказа - эеспедитор ID и его имя. А мне нужно получить их до поступления заказов.
DLV_PERSONAL_GROUP - это типы групп персонала. Нас интересует ID группы "Экспедиторы" (у меня GROUP_ID = 3, у вас может быть по другому)
Далее смотрим DLV_PERSONALS
Нас интересует результат выборки
select * from DLV_PERSONALS where PERSONAL_GROUP=3 and DELETED = 0 and IN_DLV = 1
DLV_PERSONALS у меня не содержит экспедиторов, там всего 8 человек, экспедиторов больше и совсем не те. Очень странно, где они еще могут быть?
Powered by vBulletin® Version 4.2.6 LTS Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot