| @@ 161-217 (lines=57) @@ | ||
| 158 | "energy_category": energy_category} |
|
| 159 | resp.body = json.dumps(result) |
|
| 160 | ||
| 161 | @staticmethod |
|
| 162 | def on_delete(req, resp, id_): |
|
| 163 | if not id_.isdigit() or int(id_) <= 0: |
|
| 164 | raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', |
|
| 165 | description='API.INVALID_ENERGY_ITEM_ID') |
|
| 166 | ||
| 167 | cnx = mysql.connector.connect(**config.myems_system_db) |
|
| 168 | cursor = cnx.cursor() |
|
| 169 | ||
| 170 | cursor.execute(" SELECT name " |
|
| 171 | " FROM tbl_energy_items " |
|
| 172 | " WHERE id = %s ", (id_,)) |
|
| 173 | if cursor.fetchone() is None: |
|
| 174 | cursor.close() |
|
| 175 | cnx.disconnect() |
|
| 176 | raise falcon.HTTPError(falcon.HTTP_404, title='API.NOT_FOUND', |
|
| 177 | description='API.ENERGY_ITEM_NOT_FOUND') |
|
| 178 | ||
| 179 | cursor.execute(" SELECT id " |
|
| 180 | " FROM tbl_meters " |
|
| 181 | " WHERE energy_item_id = %s ", (id_,)) |
|
| 182 | rows_meters = cursor.fetchall() |
|
| 183 | if rows_meters is not None and len(rows_meters) > 0: |
|
| 184 | cursor.close() |
|
| 185 | cnx.disconnect() |
|
| 186 | raise falcon.HTTPError(falcon.HTTP_400, |
|
| 187 | title='API.BAD_REQUEST', |
|
| 188 | description='API.ENERGY_ITEM_USED_IN_METER') |
|
| 189 | ||
| 190 | cursor.execute(" SELECT id " |
|
| 191 | " FROM tbl_virtual_meters " |
|
| 192 | " WHERE energy_item_id = %s ", (id_,)) |
|
| 193 | rows_virtual_meters = cursor.fetchall() |
|
| 194 | if rows_virtual_meters is not None and len(rows_virtual_meters) > 0: |
|
| 195 | cursor.close() |
|
| 196 | cnx.disconnect() |
|
| 197 | raise falcon.HTTPError(falcon.HTTP_400, |
|
| 198 | title='API.BAD_REQUEST', |
|
| 199 | description='API.ENERGY_ITEM_USED_IN_VIRTUAL_METER') |
|
| 200 | ||
| 201 | cursor.execute(" SELECT id " |
|
| 202 | " FROM tbl_offline_meters " |
|
| 203 | " WHERE energy_item_id = %s ", (id_,)) |
|
| 204 | rows_offline_meters = cursor.fetchall() |
|
| 205 | if rows_offline_meters is not None and len(rows_offline_meters) > 0: |
|
| 206 | cursor.close() |
|
| 207 | cnx.disconnect() |
|
| 208 | raise falcon.HTTPError(falcon.HTTP_400, |
|
| 209 | title='API.BAD_REQUEST', |
|
| 210 | description='API.ENERGY_ITEM_USED_IN_OFFLINE_METER') |
|
| 211 | ||
| 212 | cursor.execute(" DELETE FROM tbl_energy_items WHERE id = %s ", (id_,)) |
|
| 213 | cnx.commit() |
|
| 214 | ||
| 215 | cursor.close() |
|
| 216 | cnx.disconnect() |
|
| 217 | resp.status = falcon.HTTP_204 |
|
| 218 | ||
| 219 | @staticmethod |
|
| 220 | def on_put(req, resp, id_): |
|
| @@ 294-348 (lines=55) @@ | ||
| 291 | ||
| 292 | resp.body = json.dumps(result) |
|
| 293 | ||
| 294 | @staticmethod |
|
| 295 | def on_delete(req, resp, id_): |
|
| 296 | if not id_.isdigit() or int(id_) <= 0: |
|
| 297 | raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', |
|
| 298 | description='API.INVALID_TARIFF_ID') |
|
| 299 | ||
| 300 | cnx = mysql.connector.connect(**config.myems_system_db) |
|
| 301 | cursor = cnx.cursor() |
|
| 302 | ||
| 303 | cursor.execute(" SELECT name " |
|
| 304 | " FROM tbl_tariffs " |
|
| 305 | " WHERE id = %s ", (id_,)) |
|
| 306 | if cursor.fetchone() is None: |
|
| 307 | cursor.close() |
|
| 308 | cnx.disconnect() |
|
| 309 | raise falcon.HTTPError(falcon.HTTP_404, title='API.NOT_FOUND', |
|
| 310 | description='API.TARIFF_NOT_FOUND') |
|
| 311 | ||
| 312 | cursor.execute(" SELECT id " |
|
| 313 | " FROM tbl_tariffs_blocks " |
|
| 314 | " WHERE tariff_id = %s ", (id_,)) |
|
| 315 | rows = cursor.fetchall() |
|
| 316 | if rows is not None and len(rows) > 0: |
|
| 317 | cursor.close() |
|
| 318 | cnx.disconnect() |
|
| 319 | raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', |
|
| 320 | description='API.TARIFF_NOT_EMPTY') |
|
| 321 | ||
| 322 | cursor.execute(" SELECT id " |
|
| 323 | " FROM tbl_tariffs_timeofuses " |
|
| 324 | " WHERE tariff_id = %s ", (id_,)) |
|
| 325 | rows = cursor.fetchall() |
|
| 326 | if rows is not None and len(rows) > 0: |
|
| 327 | cursor.close() |
|
| 328 | cnx.disconnect() |
|
| 329 | raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', |
|
| 330 | description='API.TARIFF_NOT_EMPTY') |
|
| 331 | ||
| 332 | cursor.execute(" SELECT id " |
|
| 333 | " FROM tbl_cost_centers_tariffs " |
|
| 334 | " WHERE tariff_id = %s ", (id_,)) |
|
| 335 | rows = cursor.fetchall() |
|
| 336 | if rows is not None and len(rows) > 0: |
|
| 337 | cursor.close() |
|
| 338 | cnx.disconnect() |
|
| 339 | raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', |
|
| 340 | description='API.TARIFF_IN_USE') |
|
| 341 | ||
| 342 | cursor.execute(" DELETE FROM tbl_tariffs WHERE id = %s ", (id_,)) |
|
| 343 | cnx.commit() |
|
| 344 | ||
| 345 | cursor.close() |
|
| 346 | cnx.disconnect() |
|
| 347 | ||
| 348 | resp.status = falcon.HTTP_204 |
|
| 349 | ||
| 350 | @staticmethod |
|
| 351 | def on_put(req, resp, id_): |
|