Контрольне завдання 3

1. Мета завдання

Виконання цього завдання має на меті:

  • отримати поглиблені практичні знання зі створення бізнес-процесів на Платформі;

  • ознайомитися з вкладеними сутностями.

2. Завдання

  1. Створіть модель даних на базі представленої таблиці.

    Таблиця 1. Поля та їх опис
    Назва поля на формі та в логічній моделі даних Назва поля у фізичній моделі даних Формат Довідник, що використовується Обов’язковість

    Сутність person_edu_profile

    1

    Ідентифікатор профайлу дитини

    person_profile_id

    Text

    +

    2

    Статус учня (Ідентифікатор статусів учня)

    person_edu_state_id

    UUID

    Статус учня (person_edu_state)

    +

    3

    Ідентифікатор ЗЗСО (заклад освіти в якому навчається, або навчався учень на останній момент часу)

    edu_organization_id

    UUID

    Паспорту ЗЗСО (Edu_organization) з Паспорта ЗЗСО

    +

    Сутність orders

    4

    Ідентифікатор класу

    unit_id

    UUID

    +

    5

    Ідентифікатор профайлу дитини

    person_profile_id

    UUID

    +

    6

    Номер наказу

    order_number

    Text

    +

    7

    Дата наказу

    order_date

    Date

    +

    8

    Тип наказу (Ідентифікатор типів наказів)

    order_type_id

    UUID

    Тип наказу (order_type)

    +

    9

    Дата зарахування

    enrollment_date

    Date

    +

    Сутність transaction

    10

    Ідентифікатор наказу

    order_id

    UUID

    +

    11

    Ідентифікатор класу

    unit_id

    UUID

    +

    12

    Ідентифікатор освітнього профайлу учня

    person_edu_profile_id

    UUID

    +

  2. Створіть endpoint для сутностей person_edu_profile, transaction, orders за типом Composite Entity, в якій orders та person_edu_profile виступають батьківськими сутностями для transaction.

За детальною інформацією щодо створення Composite Entity зверніться до розділу Збереження декількох сутностей в рамках однієї транзакції відповідного документа.
  1. Створіть наступний перелік Search condition:

    1. Створіть за типом Search condition (unit_edu_organization_id_equals) для пошуку класів ЗЗСО з підтримкою EQUALS.

      SEARCH BY EQUALS
      • Вхідні параметри:

        SELECT unit.unit_id, unit.parallel, unit.name, unit_type.name, unit. students_max_number, COUNT (transaction_id)
        FROM unit
        INNER JOIN unit_type ON unit.unit_type_id = unit_type.unit_type_id
        INNER JOIN transaction on unit.unit_id = transaction.unit_id
        WHERE unit.edu_organization_id='UUID';
        Parameters: UUID
        Constants: none
      • Вихідні параметри:

        UUID, 1, А, загального типу, 25, 5
    2. Створіть за типом Search condition (person_profile_equal) для перевірки значення поля 'person_edu_profile_id' з підтримкою EQUALS.

      SEARCH BY EQUALS
      • Вхідні параметри:

        SELECT person_edu_profile.person_profile_id, person_edu_profile.edu_organization_id, person_edu_state.constant_code  FROM  person_edu_profile
        INNER JOIN  person_edu_state  ON  person_edu_profile.person_edu_state_id = person_edu_state.person_edu_state_id
        WHERE  person_edu_profile.person_edu_profile_id ='UUID'
        Parameters:  person_edu_profile.person_edu_profile_id
        Constants: none
      • Вихідні параметри:

        UUID, UUID, STUDYING
        Якщо запису не існує Output:
        null
    3. Створіть за типом Search condition (person_edu_state_equal) для заповнення поля "Статус учня" з підтримкою READ ALL та EQUALS.

      READ ALL
      • Вхідні параметри:

        SELECT person_edu_state_id, name, constant_code FROM person_edu_state ORDER BY name;
        Parameters: none
        Constants: none
      • Вихідні параметри:

        UUID, Навчається, STUDYING
        UUID, Не відвідує навчання, NOT_ATTENDING
        UUID, Відрахований, EXCLUDED
        UUID, Завершив навчання, GRADUATED
      EQUAL
      • Вхідні параметри:

        SELECT person_edu_state_id, name, constant_code FROM person_edu_state WHERE  constant_code = 'STUDYING' ORDER BY name;
        Parameters: constant_code
        Constants: none
      • Вихідні параметри:

        UUID, Навчається, STUDYING
    4. Створіть за типом Search condition (order_type_code_equals) для заповнення поля "Тип наказу" з підтримкою EQUALS.

      SEARCH BY EQUALS
      • Вхідні параметри:

        SELECT order_type_id, name FROM order_type WHERE  constant_code='INITIAL_ONBOARDING' ;
        Parameters: constant_code
        Constants: none
      • Вихідні параметри:

        UUID, Первинне створення освітнього профілю
  2. Створіть наступний перелік форм:

    1. Форма внесення даних для пошуку дитини (стартова)

    2. Форма внесення даних про освітній профіль

    3. Форма підписання даних про освітній профіль

  3. Створіть наступний бізнес-процес:

    • Бізнес-процес створення освітнього профілю дитини, де businessKey - "ФІО дитини". Додайте наступні перевірки:

      • профіль дитини було створено в реєстрі;

      • освітній профіль дитини раніше не було створено.

      Об’єкт, який зберігається в базу даних являє собою вкладену сутність. Перед завершенням бізнес-процесу необхідно визначати статус цього бізнес-процесу.

3. Очікуваний результат завдання

Змодельовано бізнес-процес створення освітнього профілю дитини у тестовому реєстрі. Бізнес-процес доступний у вигляді послуги в Кабінеті користувача.