diff --git a/myems-api/core/combinedequipment.py b/myems-api/core/combinedequipment.py index ffc46630..db5b69c5 100644 --- a/myems-api/core/combinedequipment.py +++ b/myems-api/core/combinedequipment.py @@ -19,7 +19,7 @@ class CombinedEquipmentCollection: @staticmethod def on_get(req, resp): cnx = mysql.connector.connect(**config.myems_system_db) - cursor = cnx.cursor(dictionary=True) + cursor = cnx.cursor() query = (" SELECT id, name, uuid " " FROM tbl_cost_centers ") @@ -29,9 +29,9 @@ class CombinedEquipmentCollection: cost_center_dict = dict() if rows_cost_centers is not None and len(rows_cost_centers) > 0: for row in rows_cost_centers: - cost_center_dict[row['id']] = {"id": row['id'], - "name": row['name'], - "uuid": row['uuid']} + cost_center_dict[row['id']] = {"id": row[0], + "name": row[1], + "uuid": row[2]} query = (" SELECT id, name, uuid, " " is_input_counted, is_output_counted, " @@ -44,15 +44,15 @@ class CombinedEquipmentCollection: result = list() if rows_combined_equipments is not None and len(rows_combined_equipments) > 0: for row in rows_combined_equipments: - cost_center = cost_center_dict.get(row['cost_center_id'], None) - meta_result = {"id": row['id'], - "name": row['name'], - "uuid": row['uuid'], - "is_input_counted": bool(row['is_input_counted']), - "is_output_counted": bool(row['is_output_counted']), + cost_center = cost_center_dict.get(row[5], None) + meta_result = {"id": row[0], + "name": row[1], + "uuid": row[2], + "is_input_counted": bool(row[3]), + "is_output_counted": bool(row[4]), "cost_center": cost_center, - "description": row['description'], - "qrcode": 'combinedequipment:' + row['uuid']} + "description": row[6], + "qrcode": 'combinedequipment:' + row[2]} result.append(meta_result) cursor.close() @@ -164,7 +164,7 @@ class CombinedEquipmentItem: description='API.INVALID_COMBINED_EQUIPMENT_ID') cnx = mysql.connector.connect(**config.myems_system_db) - cursor = cnx.cursor(dictionary=True) + cursor = cnx.cursor() query = (" SELECT id, name, uuid " " FROM tbl_cost_centers ") @@ -174,9 +174,9 @@ class CombinedEquipmentItem: cost_center_dict = dict() if rows_cost_centers is not None and len(rows_cost_centers) > 0: for row in rows_cost_centers: - cost_center_dict[row['id']] = {"id": row['id'], - "name": row['name'], - "uuid": row['uuid']} + cost_center_dict[row['id']] = {"id": row[0], + "name": row[1], + "uuid": row[2]} query = (" SELECT id, name, uuid, " " is_input_counted, is_output_counted, " @@ -192,15 +192,15 @@ class CombinedEquipmentItem: raise falcon.HTTPError(falcon.HTTP_404, title='API.NOT_FOUND', description='API.COMBINED_EQUIPMENT_NOT_FOUND') else: - cost_center = cost_center_dict.get(row['cost_center_id'], None) - meta_result = {"id": row['id'], - "name": row['name'], - "uuid": row['uuid'], - "is_input_counted": bool(row['is_input_counted']), - "is_output_counted": bool(row['is_output_counted']), + cost_center = cost_center_dict.get(row[5], None) + meta_result = {"id": row[0], + "name": row[1], + "uuid": row[2], + "is_input_counted": bool(row[3]), + "is_output_counted": bool(row[4]), "cost_center": cost_center, - "description": row['description'], - "qrcode": 'combinedequipment:' + row['uuid']} + "description": row[6], + "qrcode": 'combinedequipment:' + row[2]} resp.text = json.dumps(meta_result) @@ -393,7 +393,7 @@ class CombinedEquipmentItem: new_values = json.loads(raw_json) cnx = mysql.connector.connect(**config.myems_system_db) - cursor = cnx.cursor(dictionary=True) + cursor = cnx.cursor() cursor.execute(" SELECT name " " FROM tbl_combined_equipments " " WHERE id = %s ", (id_,)) @@ -419,12 +419,12 @@ class CombinedEquipmentItem: " (name, uuid, is_input_counted, is_output_counted, " " cost_center_id, description) " " VALUES (%s, %s, %s, %s, %s, %s) ") - cursor.execute(add_values, (row['name'] + ' Copy', + cursor.execute(add_values, (row[0] + ' Copy', str(uuid.uuid4()), - row['is_input_counted'], - row['is_output_counted'], - row['cost_center_id'], - row['description'])) + row[1], + row[2], + row[3], + row[4])) new_id = cursor.lastrowid cnx.commit() @@ -439,8 +439,8 @@ class CombinedEquipmentItem: " VALUES ") for row in rows_meters: add_values += " (" + str(new_id) + "," - add_values += str(row['meter_id']) + "," - add_values += str(bool(row['is_output'])) + "), " + add_values += str(row[0]) + "," + add_values += str(bool(row[1])) + "), " # trim ", " at the end of string and then execute cursor.execute(add_values[:-2]) cnx.commit() @@ -457,8 +457,8 @@ class CombinedEquipmentItem: " VALUES ") for row in rows_offline_meters: add_values += " (" + str(new_id) + "," - add_values += "'" + str(row['offline_meter_id']) + "'," - add_values += str(bool(row['is_output'])) + "), " + add_values += "'" + str(row[0]) + "'," + add_values += str(bool(row[1])) + "), " # trim ", " at the end of string and then execute cursor.execute(add_values[:-2]) cnx.commit() @@ -475,8 +475,8 @@ class CombinedEquipmentItem: " VALUES ") for row in rows_virtual_meters: add_values += " (" + str(new_id) + "," - add_values += str(row['virtual_meter_id']) + "," - add_values += str(bool(row['is_output'])) + "), " + add_values += str(row[0]) + "," + add_values += str(bool(row[1])) + "), " # trim ", " at the end of string and then execute cursor.execute(add_values[:-2]) cnx.commit() @@ -494,24 +494,24 @@ class CombinedEquipmentItem: " VALUES ") for row in rows_parameters: add_values += " (" + str(new_id) + "," - add_values += "'" + str(row['name']) + "'," - add_values += "'" + str(row['parameter_type']) + "'," - if row['constant'] is not None: - add_values += "'" + str(row['constant']) + "'," + add_values += "'" + str(row[0]) + "'," + add_values += "'" + str(row[1]) + "'," + if row[2] is not None: + add_values += "'" + str(row[2]) + "'," else: add_values += "null, " - if row['point_id'] is not None: - add_values += str(row['point_id']) + "," + if row[3] is not None: + add_values += str(row[2]) + "," else: add_values += "null, " - if row['numerator_meter_uuid'] is not None: - add_values += "'" + row['numerator_meter_uuid'] + "'," + if row[4] is not None: + add_values += "'" + row[4] + "'," else: add_values += "null, " - if row['denominator_meter_uuid'] is not None: - add_values += "'" + row['denominator_meter_uuid'] + "'), " + if row[5] is not None: + add_values += "'" + row[5] + "'), " else: add_values += "null), " @@ -713,7 +713,7 @@ class CombinedEquipmentParameterCollection: description='API.INVALID_COMBINED_EQUIPMENT_ID') cnx = mysql.connector.connect(**config.myems_system_db) - cursor = cnx.cursor(dictionary=True) + cursor = cnx.cursor() cursor.execute(" SELECT name " " FROM tbl_combined_equipments " @@ -732,8 +732,8 @@ class CombinedEquipmentParameterCollection: point_dict = dict() if rows_points is not None and len(rows_points) > 0: for row in rows_points: - point_dict[row['id']] = {"id": row['id'], - "name": row['name']} + point_dict[row['id']] = {"id": row[0], + "name": row[1]} query = (" SELECT id, name, uuid " " FROM tbl_meters ") @@ -743,10 +743,10 @@ class CombinedEquipmentParameterCollection: meter_dict = dict() if rows_meters is not None and len(rows_meters) > 0: for row in rows_meters: - meter_dict[row['uuid']] = {"type": 'meter', - "id": row['id'], - "name": row['name'], - "uuid": row['uuid']} + meter_dict[row[2]] = {"type": 'meter', + "id": row[0], + "name": row[1], + "uuid": row[2]} query = (" SELECT id, name, uuid " " FROM tbl_offline_meters ") @@ -756,10 +756,10 @@ class CombinedEquipmentParameterCollection: offline_meter_dict = dict() if rows_offline_meters is not None and len(rows_offline_meters) > 0: for row in rows_offline_meters: - offline_meter_dict[row['uuid']] = {"type": 'offline_meter', - "id": row['id'], - "name": row['name'], - "uuid": row['uuid']} + offline_meter_dict[row[2]] = {"type": 'offline_meter', + "id": row[0], + "name": row[1], + "uuid": row[2]} query = (" SELECT id, name, uuid " " FROM tbl_virtual_meters ") @@ -769,10 +769,10 @@ class CombinedEquipmentParameterCollection: virtual_meter_dict = dict() if rows_virtual_meters is not None and len(rows_virtual_meters) > 0: for row in rows_virtual_meters: - virtual_meter_dict[row['uuid']] = {"type": 'virtual_meter', - "id": row['id'], - "name": row['name'], - "uuid": row['uuid']} + virtual_meter_dict[row[2]] = {"type": 'virtual_meter', + "id": row[0], + "name": row[1], + "uuid": row[2]} query = (" SELECT id, name, parameter_type, " " constant, point_id, numerator_meter_uuid, denominator_meter_uuid " @@ -789,35 +789,35 @@ class CombinedEquipmentParameterCollection: point = None numerator_meter = None denominator_meter = None - if row['parameter_type'] == 'point': - point = point_dict.get(row['point_id'], None) + if row[2] == 'point': + point = point_dict.get(row[4], None) constant = None numerator_meter = None denominator_meter = None - elif row['parameter_type'] == 'constant': - constant = row['constant'] + elif row[2] == 'constant': + constant = row[3] point = None numerator_meter = None denominator_meter = None - elif row['parameter_type'] == 'fraction': + elif row[2] == 'fraction': constant = None point = None # find numerator meter by uuid - numerator_meter = meter_dict.get(row['numerator_meter_uuid'], None) + numerator_meter = meter_dict.get(row[5], None) if numerator_meter is None: - numerator_meter = virtual_meter_dict.get(row['numerator_meter_uuid'], None) + numerator_meter = virtual_meter_dict.get(row[5], None) if numerator_meter is None: - numerator_meter = offline_meter_dict.get(row['numerator_meter_uuid'], None) + numerator_meter = offline_meter_dict.get(row[5], None) # find denominator meter by uuid - denominator_meter = meter_dict.get(row['denominator_meter_uuid'], None) + denominator_meter = meter_dict.get(row[6], None) if denominator_meter is None: - denominator_meter = virtual_meter_dict.get(row['denominator_meter_uuid'], None) + denominator_meter = virtual_meter_dict.get(row[6], None) if denominator_meter is None: - denominator_meter = offline_meter_dict.get(row['denominator_meter_uuid'], None) + denominator_meter = offline_meter_dict.get(row[6], None) - meta_result = {"id": row['id'], - "name": row['name'], - "parameter_type": row['parameter_type'], + meta_result = {"id": row[0], + "name": row[1], + "parameter_type": row[2], "constant": constant, "point": point, "numerator_meter": numerator_meter, @@ -892,7 +892,7 @@ class CombinedEquipmentParameterCollection: denominator_meter_uuid = str.strip(new_values['data']['denominator_meter_uuid']) cnx = mysql.connector.connect(**config.myems_system_db) - cursor = cnx.cursor(dictionary=True) + cursor = cnx.cursor() cursor.execute(" SELECT name " " FROM tbl_combined_equipments " @@ -943,10 +943,10 @@ class CombinedEquipmentParameterCollection: meter_dict = dict() if rows_meters is not None and len(rows_meters) > 0: for row in rows_meters: - meter_dict[row['uuid']] = {"type": 'meter', - "id": row['id'], - "name": row['name'], - "uuid": row['uuid']} + meter_dict[row[2]] = {"type": 'meter', + "id": row[0], + "name": row[1], + "uuid": row[2]} query = (" SELECT id, name, uuid " " FROM tbl_offline_meters ") @@ -956,10 +956,10 @@ class CombinedEquipmentParameterCollection: offline_meter_dict = dict() if rows_offline_meters is not None and len(rows_offline_meters) > 0: for row in rows_offline_meters: - offline_meter_dict[row['uuid']] = {"type": 'offline_meter', - "id": row['id'], - "name": row['name'], - "uuid": row['uuid']} + offline_meter_dict[row[2]] = {"type": 'offline_meter', + "id": row[0], + "name": row[1], + "uuid": row[2]} query = (" SELECT id, name, uuid " " FROM tbl_virtual_meters ") @@ -969,10 +969,10 @@ class CombinedEquipmentParameterCollection: virtual_meter_dict = dict() if rows_virtual_meters is not None and len(rows_virtual_meters) > 0: for row in rows_virtual_meters: - virtual_meter_dict[row['uuid']] = {"type": 'virtual_meter', - "id": row['id'], - "name": row['name'], - "uuid": row['uuid']} + virtual_meter_dict[row[2]] = {"type": 'virtual_meter', + "id": row[0], + "name": row[1], + "uuid": row[2]} # validate numerator meter uuid if meter_dict.get(numerator_meter_uuid) is None and \