Потрібно реалізувати систему створення та редагування гарантійних талонів (надалі - гарантійок) та за запитом віддавати інформацію у JSON.
Платформу можна обговорювати, перевагу віддамо розповсюдженим рішенням.
Доступ до системи за логіном-паролем.
Функціонал
1. Створення гарантійки.
Поля для заповнення при створенні нової гарантійки:
- номер замовлення - int
- дата виконання робіт - date
- роботи №1 // вартість №1 // термін гарантії (міс.) - string // int // int
- роботи №...
- + додати рядок
- підсумок (рахується автоматом сума вартості всіх робіт)
- коментар публічний - string
- коментар внутрішній - string
- виконавець - string
- активна (за замовчуванням - так) - boolean
При спробі створити гарантійку по замовленню, де вже є активна - відмовляти (створити неактивну - можна). У разі відмови обов’язково зберегти дані у заповненій формі, щоб не потрібно було все вносити повторно.
2. Пошук гарантійки за номером замовлення.
Якщо по замовленню створено одну або більше гарантійок - вивести їх перелік.
- Дата виконання робіт
- Номер замовлення
- Сума
- активна?
Можливі дії:
- Редагувати
- Дивитись лог змін
При редагуванні відкривається форма аналогічна формі створення гарантійки, але номер замовлення змінити не можна.
У системі може існувати тільки одна активна гарантійка, що відноситься до номеру замовлення. При спробі зберегти активною гарантійку по замовленню, де вже є активна - зберігаємо усі зміни, окрім статусу і виводимо попередження, що статус активності не змінено.
Лог змін - у системі мають фіксуватись усі зміни до цієї гарантійки у форматі - дата, користувач, що змінив. Включаючи створення та зміну статусу.
3. Віддача даних:
Скрипт, котрий при зверненні до нього з номером замовлення і у разі наявності активної гарантійки по цьому замовленню віддає дані у форматі JSON:
- № замовлення
- дата виконання робіт
- роботи №
- назва
- вартість
- термін гарантії
- ...
- підсумок
- виконавець
- коментар публічний