Санаторий (Руководство разработчика)

Материал из GedeminWiki
Перейти к: навигация, поиск

Содержание

Введение

Приложение «Санаторий» разрабатывалось специально для санатория «Берёзка» ОАО «Беларуськалий». То есть принцип работы ведомственного санатория изучался на примере работы «Берёзки». Впоследствии была разработана эталонная база по автоматизации работы санатория, где установлены все необходимые пространства имен (ПИ) (эти ПИ также можно найти здесь [1], ветка «Санаторий»).

Приложение «Санаторий» спроектировано на основе имеющегося приложения «Гостиница». Так как предполагалось использовать имеющийся механизм работы с номерным фондом (заселение/переселение/выселение), а разрабатывать только медицинскую часть.

Однако в процессе разработки были выявлены ситуации несоответствия терминологии и механизмов работы Гостиницы и Санатория. Поэтому было принято решение сделать эти приложения независимыми друг от друга и развивать их каждый в своем направлении. При этом общие моменты всё же остались (о таких объектах свидетельствует префикс «HT» - по названию ПИ Гостиница - Hotel). Объекты, удаленные из приложения Санаторий, которые характерны для Гостиницы, описаны в Приложение 1. Этот перечень может быть полезен при добавлении нового функционала в приложение: во-первых, если объект имеется в перечне, его всегда можно проанализировать в контексте Гостиницы (так как он там точно присутствует), а во-вторых, объяснение отсутствия данного объекта может убедить отказаться от него и в этот раз. В данном руководстве будет представлена структура ПИ «Санаторий» с описанием функционала и используемых объектов.


Общая структура ПИ «Санаторий»

ПИ GS.Санаторий зависит только от ПИ Общие данные. На рисунке 1 (Рисунок 1 – Общая схема ПИ «Санаторий») представлена общая схема ПИ GS.Санаторий.

Как видно из рисунка 1, «Санаторий» состоит из следующих подсистем:

На рисунке стрелками показаны зависимости внутри подсистемы. Стрелка, указывающая на группу подсистем, означает, что подсистема зависит от каждой подсистемы в этой группе. Рассмотрим каждую подсистему в отдельности.


Подсистема «Общее»

Структура подсистемы представлена на рисунке 2 (Рисунок 2 – Структура ПИ GS.Санаторий.Общее).

На рисунке здесь и далее красными стрелками представлены зависимости внутри подсистемы, желтые блоки - группы объектов, которые отсутствуют как ПИ, но для наглядности выделены на схеме. Состоит из:

  • GS.Санаторий.Общее.Метаданные;
  • GS.Санаторий.Общее.Справочники;
  • GS.Санаторий.Общее.Документы;
  • GS.Санаторий.Общее.Скрипты;
  • GS.Санаторий.Общее .Формы.

Зависит от: «Общие данные».

От данного ПИ зависят: все ПИ из приложения «Санаторий».

Описание: ПИ GS.Санаторий.Общее предназначено для хранения общих данных, таких как домены, справочники, документы, вспомогательные пользовательские формы и функции. Такие объекты могут использоваться в любой другой подсистеме приложения Санаторий.

Ночной аудит

От приложения Гостиница сохранился функционал Ночного Аудита. Это функция, запускаемая менеджером в конце рабочего дня. Её основное предназначение – контроль над оплатой бронирований, контроль над выселением гостей, у которых подошёл день выезда и т.д. Только при выполненных действиях логическая дата системы может быть переведена на следующий день. Информация о логической дате и дате последнего аудита содержится в документе «Служебное» (HT_SETTING): поля LOGICDATE и LASTAUDITDATE соответственно. В приложении Санаторий возможность использования этого функционала сохранена, однако он не используется в данный момент. Логическая дата соответствует текущей дате, установленной на компьютере.

Настройки приложения

Окно настроек (форма ht_options) вызывается из Подсистема «Форма менеджера», раздел Менеджер. В настройках указываются основные объекты из справочников для правильной работы выпадающих списков в документах и правильного построения отчётов. Кроме того, настраиваются округления сумм (округляются все цены в приложении до указанных здесь значений), нумерация документов и права доступа. Для реализации прав доступа в событии формы настроек OnCreate в элемент управления usrg_clbRights добавляются записи с уникальными идентификаторами, которые описаны в файле констант htConst. Затем в скриптах, используя объект класса разграничения прав доступа (Класс THT_RightsHelper) и его метод CanExecuteAction, происходит проверка этого уникального идентификатора как возможность использовать ту или иную функцию. Если результат выполнения метода True – пользователю разрешается доступ к функции.

