ТЗ для ПО планировщик маршрутов. 1. Импорт данных для планировки маршрутов импорт из ПО заказчика должен происходит в автоматическом режиме с определенным интервалом, либо по необходимости (ручной запуск). Способ передачи данных может быть разный (прямая передача в промежуточные таблицы, передача данных осуществляется через файл (CSV/XML)) и может быть обговорена дополнительно. В процедуру импорта данных из ПО заказчика должны быть включены следующие поля: 1.1 Номер доставки - поле (wsh_new_deliveries.name). 1.2 Дата доставки - поле (oe_order_headers_all.request_date). 1.3 Код грузополучателя - поле (hz_cust_site_uses_all.site_use_id). 1.4 Название грузополучателя - поле (hz_cust_site_uses_all.location). 1.5 Адрес доставки (фактический) - поле (xxmm08y03c_locations.locnm). 1.6 Идентификатор накладных - поле (wsh_new_deliveries.delivery_id). 1.7 Доп. комментарий к доставке (в том числе к доп. заданию водителя) - поле (wsh_new_deliveries.attribute6). 1.8 Весогабаритные характеристики каждой доставки - поле (вычисляется, равно сумме, входящего в доставку товара ). Расчет введется в ПО заказчика. Во внешнее ПО передаются уже рассчитанные значения ВГХ по каждой доставке. 1.9 Сумма доставки (руб.) - поле (вычисляется, равно сумме, входящего в доставку товара). Расчет введется в ПО заказчика. Во внешнее ПО передаются уже рассчитанные значения суммы по каждой доставке. 1.10 Тип клиента (Аптека, Апт.сеть, Больница, ….) - поле (hz_cust_accounts.attribute1). (*) 1.11 Тип метода отгрузки доставки (Самовывоз, Мультисклад, ….) (*) Данное поле необходимо для определения приоритета доставки заказов, при составлении маршрутов, например доставка заказы в больницы осуществляется до 15:00. 2. Работа в ПО начинается с фильтрации импортированных данных 2.1 Выбор региона для планирования (по направлению), список доступных регионов отображается в зависимости от прав доступа диспетчера. При создании нового пользователя администратор указывает/отмечает доступные регионы. 2.2 Выбор «Условия доставки» ( Утро, День, Ночь,….) А). «Утро» - период плановой даты отгрузки с 05:00 до 11:00 текущего дня Б). «День» - период плановой даты отгрузки с 11:00 до 17:00 текущего дня В). «Ночь» - период плановой даты отгрузки с 17:00 до 05:00 следующего дня 2.3 Проверка справочника клиентов По отдельному запросу будет выгружаться справочник в файл (запускать при необходимости, при внесение изменений в справочник клиентов), который будет загружаться в стороннее ПО. Для новых клиентов запускается процедура геокодирования. (п. 3.2). При загрузке будет проверяться код точки контрагента, и при совпадении кода в документ доставки будет подставляться ранее созданная точка. При импорте доставок с грузополучателем, который отсутствует в БД происходит автоматическая вставка нового клиента в справочник клиентов. . 2.4 Группировка и отображение в табличном виде накладных по получателям Из импортированных идентификаторов накладных формируется «заявка на доставку», в которой суммируются ВГХ, сумма, по каждому клиенту. Номер 1 доставки – это номер накладной, по которой товар будет доставлен грузополучателю. 2.5 Автоматическое формирование маршрутов по зональному принципу Административные/Территориальные округа по России распределены на «зоны доставки», все заявки которые находятся внутри данной «ЗД» назначаются на один рейс. 2.6 Отображение событий связанных с отклонением от заданных величин Выделение маршрута цветом, в случае превышения ВГХ допустимых для транспортного средства, превышение доли затрат на доставку относительно суммы заказов. По окончанию автоматической работы, диспетчер производит обработку спланированных рейсов с отклонением путём выделения на карте одного или нескольких получателей и назначения их на соседний, более разгруженный рейс, в случае не рентабельности доставки и не возможности присоединить к соседнему рейсу, диспетчер снимает заказ с доставки, изменив «Дату доставки» в документе 2.7 Экспорт результата планирования в ИС заказчика 2.7.1. Идентификатор накладных 2.7.2. Автомобиль (назначенный на рейс автотранспорт) 2.7.3. Регистрационные номера автомобиля 2.7.4. Фамилия – поле( per_all_people_f.last_name) 2.7.5. Имя – поле( per_all_people_f.first_name) 2.7.6. Отчество – поле( per_all_people_f.middle_names) 2.7.7. Наименование рейса 2.7.8. Номер грузополучателя в рейсе (очередность доставки заказа, согласно маршруту оптимального движения автомашины) 2.7.9 . Дата доставки (нужна в случае изменения даты доставки в стороннем ПО (см. пункт 2.6)). 3. Требования 3.1 Редактирование привязки получателей к карте должно производиться. а. В справочнике клиента б. На карте, путём перемещение значка получателя по карте. 3.2 Наличие процедуры геокодирования адресов получателей Геокодирование - заполнение полей «LONG» и «LAT» в справочнике клиента, происходит при импорте нового получателя по данным из таблиц заказчика. В процедуре используются следующие поля. а. Область - поле (hz_locations.address1) б. Город - поле (hz_locations.state) в. Улица - поле (hz_locations.address3) г. Дом - поле (hz_locations.address4) д. Строение, корпус….. - поле (hz_locations.address4). 3.3 Справочник маршрутов. Наличие справочника маршрутов, в котором указаны следующие данные 1. № маршрута. 2. Название маршрута 3. Тип маршрута (город, область, смешанный) 4. Протяжённость (для областных и смешанных маршрутов) 5. Стоимость за километр (для областных маршрутов) . 6. Стоимость за точку доставки (для городских маршрутов) 2 7. Стоимость за километр и за адрес (для смешанных маршрутов) 3.4 Диспетчер должен иметь возможность корректировки маршрута в любой момент времени, до момента доставки заказа клиенту (до момента выезда автотранспорта на маршрут). 3.5 Наличие в ПО гибкого мастера построения отчётов . Например: дата дата Водите ль Водите ль А п т е к ReisI D Вес В е с Объем нетто Напр Объем брутто процент заполнения А/М ReisID сценарий Объем а/м Напр кол-во машин Кол-во выездов № недели Объем брутто Кол-во грузоп олучат елей Протяжен ность маршрута Стоим ость за ТД Стои мост ь за км Сумма заказо в (руб) Стоимос ть доставки Рентаб ельнос ть(%) Объем нетто 1. Схема обмена данными Предлагается следующая схема обмена данными (на уровне прямого чтения и записи в специальную область БД системы ПО исполнителя и внешней системы): 1. Во внешней по отношению к ПО исполнителя системе данные записываются в таблицы обмена данными. По команде пользователя (логиста) в ПО исполнителя запускается процедура обработки и загрузки данных в стороннюю систему. 2. По окончанию работы (логистом подготовлены и выбраны маршруты для реализации) пользователь в ПО исполнителя запускает механизм загрузки данных в ПО исполнителя. ПО исполнителя считывает необходимые ей данные и меняет во внешней системе соответствующие статусы записей. В ПО исполнителя создаются рейсы и привязывает к ним соответствующие доставки. Справочник «Клиент» Получатель товара Поле Номер грузополучателя Наименование грузополучателя Юридическое наименование клиента Адрес доставки Телефон Комментарий Начало работы Окончание работы Начало обеденного перерыва Описание Номер конечного грузополучателя Наименование конечного грузополучателя Юридическое название клиента Данные в OEBS Тип данных hz_cust_site_uses_all. NUMBER(15) site_use_id hz_cust_site_uses_all. VARCHAR2(40) location hz_parties. organization_name_p honetic Адрес конечного xxmm08y03c_locatio грузополучателя ns.locnm Телефон hz_contact_points. phone_number Комментарий Начало работы нет Окончание работы нет VARCHAR2(320) VARCHAR2 VARCHAR2(40) Обеденный перерыв нет 3 Окончание обеденного перерыва Приоритет грузополучателя Обеденный перерыв нет Активность грузополучателя hz_cust_site_uses_all. VARCHAR2(1) status Передавать активность необходимо для синхронизации данных. Метод отгрузки wsh_carrier_servi VARCHAR2(240) ces. (Самовывоз, ship_method_meani транспорт ng филиала…) Метод отгрузки Приоритет грузополучателя (Стандартный, ВИП, …) Статус клиента (активен/неактивен) hz_cust_site_uses_all. VARCHAR2(150) attribute13 Справочник «Водители» Конкретно справочника «Водители» нет. Есть справочник «Сотрудники» и в этом справочник заносятся сотрудники, которые являются водителями (должность «Водитель – экспедитор»). К рейсам водители привязываются диспетчерами вручную из списка. В списке зачастую некоторых водителей не существует (особенно наемников). В справочнике «Сотрудники» нет атрибутов присущих для водителей. Существующие данные в OEBS по водителям (Фамилия, Имя, Отчество). Справочник «Автомобили» Подобно справочнику «Водители», со справочником «Автомобили». В OEBS можно завести автомобиль в справочник позиций в качестве контейнера (код позиции начинается на 2-), но в справочнике позиций нет атрибутов, которые присущих конкретно для автомобилей. Сформированные доставки в OEBS (полностью укомплектованные). Передача в стороннее ПО. Поле ID доставки Описание Идентификатор доставки Данные в OEBS Номер доставки Номер доставки (накладная) wsh_new_deliveri es.name Наименование грузополучателя Дата отгрузки Кому Направление Тип доставки wsh_new_deliveri es.delivery_id Тип данных NUMBER VARCHAR2(30) hz_cust_site_uses_a VARCHAR2(40) ll.location Требуемая дата доставки oe_order_headers_a DATE ll.request_date Привязка грузополучателя к ra_territories.segme VARCHAR2(25) определенному направлению nt4 Тип доставки (товарная wsh_new_deliveri VARCHAR2(150) es.attribute_cat доставка, ДОПЗАДАНИЕ) egory Комментарий wsh_new_deliveri Комментарий (дополнительный комментарий es.attribute6 VARCHAR2(150) 4 Сумма доставки Масса доставки Объем доставки по товара/допзадания) Сумма Масса доставки Объем доставки. доставке Вычисляемые столбцы. Получаются из суммы, входящего в доставку товара. На каждую позицию есть параметры (ВГХ, стоимость). Если в стороннем ПО будут формироваться ТСД («Маршрутный лист», «ТТН»), то необходимо будет передавать детализацию по доставке (НЗ, категория НЗ). Передача в OEBS рассчитанных рейсов в стороннем ПО Поле Наименование рейса Дата ID Водителя ФИО водителя ID автомобиля Описание Наименование полученного стороннем ПО Дата рейса Данные в OEBS рейса, в wsh_trips.name Тип данных VARCHAR2(30) wsh_trips.creation_date DATE Идентификатор водителя wsh_trips.attribute1 ФИО водителя wsh_trips.vehicle_item_id Идентификатор автомобиля Наименование Наименование автомобиля автомобиля wsh_trips.vehicle_number Гос. номер Гос. номер автомобиля автомобиля wsh_new_deliveries.delivery_id ID доставки Идентификатор доставки, входящей в рейс. VARCHAR2(150) NUMBER VARCHAR2(30) NUMBER 5