Changes between Version 15 and Version 16 of АпликативенДизајн


Ignore:
Timestamp:
01/30/25 14:09:57 (3 weeks ago)
Author:
221550
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • АпликативенДизајн

    v15 v16  
    4848=== Додавање делови на сервис ===
    4949
     50'''Актери:'''
     51- Вработен
     52
     53===== Чекор 1 =====
     54Вработениот го избира сервисот од листата на активни сервиси и клика "Додади делови".
     55[[Image(service_step1_sketch.png, align=center, width=50%)]]
     56
     57===== Чекор 2 =====
     58Системот прикажува листа на достапни делови од '''!ServiceItems''' и механичари од '''!Mechanics'''. Вработениот избира:
     59- Механичар (преку EMBG)
     60- Делот од листата
     61- Количина (напр. "2.00 литри")
     62[[Image(service_step2_sketch.png, align=center, width=80%)]]
     63
     64{{{#!sql
     65INSERT INTO ServiceAssignments (ServiceId, MechanicEMBG, ServiceItemId, UnitsUsed)
     66VALUES (
     67    (SELECT Id FROM Services WHERE MotorcycleId = 15 ORDER BY Id DESC LIMIT 1),
     68    '1234567890123',
     69    (SELECT Id FROM ServiceItems WHERE Description = 'Моторно масло'),
     70    2.00
     71);
     72}}}
     73
     74===== Чекор 3 =====
     75Системот автоматски ја ажурира вкупната цена на сервисот врз основа на деловите и трудот:
     76[[Image(service_step3_sketch.png, align=center, width=80%)]]
     77
     78{{{#!sql
     79UPDATE Services
     80SET TotalPrice = (
     81    SELECT SUM(si.PricePerUnit * sa.UnitsUsed * (1 + si.Tax/100))
     82    FROM ServiceAssignments sa
     83    JOIN ServiceItems si ON sa.ServiceItemId = si.Id
     84    WHERE sa.ServiceId = 123
     85) + LaborCost
     86WHERE Id = 123;
     87}}}
     88
     89===== Чекор 4 =====
     90Вработениот добива потврда дека деловите се успешно додадени со ажурирана цена.
     91[[Image(service_step4_sketch.png, align=center, width=80%)]]
     92
    5093=== Креирање фактура ===
     94
     95'''Актери:'''
     96- Вработен
     97
     98===== Чекор 1 =====
     99По завршување на сервисот, вработениот клика "Генерирај фактура" од деталите за сервисот.
     100[[Image(invoice_step1_sketch.png, align=center, width=50%)]]
     101
     102===== Чекор 2 =====
     103Системот прикажува преглед на сите трошоци (делови, труд, ДДВ) и опција за прикачување скенирана фактура.
     104[[Image(invoice_step2_sketch.png, align=center, width=80%)]]
     105
     106{{{#!sql
     107SELECT
     108    s.DateOfService,
     109    c.FirstName || ' ' || c.LastName AS Client,
     110    m.Model,
     111    m.Registration,
     112    si.Description,
     113    sa.UnitsUsed,
     114    si.PricePerUnit,
     115    s.TotalPrice
     116FROM Services s
     117JOIN Motorcycles m ON s.MotorcycleId = m.Id
     118JOIN Clients c ON m.ClientId = c.Id
     119JOIN ServiceAssignments sa ON sa.ServiceId = s.Id
     120JOIN ServiceItems si ON si.Id = sa.ServiceItemId
     121WHERE s.Id = 123;
     122}}}
     123
     124===== Чекор 3 =====
     125Вработениот прикачува PDF/слика од фактурата и клика "Потврди".
     126[[Image(invoice_step3_sketch.png, align=center, width=80%)]]
     127
     128{{{#!sql
     129INSERT INTO ServiceInvoices (ServiceId, ImagePath)
     130VALUES (123, '/invoices/client_456_20231025.pdf');
     131}}}
     132
     133===== Чекор 4 =====
     134Системот автоматски креира фискална сметка со фирмени податоци:
     135[[Image(invoice_step4_sketch.png, align=center, width=80%)]]
     136
     137{{{#!sql
     138INSERT INTO FiscalBills (ServiceInvoiceId, DDV, EDB, Description)
     139VALUES (
     140    (SELECT Id FROM ServiceInvoices WHERE ServiceId = 123),
     141    18.00,
     142    'MK123456789',
     143    'Сервис на мотор Honda CBR500R'
     144);
     145}}}