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

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][непроверенная версия]
(Входные параметры)
Строка 35: Строка 35:
  
 
====Входные параметры====
 
====Входные параметры====
<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="20%" | Значения
  </td>
+
! width="20%" | Значение по умолчанию
  <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
+
| Surname
  style='font-size:9.0pt;font-family:"Arial","sans-serif"'>Тип</span></b></p>
+
| String
  </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>
+
| Name
  <td width=128 style='width:95.7pt;border:solid black 1.0pt;border-left:none;
+
| String
  background:#F3F3F3;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
+
| '''Да'''
  <p class=MsoNormal align=center style='text-align:center'><b><span
+
| Имя туриста
  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'>
+
| Gender
  <p class=MsoNormal align=center style='text-align:center'><b><span
+
| Int
  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;
+
| BirthDate
  padding:1.4pt 5.4pt 1.4pt 5.4pt'>
+
| DateTime
  <p class=MsoNormal><b>Surname</b></p>
+
| Нет
  </td>
+
| Дата рождения
  <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'>String</p>
+
|- style="vertical-align:text-top; text-align:center"
  </td>
+
| PassportSeries
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
+
| String
  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'><b>да</b></p>
+
| Серия паспорта
  </td>
+
|<nowiki>-</nowiki>
  <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'>
+
|- style="vertical-align:text-top; text-align:center"
  <p class=MsoNormal align=center style='text-align:center'>фамилия туриста</p>
+
| PassportNumber
  </td>
+
| String
  <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>
+
|<nowiki>-</nowiki>
  </td>
+
 
</tr>
+
|- style="vertical-align:text-top; text-align:center"
<tr>
+
| TurDate
  <td width=128 style='width:95.7pt;border:solid black 1.0pt;border-top:none;
+
| DateTime
  padding:1.4pt 5.4pt 1.4pt 5.4pt'>
+
| Нет
  <p class=MsoNormal><b>Name</b></p>
+
| Дата заезда по путевке
  </td>
+
|<nowiki>-</nowiki>
  <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'>
+
|- style="vertical-align:text-top; text-align:center"
  <p class=MsoNormal align=center style='text-align:center'>String</p>
+
| Service
  </td>
+
| ServiceType
  <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'><b>да</b></p>
+
|<nowiki>-</nowiki>
  </td>
+
 
  <td width=128 style='width:95.7pt;border-top:none;border-left:none;
+
|- style="vertical-align:text-top; text-align:center"
  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:1.4pt 5.4pt 1.4pt 5.4pt'>
+
| DogovorKey
  <p class=MsoNormal align=center style='text-align:center'>имя туриста</p>
+
| Int
  </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'>
+
|<nowiki>-</nowiki>
  <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>Gender</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 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'><b>да</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'>пол туриста</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>BirthDate</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 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>PassportSeries</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'>String</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>PassportNumber</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'>String</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><span lang=EN-US>Tur</span>Date</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 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"'>нет</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>
 
  <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"'>-</span></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><span lang=EN-US>Service</span></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'>Service<span
 
  lang=EN-US>Type</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'><span
 
  style='font-size:9.0pt;font-family:"Arial","sans-serif"'>нет</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>
 
  <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"'>-</span></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>DogovorKey</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 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>
 
</table>
 
  
 
====Выходные параметры====
 
====Выходные параметры====

Версия 15:40, 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