Атестаційні завдання K2 ERP/Пошук на роботу морякам: відмінності між версіями
R (обговорення | внесок) Створена сторінка: = Модуль пошуку, обліку і працевлаштування моряків (Crew Management System) = == Реальний бізнес-контекст == Агентство із працевлаштування моряків працює над пошуком кандидатів для різних судновласників. Потрібно: * формувати базу резюме моряків; * створювати ва... |
R (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
= Модуль пошуку, обліку і працевлаштування моряків | {{DISPLAYTITLE:Атестаційні завдання K2 ERP/Пошук на роботу морякам}} | ||
'''Атестаційне завдання K2 ERP — Пошук на роботу морякам''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні модуля пошуку, обліку, підбору та працевлаштування моряків. | |||
Модуль має працювати як [[Crew Management System]]: вести базу кандидатів, сертифікати, документи, судна, вакансії, вимоги судновласників, автоматичний підбір моряків, пропозиції працевлаштування, контракти, терміни контрактів і планування замін екіпажу. | |||
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
'''Коротко.''' Потрібно реалізувати модуль для крюїнгового агентства: база моряків, анкети, документи, сертифікати, судна, вакансії, автоматичний пошук кандидатів, статуси працевлаштування, контракти, нагадування про закінчення сертифікатів і планування замін екіпажу. | |||
</div> | |||
__TOC__ | |||
== Назва завдання == | |||
'''Модуль пошуку, обліку і працевлаштування моряків: Crew Management System'''. | |||
== Мета завдання == | |||
Мета завдання — створити в K2 ERP модуль для автоматизації роботи крюїнгового агентства або судноплавної компанії. | |||
Система повинна дозволяти: | |||
* вести довідник посад моряків; | |||
* вести довідник суден; | |||
* вести судновласників; | |||
* створювати анкету моряка; | |||
* зберігати досвід роботи моряка; | |||
* вести сертифікати й документи; | |||
* контролювати строки дії сертифікатів; | |||
* створювати вакансії на судна; | |||
* задавати вимоги до кандидата; | |||
* автоматично підбирати моряків під вакансію; | |||
* створювати пропозиції працевлаштування; | |||
* фіксувати статус кандидата; | |||
* формувати контракт; | |||
* контролювати строки контрактів; | |||
* планувати заміни екіпажу; | |||
* надсилати сповіщення; | |||
* експортувати базу моряків, вакансії та звіти. | |||
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;"> | |||
'''Головний принцип.''' Crew Management System — це не просто база резюме. Це система, яка пов’язує моряка, його документи, досвід, доступність, вакансію, судно, контракт і майбутню заміну екіпажу. | |||
</div> | |||
== Реальний бізнес-контекст == | == Реальний бізнес-контекст == | ||
Крюїнгове агентство або судноплавна компанія шукає моряків для різних судновласників і суден. Для кожної вакансії важливі не лише посада і зарплата, а й тип судна, досвід кандидата, сертифікація, рівень англійської, дата доступності та чинність документів. | |||
У роботі агентства потрібно контролювати: | |||
* хто з моряків доступний для роботи; | |||
* які сертифікати має кандидат; | |||
* коли закінчуються паспорти, медичні довідки та сертифікати; | |||
* на яких типах суден кандидат працював раніше; | |||
* які вакансії відкриті; | |||
* які кандидати підходять під вимоги судновласника; | |||
* хто прийняв або відхилив пропозицію; | |||
* коли починається і закінчується контракт; | |||
* кого потрібно готувати на заміну екіпажу. | |||
Без автоматизованої системи ці дані часто ведуться в таблицях, пошті та месенджерах, що призводить до втрати кандидатів, прострочених документів і затримок у закритті вакансій. | |||
== Основний бізнес-процес == | |||
Типовий процес роботи крюїнгового агентства виглядає так: | |||
# у систему вносяться посади моряків; | |||
# створюються судна та судновласники; | |||
# у базу додається анкета моряка; | |||
# до анкети додаються документи, сертифікати й досвід; | |||
# система контролює строки дії документів; | |||
# менеджер створює вакансію на судно; | |||
# у вакансії задаються вимоги до кандидата; | |||
# система підбирає моряків, які відповідають вимогам; | |||
# менеджер створює пропозицію кандидату; | |||
# кандидат приймає або відхиляє пропозицію; | |||
# формується контракт; | |||
# кандидат переходить у статус працевлаштованого; | |||
# система контролює закінчення контракту; | |||
# менеджер планує заміну екіпажу. | |||
== Основні об’єкти модуля == | |||
{| class="wikitable" style="width:100%;" | |||
! Об’єкт | |||
! Призначення | |||
|- | |||
| Позиції моряків | |||
| Посади: капітан, механік, електромеханік, кок, матрос тощо | |||
|- | |||
| Судна | |||
| Судна, на які відкриваються вакансії | |||
|- | |||
| Судновласники | |||
| Компанії, для яких підбирається екіпаж | |||
|- | |||
| Кандидати / моряки | |||
| Анкети моряків із контактами, досвідом і документами | |||
|- | |||
| Сертифікати | |||
| STCW, IMO, медичні та інші документи моряка | |||
|- | |||
| Досвід роботи | |||
| Контракти, судна, посади, типи суден і тривалість роботи | |||
|- | |||
| Вакансії | |||
| Відкриті позиції на судна | |||
|- | |||
| Підбір кандидатів | |||
| Пошук моряків, які відповідають вимогам вакансії | |||
|- | |||
| Пропозиції працевлаштування | |||
| Запрошення кандидата на конкретну вакансію | |||
|- | |||
| Контракти | |||
| Документи працевлаштування моряка | |||
|- | |||
| Заміни екіпажу | |||
| Планування заміни моряків після завершення контрактів | |||
|- | |||
| Нотифікації | |||
| Сповіщення про сертифікати, контракти, вакансії та зміни статусів | |||
|- | |||
| Звіти | |||
| Аналітика по кандидатах, вакансіях, контрактах і закриттю позицій | |||
|} | |||
== Довідник «Позиції моряків» == | |||
Довідник позицій моряків містить посади, на які можуть відкриватися вакансії. | |||
== Приклади посад == | |||
* капітан; | |||
* старший помічник капітана; | |||
* другий помічник капітана; | |||
* старший механік; | |||
* другий механік; | |||
* електромеханік; | |||
* боцман; | |||
* матрос; | |||
* моторист; | |||
* кок; | |||
* стюард. | |||
== Поля позиції моряка == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва посади | |||
| Наприклад: Captain, Chief Engineer, Electrician, Cook, AB | |||
|- | |||
| Категорія | |||
| Deck Department, Engine Department, Hotel Department або інша | |||
|- | |||
| Рівень сертифікації | |||
| Вимоги STCW або інші стандарти | |||
|- | |||
| Мінімальний досвід | |||
| Опціонально, мінімальна кількість контрактів або місяців | |||
|- | |||
| Активність | |||
| Чи використовується посада в поточних вакансіях | |||
|} | |||
== Категорії посад == | |||
{| class="wikitable" style="width:100%;" | |||
! Категорія | |||
! Приклади посад | |||
|- | |||
| Deck Department | |||
| Captain, Chief Officer, Second Officer, AB, OS | |||
|- | |||
| Engine Department | |||
| Chief Engineer, Second Engineer, Electrician, Motorman | |||
|- | |||
| Hotel Department | |||
| Cook, Steward, Housekeeping, Service Staff | |||
|} | |||
== Довідник «Судна» == | |||
Довідник суден містить судна, для яких відкриваються вакансії або ведеться екіпаж. | |||
== Поля судна == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва судна | |||
| Назва судна | |||
|- | |||
| Тип судна | |||
| Bulk Carrier, Container, Tanker, Cruise Ship або інший тип | |||
|- | |||
| Судновласник | |||
| Компанія-власник або оператор судна | |||
|- | |||
| Прапор судна | |||
| Країна прапора | |||
|- | |||
| DWT | |||
| Дедвейт судна | |||
|- | |||
| GRT | |||
| Валова місткість | |||
|- | |||
| Тип двигуна | |||
| Основний тип двигуна | |||
|- | |||
| Рік побудови | |||
| Опціонально | |||
|- | |||
| Статус | |||
| Активне, архівне, не використовується | |||
|} | |||
== Типи суден == | |||
{| class="wikitable" style="width:100%;" | |||
! Тип судна | |||
! Опис | |||
|- | |||
| Bulk Carrier | |||
| Балкер для перевезення навалочних вантажів | |||
|- | |||
| Container | |||
| Контейнеровоз | |||
|- | |||
| Tanker | |||
| Танкер | |||
|- | |||
| Cruise Ship | |||
| Круїзне судно | |||
|- | |||
| General Cargo | |||
| Судно для генеральних вантажів | |||
|- | |||
| Offshore Vessel | |||
| Офшорне судно | |||
|} | |||
== Довідник «Судновласники» == | |||
Довідник судновласників містить компанії, які замовляють підбір екіпажу. | |||
== Поля судновласника == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва компанії | |||
| Назва судновласника або оператора | |||
|- | |||
| Країна | |||
| Країна реєстрації або роботи | |||
|- | |||
| Контактна особа | |||
| Представник судновласника | |||
|- | |||
| Email | |||
| Контактна пошта | |||
|- | |||
| Телефон | |||
| Контактний номер | |||
|- | |||
| Умови співпраці | |||
| Коментар щодо правил підбору екіпажу | |||
|- | |||
| Статус | |||
| Активний або неактивний | |||
|} | |||
== База «Кандидати» == | |||
База кандидатів містить анкети моряків. | |||
Картка моряка має бути центральним місцем, де зібрані особисті дані, контакти, досвід, сертифікати, документи, доступність, історія вакансій і контрактів. | |||
== Колонки бази кандидатів == | |||
{| class="wikitable" style="width:100%;" | |||
! Колонка | |||
! Опис | |||
|- | |||
| ПІБ | |||
| Прізвище, ім’я та по батькові моряка | |||
|- | |||
| Дата народження | |||
| Дата народження кандидата | |||
|- | |||
| Позиція | |||
| Основна посада моряка | |||
|- | |||
| Досвід | |||
| Кількість контрактів або стаж у місяцях | |||
|- | |||
| Сертифікати | |||
| Наявність IMO, STCW та інших документів | |||
|- | |||
| Рівень англійської | |||
| Оцінка володіння англійською мовою | |||
|- | |||
| Дата доступності | |||
| Коли кандидат може вийти в рейс | |||
|- | |||
| Місце проживання | |||
| Країна, місто | |||
|- | |||
| Телефон | |||
| Контактний номер | |||
|- | |||
| Email | |||
| Електронна адреса | |||
|- | |||
| Статус | |||
| Доступний, запропоновано, на контракті, недоступний, архів | |||
|} | |||
== Поля анкети моряка == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| ПІБ | |||
| Повне ім’я моряка | |||
|- | |||
| Дата народження | |||
| Для перевірки віку та документів | |||
|- | |||
| Громадянство | |||
| Країна громадянства | |||
|- | |||
| Місце проживання | |||
| Країна, місто | |||
|- | |||
| Основна позиція | |||
| Посада, на яку претендує кандидат | |||
|- | |||
| Додаткові позиції | |||
| Інші посади, які може виконувати кандидат | |||
|- | |||
| Рівень англійської | |||
| Beginner, Intermediate, Upper-Intermediate, Advanced або інша шкала | |||
|- | |||
| Дата доступності | |||
| Коли кандидат готовий до роботи | |||
|- | |||
| Очікувана зарплата | |||
| Бажаний рівень оплати | |||
|- | |||
| Телефон | |||
| Контактний номер | |||
|- | |||
| Email | |||
| Електронна адреса | |||
|- | |||
| Коментар менеджера | |||
| Внутрішні примітки | |||
|} | |||
== Статуси кандидата == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Новий | |||
| Анкету створено, але кандидат ще не опрацьований | |||
|- | |||
| Доступний | |||
| Кандидат готовий до пропозицій | |||
|- | |||
| Запропоновано | |||
| Кандидату запропоновано вакансію | |||
|- | |||
| Прийняв пропозицію | |||
| Кандидат погодився на вакансію | |||
|- | |||
| Відмовився | |||
| Кандидат відхилив пропозицію | |||
|- | |||
| На контракті | |||
| Кандидат працює на судні | |||
|- | |||
| Недоступний | |||
| Кандидат тимчасово не шукає роботу | |||
|- | |||
| Архів | |||
| Анкета не використовується в активному підборі | |||
|} | |||
== Документи і сертифікати моряка == | |||
Модуль має дозволяти зберігати копії документів і сертифікатів. | |||
== Приклади документів == | |||
* паспорт; | |||
* закордонний паспорт; | |||
* seaman’s book; | |||
* STCW-сертифікати; | |||
* медична довідка; | |||
* сертифікати безпеки; | |||
* рекомендації; | |||
* резюме; | |||
* дипломи; | |||
* візи. | |||
== Поля документа / сертифіката == | |||
* | {| class="wikitable" style="width:100%;" | ||
* | ! Поле | ||
* | ! Опис | ||
* | |- | ||
* | | Тип документа | ||
| Паспорт, STCW, медична довідка, рекомендація тощо | |||
|- | |||
| Номер документа | |||
| Номер сертифіката або документа | |||
|- | |||
| Дата видачі | |||
| Коли документ виданий | |||
|- | |||
| Дата завершення | |||
| До якої дати документ чинний | |||
|- | |||
| Файл | |||
| Завантажена копія документа | |||
|- | |||
| Статус | |||
| Чинний, скоро закінчується, прострочений | |||
|- | |||
| Коментар | |||
| Додаткова інформація | |||
|} | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Критично.''' Кандидат із простроченим обов’язковим сертифікатом не повинен автоматично потрапляти в список повністю придатних кандидатів для вакансії. | |||
</div> | |||
== Контроль строків сертифікатів == | |||
Система повинна автоматично контролювати закінчення строку дії документів. | |||
Необхідно показувати: | |||
* чинні документи; | |||
* документи, що скоро закінчуються; | |||
* прострочені документи; | |||
* відсутні обов’язкові документи. | |||
== Нагадування по сертифікатах == | |||
Нотифікації потрібно надсилати: | |||
* за 90 днів до завершення; | |||
* за 30 днів до завершення; | |||
* за 7 днів до завершення; | |||
* у день завершення; | |||
* після прострочення. | |||
Точні строки можна винести в налаштування. | |||
== Досвід роботи моряка == | |||
Картка моряка повинна містити історію контрактів і досвіду. | |||
== Поля досвіду == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Судно | |||
| Назва судна, на якому працював кандидат | |||
|- | |||
| Тип судна | |||
| Bulk Carrier, Container, Tanker тощо | |||
|- | |||
| Позиція | |||
| Посада на судні | |||
|- | |||
| Дата початку | |||
| Початок контракту | |||
|- | |||
| Дата завершення | |||
| Кінець контракту | |||
|- | |||
| Тривалість | |||
| Розраховується в місяцях | |||
|- | |||
| Судновласник | |||
| Компанія або оператор | |||
|- | |||
| Рекомендація | |||
| Файл або коментар | |||
|} | |||
== Журнал «Вакансії» == | |||
Журнал вакансій містить відкриті позиції на судна. | |||
== Колонки журналу вакансій == | |||
{| class="wikitable" style="width:100%;" | |||
! Колонка | |||
! Опис | |||
|- | |||
| Номер вакансії | |||
| Унікальний номер вакансії | |||
|- | |||
| Судно | |||
| Судно, на яке потрібен кандидат | |||
|- | |||
| Судновласник | |||
| Компанія, для якої ведеться підбір | |||
|- | |||
| Позиція | |||
| Посада, на яку шукається моряк | |||
|- | |||
| Зарплата, USD | |||
| Рівень оплати | |||
|- | |||
| Початок контракту | |||
| Дата, коли кандидат має вийти на контракт | |||
|- | |||
| Тривалість контракту | |||
| Кількість місяців | |||
|- | |||
| Статус вакансії | |||
| Відкрита, підбір, заповнена, скасована | |||
|- | |||
| Менеджер | |||
| Відповідальний рекрутер | |||
|} | |||
== Поля вакансії == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Номер вакансії | |||
| Генерується автоматично або вводиться вручну | |||
|- | |||
| Судно | |||
| Вибір із довідника суден | |||
|- | |||
| Позиція | |||
| Яка посада потрібна | |||
|- | |||
| Зарплата | |||
| Сума та валюта оплати | |||
|- | |||
| Початок контракту | |||
| Дата старту | |||
|- | |||
| Тривалість контракту | |||
| Тривалість у місяцях | |||
|- | |||
| Тип судна | |||
| Вимога до досвіду кандидата | |||
|- | |||
| Мінімальний стаж | |||
| Мінімальна кількість місяців або контрактів | |||
|- | |||
| Обов’язкові сертифікати | |||
| Перелік документів, які має мати кандидат | |||
|- | |||
| Мінімальний рівень англійської | |||
| Вимога до мови | |||
|- | |||
| Коментар судновласника | |||
| Додаткові умови | |||
|} | |||
== | == Статуси вакансії == | ||
=== | {| class="wikitable" style="width:100%;" | ||
! Статус | |||
! Значення | |||
|- | |||
| Відкрита | |||
| Вакансія створена і доступна для підбору | |||
|- | |||
| Підбір | |||
| Менеджер розглядає кандидатів | |||
|- | |||
| Кандидат запропонований | |||
| Один або кілька кандидатів відправлені на розгляд | |||
|- | |||
| Заповнена | |||
| Кандидат прийнятий і контракт оформлено | |||
|- | |||
| Скасована | |||
| Вакансія більше не актуальна | |||
|} | |||
== Підбір моряків == | |||
Підбір моряків — ключова функція модуля. | |||
Система повинна знаходити кандидатів, які відповідають параметрам вакансії. | |||
== Критерії підбору == | |||
Автоматизований пошук має враховувати: | |||
* посаду; | |||
* досвід на потрібному типі судна; | |||
* кількість контрактів; | |||
* загальний стаж; | |||
* валідні сертифікати; | |||
* рівень англійської; | |||
* дату доступності; | |||
* статус кандидата; | |||
* очікувану зарплату; | |||
* місце проживання, якщо це важливо. | |||
== Результати підбору == | |||
У результаті пошуку система повинна показувати список кандидатів. | |||
У списку потрібно бачити: | |||
* ПІБ; | * ПІБ; | ||
* | * позицію; | ||
* досвід; | |||
* досвід | * типи суден; | ||
* | |||
* рівень англійської; | * рівень англійської; | ||
* | * дату доступності; | ||
* | * стан сертифікатів; | ||
* | * відповідність вимогам; | ||
* | * причини невідповідності, якщо кандидат не проходить по окремих параметрах. | ||
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
'''Практичний сенс.''' Система має не лише показати кандидатів, а й пояснити, чому кандидат підходить або не підходить: не вистачає досвіду, сертифікат прострочений, дата доступності пізніша за початок контракту тощо. | |||
</div> | |||
== Пропозиція працевлаштування == | |||
Після підбору менеджер створює пропозицію кандидату. | |||
== Поля пропозиції == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Кандидат | |||
| Моряк, якому пропонується вакансія | |||
|- | |||
| Вакансія | |||
| Вакансія, на яку пропонується кандидат | |||
|- | |||
| Дата пропозиції | |||
| Коли зроблено пропозицію | |||
|- | |||
| Зарплата | |||
| Умови оплати | |||
|- | |||
| Початок контракту | |||
| Дата старту | |||
|- | |||
| Тривалість | |||
| Тривалість контракту | |||
|- | |||
| Статус пропозиції | |||
| Запропоновано, прийняв, відмовився, на розгляді | |||
|- | |||
| Коментар | |||
| Примітка менеджера або кандидата | |||
|} | |||
== | == Статуси пропозиції == | ||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Запропоновано | |||
| Кандидату надіслано пропозицію | |||
|- | |||
| На розгляді | |||
| Кандидат або судновласник розглядає пропозицію | |||
|- | |||
| Прийняв | |||
| Кандидат погодився | |||
|- | |||
| Відмовився | |||
| Кандидат відмовився | |||
|- | |||
| Відхилено судновласником | |||
| Судновласник не погодив кандидата | |||
|} | |||
== | == Контрактування == | ||
==== | Після прийняття пропозиції формується контракт моряка. | ||
== Поля контракту == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Номер контракту | |||
| Унікальний номер документа | |||
|- | |||
| Кандидат | |||
| Моряк, з яким укладається контракт | |||
|- | |||
| Судно | |||
| Судно, на яке йде кандидат | |||
|- | |||
| Посада | |||
| Позиція в екіпажі | |||
|- | |||
| Судновласник | |||
| Компанія або оператор | |||
|- | |||
| Дата початку | |||
| Початок контракту | |||
|- | |||
| Дата завершення | |||
| Планове завершення контракту | |||
|- | |||
| Тривалість | |||
| Тривалість у місяцях | |||
|- | |||
| Зарплата | |||
| Сума та валюта | |||
|- | |||
| Статус | |||
| Підготовлений, підписаний, активний, завершений, скасований | |||
|} | |||
== Формування контракту == | |||
Контракт має формуватися автоматично на основі: | |||
* даних моряка; | |||
* даних судна; | |||
* посади; | |||
* зарплати; | |||
* дат контракту; | |||
* судновласника; | |||
* умов вакансії. | |||
Формат документа: | |||
* PDF; | |||
* DOCX, якщо потрібне редагування перед підписанням. | |||
== Планування замін екіпажу == | |||
Модуль має контролювати завершення контрактів і допомагати планувати заміни. | |||
== Логіка планування заміни == | |||
Система повинна: | |||
* бачити дату завершення контракту; | |||
* показувати контракти, які скоро завершуються; | |||
* створювати потребу в заміні; | |||
* пропонувати кандидатів на заміну; | |||
* враховувати дату доступності кандидатів; | |||
* не пропонувати кандидатів із простроченими обов’язковими документами. | |||
== Нагадування про завершення контракту == | |||
Система має надсилати сповіщення: | |||
* за 60 днів до завершення контракту; | |||
* за 30 днів; | |||
* за 14 днів; | |||
* за 7 днів; | |||
* у день завершення. | |||
== Нотифікації == | |||
Модуль повинен підтримувати автоматичні сповіщення. | |||
== Події для сповіщень == | |||
Сповіщення бажано надсилати, коли: | |||
* закінчується сертифікат; | |||
* закінчується паспорт або медична довідка; | |||
* створена нова вакансія; | |||
* кандидат підходить під вакансію; | |||
* кандидату зроблено пропозицію; | |||
* кандидат прийняв або відхилив пропозицію; | |||
* контракт скоро завершується; | |||
* потрібно планувати заміну екіпажу. | |||
== Журнал змін статусів == | |||
Система повинна зберігати історію зміни статусів кандидата, вакансії, пропозиції та контракту. | |||
Журнал має показувати: | |||
* хто змінив статус; | |||
* старий статус; | |||
* новий статус; | |||
* дату й час; | |||
* коментар. | |||
== Звітність == | |||
== Звіт «База моряків» == | |||
Звіт показує кандидатів за параметрами. | |||
У звіті потрібно відображати: | |||
* ПІБ; | |||
* позицію; | |||
* досвід; | |||
* рівень англійської; | |||
* дату доступності; | |||
* статус кандидата; | |||
* стан документів; | |||
* контактні дані. | |||
== Звіт «Відкриті вакансії» == | |||
Звіт показує всі активні вакансії. | |||
У звіті потрібно відображати: | |||
* номер вакансії; | * номер вакансії; | ||
* судно; | * судно; | ||
* | * судновласника; | ||
* | * позицію; | ||
* | * зарплату; | ||
* | * дату старту; | ||
* статус | * статус; | ||
* менеджера; | |||
* | * кількість підібраних кандидатів. | ||
* | |||
== | == Звіт «Підбір кандидатів» == | ||
Звіт показує, які кандидати були розглянуті по вакансії. | |||
У звіті потрібно відображати: | |||
* вакансію; | |||
* кандидата; | |||
* відповідність вимогам; | |||
* статус пропозиції; | |||
* коментар менеджера; | |||
* дату останньої зміни. | |||
== Звіт «Контракти і заміни» == | |||
* | Звіт показує активні контракти та потребу в замінах. | ||
* | |||
* | У звіті потрібно відображати: | ||
* | |||
* моряка; | |||
* судно; | |||
* позицію; | |||
* дату початку; | |||
* дату завершення; | |||
* кількість днів до завершення; | |||
* статус заміни; | |||
* рекомендованого кандидата на заміну, якщо є. | |||
== Звіт «Документи і сертифікати» == | |||
Звіт показує стан документів моряків. | |||
У звіті потрібно відображати: | |||
* моряка; | |||
* тип документа; | |||
* номер; | |||
* дату завершення; | |||
* статус; | |||
* кількість днів до завершення; | |||
* відповідального менеджера. | |||
== Експорт даних == | |||
Модуль має підтримувати експорт: | |||
* бази моряків; | |||
* вакансій; | |||
* списку кандидатів по вакансії; | |||
* контрактів; | |||
* звіту по сертифікатах; | |||
* звіту по замінах. | |||
Формати: | |||
* Excel; | |||
* PDF. | |||
== AJAX-інтерактив == | |||
Інтерфейс має працювати швидко та без зайвого перезавантаження сторінок. | |||
Через AJAX мають працювати: | |||
* створення анкети моряка; | |||
* пошук кандидата; | |||
* завантаження документів; | |||
* додавання сертифіката; | |||
* перевірка строку дії документа; | |||
* створення вакансії; | |||
* пошук кандидатів під вакансію; | |||
* створення пропозиції; | |||
* зміна статусу пропозиції; | |||
* формування контракту; | |||
* фільтрація журналів; | |||
* оновлення звітів. | |||
== Логування змін == | |||
Модуль повинен фіксувати важливі дії. | |||
Журнал змін має зберігати: | |||
* | * хто створив анкету моряка; | ||
* | * хто змінив контактні дані; | ||
* | * хто додав або видалив документ; | ||
* хто змінив дату доступності; | |||
* хто створив вакансію; | |||
* хто змінив вимоги вакансії; | |||
* хто створив пропозицію; | |||
* хто змінив статус кандидата; | |||
* хто сформував контракт; | |||
* хто закрив вакансію; | |||
* дату й час зміни; | |||
* старе та нове значення, якщо це можливо. | |||
== | == Права доступу == | ||
Модуль має підтримувати розмежування прав. | |||
{| class="wikitable" style="width:100%;" | |||
! Роль | |||
! Можливості | |||
|- | |||
| Рекрутер | |||
| Веде анкети моряків, вакансії, підбір і пропозиції | |||
|- | |||
| Старший рекрутер | |||
| Контролює роботу рекрутерів, статуси вакансій і якість підбору | |||
|- | |||
| Документ-менеджер | |||
| Перевіряє сертифікати, паспорти, медичні довідки та строки дії | |||
|- | |||
| Керівник агентства | |||
| Переглядає звіти, вакансії, контракти, ефективність і закриття позицій | |||
|- | |||
| Адміністратор | |||
| Налаштовує довідники, права, шаблони контрактів і службові параметри | |||
|} | |||
== Технічні вимоги == | == Технічні вимоги == | ||
{| class="wikitable" | {| class="wikitable" style="width:100%;" | ||
! Параметр | ! Параметр | ||
! Опис | ! Опис | ||
| Рядок 151: | Рядок 976: | ||
| K2 Cloud ERP на Python або PHP | | K2 Cloud ERP на Python або PHP | ||
|- | |- | ||
| | | База даних | ||
| PostgreSQL або MySQL | | PostgreSQL або MySQL | ||
|- | |- | ||
| Фронтенд | | Фронтенд | ||
| HTML5, JavaScript | | HTML5, JavaScript | ||
|- | |||
| AJAX | |||
| Axios або Fetch API | |||
|- | |- | ||
| UI-компоненти | | UI-компоненти | ||
| DataTables, Select2, Datepicker | | DataTables, Select2, Datepicker | ||
|- | |||
| Документи | |||
| Завантаження копій сертифікатів, паспортів, рекомендацій | |||
|- | |- | ||
| Друк | | Друк | ||
| | | PDF-контракти та резюме моряків | ||
|- | |||
| Експорт | |||
| Excel для бази моряків, вакансій і звітів | |||
|} | |} | ||
== | == Рекомендовані сутності бази даних == | ||
{| class="wikitable" | Для реалізації задачі доцільно передбачити такі сутності: | ||
* позиції моряків; | |||
* категорії посад; | |||
* судна; | |||
* типи суден; | |||
* судновласники; | |||
* кандидати; | |||
* контакти кандидатів; | |||
* документи кандидатів; | |||
* сертифікати; | |||
* досвід роботи; | |||
* вакансії; | |||
* вимоги вакансій; | |||
* результати підбору; | |||
* пропозиції працевлаштування; | |||
* контракти; | |||
* заміни екіпажу; | |||
* нотифікації; | |||
* шаблони контрактів; | |||
* журнал змін; | |||
* права доступу; | |||
* звіти. | |||
== Практичне завдання == | |||
У межах атестації потрібно продемонструвати робочий сценарій. | |||
Мінімальний сценарій: | |||
# створити позиції моряків; | |||
# створити типи суден; | |||
# створити судновласника; | |||
# створити судно; | |||
# створити анкету моряка; | |||
# додати контакти кандидата; | |||
# додати досвід роботи на суднах; | |||
# завантажити документи й сертифікати; | |||
# вказати строки дії сертифікатів; | |||
# перевірити нагадування про сертифікат, що скоро закінчується; | |||
# створити вакансію на судно; | |||
# задати вимоги до кандидата; | |||
# виконати автоматичний підбір моряків; | |||
# переглянути кандидатів, які підходять і не підходять; | |||
# створити пропозицію кандидату; | |||
# змінити статус пропозиції на '''«Прийняв»'''; | |||
# сформувати контракт; | |||
# перевести кандидата у статус '''«На контракті»'''; | |||
# створити нагадування про завершення контракту; | |||
# сформувати звіт відкритих вакансій; | |||
# сформувати звіт документів і сертифікатів; | |||
# сформувати звіт контрактів і замін; | |||
# експортувати базу кандидатів у Excel. | |||
== Критерії оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Критерій | ! Критерій | ||
! Бали | ! Бали | ||
! Що перевіряється | |||
|- | |- | ||
| Реалізація бази моряків та їх пошуку | | Реалізація бази моряків та їх пошуку | ||
| 20 | | 20 | ||
| Анкети, контакти, досвід, документи, сертифікати, пошук і фільтри | |||
|- | |- | ||
| Створення і управління вакансіями | | Створення і управління вакансіями | ||
| 20 | | 20 | ||
| Судна, судновласники, позиції, зарплата, строки, вимоги, статуси | |||
|- | |- | ||
| Механізм підбору моряків по вакансіях | | Механізм підбору моряків по вакансіях | ||
| 20 | | 20 | ||
| Автоматичний пошук за посадою, досвідом, типом судна, сертифікатами й доступністю | |||
|- | |- | ||
| Формування контрактів і планування замін | | Формування контрактів і планування замін | ||
| 20 | | 20 | ||
| Контракти, строки, статуси, завершення контракту, потреба в заміні | |||
|- | |- | ||
| Інтерактивність через AJAX і нотифікації | | Інтерактивність через AJAX і нотифікації | ||
| 20 | | 20 | ||
| AJAX-форми, документи, статуси, нагадування по сертифікатах, вакансіях і контрактах | |||
|- | |||
! Разом | |||
! 100 | |||
! Максимальна оцінка | |||
|} | |||
== Шкала оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Бали | |||
! Рівень | |||
! Опис | |||
|- | |||
| 90–100 | |||
| Відмінно | |||
| Модуль повністю працює: моряки, документи, судна, вакансії, підбір, пропозиції, контракти, заміни, нотифікації та звіти реалізовані коректно | |||
|- | |||
| 75–89 | |||
| Добре | |||
| Основна логіка працює, є незначні недоліки, які не руйнують процес крюїнгу | |||
|- | |||
| 60–74 | |||
| Зараховано | |||
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання | |||
|- | |||
| 0–59 | |||
| Не зараховано | |||
| Відсутня критична логіка: база моряків, вакансії, підбір, документи, контракти або заміни | |||
|} | |} | ||
== Критичні помилки == | |||
Критичними помилками вважаються ситуації, коли: | |||
* неможливо створити анкету моряка; | |||
* неможливо додати сертифікат або документ; | |||
* система не контролює строки дії сертифікатів; | |||
* кандидат із простроченими обов’язковими документами показується як повністю придатний; | |||
* неможливо створити судно; | |||
* неможливо створити вакансію; | |||
* вакансія не має вимог до кандидата; | |||
* автоматичний підбір не враховує посаду; | |||
* автоматичний підбір не враховує дату доступності; | |||
* автоматичний підбір не враховує сертифікати; | |||
* пропозиція кандидату не змінює статус кандидата; | |||
* контракт не формується з даними кандидата, судна і вакансії; | |||
* завершення контракту не потрапляє в планування заміни; | |||
* зміни статусів не логуються; | |||
* звіти не відповідають фактичним вакансіям і кандидатам. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл крюїнгу: моряк → документи → вакансія → підбір → пропозиція → контракт → контроль завершення → заміна. | |||
</div> | |||
== Очікуваний результат == | |||
У результаті виконання атестаційного завдання має бути створений модуль Crew Management System у K2 ERP. | |||
Модуль має підтримувати позиції моряків, судна, судновласників, базу кандидатів, документи, сертифікати, досвід роботи, вакансії, вимоги до кандидатів, автоматичний підбір, пропозиції працевлаштування, контракти, планування замін, нотифікації, звіти, експорт, AJAX-інтерактив і логування змін. | |||
== Примітка == | == Примітка == | ||
Модуль пошуку моряків | Модуль пошуку моряків є критично важливим для крюїнгових агентств, судноплавних компаній, операторів флоту та сервісних організацій, які працюють у сфері морських перевезень. | ||
Правильно реалізований модуль дозволяє швидше закривати вакансії, не втрачати кандидатів, контролювати документи, уникати прострочених сертифікатів і своєчасно планувати заміни екіпажу. | |||
== Коротко == | |||
{| class="wikitable" style="width:100%;" | |||
! Питання | |||
! Відповідь | |||
|- | |||
| Що потрібно створити? | |||
| Модуль пошуку, обліку і працевлаштування моряків | |||
|- | |||
| Які довідники потрібні? | |||
| Позиції моряків, судна, типи суден, судновласники | |||
|- | |||
| Який головний об’єкт? | |||
| Анкета моряка з документами, досвідом і доступністю | |||
|- | |||
| Що таке вакансія? | |||
| Відкрита позиція на судні з вимогами до кандидата | |||
|- | |||
| Що має робити автоматичний підбір? | |||
| Шукати моряків за посадою, досвідом, сертифікатами, англійською і датою доступності | |||
|- | |||
| Які документи потрібні? | |||
| Сертифікати, паспорти, медичні довідки, рекомендації, контракт | |||
|- | |||
| Які звіти потрібні? | |||
| База моряків, відкриті вакансії, підбір кандидатів, контракти і заміни, сертифікати | |||
|- | |||
| Що є критичною вимогою? | |||
| Повний цикл: кандидат → документи → вакансія → підбір → контракт → заміна | |||
|} | |||
== Див. також == | |||
* [[K2 Cloud ERP|K2 ERP]] | |||
* [[K2 ERP]] | |||
* [[Атестаційні завдання K2 ERP]] | |||
* [[Crew Management System]] | |||
* [[CRM]] | |||
* [[HRM]] | |||
* [[Контракти]] | |||
* [[Документообіг]] | |||
* [[Підбір персоналу]] | |||
* [[Вакансії]] | |||
* [[Нотифікації]] | |||
* [[Звітність]] | |||
[[Категорія:K2 ERP]] | |||
[[Категорія:Атестаційні завдання K2]] | |||
[[Категорія:Crew Management System]] | |||
[[Категорія:Пошук моряків]] | |||
[[Категорія:HRM]] | |||
[[Категорія:Крюїнг]] | |||
[[Категорія:Документообіг]] | |||
[[Категорія:Корпоративна Wiki]] | |||
Поточна версія на 18:57, 1 травня 2026
Атестаційне завдання K2 ERP — Пошук на роботу морякам — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля пошуку, обліку, підбору та працевлаштування моряків.
Модуль має працювати як Crew Management System: вести базу кандидатів, сертифікати, документи, судна, вакансії, вимоги судновласників, автоматичний підбір моряків, пропозиції працевлаштування, контракти, терміни контрактів і планування замін екіпажу.
Коротко. Потрібно реалізувати модуль для крюїнгового агентства: база моряків, анкети, документи, сертифікати, судна, вакансії, автоматичний пошук кандидатів, статуси працевлаштування, контракти, нагадування про закінчення сертифікатів і планування замін екіпажу.
Назва завдання
Модуль пошуку, обліку і працевлаштування моряків: Crew Management System.
Мета завдання
Мета завдання — створити в K2 ERP модуль для автоматизації роботи крюїнгового агентства або судноплавної компанії.
Система повинна дозволяти:
- вести довідник посад моряків;
- вести довідник суден;
- вести судновласників;
- створювати анкету моряка;
- зберігати досвід роботи моряка;
- вести сертифікати й документи;
- контролювати строки дії сертифікатів;
- створювати вакансії на судна;
- задавати вимоги до кандидата;
- автоматично підбирати моряків під вакансію;
- створювати пропозиції працевлаштування;
- фіксувати статус кандидата;
- формувати контракт;
- контролювати строки контрактів;
- планувати заміни екіпажу;
- надсилати сповіщення;
- експортувати базу моряків, вакансії та звіти.
Головний принцип. Crew Management System — це не просто база резюме. Це система, яка пов’язує моряка, його документи, досвід, доступність, вакансію, судно, контракт і майбутню заміну екіпажу.
Реальний бізнес-контекст
Крюїнгове агентство або судноплавна компанія шукає моряків для різних судновласників і суден. Для кожної вакансії важливі не лише посада і зарплата, а й тип судна, досвід кандидата, сертифікація, рівень англійської, дата доступності та чинність документів.
У роботі агентства потрібно контролювати:
- хто з моряків доступний для роботи;
- які сертифікати має кандидат;
- коли закінчуються паспорти, медичні довідки та сертифікати;
- на яких типах суден кандидат працював раніше;
- які вакансії відкриті;
- які кандидати підходять під вимоги судновласника;
- хто прийняв або відхилив пропозицію;
- коли починається і закінчується контракт;
- кого потрібно готувати на заміну екіпажу.
Без автоматизованої системи ці дані часто ведуться в таблицях, пошті та месенджерах, що призводить до втрати кандидатів, прострочених документів і затримок у закритті вакансій.
Основний бізнес-процес
Типовий процес роботи крюїнгового агентства виглядає так:
- у систему вносяться посади моряків;
- створюються судна та судновласники;
- у базу додається анкета моряка;
- до анкети додаються документи, сертифікати й досвід;
- система контролює строки дії документів;
- менеджер створює вакансію на судно;
- у вакансії задаються вимоги до кандидата;
- система підбирає моряків, які відповідають вимогам;
- менеджер створює пропозицію кандидату;
- кандидат приймає або відхиляє пропозицію;
- формується контракт;
- кандидат переходить у статус працевлаштованого;
- система контролює закінчення контракту;
- менеджер планує заміну екіпажу.
Основні об’єкти модуля
| Об’єкт | Призначення |
|---|---|
| Позиції моряків | Посади: капітан, механік, електромеханік, кок, матрос тощо |
| Судна | Судна, на які відкриваються вакансії |
| Судновласники | Компанії, для яких підбирається екіпаж |
| Кандидати / моряки | Анкети моряків із контактами, досвідом і документами |
| Сертифікати | STCW, IMO, медичні та інші документи моряка |
| Досвід роботи | Контракти, судна, посади, типи суден і тривалість роботи |
| Вакансії | Відкриті позиції на судна |
| Підбір кандидатів | Пошук моряків, які відповідають вимогам вакансії |
| Пропозиції працевлаштування | Запрошення кандидата на конкретну вакансію |
| Контракти | Документи працевлаштування моряка |
| Заміни екіпажу | Планування заміни моряків після завершення контрактів |
| Нотифікації | Сповіщення про сертифікати, контракти, вакансії та зміни статусів |
| Звіти | Аналітика по кандидатах, вакансіях, контрактах і закриттю позицій |
Довідник «Позиції моряків»
Довідник позицій моряків містить посади, на які можуть відкриватися вакансії.
Приклади посад
- капітан;
- старший помічник капітана;
- другий помічник капітана;
- старший механік;
- другий механік;
- електромеханік;
- боцман;
- матрос;
- моторист;
- кок;
- стюард.
Поля позиції моряка
| Поле | Опис |
|---|---|
| Назва посади | Наприклад: Captain, Chief Engineer, Electrician, Cook, AB |
| Категорія | Deck Department, Engine Department, Hotel Department або інша |
| Рівень сертифікації | Вимоги STCW або інші стандарти |
| Мінімальний досвід | Опціонально, мінімальна кількість контрактів або місяців |
| Активність | Чи використовується посада в поточних вакансіях |
Категорії посад
| Категорія | Приклади посад |
|---|---|
| Deck Department | Captain, Chief Officer, Second Officer, AB, OS |
| Engine Department | Chief Engineer, Second Engineer, Electrician, Motorman |
| Hotel Department | Cook, Steward, Housekeeping, Service Staff |
Довідник «Судна»
Довідник суден містить судна, для яких відкриваються вакансії або ведеться екіпаж.
Поля судна
| Поле | Опис |
|---|---|
| Назва судна | Назва судна |
| Тип судна | Bulk Carrier, Container, Tanker, Cruise Ship або інший тип |
| Судновласник | Компанія-власник або оператор судна |
| Прапор судна | Країна прапора |
| DWT | Дедвейт судна |
| GRT | Валова місткість |
| Тип двигуна | Основний тип двигуна |
| Рік побудови | Опціонально |
| Статус | Активне, архівне, не використовується |
Типи суден
| Тип судна | Опис |
|---|---|
| Bulk Carrier | Балкер для перевезення навалочних вантажів |
| Container | Контейнеровоз |
| Tanker | Танкер |
| Cruise Ship | Круїзне судно |
| General Cargo | Судно для генеральних вантажів |
| Offshore Vessel | Офшорне судно |
Довідник «Судновласники»
Довідник судновласників містить компанії, які замовляють підбір екіпажу.
Поля судновласника
| Поле | Опис |
|---|---|
| Назва компанії | Назва судновласника або оператора |
| Країна | Країна реєстрації або роботи |
| Контактна особа | Представник судновласника |
| Контактна пошта | |
| Телефон | Контактний номер |
| Умови співпраці | Коментар щодо правил підбору екіпажу |
| Статус | Активний або неактивний |
База «Кандидати»
База кандидатів містить анкети моряків.
Картка моряка має бути центральним місцем, де зібрані особисті дані, контакти, досвід, сертифікати, документи, доступність, історія вакансій і контрактів.
Колонки бази кандидатів
| Колонка | Опис |
|---|---|
| ПІБ | Прізвище, ім’я та по батькові моряка |
| Дата народження | Дата народження кандидата |
| Позиція | Основна посада моряка |
| Досвід | Кількість контрактів або стаж у місяцях |
| Сертифікати | Наявність IMO, STCW та інших документів |
| Рівень англійської | Оцінка володіння англійською мовою |
| Дата доступності | Коли кандидат може вийти в рейс |
| Місце проживання | Країна, місто |
| Телефон | Контактний номер |
| Електронна адреса | |
| Статус | Доступний, запропоновано, на контракті, недоступний, архів |
Поля анкети моряка
| Поле | Опис |
|---|---|
| ПІБ | Повне ім’я моряка |
| Дата народження | Для перевірки віку та документів |
| Громадянство | Країна громадянства |
| Місце проживання | Країна, місто |
| Основна позиція | Посада, на яку претендує кандидат |
| Додаткові позиції | Інші посади, які може виконувати кандидат |
| Рівень англійської | Beginner, Intermediate, Upper-Intermediate, Advanced або інша шкала |
| Дата доступності | Коли кандидат готовий до роботи |
| Очікувана зарплата | Бажаний рівень оплати |
| Телефон | Контактний номер |
| Електронна адреса | |
| Коментар менеджера | Внутрішні примітки |
Статуси кандидата
| Статус | Значення |
|---|---|
| Новий | Анкету створено, але кандидат ще не опрацьований |
| Доступний | Кандидат готовий до пропозицій |
| Запропоновано | Кандидату запропоновано вакансію |
| Прийняв пропозицію | Кандидат погодився на вакансію |
| Відмовився | Кандидат відхилив пропозицію |
| На контракті | Кандидат працює на судні |
| Недоступний | Кандидат тимчасово не шукає роботу |
| Архів | Анкета не використовується в активному підборі |
Документи і сертифікати моряка
Модуль має дозволяти зберігати копії документів і сертифікатів.
Приклади документів
- паспорт;
- закордонний паспорт;
- seaman’s book;
- STCW-сертифікати;
- медична довідка;
- сертифікати безпеки;
- рекомендації;
- резюме;
- дипломи;
- візи.
Поля документа / сертифіката
| Поле | Опис |
|---|---|
| Тип документа | Паспорт, STCW, медична довідка, рекомендація тощо |
| Номер документа | Номер сертифіката або документа |
| Дата видачі | Коли документ виданий |
| Дата завершення | До якої дати документ чинний |
| Файл | Завантажена копія документа |
| Статус | Чинний, скоро закінчується, прострочений |
| Коментар | Додаткова інформація |
Критично. Кандидат із простроченим обов’язковим сертифікатом не повинен автоматично потрапляти в список повністю придатних кандидатів для вакансії.
Контроль строків сертифікатів
Система повинна автоматично контролювати закінчення строку дії документів.
Необхідно показувати:
- чинні документи;
- документи, що скоро закінчуються;
- прострочені документи;
- відсутні обов’язкові документи.
Нагадування по сертифікатах
Нотифікації потрібно надсилати:
- за 90 днів до завершення;
- за 30 днів до завершення;
- за 7 днів до завершення;
- у день завершення;
- після прострочення.
Точні строки можна винести в налаштування.
Досвід роботи моряка
Картка моряка повинна містити історію контрактів і досвіду.
Поля досвіду
| Поле | Опис |
|---|---|
| Судно | Назва судна, на якому працював кандидат |
| Тип судна | Bulk Carrier, Container, Tanker тощо |
| Позиція | Посада на судні |
| Дата початку | Початок контракту |
| Дата завершення | Кінець контракту |
| Тривалість | Розраховується в місяцях |
| Судновласник | Компанія або оператор |
| Рекомендація | Файл або коментар |
Журнал «Вакансії»
Журнал вакансій містить відкриті позиції на судна.
Колонки журналу вакансій
| Колонка | Опис |
|---|---|
| Номер вакансії | Унікальний номер вакансії |
| Судно | Судно, на яке потрібен кандидат |
| Судновласник | Компанія, для якої ведеться підбір |
| Позиція | Посада, на яку шукається моряк |
| Зарплата, USD | Рівень оплати |
| Початок контракту | Дата, коли кандидат має вийти на контракт |
| Тривалість контракту | Кількість місяців |
| Статус вакансії | Відкрита, підбір, заповнена, скасована |
| Менеджер | Відповідальний рекрутер |
Поля вакансії
| Поле | Опис |
|---|---|
| Номер вакансії | Генерується автоматично або вводиться вручну |
| Судно | Вибір із довідника суден |
| Позиція | Яка посада потрібна |
| Зарплата | Сума та валюта оплати |
| Початок контракту | Дата старту |
| Тривалість контракту | Тривалість у місяцях |
| Тип судна | Вимога до досвіду кандидата |
| Мінімальний стаж | Мінімальна кількість місяців або контрактів |
| Обов’язкові сертифікати | Перелік документів, які має мати кандидат |
| Мінімальний рівень англійської | Вимога до мови |
| Коментар судновласника | Додаткові умови |
Статуси вакансії
| Статус | Значення |
|---|---|
| Відкрита | Вакансія створена і доступна для підбору |
| Підбір | Менеджер розглядає кандидатів |
| Кандидат запропонований | Один або кілька кандидатів відправлені на розгляд |
| Заповнена | Кандидат прийнятий і контракт оформлено |
| Скасована | Вакансія більше не актуальна |
Підбір моряків
Підбір моряків — ключова функція модуля.
Система повинна знаходити кандидатів, які відповідають параметрам вакансії.
Критерії підбору
Автоматизований пошук має враховувати:
- посаду;
- досвід на потрібному типі судна;
- кількість контрактів;
- загальний стаж;
- валідні сертифікати;
- рівень англійської;
- дату доступності;
- статус кандидата;
- очікувану зарплату;
- місце проживання, якщо це важливо.
Результати підбору
У результаті пошуку система повинна показувати список кандидатів.
У списку потрібно бачити:
- ПІБ;
- позицію;
- досвід;
- типи суден;
- рівень англійської;
- дату доступності;
- стан сертифікатів;
- відповідність вимогам;
- причини невідповідності, якщо кандидат не проходить по окремих параметрах.
Практичний сенс. Система має не лише показати кандидатів, а й пояснити, чому кандидат підходить або не підходить: не вистачає досвіду, сертифікат прострочений, дата доступності пізніша за початок контракту тощо.
Пропозиція працевлаштування
Після підбору менеджер створює пропозицію кандидату.
Поля пропозиції
| Поле | Опис |
|---|---|
| Кандидат | Моряк, якому пропонується вакансія |
| Вакансія | Вакансія, на яку пропонується кандидат |
| Дата пропозиції | Коли зроблено пропозицію |
| Зарплата | Умови оплати |
| Початок контракту | Дата старту |
| Тривалість | Тривалість контракту |
| Статус пропозиції | Запропоновано, прийняв, відмовився, на розгляді |
| Коментар | Примітка менеджера або кандидата |
Статуси пропозиції
| Статус | Значення |
|---|---|
| Запропоновано | Кандидату надіслано пропозицію |
| На розгляді | Кандидат або судновласник розглядає пропозицію |
| Прийняв | Кандидат погодився |
| Відмовився | Кандидат відмовився |
| Відхилено судновласником | Судновласник не погодив кандидата |
Контрактування
Після прийняття пропозиції формується контракт моряка.
Поля контракту
| Поле | Опис |
|---|---|
| Номер контракту | Унікальний номер документа |
| Кандидат | Моряк, з яким укладається контракт |
| Судно | Судно, на яке йде кандидат |
| Посада | Позиція в екіпажі |
| Судновласник | Компанія або оператор |
| Дата початку | Початок контракту |
| Дата завершення | Планове завершення контракту |
| Тривалість | Тривалість у місяцях |
| Зарплата | Сума та валюта |
| Статус | Підготовлений, підписаний, активний, завершений, скасований |
Формування контракту
Контракт має формуватися автоматично на основі:
- даних моряка;
- даних судна;
- посади;
- зарплати;
- дат контракту;
- судновласника;
- умов вакансії.
Формат документа:
- PDF;
- DOCX, якщо потрібне редагування перед підписанням.
Планування замін екіпажу
Модуль має контролювати завершення контрактів і допомагати планувати заміни.
Логіка планування заміни
Система повинна:
- бачити дату завершення контракту;
- показувати контракти, які скоро завершуються;
- створювати потребу в заміні;
- пропонувати кандидатів на заміну;
- враховувати дату доступності кандидатів;
- не пропонувати кандидатів із простроченими обов’язковими документами.
Нагадування про завершення контракту
Система має надсилати сповіщення:
- за 60 днів до завершення контракту;
- за 30 днів;
- за 14 днів;
- за 7 днів;
- у день завершення.
Нотифікації
Модуль повинен підтримувати автоматичні сповіщення.
Події для сповіщень
Сповіщення бажано надсилати, коли:
- закінчується сертифікат;
- закінчується паспорт або медична довідка;
- створена нова вакансія;
- кандидат підходить під вакансію;
- кандидату зроблено пропозицію;
- кандидат прийняв або відхилив пропозицію;
- контракт скоро завершується;
- потрібно планувати заміну екіпажу.
Журнал змін статусів
Система повинна зберігати історію зміни статусів кандидата, вакансії, пропозиції та контракту.
Журнал має показувати:
- хто змінив статус;
- старий статус;
- новий статус;
- дату й час;
- коментар.
Звітність
Звіт «База моряків»
Звіт показує кандидатів за параметрами.
У звіті потрібно відображати:
- ПІБ;
- позицію;
- досвід;
- рівень англійської;
- дату доступності;
- статус кандидата;
- стан документів;
- контактні дані.
Звіт «Відкриті вакансії»
Звіт показує всі активні вакансії.
У звіті потрібно відображати:
- номер вакансії;
- судно;
- судновласника;
- позицію;
- зарплату;
- дату старту;
- статус;
- менеджера;
- кількість підібраних кандидатів.
Звіт «Підбір кандидатів»
Звіт показує, які кандидати були розглянуті по вакансії.
У звіті потрібно відображати:
- вакансію;
- кандидата;
- відповідність вимогам;
- статус пропозиції;
- коментар менеджера;
- дату останньої зміни.
Звіт «Контракти і заміни»
Звіт показує активні контракти та потребу в замінах.
У звіті потрібно відображати:
- моряка;
- судно;
- позицію;
- дату початку;
- дату завершення;
- кількість днів до завершення;
- статус заміни;
- рекомендованого кандидата на заміну, якщо є.
Звіт «Документи і сертифікати»
Звіт показує стан документів моряків.
У звіті потрібно відображати:
- моряка;
- тип документа;
- номер;
- дату завершення;
- статус;
- кількість днів до завершення;
- відповідального менеджера.
Експорт даних
Модуль має підтримувати експорт:
- бази моряків;
- вакансій;
- списку кандидатів по вакансії;
- контрактів;
- звіту по сертифікатах;
- звіту по замінах.
Формати:
- Excel;
- PDF.
AJAX-інтерактив
Інтерфейс має працювати швидко та без зайвого перезавантаження сторінок.
Через AJAX мають працювати:
- створення анкети моряка;
- пошук кандидата;
- завантаження документів;
- додавання сертифіката;
- перевірка строку дії документа;
- створення вакансії;
- пошук кандидатів під вакансію;
- створення пропозиції;
- зміна статусу пропозиції;
- формування контракту;
- фільтрація журналів;
- оновлення звітів.
Логування змін
Модуль повинен фіксувати важливі дії.
Журнал змін має зберігати:
- хто створив анкету моряка;
- хто змінив контактні дані;
- хто додав або видалив документ;
- хто змінив дату доступності;
- хто створив вакансію;
- хто змінив вимоги вакансії;
- хто створив пропозицію;
- хто змінив статус кандидата;
- хто сформував контракт;
- хто закрив вакансію;
- дату й час зміни;
- старе та нове значення, якщо це можливо.
Права доступу
Модуль має підтримувати розмежування прав.
| Роль | Можливості |
|---|---|
| Рекрутер | Веде анкети моряків, вакансії, підбір і пропозиції |
| Старший рекрутер | Контролює роботу рекрутерів, статуси вакансій і якість підбору |
| Документ-менеджер | Перевіряє сертифікати, паспорти, медичні довідки та строки дії |
| Керівник агентства | Переглядає звіти, вакансії, контракти, ефективність і закриття позицій |
| Адміністратор | Налаштовує довідники, права, шаблони контрактів і службові параметри |
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| База даних | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript |
| AJAX | Axios або Fetch API |
| UI-компоненти | DataTables, Select2, Datepicker |
| Документи | Завантаження копій сертифікатів, паспортів, рекомендацій |
| Друк | PDF-контракти та резюме моряків |
| Експорт | Excel для бази моряків, вакансій і звітів |
Рекомендовані сутності бази даних
Для реалізації задачі доцільно передбачити такі сутності:
- позиції моряків;
- категорії посад;
- судна;
- типи суден;
- судновласники;
- кандидати;
- контакти кандидатів;
- документи кандидатів;
- сертифікати;
- досвід роботи;
- вакансії;
- вимоги вакансій;
- результати підбору;
- пропозиції працевлаштування;
- контракти;
- заміни екіпажу;
- нотифікації;
- шаблони контрактів;
- журнал змін;
- права доступу;
- звіти.
Практичне завдання
У межах атестації потрібно продемонструвати робочий сценарій.
Мінімальний сценарій:
- створити позиції моряків;
- створити типи суден;
- створити судновласника;
- створити судно;
- створити анкету моряка;
- додати контакти кандидата;
- додати досвід роботи на суднах;
- завантажити документи й сертифікати;
- вказати строки дії сертифікатів;
- перевірити нагадування про сертифікат, що скоро закінчується;
- створити вакансію на судно;
- задати вимоги до кандидата;
- виконати автоматичний підбір моряків;
- переглянути кандидатів, які підходять і не підходять;
- створити пропозицію кандидату;
- змінити статус пропозиції на «Прийняв»;
- сформувати контракт;
- перевести кандидата у статус «На контракті»;
- створити нагадування про завершення контракту;
- сформувати звіт відкритих вакансій;
- сформувати звіт документів і сертифікатів;
- сформувати звіт контрактів і замін;
- експортувати базу кандидатів у Excel.
Критерії оцінювання
| Критерій | Бали | Що перевіряється |
|---|---|---|
| Реалізація бази моряків та їх пошуку | 20 | Анкети, контакти, досвід, документи, сертифікати, пошук і фільтри |
| Створення і управління вакансіями | 20 | Судна, судновласники, позиції, зарплата, строки, вимоги, статуси |
| Механізм підбору моряків по вакансіях | 20 | Автоматичний пошук за посадою, досвідом, типом судна, сертифікатами й доступністю |
| Формування контрактів і планування замін | 20 | Контракти, строки, статуси, завершення контракту, потреба в заміні |
| Інтерактивність через AJAX і нотифікації | 20 | AJAX-форми, документи, статуси, нагадування по сертифікатах, вакансіях і контрактах |
| Разом | 100 | Максимальна оцінка |
Шкала оцінювання
| Бали | Рівень | Опис |
|---|---|---|
| 90–100 | Відмінно | Модуль повністю працює: моряки, документи, судна, вакансії, підбір, пропозиції, контракти, заміни, нотифікації та звіти реалізовані коректно |
| 75–89 | Добре | Основна логіка працює, є незначні недоліки, які не руйнують процес крюїнгу |
| 60–74 | Зараховано | Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання |
| 0–59 | Не зараховано | Відсутня критична логіка: база моряків, вакансії, підбір, документи, контракти або заміни |
Критичні помилки
Критичними помилками вважаються ситуації, коли:
- неможливо створити анкету моряка;
- неможливо додати сертифікат або документ;
- система не контролює строки дії сертифікатів;
- кандидат із простроченими обов’язковими документами показується як повністю придатний;
- неможливо створити судно;
- неможливо створити вакансію;
- вакансія не має вимог до кандидата;
- автоматичний підбір не враховує посаду;
- автоматичний підбір не враховує дату доступності;
- автоматичний підбір не враховує сертифікати;
- пропозиція кандидату не змінює статус кандидата;
- контракт не формується з даними кандидата, судна і вакансії;
- завершення контракту не потрапляє в планування заміни;
- зміни статусів не логуються;
- звіти не відповідають фактичним вакансіям і кандидатам.
Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл крюїнгу: моряк → документи → вакансія → підбір → пропозиція → контракт → контроль завершення → заміна.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений модуль Crew Management System у K2 ERP.
Модуль має підтримувати позиції моряків, судна, судновласників, базу кандидатів, документи, сертифікати, досвід роботи, вакансії, вимоги до кандидатів, автоматичний підбір, пропозиції працевлаштування, контракти, планування замін, нотифікації, звіти, експорт, AJAX-інтерактив і логування змін.
Примітка
Модуль пошуку моряків є критично важливим для крюїнгових агентств, судноплавних компаній, операторів флоту та сервісних організацій, які працюють у сфері морських перевезень.
Правильно реалізований модуль дозволяє швидше закривати вакансії, не втрачати кандидатів, контролювати документи, уникати прострочених сертифікатів і своєчасно планувати заміни екіпажу.
Коротко
| Питання | Відповідь |
|---|---|
| Що потрібно створити? | Модуль пошуку, обліку і працевлаштування моряків |
| Які довідники потрібні? | Позиції моряків, судна, типи суден, судновласники |
| Який головний об’єкт? | Анкета моряка з документами, досвідом і доступністю |
| Що таке вакансія? | Відкрита позиція на судні з вимогами до кандидата |
| Що має робити автоматичний підбір? | Шукати моряків за посадою, досвідом, сертифікатами, англійською і датою доступності |
| Які документи потрібні? | Сертифікати, паспорти, медичні довідки, рекомендації, контракт |
| Які звіти потрібні? | База моряків, відкриті вакансії, підбір кандидатів, контракти і заміни, сертифікати |
| Що є критичною вимогою? | Повний цикл: кандидат → документи → вакансія → підбір → контракт → заміна |