102 | | === Додавање делови на сервис === |
103 | | |
104 | | '''Актери:''' |
105 | | - Вработен |
106 | | |
107 | | ===== Чекор 1 ===== |
108 | | Вработениот го избира сервисот од листата на активни сервиси и клика "Додади делови". |
109 | | [[Image(service_step1_sketch.png, align=center, width=50%)]] |
110 | | |
111 | | ===== Чекор 2 ===== |
112 | | Системот прикажува листа на достапни делови од '''!ServiceItems''' и механичари од '''!Mechanics'''. Вработениот избира: |
113 | | - Механичар (преку EMBG) |
114 | | - Делот од листата |
115 | | - Количина (напр. "2.00 литри") |
116 | | [[Image(service_step2_sketch.png, align=center, width=80%)]] |
117 | | |
118 | | {{{#!sql |
119 | | INSERT INTO ServiceAssignments (ServiceId, MechanicEMBG, ServiceItemId, UnitsUsed) |
120 | | VALUES ( |
121 | | (SELECT Id FROM Services WHERE MotorcycleId = 15 ORDER BY Id DESC LIMIT 1), |
122 | | '1234567890123', |
123 | | (SELECT Id FROM ServiceItems WHERE Description = 'Моторно масло'), |
124 | | 2.00 |
125 | | ); |
126 | | }}} |
127 | | |
128 | | ===== Чекор 3 ===== |
129 | | Системот автоматски ја ажурира вкупната цена на сервисот врз основа на деловите и трудот: |
130 | | [[Image(service_step3_sketch.png, align=center, width=80%)]] |
131 | | |
132 | | {{{#!sql |
133 | | UPDATE Services |
134 | | SET TotalPrice = ( |
135 | | SELECT SUM(si.PricePerUnit * sa.UnitsUsed * (1 + si.Tax/100)) |
136 | | FROM ServiceAssignments sa |
137 | | JOIN ServiceItems si ON sa.ServiceItemId = si.Id |
138 | | WHERE sa.ServiceId = 123 |
139 | | ) + LaborCost |
140 | | WHERE Id = 123; |
141 | | }}} |
142 | | |
143 | | ===== Чекор 4 ===== |
144 | | Вработениот добива потврда дека деловите се успешно додадени со ажурирана цена. |
145 | | [[Image(service_step4_sketch.png, align=center, width=80%)]] |
146 | | |