Мастер-Тур:Дополнительный модуль Прайс-Экспресс — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[непроверенная версия][досмотренная версия]
(Правила расчета)
Строка 206: Строка 206:
 
==Правила расчета==
 
==Правила расчета==
 
===Расчет дня предоставления услуги===
 
===Расчет дня предоставления услуги===
День предоставления услуги привязан к ближайшему дню завершения проживания в отеле, который меньше или равен дню предоставления услуги. Если такового отеля нет, день предоставления услуги привязан к началу тура.<BR>
+
* День предоставления услуги привязан к ближайшему дню завершения проживания в отеле, который меньше или равен дню предоставления услуги. Если такового отеля нет, день предоставления услуги привязан к началу тура.
Если день завершения проживания в связанном отеле смещается, пропорционально ему смещается и день предоставления услуги.<BR>
+
* Если день завершения проживания в связанном отеле смещается, пропорционально ему смещается и день предоставления услуги. (Частный случай доп. услуги в отеле, привязанные к конкретному отелю. Их день предоставления равен дню предоставления услуги проживания в их отеле.)
Частный случай доп. услуги в отеле, привязанные к конкретному отелю. Их день предоставления равен дню предоставления услуги проживания в их отеле.<BR>
+
* При сжатии тура все услуги, оставшиеся за его пределами, должны быть перенесены на последний день тура с продолжительностью ''1'' (если они имеют продолжительность).
При сжатии тура все услуги, оставшиеся за его пределами, должны быть перенесены на последний день тура с продолжительностью 1 (если они имеют продолжительность).
+
 
 
===Расчет продолжительности услуги===
 
===Расчет продолжительности услуги===
Расчет продолжительности услуги происходит по следующим правилам:<BR>
+
Расчет продолжительности услуги происходит по разным правилам для разных классов услуг:
1. услуги типа «Перелет», «Трансфер» и «Экскурсия» не имеют понятия «Продолжительность».<BR>
+
; Перелет, Трансфер, Экскурсия
2. продолжительность на услугу типа «Проживание» рассчитывается заранее на основе параметров расчета, введенных пользователем и не может быть рассчитана этим алгоритмом.<BR>
+
: Услуги типа Перелет, Трансфер и Экскурсия не имеют понятия продолжительность.
3. доп. услуга в отеле, привязанная к конкретному отелю, имеет продолжительность своего отеля.<BR>
+
; Проживание
4. все остальные услуги рассчитываются по следующему алгоритму:<BR>
+
: Продолжительность на услугу типа Проживание рассчитывается заранее на основе параметров расчета, введенных пользователем.
4.1. если продолжительность нерассчитанной услуги равна продолжительности нерассчитанного тура, то ее продолжительность в рассчитанном варианте тура также будет равна продолжительности рассчитанного варианта тура (т.е. изменится).<BR>
+
; Доп. услуга в отеле
4.2. если продолжительность нерассчитанной услуги не равна продолжительности нерассчитанного тура, то ее продолжительность остается без изменений (как в конструкторе туров).<BR>
+
: Доп. услуга в отеле, привязанная к конкретному отелю, имеет продолжительность своего отеля.
4.3. если продолжительность услуги превышает продолжительность тура и услуга начинает "торчать" из рассчитанного тура, то она должна обрезаться.<BR>
+
; Другие услуги
4.4. если услуга имеет продолжительность и заканчивается в последний день тура, то при растягивании тура продолжительность услуги должна увеличиться.<BR>
+
: Все остальные услуги рассчитываются по следующему алгоритму:
 +
# Если продолжительность нерассчитанной услуги ''равна'' продолжительности нерассчитанного тура, то ее продолжительность в рассчитанном варианте тура также будет равна продолжительности рассчитанного варианта тура, т.е. ''изменится''.
 +
# Если продолжительность нерассчитанной услуги ''не равна'' продолжительности нерассчитанного тура, то ее продолжительность остается ''без изменений'' (как в конструкторе туров).
 +
# Если продолжительность услуги ''превышает'' продолжительность тура и услуга начинает «торчать» из рассчитанного тура, то она должна ''обрезаться''.
 +
# Если услуга имеет продолжительность и ''заканчивается в последний день'' тура, то при растягивании тура продолжительность услуги должна ''увеличиться''.

Версия 11:15, 24 января 2014

Статья находится на стадии разработки.

Версия статьи от 24-01-2014.

Поддерживаемые версии ПК «Мастер-Тур»:
Начиная с 2009.2.20


Введение

Дополнительный модуль «Прайс-Экспресс» предназначен для расчета туров по заданным правилам. Его использование позволяет разгрузить сервер баз данных путем переноса самой ресурсоемкой операции — расчета тура — на отдельный расчетный сервер.


