wiki:АпликативенДизајн

Version 17 (modified by 221550, 3 weeks ago) ( diff )

--

Апликативен дизајн - Случаи на употреба и Сценарија за пристап до базата - SQL Погледи

Сценарија

Креирање нов клиент
Додавање возило на клиент
Додавање нов сервис на возило
Креирање нов дел во системот
Додавање делови на сервис
Креирање фактура
Креирање фискална сметка
Преглед на историја на сервиси
Доделување улоги на механичар

Најважни случаи на употреба и SQL Погледи

*сликите во наредните чекори не се конечен изглед на апликацијата

Креирање нов дел во системот

Актери:

  • Вработен
Чекор 1

Вработениот веќе има селектирано клиент и моторцкикл, потоа клика на копчето "Нов сервис" за да влезе во формата која овозможува креирање на нови делови.

Чекор 2

Се прикажува форма за внесување на нов дел. Вработениот ги пополнува:

  • Опис (напр. "Филтер за масло")
  • Мерна единица (напр. "парче")
  • Цена по единица
  • Даночна стапка
Чекор 3

Вработениот клика "Додади нов артикл".

INSERT INTO ServiceItems (Description, MeasurementUnit, PricePerUnit, Tax)
VALUES ('Филтер за масло', 'парче', 700.00, 00.00);
Чекор 4

Системот ја валидира формата и го зачувува артиклот во табелата ServiceItems. Вработениот добива потврда за успешно креирање.

Креирање фактура

Актери:

  • Вработен
Чекор 1

По завршување на сервисот, вработениот клика "Генерирај фактура" од деталите за сервисот.

Чекор 2

Системот прикажува преглед на сите трошоци (делови, труд, ДДВ) и опција за прикачување скенирана фактура.

SELECT 
    s.DateOfService,
    c.FirstName || ' ' || c.LastName AS Client,
    m.Model,
    m.Registration,
    si.Description,
    sa.UnitsUsed,
    si.PricePerUnit,
    s.TotalPrice
FROM Services s
JOIN Motorcycles m ON s.MotorcycleId = m.Id
JOIN Clients c ON m.ClientId = c.Id
JOIN ServiceAssignments sa ON sa.ServiceId = s.Id
JOIN ServiceItems si ON si.Id = sa.ServiceItemId
WHERE s.Id = 123;
Чекор 3

Вработениот прикачува PDF/слика од фактурата и клика "Потврди".

INSERT INTO ServiceInvoices (ServiceId, ImagePath)
VALUES (123, '/invoices/client_456_20231025.pdf');
Чекор 4

Системот автоматски креира фискална сметка со фирмени податоци: No image "invoice_step4_sketch.png" attached to АпликативенДизајн

INSERT INTO FiscalBills (ServiceInvoiceId, DDV, EDB, Description)
VALUES (
    (SELECT Id FROM ServiceInvoices WHERE ServiceId = 123),
    18.00,
    'MK123456789',
    'Сервис на мотор Honda CBR500R'
);

Додавање делови на сервис

Актери:

  • Вработен
Чекор 1

Вработениот го избира сервисот од листата на активни сервиси и клика "Додади делови". No image "service_step1_sketch.png" attached to АпликативенДизајн

Чекор 2

Системот прикажува листа на достапни делови од ServiceItems и механичари од !Mechanics. Вработениот избира:

  • Механичар (преку EMBG)
  • Делот од листата
  • Количина (напр. "2.00 литри")

No image "service_step2_sketch.png" attached to АпликативенДизајн

INSERT INTO ServiceAssignments (ServiceId, MechanicEMBG, ServiceItemId, UnitsUsed)
VALUES (
    (SELECT Id FROM Services WHERE MotorcycleId = 15 ORDER BY Id DESC LIMIT 1), 
    '1234567890123', 
    (SELECT Id FROM ServiceItems WHERE Description = 'Моторно масло'), 
    2.00
);
Чекор 3

Системот автоматски ја ажурира вкупната цена на сервисот врз основа на деловите и трудот: No image "service_step3_sketch.png" attached to АпликативенДизајн

UPDATE Services
SET TotalPrice = (
    SELECT SUM(si.PricePerUnit * sa.UnitsUsed * (1 + si.Tax/100)) 
    FROM ServiceAssignments sa
    JOIN ServiceItems si ON sa.ServiceItemId = si.Id
    WHERE sa.ServiceId = 123
) + LaborCost
WHERE Id = 123;
Чекор 4

Вработениот добива потврда дека деловите се успешно додадени со ажурирана цена. No image "service_step4_sketch.png" attached to АпликативенДизајн

Attachments (7)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.