| 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 |
| 65 | INSERT INTO ServiceAssignments (ServiceId, MechanicEMBG, ServiceItemId, UnitsUsed) |
| 66 | VALUES ( |
| 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 |
| 79 | UPDATE Services |
| 80 | SET 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 |
| 86 | WHERE Id = 123; |
| 87 | }}} |
| 88 | |
| 89 | ===== Чекор 4 ===== |
| 90 | Вработениот добива потврда дека деловите се успешно додадени со ажурирана цена. |
| 91 | [[Image(service_step4_sketch.png, align=center, width=80%)]] |
| 92 | |
| 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 |
| 107 | SELECT |
| 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 |
| 116 | FROM Services s |
| 117 | JOIN Motorcycles m ON s.MotorcycleId = m.Id |
| 118 | JOIN Clients c ON m.ClientId = c.Id |
| 119 | JOIN ServiceAssignments sa ON sa.ServiceId = s.Id |
| 120 | JOIN ServiceItems si ON si.Id = sa.ServiceItemId |
| 121 | WHERE s.Id = 123; |
| 122 | }}} |
| 123 | |
| 124 | ===== Чекор 3 ===== |
| 125 | Вработениот прикачува PDF/слика од фактурата и клика "Потврди". |
| 126 | [[Image(invoice_step3_sketch.png, align=center, width=80%)]] |
| 127 | |
| 128 | {{{#!sql |
| 129 | INSERT INTO ServiceInvoices (ServiceId, ImagePath) |
| 130 | VALUES (123, '/invoices/client_456_20231025.pdf'); |
| 131 | }}} |
| 132 | |
| 133 | ===== Чекор 4 ===== |
| 134 | Системот автоматски креира фискална сметка со фирмени податоци: |
| 135 | [[Image(invoice_step4_sketch.png, align=center, width=80%)]] |
| 136 | |
| 137 | {{{#!sql |
| 138 | INSERT INTO FiscalBills (ServiceInvoiceId, DDV, EDB, Description) |
| 139 | VALUES ( |
| 140 | (SELECT Id FROM ServiceInvoices WHERE ServiceId = 123), |
| 141 | 18.00, |
| 142 | 'MK123456789', |
| 143 | 'Сервис на мотор Honda CBR500R' |
| 144 | ); |
| 145 | }}} |