Перейти до вмісту

Атестаційні завдання K2 ERP/TMS

Матеріал з K2 ERP Wiki

компонент керування транспортними перевезеннями (TMS).; {| class="wikitable" style="width:100%;"

Колонки журналу

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

Довідник водіїв містить інформацію про людей, які виконують перевезення.; Максимальна оцінка

Шкала оцінювання

Звіт має показувати загальну картину виконаних перевезень за вибраний період.; |- | Номер замовлення | Унікальний номер перевезення |- | Дата створення | Дата створення замовлення |- | Замовник | Контрагент, який замовив перевезення |- | Пункт відправлення | Адреса завантаження |- | Пункт призначення | Адреса доставки |- | Дата та час завантаження | Плановий або фактичний час завантаження |- | Дата та час доставки | Плановий або фактичний час доставки |- | Машина | Призначений транспортний засіб |- | Водій | Призначений водій |- | Статус | Нове, призначено, в дорозі, доставлено, скасовано |- | Вартість | Розрахована сума перевезення |}

Мінімальний складський облік даних:

  • пошук за номером замовлення;
  • пошук за замовником;
  • пошук за датами;
  • фільтрацію за статусом;
  • фільтрацію за водієм;
  • фільтрацію за машиною;
  • фільтрацію за складом або зоною відповідальності;
  • підсумки за обраним періодом.; компонент має забезпечувати обліковий облік замовлень на доставку, транспортних засобів, водіїв, маршрутів, статусів доставки, витрат, друкованих документів і звітності.; * замовлень на доставку;
  • автомобілів;
  • водіїв;
  • маршрутів;
  • витрат на перевезення;
  • статусів виконання доставки;
  • друкованих документів;
  • рентабельності транспорту.; характеристика

компонент має підтримувати довідники транспортних засобів і водіїв, журнал замовлень на перевезення, форму замовлення з вибором машини та водія, логіку статусів, розрахунок вартості доставки, друк транспортної накладної й акту виконаних робіт, а додатково звіти по перевезеннях і рентабельності транспорту.; Транспортна накладна — це друкований документ, який супроводжує перевезення.; характеристика

Формула розрахунку вартості

!; Відповідь платформа повинна допомагати компанії контролювати весь бізнес-процес перевезення: від створення замовлення до завершення доставки, формування документів і аналізу витрат.; Разом

Коротко

|- | Зберегти замовлення | Статус «Нове» |- | Призначити машину й водія | Статус «Призначено» |- | Натиснути «Почати доставку» | Статус «В дорозі» |- | Натиснути «Завершити доставку» | Статус «Доставлено» |- | Натиснути «Скасувати» | Статус «Скасовано» |}

платформа повинна пропонувати водія, який закріплений за обраною машиною, але додатково має дозволяти вибрати іншого водія.; додатково потрібно реалізувати автоматичний фільтр за вантажопідйомністю.; * транспортний засіб;

  • кількість перевезень;
  • доходи;
  • витрати;
  • прибуток;
  • рентабельність.; Питання

!; Опціонально можна використовувати Google Maps API або OpenStreetMap для пошуку адрес і розрахунку відстані.; Статус !; Мета задача — створити в K2 ERP компонент для керування доставками та транспортною логістикою.; Значення

Для реалізації задачі доцільно передбачити такі сутності:

Рекомендовані сутності бази даних

!; Поле |- | Активний | Машина доступна для призначення на перевезення |- | На ремонті | Машина тимчасово недоступна |- | Недоступний | Машина не має змогу використовуватися в роботі |}

Типовий бізнес-процес роботи TMS-модуля виглядає так:

Нове, призначено, в дорозі, доставлено, скасовано
Як розраховується вартість?; характеристика

