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

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні
Перейти до навігації Перейти до пошуку

Атестаційне завдання K2 ERP — TMS — практична задача для розробника K2 ERP, що передбачає створення модуля управління транспортними перевезеннями: облік замовлень на доставку, автомобілів, водіїв, маршрутів, витрат, статусів доставки, друкованих документів і звітності.

Назва

Модуль управління транспортними перевезеннями (TMS).

Реальний бізнес-контекст

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

У системі потрібно вести облік:

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

Менеджери повинні:

  • призначати машини на замовлення;
  • контролювати статуси перевезень у реальному часі;
  • отримувати акти виконаних робіт.

Основні завдання

1. Структура довідників

Довідник «Транспортні засоби»

Довідник транспортних засобів повинен містити:

  • державний номер;
  • марку та модель;
  • тип кузова;
  • вантажопідйомність;
  • власника транспорту:
    • компанія;
    • підрядник;
  • стан транспортного засобу:
    • активний;
    • на ремонті.

Довідник «Водії»

Довідник водіїв повинен містити:

  • ПІБ;
  • телефон;
  • водійське посвідчення;
  • прив’язку до транспортного засобу.

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

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

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

У журналі мають бути такі колонки:

  • номер замовлення;
  • дата створення;
  • замовник, контрагент;
  • пункт відправлення;
  • пункт призначення;
  • дата та час завантаження;
  • дата та час доставки;
  • статус замовлення:
    • нове;
    • в дорозі;
    • доставлено;
    • скасовано.

Функціональність журналу

Журнал має підтримувати:

  • пошук за номером замовлення;
  • пошук за замовником;
  • пошук за датами;
  • фільтрацію за статусами.

3. Форма створення замовлення на перевезення

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

Форма замовлення повинна містити:

  • замовника, контрагента через AJAX-пошук;
  • контактну особу;
  • пункт відправлення — пошук адреси або ручне введення;
  • пункт призначення;
  • планову дату завантаження;
  • планову дату доставки;
  • примітки.

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

Потрібно реалізувати:

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

Вибір водія

Система повинна пропонувати водія, який закріплений за машиною, або дозволяти вибрати іншого водія.

4. Операції зі статусами

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

  • Нове — замовлення створене;
  • Призначено — обрано машину та водія;
  • В дорозі — машина вирушила, статус встановлюється кнопкою «Почати доставку»;
  • Доставлено — машина прибула, статус встановлюється кнопкою «Завершити доставку»;
  • Скасовано — замовлення скасоване.

5. Додаткові розрахунки

Вартість доставки розраховується за тарифами.

Можливі варіанти тарифікації:

  • фіксована ціна за доставку;
  • ціна за кілометр з автоматичним розрахунком відстані через Google Maps API;
  • ціна за кілометр із ручним введенням відстані.

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

Вартість = Відстань × Тариф за 1 км + Додаткові витрати

До додаткових витрат можуть належати:

  • очікування;
  • навантаження;
  • інші витрати, пов’язані з перевезенням.

6. Шаблони документів

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

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

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

Акт виконаних робіт

Акт виконаних робіт формується після завершення доставки.

7. Звітність

Звіт «Перевезення за період»

Звіт має показувати:

  • кількість замовлень;
  • суми за перевезення;
  • витрати по транспорту;
  • коефіцієнт використання транспорту.

Звіт «Рентабельність транспорту»

Звіт має показувати:

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

8. Специфіка функціоналу

Модуль повинен підтримувати:

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

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

Параметр Опис
Бекенд K2 ERP на Python або PHP
БД PostgreSQL або MySQL
Фронтенд HTML5, JavaScript, AJAX через Fetch API або Axios
UI-компоненти DataTables, Select2 для автопошуку
Карти, опціонально Google Maps API або OpenStreetMap для розрахунку відстаней
Друк Stimulsoft Reports або внутрішній PDF-генератор

Критерії оцінки

Критерій Бали
Реалізація журналу замовлень 20
Форма замовлення з вибором машини і водія 20
Логіка статусів доставки 20
Розрахунок вартості перевезення 15
Формування друкованих документів 15
Звітність і аналітика 10
Разом 100

Примітка

Такий модуль критично важливий для компаній із логістикою: служб доставки товарів, будівельних компаній, сервісних служб, складів, ТРЦ і транспортних агентств.

Правильна реалізація TMS-модуля дозволяє контролювати весь ланцюжок доставки та оптимізувати витрати на транспорт.

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

У результаті виконання атестаційного завдання має бути створений TMS-модуль K2 ERP, який підтримує довідники транспортних засобів і водіїв, журнал замовлень на перевезення, форму замовлення з вибором машини та водія, логіку статусів, розрахунок вартості доставки, друк транспортної накладної й акту виконаних робіт, а також звіти по перевезеннях і рентабельності транспорту.

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

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

Див. також