Web-сервисы: Сервис для прикрепления файлов к туристам — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[непроверенная версия][досмотренная версия]
(Входные параметры)
(ServiceType)
Строка 247: Строка 247:
 
===ServiceType===
 
===ServiceType===
 
Тип ServiceType  - это сложная структура, содержащая параметры:
 
Тип ServiceType  - это сложная структура, содержащая параметры:
<table class=MsoTableProfessional border=1 cellspacing=0 cellpadding=0
+
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" width="800px"
style='border-collapse:collapse;border:none'>
+
 
<tr>
+
|- style="background-color:#F2F2F2"
  <td width=128 style='width:95.7pt;border:solid black 1.0pt;background:#F3F3F3;
+
! width="20%" | Название параметра
  padding:1.4pt 5.4pt 1.4pt 5.4pt'>
+
! width="20%" | Тип
  <p class=MsoNormal align=center style='text-align:center'><b><span
+
! width="20%" | Обязательный
  style='font-size:9.0pt;font-family:"Arial","sans-serif"'>Название параметра</span></b></p>
+
! width="23%" | Значения
  </td>
+
! width="17%" | Значение по умолчанию
  <td width=128 style='width:95.7pt;border:solid black 1.0pt;border-left:none;
+
 
  background:#F3F3F3;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
+
|- style="vertical-align:text-top; text-align:center"
  <p class=MsoNormal align=center style='text-align:center'><b><span
+
| '''ServiceClass'''
  style='font-size:9.0pt;font-family:"Arial","sans-serif"'>Тип</span></b></p>
+
| Int
  </td>
+
| Нет
  <td width=128 style='width:95.7pt;border:solid black 1.0pt;border-left:none;
+
| Ключ класса услуги
  background:#F3F3F3;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
+
|<nowiki>-</nowiki>
  <p class=MsoNormal align=center style='text-align:center'><b><span
+
 
  style='font-size:9.0pt;font-family:"Arial","sans-serif"'>Обязательный</span></b></p>
+
|- style="vertical-align:text-top; text-align:center"
  </td>
+
| '''ServiceCode'''
  <td width=128 style='width:95.7pt;border:solid black 1.0pt;border-left:none;
+
| Int
  background:#F3F3F3;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
+
| Нет
  <p class=MsoNormal align=center style='text-align:center'><b><span
+
| Ключ услуги (0-любой) DL_code
  style='font-size:9.0pt;font-family:"Arial","sans-serif"'>Значения</span></b></p>
+
|<nowiki>-</nowiki>
  </td>
+
 
  <td width=128 style='width:95.7pt;border:solid black 1.0pt;border-left:none;
+
|- style="vertical-align:text-top; text-align:center"
  background:#F3F3F3;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
+
| '''ServiceDate'''
  <p class=MsoNormal align=center style='text-align:center'><b><span
+
| DateTime
  style='font-size:9.0pt;font-family:"Arial","sans-serif"'>Значение по
+
| Нет
  умолчанию</span></b></p>
+
| Дата начала услуги
  </td>
+
|<nowiki>-</nowiki>
</tr>
+
 
<tr>
+
|- style="vertical-align:text-top; text-align:center"
  <td width=128 style='width:95.7pt;border:solid black 1.0pt;border-top:none;
+
| '''ServiceKey'''
  padding:1.4pt 5.4pt 1.4pt 5.4pt'>
+
| Int
  <p class=MsoNormal><b>Service</b><b><span lang=EN-US>Class</span></b></p>
+
| Нет
  </td>
+
| Ключ услуги в путевке DL_key
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
+
|<nowiki>-</nowiki>
  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
+
|}
  <p class=MsoNormal align=center style='text-align:center'>Int</p>
 
  </td>
 
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
 
  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'>Нет</p>
 
  </td>
 
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
 
  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'>ключ класса услуги</p>
 
  </td>
 
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
 
  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'>-</p>
 
  </td>
 
</tr>
 
<tr>
 
  <td width=128 style='width:95.7pt;border:solid black 1.0pt;border-top:none;
 
  padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal><b>ServiceCode</b></p>
 
  </td>
 
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
 
  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'>Int</p>
 
  </td>
 
  <td width=128 valign=top style='width:95.7pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'>Нет</p>
 
  </td>
 
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
 
  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'>ключ услуги
 
  (0-любой)</p>
 
  <p class=MsoNormal align=center style='text-align:center'><span lang=EN-US>DL_code</span></p>
 
  </td>
 
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
 
  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'>-</p>
 
  </td>
 
</tr>
 
<tr>
 
  <td width=128 style='width:95.7pt;border:solid black 1.0pt;border-top:none;
 
  padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal><b>ServiceDate</b></p>
 
  </td>
 
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
 
  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'>DateTime</p>
 
  </td>
 
  <td width=128 valign=top style='width:95.7pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'>Нет</p>
 
  </td>
 
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
 
  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'>дата начала услуги</p>
 
  </td>
 
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
 
  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'>-</p>
 
  </td>
 
</tr>
 
