Загрузка через FTP

По расписанию на 25 минуте каждого часа запускается процесс загрузки данных из сторонних систем в Quiz. Данные запрашиваются с FTP.

Внимание

Процесс загрузки не работает с 00:00 до 08:00.

Данные для подключения к FTP задаются в настройках.

Настройка

Описание

Пример

quiz.ftp

URL для подключения к FTP

ftp://<user>:<password>@<host>

quiz.quizFolder

Путь до папки с файлами

Quiz_data

quiz.loadQuizDataFromFTP

Отвечает за включение/выключение функционала

1

Требования к файлам

В папке должны находиться zip архивы с csv файлами. Название zip архива - Quiz_<дата и время выгрузки файла в формате yyyyMMddhhmmss>.zip.

Архив может содержать следующие файлы:

  • Question.csv

  • Questionnaire.csv

  • Questionnaire_Question.csv

  • QuestionItem.csv

  • Question_QuestionItem.csv

  • Access.csv

  • Access_Outlet.csv

Наличие всех перечисленных файлов в архиве не обязательно. Все csv файлы должны иметь кодировку Windows-1251 с разделителем столбцов - |.

Question.csv

Столбец

Тип

Описание

Значение по-умолчанию

UID_DS

varchar(50)

ID вопроса из сторонней системы

DataSource

varchar(255)

Код сторонней системы. Например, MDT или SOP. Для корректной интеграции необходимо, чтобы источник данных с данным кодом был добавлен в Quiz.

Name

varchar(500)

Текст вопроса

Description

varchar(max)

Описание вопроса

AnswerType

char(1)

Тип вопроса. Может принимать следующие значения: B, F, M, N, O, Q, T, Y.

FlagComment

bit

Необходим ли комментарий при ответе на этот вопрос.

0

QuestionAttachPhoto

char(1)

Необходимо ли прикреплять фотографию при ответе на этот вопрос. Может приимать следующие значения: A, N, R.

Если в Quiz есть вопрос, загруженный из сторонней системы, но этот вопрос не пришёл в файле, то этот вопрос в Quiz помечается удаленным, вопрос не удаляется.

Questionnaire.csv

Столбец

Тип

Описание

Значение по-умолчанию

UID_DS

varchar(50)

ID анкеты из сторонней системы

DataSource

varchar(255)

Код сторонней системы. Например, MDT или SOP. Для корректной интеграции необходимо, чтобы источник данных с данным кодом был добавлен в Quiz.

Code

varchar(50)

Код анкеты

Name

varchar(500)

Название анкеты

Description

varchar(max)

Описание анкеты

FlagSignature

bit

Необходима ли подпись ответственного лица при анкетировании

0

FlagDisable

bit

Флаг об отключении анкеты

0

Если в Quiz есть анкета, загруженная из сторонней системы, но эта анкета не пришла в файле, то эту анкета в Quiz помечается удаленной, анкета не удаляется.

Questionnaire_Question.csv

Столбец

Тип

Описание

Значение по-умолчанию

UID_DS

varchar(50)

ID из таблицы связи "Анкета"-"Вопрос" из сторонней системы

DataSource

varchar(255)

Код сторонней системы. Например, MDT или SOP. Для корректной интеграции необходимо, чтобы источник данных с данным кодом был добавлен в Quiz.

UID_DS_Questionnaire

varchar(50)

ID анкеты из сторонней системы

UID_DS_Question

varchar(50)

ID вопроса из сторонней системы

FlagAnswerRequired

bit

Флаг о неходимости ответа на этот вопрос в анкете

1

Если в Quiz есть данные, загруженные из сторонней системы, но эти данные не пришли в файле:

  • если этой анкеты нет в файле Questionnaire.csv

    • то ничего не произойдет, так как эта анкета помечена удаленной

  • если анкета есть в файле Questionnaire.csv

    • то связь "анкета-вопрос" будет удалена.

Если пришли данные, но такой анкеты или вопроса нет в Quiz, то такие данные пропускаются и не загружаются.

Если анкета пришла в файле Questionnaire.csv, а вопрос в файле Question.csv не пришел, то связь "анкета-вопрос" будет удалена, так как вопрос считается удаленным.

QuestionItem.csv

Столбец

Тип

Описание

Значение по-умолчанию

UID_DS

varchar(50)

ID вопроса из сторонней системы

DataSource

varchar(255)

Код сторонней системы. Например, MDT или SOP. Для корректной интеграции необходимо, чтобы источник данных с данным кодом был добавлен в Quiz.

Name

varchar(100)

Текст варианта ответа

NameGroup

varchar(100)

Название группы вариантов ответа

Если в Quiz есть вариант ответа, загруженный из сторонней системы, но этот вариант ответа не пришёл в файле, то этот вариант ответа в Quiz помечается удаленным, вариант ответа не удаляется.

Question_QuestuionItem.csv

Столбец

Тип

Описание

Значение по-умолчанию

UID_DS

varchar(50)

ID из таблицы связи "Вопрос"-"Вариант ответа" из сторонней системы

DataSource

varchar(255)

Код сторонней системы. Например, MDT или SOP. Для корректной интеграции необходимо, чтобы источник данных с данным кодом был добавлен в Quiz.

UID_DS_Question

varchar(50)

ID вопроса из сторонней системы

UID_DS_QuestionItem

varchar(50)

ID варианта ответа из сторонней системы

SortOrder

int

Порядок сортировки

Если в Quiz есть данные, загруженные из сторонней системы, но эти данные не пришли в файле:

  • если этого вопроса нет в файле Question.csv

    • то ничего не произойдет, так как этот вопрос помечен удаленным

  • если вопрос есть в файле Question.csv

    • то связь "вопрос - вариант ответа" будет удалена.

Если пришли данные, но такого вопроса или варианта ответа нет в Quiz, то такие данные пропускаются и не загружаются.

Если вопрос пришел в файле Question.csv, а вариант ответа в файле QuestionItem.csv не пришел, то связь "анкета-вопрос" будет удалена, так как вариант ответа считается удаленным.

Access.csv

Столбец

Тип

Описание

Значение по-умолчанию

UID_DS

varchar(50)

ID доступа из сторонней системы

DataSource

varchar(255)

Код сторонней системы. Например, MDT или SOP. Для корректной интеграции необходимо, чтобы источник данных с данным кодом был добавлен в Quiz.

UID_DS_Questionnaire

varchar(50)

ID анкеты из сторонней системы

DateBegin

date

Дата начала

DateEnd

date

Дата окончания

Description

varchar(1000)

Описание

FlagMatrixOnly

bit

0

Если в Quiz есть данные, загруженные из сторонней системы, но в файле этих данных нет, то данные удаляются, так как считаем что в сторонней системе хранятся актуальные доступы.

Access_Outlet.csv

Столбец

Тип

Описание

Значение по-умолчанию

UID_DS

varchar(50)

ID из сторонней системы

DataSource

varchar(255)

Код сторонней системы. Например, MDT или SOP. Для корректной интеграции необходимо, чтобы источник данных с данным кодом был добавлен в Quiz.

UID_DS_Access

varchar(50)

ID доступа из сторонней системы

UID_DS_Outlet

varchar(50)

ID ТТ из сторонней системы

FlagExclude

bit

0

Если в Quiz есть данные, загруженные из сторонней системы, но в файле этих данных нет, то данные удаляются, так как считаем что в сторонней системе хранятся актуальные доступы.

Если пришли данные по несуществующей ТТ, или нет такого UID_DS_Access, то такие записи пропускаются и не загружаются.