Маршрути та карти

  1. менеджер створює замовлення на перевезення;
  2. вказує замовника, пункт відправлення і пункт призначення;
  3. задає планову дату завантаження та доставки;
  4. платформа пропонує доступні транспортні засоби;
  5. менеджер обирає машину та водія;
  6. замовлення переходить у статус «Призначено»;
  7. водій або менеджер запускає доставку;
  8. замовлення переходить у статус «В дорозі»;
  9. після завершення доставки замовлення переходить у статус «Доставлено»;
  10. платформа формує транспортну накладну та акт виконаних робіт;
  11. інформаційні дані потрапляють у звіти по перевезеннях, витратах і рентабельності.; * очікування;
  • навантаження;
  • розвантаження;
  • платні дороги;
  • додаткові заїзди;
  • інші витрати, пов’язані з перевезенням.; {| class="wikitable" style="width:100%;"
Нове Замовлення створене, але ще не призначено машину й водія
Призначено Обрано машину та водія
В дорозі Машина вирушила, статус встановлюється кнопкою «Почати доставку»
Доставлено Машина прибула, статус встановлюється кнопкою «Завершити доставку»
Скасовано Замовлення скасоване

У ньому потрібно показати:

; * фіксована ціна за доставку;
  • ціна за кілометр з автоматичним розрахунком відстані через Google Maps API;
  • ціна за кілометр із ручним введенням відстані;
  • комбінований тариф.; Це платформа керування доставкою: замовлення → маршрут → машина → водій → статус → витрати → документи → аналітичні інструменти.; * менеджери бачать лише свої замовлення;
  • менеджери бачать замовлення за певними складами;
  • керівник бачить усі замовлення;
  • диспетчер бачить замовлення по транспорту;
  • бухгалтер бачить документи та акти.; TMS — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля керування транспортними перевезеннями виступає ключовою рисою Атестаційне задача K2 ERP.; компонент має підтримувати:
; У результаті виконання атестаційного задача має бути створений TMS-модуль K2 ERP.; компонент повинен підтримувати контроль доступу.;== Критерії оцінювання ==

У звіті потрібно відображати:

ключовий бізнес-процес

У журналі менеджер повинен оперативно бачити, які замовлення нові, які вже в дорозі, які завершені, а які скасовані.; Зміна статусів має виконуватися через зрозумілі дії користувача.; | За фіксованим тарифом або за формулою: відстань × тариф за км + додаткові витрати

Транспортна накладна та акт виконаних робіт Транспортні засоби та водії Який центральний документ?; характеристика
  • замовника;
  • номер замовлення;
  • маршрут;
  • дату виконання;
  • вартість перевезення;
  • додаткові витрати;
  • підсумкову суму;
  • реквізити сторін;
  • місце для підписів.;
Акт має підтверджувати факт надання транспортної послуги.; характеристика !; !;== Розрахунок вартості перевезення == !; 100 == Стани транспортного засобу == == Операції зі статусами == # створити транспортний засіб; # створити водія; # прив’язати водія до транспортного засобу; # створити замовника; # створити замовлення на перевезення; # вказати пункт відправлення та пункт призначення; # вказати планову дату завантаження й доставки; # обрати доступну машину; # перевірити фільтр за вантажопідйомністю; # обрати або автономно підтягнути водія; # перевести замовлення в статус '''«Призначено»'''; # натиснути '''«Почати доставку»'''; # перевести замовлення в статус '''«В дорозі»'''; # натиснути '''«Завершити доставку»'''; # перевести замовлення в статус '''«Доставлено»'''; # розрахувати вартість перевезення; # додати додаткові витрати; # сформувати транспортну накладну; # сформувати акт виконаних робіт; # сформувати звіт перевезень за період; # сформувати звіт рентабельності транспорту; # показати журнал змін статусів.; Поле Форма замовлення повинна містити всю інформацію, необхідну для планування та виконання доставки.;== Акт виконаних робіт == * кількість замовлень; * загальну вартість перевезень; * кількість доставлених замовлень; * кількість скасованих замовлень.; Об’єкт == Функціональність журналу == __TOC__ == Форма створення замовлення на перевезення == Журнал має підтримувати: !; !; характеристика == Вибір водія == '''істотно.''' Машина, яка перебуває на ремонті або вже зайнята на інше перевезення в той самий час, не повинна пропонуватися як доступна для нового замовлення.; !; Значення Можливі правила: |} == Практичне задача == == Довідник «Транспортні засоби» == <pre> У системі потрібно вести обліковий облік: == Довідник «Водії» == |- | 90–100 | Відмінно | компонент в цілому функціонує: замовлення, машини, водії, статуси, тарифи, документи, звіти й контроль доступу реалізовані коректно |- | 75–89 | Добре | Основна логіка функціонує, є собою незначні недоліки, які не руйнують бізнес-процес |- | 60–74 | Зараховано | Базовий сценарій функціонує, але частина функцій реалізована неповно або потребує доопрацювання |- | 0–59 | Не зараховано | Відсутня критична логіка: статуси, вибір машини й водія, розрахунок вартості, документи або звіти |} {| class="wikitable" style="width:100%;" організація здійснює доставку товарів власним або залученим транспортом.; {| class="wikitable" style="width:100%;" == Критичні помилки == !; Рівень [[Категорія:Транспортні перевезення]] * вести довідник транспортних засобів; * вести довідник водіїв; * створювати замовлення на перевезення; * планувати маршрути; * призначати автомобіль і водія; * контролювати статус доставки; * розраховувати вартість перевезення; * враховувати додаткові витрати; * друкувати транспортну накладну; * формувати акт виконаних робіт; * будувати звіти по перевезеннях і рентабельності транспорту.; Стан Критичними помилками вважаються ситуації, коли: <div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> |- | Бекенд | K2 ERP на Python або PHP |- | База даних | PostgreSQL або MySQL |- | Фронтенд | HTML5, JavaScript |- | AJAX | Fetch API або Axios |- | UI-компоненти | DataTables, Select2 для автопошуку |- | Карти, опціонально | Google Maps API або OpenStreetMap для розрахунку відстаней |- | Друк | Stimulsoft Reports або внутрішній PDF-генератор |} Потрібно логувати зміни в замовленнях і статусах.;== Звіт «Рентабельність транспорту» == </div> Менеджери повинні мати можливість призначати машини на замовлення, бачити доступність транспорту, контролювати статуси перевезень у реальному часі та отримувати документи після завершення доставки.; Що перевіряється Приклад формули: !; Призначення '''Коротко.''' Потрібно реалізувати TMS-модуль, який надає можливість створювати замовлення на перевезення, призначати машину й водія, контролювати статус доставки, розраховувати вартість перевезення, друкувати транспортну накладну та аналізувати рентабельність транспорту.; !; |- | ПІБ | Прізвище, ім’я та по батькові водія |- | Телефон | Контактний номер |- | Водійське посвідчення | Номер або інформаційні дані посвідчення |- | Закріплений транспортний засіб | Машина, за якою закріплений водій |- | Статус | Активний, відпустка, недоступний |} !;== Реальний бізнес-контекст == {| class="wikitable" style="width:100%;" Вартість доставки розраховується за тарифами.; !;

Умова складання. задача не має змогу бути зараховане, якщо платформа не надає можливість пройти повний цикл доставки: створення замовлення → призначення машини й водія → доставка → завершення → друк документів → звіт.; У звіті потрібно відображати: У результаті компонент має дозволяти:

Державний номер Реєстраційний номер транспортного засобу Марка та модель як ілюстрація, MAN, Mercedes-Benz, Ford, Renault Тип кузова Тент, фургон, рефрижератор, бортовий, контейнеровоз тощо Вантажопідйомність Максимальна вага вантажу Власник транспорту організація або підрядник Стан Активний, на ремонті, недоступний Примітки Додаткова відомості по машині

Технічні вимоги

Логування змін

центральний принцип. TMS — це не без ускладнень список машин і водіїв.; !; |- | Замовник | Контрагент через AJAX-пошук |- | Контактна особа | Представник замовника |- | Пункт відправлення | Пошук адреси або ручне введення |- | Пункт призначення | Адреса доставки |- | Планова дата завантаження | Коли потрібно завантажити товар |- | Планова дата доставки | Коли потрібно доставити товар |- | Примітки | Додаткові умови перевезення |- | Статус | Поточний статус замовлення |}

