Мастер-Тур:Дополнительный модуль Прайс-Экспресс — различия между версиями
[непроверенная версия] | [досмотренная версия] |
Sankova (обсуждение | вклад) |
Sankova (обсуждение | вклад) (→Правила расчета) |
||
Строка 206: | Строка 206: | ||
==Правила расчета== | ==Правила расчета== | ||
===Расчет дня предоставления услуги=== | ===Расчет дня предоставления услуги=== | ||
− | День предоставления услуги привязан к ближайшему дню завершения проживания в отеле, который меньше или равен дню предоставления услуги. Если такового отеля нет, день предоставления услуги привязан к началу тура. | + | * День предоставления услуги привязан к ближайшему дню завершения проживания в отеле, который меньше или равен дню предоставления услуги. Если такового отеля нет, день предоставления услуги привязан к началу тура. |
− | Если день завершения проживания в связанном отеле смещается, пропорционально ему смещается и день предоставления услуги. | + | * Если день завершения проживания в связанном отеле смещается, пропорционально ему смещается и день предоставления услуги. (Частный случай — доп. услуги в отеле, привязанные к конкретному отелю. Их день предоставления равен дню предоставления услуги проживания в их отеле.) |
− | Частный случай | + | * При сжатии тура все услуги, оставшиеся за его пределами, должны быть перенесены на последний день тура с продолжительностью ''1'' (если они имеют продолжительность). |
− | При сжатии тура все услуги, оставшиеся за его пределами, должны быть перенесены на последний день тура с продолжительностью 1 (если они имеют продолжительность). | + | |
===Расчет продолжительности услуги=== | ===Расчет продолжительности услуги=== | ||
− | Расчет продолжительности услуги происходит по | + | Расчет продолжительности услуги происходит по разным правилам для разных классов услуг: |
− | + | ; Перелет, Трансфер, Экскурсия | |
− | + | : Услуги типа Перелет, Трансфер и Экскурсия не имеют понятия продолжительность. | |
− | + | ; Проживание | |
− | + | : Продолжительность на услугу типа Проживание рассчитывается заранее на основе параметров расчета, введенных пользователем. | |
− | + | ; Доп. услуга в отеле | |
− | + | : Доп. услуга в отеле, привязанная к конкретному отелю, имеет продолжительность своего отеля. | |
− | + | ; Другие услуги | |
− | + | : Все остальные услуги рассчитываются по следующему алгоритму: | |
+ | # Если продолжительность нерассчитанной услуги ''равна'' продолжительности нерассчитанного тура, то ее продолжительность в рассчитанном варианте тура также будет равна продолжительности рассчитанного варианта тура, т.е. ''изменится''. | ||
+ | # Если продолжительность нерассчитанной услуги ''не равна'' продолжительности нерассчитанного тура, то ее продолжительность остается ''без изменений'' (как в конструкторе туров). | ||
+ | # Если продолжительность услуги ''превышает'' продолжительность тура и услуга начинает «торчать» из рассчитанного тура, то она должна ''обрезаться''. | ||
+ | # Если услуга имеет продолжительность и ''заканчивается в последний день'' тура, то при растягивании тура продолжительность услуги должна ''увеличиться''. |
Версия 11:15, 24 января 2014
Статья находится на стадии разработки.
Версия статьи от 24-01-2014.
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
Введение
Дополнительный модуль «Прайс-Экспресс» предназначен для расчета туров по заданным правилам. Его использование позволяет разгрузить сервер баз данных путем переноса самой ресурсоемкой операции — расчета тура — на отдельный расчетный сервер.
Системные требования
- Релиз 9.2.20 ПК «Мастер-Тур»/«Мастер-Web»
- IIS 8.0 (.Net Framework 4.5) для панели расчета
- Google Chrome на клиентских компьютерах. Панель расчета наилучшим образом отображается в браузере Google Chrome.
- Компьютеры, на которых установлен расчетчик, должны находится в одной сети с сервером с базой данных ПК «Мастер-Тур».
Текущая версия модуля «Прайс-Экспресс» не поддерживает расчет многоотельных туров.
Признак Тур скрыт не обрабатывается в текущей версии модуля «Прайс-Экспресс».
Защита панели расчета от несанкционированного доступа должна осуществляться административными методами.
Установка
Установка дополнительного модуля «Прайс-Экспресс» производится в несколько этапов, которые описаны ниже.
Обновление базы данных
Необходимо выполнить скрипт обновления ReleaseScript.sql на базе данных ПК «Мастер-Тур».
Установка службы расчетчика
- Скопировать папку CalculateTourService из дистрибутива на сервер расчета.
- Перед установкой расчетчика необходимо настроить конфигурационный файл Megatec.MasterTour.CalculateTourService.exe.config.
№ | Название | Описание | Настройка |
---|---|---|---|
1 | Строка подключения | Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции appSettings. | <add key="connectionString" value="Data Source=Server;Initial Catalog=MasterTourDatabase;User Id=User;Password=123;Application Name=CalculateTourBalanser" /> |
2 | Логирование | Пути к лог-файлам задаются в секциях логирования. | <param name="File" value="D:\CalculateTourService\Logs\ServiceLog.txt" /> |
3 | Порт | По умолчанию расчетчик использует порт 52527. Рекомендуется использование порта по умолчанию. При смене порта необходимо также изменить порт в установочном скрипте _Install.bat. |
<add baseAddress="http://*:52527/CalculateTourService" /> |
- При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта расчетчика.
- В Службах Windows добавляется служба MegatecCalculateTourService.
- Для удаления службы расчетчика необходимо запустить скрипт _UnInstall.bat от имени администратора. При этом будут удалены правила для входящих подключений.
Установка службы балансировщика
- Копирование каталога CalculateTourBalanser из дистрибутива на сервер приложений.
- Настройка конфигурационного файла Megatec.MasterTour.CalculateTourBalanser.exe.config.
№ | Название | Описание | Настройка |
---|---|---|---|
1 | Строка подключения | Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции appSettings. | <add key="connectionString" value="Data Source=Server;Initial Catalog=MasterTourDatabase;User Id=User;Password=123;Application Name=CalculateTourBalanser" /> |
2 | Логирование | Пути к лог-файлам задаются в секциях логирования. | <param name="File" value="D:\CalculateTourBalanser\Logs\BalancerLog.txt" /> |
3 | Порт | По умолчанию балансировщик использует порт 52528. Рекомендуется использование порта по умолчанию. При смене порта его также необходимо изменить в установочном скрипте _Install.bat. |
<add baseAddress="http://localhost:52528/CalculateTourBalanser/BasicHttp" /> <add baseAddress="http://localhost:52528/CalculateTourBalanser/Dictionary" /> |
- В Службах Windows добавляется служба MegatecCalculateTourBalanser.
- Для удаления службы балансировщика необходимо запустить скрипт _UnInstall.bat от имени администратора. При этом будут удалены правила для входящих подключений.
Установка панели расчета
- Копирование каталога CalculateTourPanel из дистрибутива на сервер приложений.
Рекомендуется установка службы балансировщика и панели расчета на одном компьютере.
В таком случае достаточно добавить приложение на IIS, не меняя параметры конфигурационного файла.
- Настройка конфигурационного файла Web.config.
№ | Название | Описание | Настройка |
---|---|---|---|
1 | Максимальная продолжительность | Максимальное значение фильтра «Продолжительность тура». | <add key="maxTourDur" value="40" /> |
2 | Адрес балансировщика | В тегах endpoint указывается сервер и порт балансировщика. По умолчанию указан локальный компьютер и стандартный порт. |
<client> <endpoint address="http://localhost:52528/CalculateTourBalanser/BasicHttp" </client> |
Интеграция в конструктор туров
- Копирование в рабочую папку МТ на клиентских машинах плагина «Новый расчет прайс-листа» Megatec.MasterTour.Plugins.CalculateTourPlugin.dll.
- После добавления плагина в дополнительных настройках (Настройки → Доп. настройки) появится вкладка Расчет прайс-листа. В поле Адрес панели расчета необходимо указать ссылку на панель.
- В конструкторе туров в надстройках появится пункт Новый расчет туров, по клику на нем открывается панель расчета.
Панель расчета
Расчет простого тура
Расчет тура с исключением услуг
Расчет с использованием связывания
Настройка расчета по датам
Механизм связывания
Дерево услуг
Очередь расчета
Запуск туров на расчет
Выставление туров онлайн
Правила расчета
Расчет дня предоставления услуги
- День предоставления услуги привязан к ближайшему дню завершения проживания в отеле, который меньше или равен дню предоставления услуги. Если такового отеля нет, день предоставления услуги привязан к началу тура.
- Если день завершения проживания в связанном отеле смещается, пропорционально ему смещается и день предоставления услуги. (Частный случай — доп. услуги в отеле, привязанные к конкретному отелю. Их день предоставления равен дню предоставления услуги проживания в их отеле.)
- При сжатии тура все услуги, оставшиеся за его пределами, должны быть перенесены на последний день тура с продолжительностью 1 (если они имеют продолжительность).
Расчет продолжительности услуги
Расчет продолжительности услуги происходит по разным правилам для разных классов услуг:
- Перелет, Трансфер, Экскурсия
- Услуги типа Перелет, Трансфер и Экскурсия не имеют понятия продолжительность.
- Проживание
- Продолжительность на услугу типа Проживание рассчитывается заранее на основе параметров расчета, введенных пользователем.
- Доп. услуга в отеле
- Доп. услуга в отеле, привязанная к конкретному отелю, имеет продолжительность своего отеля.
- Другие услуги
- Все остальные услуги рассчитываются по следующему алгоритму:
- Если продолжительность нерассчитанной услуги равна продолжительности нерассчитанного тура, то ее продолжительность в рассчитанном варианте тура также будет равна продолжительности рассчитанного варианта тура, т.е. изменится.
- Если продолжительность нерассчитанной услуги не равна продолжительности нерассчитанного тура, то ее продолжительность остается без изменений (как в конструкторе туров).
- Если продолжительность услуги превышает продолжительность тура и услуга начинает «торчать» из рассчитанного тура, то она должна обрезаться.
- Если услуга имеет продолжительность и заканчивается в последний день тура, то при растягивании тура продолжительность услуги должна увеличиться.