Системные требования

  • Релиз 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" />
  • Установка осуществляется запуском скрипта _Install.bat от имени администратора. Запуск от имени администратора
  • При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта расчетчика. Правила для входящих подключений расчетчика
  • В Службах Windows добавляется служба MegatecCalculateTourService.

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" />

  • Установка осуществляется запуском скрипта _Install.bat от имени администратора. Запуск от имени администратора
  • Во время установки создаются правила для входящих подключений для открытия порта балансировщика. Правила для входящих подключений балансировщика
  • В Службах Windows добавляется служба MegatecCalculateTourBalanser.

MegatecCalculateTourBalanser

  • Для удаления службы балансировщика необходимо запустить скрипт _UnInstall.bat от имени администратора. При этом будут удалены правила для входящих подключений.


Установка панели расчета

  • Копирование каталога CalculateTourPanel из дистрибутива на сервер приложений.
  • Добавление приложения панели расчета в IIS. Приложение CalculateTourPanel
Полезная информация


Рекомендуется установка службы балансировщика и панели расчета на одном компьютере.
В таком случае достаточно добавить приложение на IIS, не меняя параметры конфигурационного файла.


MegatecCalculateTourBalanser

  • Настройка конфигурационного файла Web.config.
Название Описание Настройка
1 Максимальная продолжительность Максимальное значение фильтра «Продолжительность тура». <add key="maxTourDur" value="40" />
2 Адрес балансировщика В тегах endpoint указывается сервер и порт балансировщика.

По умолчанию указан локальный компьютер и стандартный порт.

<client>

<endpoint address="http://localhost:52528/CalculateTourBalanser/BasicHttp"
>
</endpoint>
<endpoint address="http://localhost:52528/CalculateTourBalanser/Dictionary"
>
</endpoint>

</client>


Интеграция в конструктор туров

  • Копирование в рабочую папку МТ на клиентских машинах плагина «Новый расчет прайс-листа» Megatec.MasterTour.Plugins.CalculateTourPlugin.dll.
  • После добавления плагина в дополнительных настройках (Настройки → Доп. настройки) появится вкладка Расчет прайс-листа. В поле Адрес панели расчета необходимо указать ссылку на панель.

Приложение CalculateTourPanel

  • В конструкторе туров в надстройках появится пункт Новый расчет туров, по клику на нем открывается панель расчета.


Панель расчета

Расчет простого тура

Расчет тура с исключением услуг

Расчет с использованием связывания

Настройка расчета по датам

Механизм связывания

Дерево услуг

Очередь расчета

Запуск туров на расчет

Выставление туров онлайн

Правила расчета

Расчет дня предоставления услуги

  • День предоставления услуги привязан к ближайшему дню завершения проживания в отеле, который меньше или равен дню предоставления услуги. Если такового отеля нет, день предоставления услуги привязан к началу тура.
  • Если день завершения проживания в связанном отеле смещается, пропорционально ему смещается и день предоставления услуги. (Частный случай — доп. услуги в отеле, привязанные к конкретному отелю. Их день предоставления равен дню предоставления услуги проживания в их отеле.)
  • При сжатии тура все услуги, оставшиеся за его пределами, должны быть перенесены на последний день тура с продолжительностью 1 (если они имеют продолжительность).

Расчет продолжительности услуги

Расчет продолжительности услуги происходит по разным правилам для разных классов услуг:

Перелет, Трансфер, Экскурсия
Услуги типа Перелет, Трансфер и Экскурсия не имеют понятия продолжительность.
Проживание
Продолжительность на услугу типа Проживание рассчитывается заранее на основе параметров расчета, введенных пользователем.
Доп. услуга в отеле
Доп. услуга в отеле, привязанная к конкретному отелю, имеет продолжительность своего отеля.
Другие услуги
Все остальные услуги рассчитываются по следующему алгоритму:
  1. Если продолжительность нерассчитанной услуги равна продолжительности нерассчитанного тура, то ее продолжительность в рассчитанном варианте тура также будет равна продолжительности рассчитанного варианта тура, т.е. изменится.
  2. Если продолжительность нерассчитанной услуги не равна продолжительности нерассчитанного тура, то ее продолжительность остается без изменений (как в конструкторе туров).
  3. Если продолжительность услуги превышает продолжительность тура и услуга начинает «торчать» из рассчитанного тура, то она должна обрезаться.
  4. Если услуга имеет продолжительность и заканчивается в последний день тура, то при растягивании тура продолжительность услуги должна увеличиться.