!; компаній із логістикою: служб доставки товарів забезпечується через Такий компонент критично важливий; додатково реалізовано будівельних компаній, сервісних служб, складів, ТРЦ і транспортних агентств.; У межах атестації потрібно продемонструвати робочий сценарій.; |- | Що потрібно створити?; {| class="wikitable" style="width:100%;"

Потрібно реалізувати такі статуси замовлення:

!; | Повний цикл доставки зі статусами, документами й звітами |}

Транспортна накладна

Журнал замовлень на перевезення відображає всі доставки та їхній поточний стан.; Колонка

Примітка

У транспортній накладній потрібно виводити:

Правильна реалізація TMS-модуля надає можливість контролювати весь ланцюжок доставки та оптимізувати витрати на транспорт.; Після вибору транспортного засобу платформа повинна пропонувати водія, який закріплений за машиною.;

Мінімальний складський облік даних: !; {| class="wikitable" style="width:100%;"

Акт виконаних робіт формується після завершення доставки.; | Перевезення за період і рентабельність транспорту |- | Що є собою критичною вимогою?; До додаткових витрат можуть належати: |- | Реалізація журналу замовлень | 20 | Список перевезень, пошук, фільтри, статуси, підсумки за період |- | Форма замовлення з вибором машини і водія | 20 | AJAX-пошук замовника, адреси, доступні машини, фільтр вантажопідйомності, вибір водія |- | Логіка статусів доставки | 20 | Нове, призначено, в дорозі, доставлено, скасовано; зміна через кнопки та AJAX |- | Розрахунок вартості перевезення | 15 | Тариф за км, фіксована ціна, відстань, додаткові витрати, підсумкова сума |- | Друковані документи | 15 | Транспортна накладна та акт виконаних робіт |- | формування звітів і аналітичні інструменти | 10 | Перевезення за період, рентабельність транспорту, підсумки |- У заголовку замовлення потрібно передбачити: !; Можливі варіанти тарифікації:

  • транспортні засоби;
  • водії;
  • контрагенти-замовники;
  • замовлення на перевезення;
  • статуси замовлень;
  • маршрути;
  • точки маршруту;
  • тарифи;
  • додаткові витрати;
  • транспортні накладні;
  • акти виконаних робіт;
  • журнали змін статусів;
  • права доступу менеджерів;
  • склади або зони відповідальності.; | Замовлення на перевезення

|- | Які статуси потрібні?; !; Вартість = Відстань × Тариф за 1 км + Додаткові витрати

Журнал «Замовлення на перевезення»

платформа повинна враховувати:

!; Не можна завершити доставку, якщо машина й водій не були призначені.;== Звіт «Перевезення за період» ==

Основні об’єкти модуля

Мета задача

  • хто створив замовлення;
  • хто призначив машину;
  • хто змінив водія;
  • хто змінив статус;
  • хто скасував замовлення;
  • дату й час зміни;
  • старе та нове значення.; * кількість замовлень;
  • суми за перевезення;
  • витрати по транспорту;
  • кількість доставлених замовлень;
  • кількість скасованих замовлень;
  • коефіцієнт використання транспорту.; Поле

Заголовок замовлення

Журнал змін має фіксувати:

Вибір транспортного засобу

Критично. Статуси доставки мають відображати реальний стан перевезення.; Параметр

Водій не повинен бути зайнятий в іншому перевезенні на той самий період.; Транспортний засіб має брати участь у виборі доступних машин на дату перевезення.; Звіт має показувати ефективність використання кожного транспортного засобу.; !;

Назва задача

  • номер замовлення;
  • машину;
  • водія;
  • замовника;
  • пункт відправлення;
  • пункт призначення;
  • планову або фактичну дату доставки;
  • список товарів, якщо потрібен;
  • підписи водія і представника замовника.; Критерій

!; Бали

Див.; додатково

!; Мінімальний сценарій: Довідник транспортних засобів містить інформацію про автомобілі, які можуть виконувати перевезення.; Рентабельність = (Доходи - Витрати) / Витрати × 100% |- | Транспортні засоби | Автомобілі компанії або підрядників, які виконують перевезення |- | Водії | Працівники або підрядники, які керують транспортом |- | Контрагенти-замовники | Клієнти, які замовляють доставку |- | Замовлення на перевезення | ключовий документ TMS-модуля |- | Маршрути | Пункт відправлення, пункт призначення та проміжні точки |- | Статуси доставки | Поточний стан виконання замовлення |- | Тарифи | Правила розрахунку вартості перевезення |- | Додаткові витрати | Очікування, навантаження, розвантаження та інші витрати |- | Транспортна накладна | Друкований документ по перевезенню |- | Акт виконаних робіт | Документ, що підтверджує надання послуги доставки |- | Журнал змін | історичний розвиток змін замовлення та статусів |}