<tr>
 
  <td width=128 style='width:95.7pt;border:solid black 1.0pt;border-top:none;
 
  padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal><b>ServiceKey</b></p>
 
  </td>
 
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
 
  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'>int</p>
 
  </td>
 
  <td width=128 valign=top style='width:95.7pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'>нет</p>
 
  </td>
 
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
 
  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'>Ключ услуги в
 
  путевке</p>
 
  <p class=MsoNormal align=center style='text-align:center'>DL_key</p>
 
  </td>
 
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
 
  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
 
  <p class=MsoNormal align=center style='text-align:center'><span
 
  style='font-size:9.0pt;font-family:"Arial","sans-serif"'>&nbsp;</span></p>
 
  </td>
 
</tr>
 
</table>
 
  
 
[[Category:Мастер-Web_Дополнительные_модули]]
 
[[Category:Мастер-Web_Дополнительные_модули]]

Версия 15:59, 22 марта 2016

Версия статьи от 22-03-2016.

Введение

Данный модуль предназначен для прикрепления файлов (документов) к туристам. Файлы можно просматривать и распечатывать в ПК "Мастер-Тур" и ПК "Мастер-Web". Подробнее см. Модуль "Печать документов".

Установка

Для установки web-сервиса нужно создать отдельную директорию, например, TouristInfoService(далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива ws-touristInfoService-9.2.XX.XXXXX.zip. В управлении IIS необходимо создать виртуальный каталог для папки TouristInfoService.

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:

  • 1. Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools)


857.PNG

  • 2. Запустить Internet Information Services (IIS) Manager


858.PNG

  • 3. В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».


859.PNG

Подключение к базе данных ПК «Мастер-Тур»

В файле web.config, расположенном в папке TouristInfoService, в которую установлен web-сервис «Сервис для прикрепления файлов к туристам», пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»:

<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>

Настройка

После установки «Сервис для прикрепления файлов к туристам» доступен по адресу: http://ip-адрес сервера Мастер-Веб/TouristInfoService/TouristInfoService.svc

Методы web-сервиса

Поиск туриста

Метод ищет туриста в системе по различным параметрам.

Фильтры в методе поиска туриста являются взаимодополняющими. Т.е. при определении значения какого-либо фильтра отбор данных осуществляться строго по указанным значениям.

Если при поиске произошла ошибка, то ее код вернется в параметре ErrorCode, а описание – в параметре ErrorMsg выходной коллекции метода. При этом значения остальных параметров выходной коллекции могут быть не определены.

Входные параметры

Название параметра Тип Обязательный Значения Значение по умолчанию
Surname String Да Фамилия туриста -
Name String Да Имя туриста -
Gender Int Да Пол туриста -
BirthDate DateTime Нет Дата рождения -
PassportSeries String Нет Серия паспорта -
PassportNumber String Нет Номер паспорта -
TurDate DateTime Нет Дата заезда по путевке -
Service ServiceType Нет Услуга в путевке -
DogovorKey Int Нет Ключ путевки -

Выходные параметры

Поля выходной коллекции:

  • TouristKey (Int) – ключ туриста (таблица Turist)
  • Service – ключи услуги
  • ErrorCode (Int) – код ошибки
  • ErrorMsg (String) – описание ошибки

Список исключений

  • Турист не найден
  • Неверный формат данных
  • Необработанное исключение

Прикрепление файлов к туристам

Метод загружает файл в БД, привязывая его к туристу.

Входные параметры

Название параметра Тип Обязательный Значения Значение по умолчанию
DocType Int[] Да Ключ типа документа (таблица DocumentGroups). Подробнее см. Описание справочника "Группы документов". -
DocTitle String Да Название документа. -
FileName String Да Имя файла. -
TouristKey Int Да Ключ туриста (таблица Turist). -
File Byte Да Файл. -
DocNumber1 String Нет Номер документа (поле TU_Numdoc таблицы TurService). -
DocNumber2 String Нет Номер подтверждения поставщика (поле DL_Doccodepartner таблицы tbl_DogovorList). -
ServiceKey Int Нет Ключ услуги в путевке -

Выходные параметры

Поля выходной коллекции:

  • ErrorCode (Int) – код ошибки
  • ErrorMsg (String) – описание ошибки

Список исключений

  • Не удалось прикрепить файл
  • Турист не найден
  • Указанный тип документа отсутствует в справочнике
  • Необработанное исключение
  • Не указан servicekey (Если переданы параметры DocNumber1и/или DocNumber2)

Удаление туриста

Метод удаляет привязанные к туристу файлы указанного типа.

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

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

Входные параметры

Название параметра Тип Обязательный Значения Значение по умолчанию
TouristKey Int Да Ключ туриста (таблица Turist). -
DocType Int Нет Ключ типа документа (таблица DocumentGroups). Подробнее см. Описание справочника "Группы документов". -

Выходные параметры

Поля выходной коллекции:

  • ErrorCode (Int) – код ошибки
  • ErrorMsg (String) – описание ошибки

Список исключений

  • Не удалось удалить файл
  • Турист не найден
  • Указанный тип документа отсутствует в справочнике
  • Файл не найден
  • Необработанное исключение

Описание типов данных

ServiceType

Тип ServiceType - это сложная структура, содержащая параметры:

Название параметра Тип Обязательный Значения Значение по умолчанию
ServiceClass Int Нет Ключ класса услуги -
ServiceCode Int Нет Ключ услуги (0-любой) DL_code -
ServiceDate DateTime Нет Дата начала услуги -
ServiceKey Int Нет Ключ услуги в путевке DL_key -