@@ 200-284 (lines=85) @@ | ||
197 | ||
198 | resp.body = json.dumps(meta_result) |
|
199 | ||
200 | @staticmethod |
|
201 | def on_delete(req, resp, id_): |
|
202 | if not id_.isdigit() or int(id_) <= 0: |
|
203 | raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', |
|
204 | description='API.INVALID_EQUIPMENT_ID') |
|
205 | ||
206 | cnx = mysql.connector.connect(**config.myems_system_db) |
|
207 | cursor = cnx.cursor() |
|
208 | ||
209 | # check relation with space |
|
210 | cursor.execute(" SELECT space_id " |
|
211 | " FROM tbl_spaces_equipments " |
|
212 | " WHERE equipment_id = %s ", |
|
213 | (id_,)) |
|
214 | rows_equipments = cursor.fetchall() |
|
215 | if rows_equipments is not None and len(rows_equipments) > 0: |
|
216 | cursor.close() |
|
217 | cnx.disconnect() |
|
218 | raise falcon.HTTPError(falcon.HTTP_400, |
|
219 | title='API.BAD_REQUEST', |
|
220 | description='API.THERE_IS_RELATION_WITH_SPACE') |
|
221 | ||
222 | # check relation with combined equipments |
|
223 | cursor.execute(" SELECT combined_equipment_id " |
|
224 | " FROM tbl_combined_equipments_equipments " |
|
225 | " WHERE equipment_id = %s ", |
|
226 | (id_,)) |
|
227 | rows_combined_equipments = cursor.fetchall() |
|
228 | if rows_combined_equipments is not None and len(rows_combined_equipments) > 0: |
|
229 | cursor.close() |
|
230 | cnx.disconnect() |
|
231 | raise falcon.HTTPError(falcon.HTTP_400, |
|
232 | title='API.BAD_REQUEST', |
|
233 | description='API.THERE_IS_RELATION_WITH_COMBINED_EQUIPMENTS') |
|
234 | ||
235 | # check relation with meter |
|
236 | cursor.execute(" SELECT meter_id " |
|
237 | " FROM tbl_equipments_meters " |
|
238 | " WHERE equipment_id = %s ", |
|
239 | (id_,)) |
|
240 | rows_meters = cursor.fetchall() |
|
241 | if rows_meters is not None and len(rows_meters) > 0: |
|
242 | cursor.close() |
|
243 | cnx.disconnect() |
|
244 | raise falcon.HTTPError(falcon.HTTP_400, |
|
245 | title='API.BAD_REQUEST', |
|
246 | description='API.THERE_IS_RELATION_WITH_METER') |
|
247 | ||
248 | # check relation with offline meter |
|
249 | cursor.execute(" SELECT offline_meter_id " |
|
250 | " FROM tbl_equipments_offline_meters " |
|
251 | " WHERE equipment_id = %s ", |
|
252 | (id_,)) |
|
253 | rows_offline_meters = cursor.fetchall() |
|
254 | if rows_offline_meters is not None and len(rows_offline_meters) > 0: |
|
255 | cursor.close() |
|
256 | cnx.disconnect() |
|
257 | raise falcon.HTTPError(falcon.HTTP_400, |
|
258 | title='API.BAD_REQUEST', |
|
259 | description='API.THERE_IS_RELATION_WITH_OFFLINE_METER') |
|
260 | ||
261 | # check relation with virtual meter |
|
262 | cursor.execute(" SELECT virtual_meter_id " |
|
263 | " FROM tbl_equipments_virtual_meters " |
|
264 | " WHERE equipment_id = %s ", |
|
265 | (id_,)) |
|
266 | rows_virtual_meters = cursor.fetchall() |
|
267 | if rows_virtual_meters is not None and len(rows_virtual_meters) > 0: |
|
268 | cursor.close() |
|
269 | cnx.disconnect() |
|
270 | raise falcon.HTTPError(falcon.HTTP_400, |
|
271 | title='API.BAD_REQUEST', |
|
272 | description='API.THERE_IS_RELATION_WITH_VIRTUAL_METER') |
|
273 | ||
274 | # delete all associated parameters |
|
275 | cursor.execute(" DELETE FROM tbl_equipments_parameters WHERE equipment_id = %s ", (id_,)) |
|
276 | cnx.commit() |
|
277 | ||
278 | cursor.execute(" DELETE FROM tbl_equipments WHERE id = %s ", (id_,)) |
|
279 | cnx.commit() |
|
280 | ||
281 | cursor.close() |
|
282 | cnx.disconnect() |
|
283 | ||
284 | resp.status = falcon.HTTP_204 |
|
285 | ||
286 | @staticmethod |
|
287 | def on_put(req, resp, id_): |
@@ 145-223 (lines=79) @@ | ||
142 | "kgco2e": row[5]} |
|
143 | resp.body = json.dumps(result) |
|
144 | ||
145 | @staticmethod |
|
146 | def on_delete(req, resp, id_): |
|
147 | if not id_.isdigit() or int(id_) <= 0: |
|
148 | raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', |
|
149 | description='API.INVALID_ENERGY_CATEGORY_ID') |
|
150 | ||
151 | cnx = mysql.connector.connect(**config.myems_system_db) |
|
152 | cursor = cnx.cursor() |
|
153 | ||
154 | cursor.execute(" SELECT name " |
|
155 | " FROM tbl_energy_categories " |
|
156 | " WHERE id = %s ", (id_,)) |
|
157 | if cursor.fetchone() is None: |
|
158 | cursor.close() |
|
159 | cnx.disconnect() |
|
160 | raise falcon.HTTPError(falcon.HTTP_404, title='API.NOT_FOUND', |
|
161 | description='API.ENERGY_CATEGORY_NOT_FOUND') |
|
162 | ||
163 | cursor.execute(" SELECT id " |
|
164 | " FROM tbl_meters " |
|
165 | " WHERE energy_category_id = %s ", (id_,)) |
|
166 | rows_meters = cursor.fetchall() |
|
167 | if rows_meters is not None and len(rows_meters) > 0: |
|
168 | cursor.close() |
|
169 | cnx.disconnect() |
|
170 | raise falcon.HTTPError(falcon.HTTP_400, |
|
171 | title='API.BAD_REQUEST', |
|
172 | description='API.ENERGY_CATEGORY_USED_IN_METER') |
|
173 | ||
174 | cursor.execute(" SELECT id " |
|
175 | " FROM tbl_virtual_meters " |
|
176 | " WHERE energy_category_id = %s ", (id_,)) |
|
177 | rows_virtual_meters = cursor.fetchall() |
|
178 | if rows_virtual_meters is not None and len(rows_virtual_meters) > 0: |
|
179 | cursor.close() |
|
180 | cnx.disconnect() |
|
181 | raise falcon.HTTPError(falcon.HTTP_400, |
|
182 | title='API.BAD_REQUEST', |
|
183 | description='API.ENERGY_CATEGORY_USED_IN_VIRTUAL_METER') |
|
184 | ||
185 | cursor.execute(" SELECT id " |
|
186 | " FROM tbl_offline_meters " |
|
187 | " WHERE energy_category_id = %s ", (id_,)) |
|
188 | rows_offline_meters = cursor.fetchall() |
|
189 | if rows_offline_meters is not None and len(rows_offline_meters) > 0: |
|
190 | cursor.close() |
|
191 | cnx.disconnect() |
|
192 | raise falcon.HTTPError(falcon.HTTP_400, |
|
193 | title='API.BAD_REQUEST', |
|
194 | description='API.ENERGY_CATEGORY_USED_IN_OFFLINE_METER') |
|
195 | ||
196 | cursor.execute(" SELECT id " |
|
197 | " FROM tbl_tariffs " |
|
198 | " WHERE energy_category_id = %s ", (id_,)) |
|
199 | rows_tariffs = cursor.fetchall() |
|
200 | if rows_tariffs is not None and len(rows_tariffs) > 0: |
|
201 | cursor.close() |
|
202 | cnx.disconnect() |
|
203 | raise falcon.HTTPError(falcon.HTTP_400, |
|
204 | title='API.BAD_REQUEST', |
|
205 | description='API.ENERGY_CATEGORY_USED_IN_TARIFFS') |
|
206 | ||
207 | cursor.execute(" SELECT id " |
|
208 | " FROM tbl_energy_items " |
|
209 | " WHERE energy_category_id = %s ", (id_,)) |
|
210 | rows_energy_items = cursor.fetchall() |
|
211 | if rows_energy_items is not None and len(rows_energy_items) > 0: |
|
212 | cursor.close() |
|
213 | cnx.disconnect() |
|
214 | raise falcon.HTTPError(falcon.HTTP_400, |
|
215 | title='API.BAD_REQUEST', |
|
216 | description='API.ENERGY_CATEGORY_USED_IN_ENERGY_ITEMS') |
|
217 | ||
218 | cursor.execute(" DELETE FROM tbl_energy_categories WHERE id = %s ", (id_,)) |
|
219 | cnx.commit() |
|
220 | ||
221 | cursor.close() |
|
222 | cnx.disconnect() |
|
223 | resp.status = falcon.HTTP_204 |
|
224 | ||
225 | @staticmethod |
|
226 | def on_put(req, resp, id_): |