як ілюстрація, якщо вага вантажу становить 5 тонн, платформа не повинна пропонувати машину з вантажопідйомністю 2 тонни.; {| class="wikitable" style="width:100%;"

Потрібно реалізувати вибір із вільних машин, доступних на дату перевезення.; Результат

У журналі потрібно показувати підсумки:
  • дату та час перевезення;
  • зайнятість машини в інших замовленнях;
  • стан транспортного засобу;
  • вантажопідйомність;
  • тип кузова, якщо він важливий для доставки.; | компонент керування транспортними перевезеннями
Які довідники потрібні?; Бали

Статуси замовлення

; * пункт відправлення;
  • пункт призначення;
  • за потреби — проміжні точки маршруту;
  • ручне введення відстані;
  • автоматичний розрахунок відстані, якщо підключено карту;
  • збереження маршруту в замовленні.; * неможливо створити замовлення на перевезення;
  • машина на ремонті пропонується як доступна;
  • зайнята машина має змогу бути призначена на інше перевезення в той самий час;
  • водій має змогу бути призначений на два перевезення одночасно;
  • доставку можна завершити без призначеної машини й водія;
  • статуси змінюються хаотично або без логіки;
  • розрахунок вартості перевезення неправильний;
  • транспортна накладна або акт не формуються;
  • звіти не враховують фактичні замовлення;
  • зміни статусів не логуються.; Зміна всіх статусів повинна працювати через AJAX без повного перезавантаження сторінки.; Дія

паралельно з цим користувач системи повинен мати можливість вибрати іншого водія, якщо це потрібно.; == Контроль доступу ==