Описание вспомогательных функций представлено в Приложение 2.

Описание всех классов – Приложение 3.

Описание всех хранимых процедур – Приложение 4.

Подсистема «Тариф»

Структура ПИ GS.Санаторий.Тариф отображено на рисунке 3 (Рисунок 3 – Структура ПИ GS.Санаторий.Тариф).

Состоит из: внутренних ПИ не имеет.

Зависит от: Подсистема «Общее»

От данного ПИ зависят:

  • Подсистема «Номерной фонд»
  • Подсистема «Путевка»;
  • Подсистема «Форма менеджера»».

Описание: ПИ GS.Санаторий.Тариф предназначено для хранения документа Тарифов и всех справочников, которые с ним связаны.

Типовой документ «04.Тариф» предназначен для внесения информации о стоимости путевок. Стоимость путевок варьируется в зависимости от следующих значений:

  • категория отдыхающего (справочник SAN_CLIENTCATEGORY: работник предприятия, ребенок работника предприятия, участник ВОВ и т.д.),
  • тип тарифа (справочник HT_TARRIFTYPE: разделение отдыхающих по возрасту: от 0 до 6 лет, от 6 до 18 лет, старше 18 лет);
  • категория номера (справочник HT_NUMBERTYPE: блочный с двумя комнатами, люкс и т.д.);
  • дополнительное ли место в номере (за этот выбор сейчас отвечают услуги «Путевка» и «Путевка (доп.место)»). TODO: переделать так: на форме настроек добавить 2 выпадающих списка для указания из списка услуг тех, которые будем считать за «Путевку» и «Путевку на доп. Место». Там, где переменная класса HT_Options заполняется id по руиду брать вместо руида значения из этих Lookup-ов.

Кроме того в позициях документа Тариф есть возможность указать скидку на путевку, она указывается путем ввода процента скидки, количества дней проживания по этой скидки и периода действия скидки. Например, сотрудникам предприятия предоставляется скидка 25% на 21 день в течение двух лет.

Процесс расчета стоимости Путевки описан в разделе Подсистема «Путевка».

Доступ к документу Тариф осуществляется из раздела Менеджер (Подсистема «Форма менеджера»). Права на доступ к этому документу настраиваются в Настройках приложения (Подсистема «Общее»). Пользовательская форма usrf_ht_tarrif_grid применяется для указания нужного тарифа вручную. Пока в её использовании не было необходимости, так как цена у путевки строго определяется её параметрами, однако при желании можно использовать эту форму.

Подсистема «Номерной фонд»

Содержание ПИ GS.Санаторий.Номерной фонд отображено на рисунке 4 (Рисунок 4 – Структура ПИ GS.Санаторий.Номерной фонд).

Состоит из: внутренних ПИ не имеет.

Зависит от:

От данного ПИ зависят:

Описание: ПИ GS.Санаторий.Номерной фонд предназначено для хранения справочных объектов для работы с номерным фондом.

Подсистема включает в себя такие справочники как «Корпуса», «Этажи», «Номера», «Места в номерах». Заселение происходит на конкретное место в номере с возможностью подселения гостей в номера. У места может быть установлен признак «дополнительное место». Такие места не отображаются в таблицах состояния мест (например, при просмотре состояния номерного фонда на дату или при заселении гостя в номер), но информация о них отображается пользователю и при отсутствии свободных «основных» мест заселение может быть произведено на дополнительное место.

В подсистеме также имеется справочник состояния номеров (USR$HT_NUMBERSTATEDICT). В нем хранятся статусы двух видов: состояние занятости (свободен, занят, бронь) и состояние уборки номера (грязный, чистый, в процессе уборки, на ремонте и т.д.). Первый вид характерен для мест в номерах, в то время как второй – для номера в целом.

Учет состояний мест номеров ведется в журнале занятости мест номеров (USR$HT_RES_NUMBERSTATE), состояния уборки номера – в документе «Состояние номера» (USR$HT_NUMBERSTATEDOC). Они будут рассмотрены в далее (Подсистема «Путевка»)

Надо отметить, что данные справочников доступны из глобального объекта класса справочников (Класс THT_Dict).

Подсистема «Путевка»

Структура ПИ Путевка отображена на рисунке 5 (Рисунок 5 – Структура ПИ GS.Санаторий.Путевка).

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты