From 53d4b3dc5876dd90a1fd87c542d3b287e45c805c Mon Sep 17 00:00:00 2001 From: hyh123a Date: Fri, 22 Apr 2022 20:09:07 +0800 Subject: [PATCH] complete the svg api --- myems-api/core/svg.py | 95 ++++++++++++++++++++----------------------- 1 file changed, 45 insertions(+), 50 deletions(-) diff --git a/myems-api/core/svg.py b/myems-api/core/svg.py index f0080470..26f188d1 100644 --- a/myems-api/core/svg.py +++ b/myems-api/core/svg.py @@ -1,3 +1,5 @@ +import re + import falcon import simplejson as json import mysql.connector @@ -20,7 +22,7 @@ class Collection: cnx = mysql.connector.connect(**config.myems_system_db) cursor = cnx.cursor(dictionary=True) - query = (" SELECT id, name, content " + query = (" SELECT id, name " " FROM tbl_svgs " " ORDER BY id ") cursor.execute(query) @@ -30,8 +32,7 @@ class Collection: if rows_svgs is not None and len(rows_svgs) > 0: for row in rows_svgs: temp = {"id": row['id'], - "name": row['name'], - "content": row['content']} + "name": row['name']} result.append(temp) @@ -75,57 +76,51 @@ class Item: cnx.disconnect() resp.text = json.dumps(result) - query = (" SELECT id, svg_id, point_id, point_icon, point_x, point_y, meter_type, meter_id, meter_name, func" - " FROM tbl_svg_points " - " WHERE svg_id=%s ") - cursor.execute(query, (id_,)) - rows_point = cursor.fetchall() + tmp_content = result['content'] + # Get all ids + ids = re.findall(r'8*', tmp_content) # # ['PT100', 'PT101'] + # Get All Data + """ + 数据点 Point 代码 PT + 计量表 Meter 代号 MT + 虚拟表 VirtualMeter 代号 VM + 离线表 OfflineMeter 代码 OM + 空间 Space 代号 SP + 传感器 Sensor 代号 SS + 设备 Equipment 代号 EQ + 组合设备 CombinedEquipment 代码 CE + 车间 Shopfloor代码 SF + """ + _dict = { + 'PT': {}, + 'MT': {}, + 'VM': {}, + 'OM': {}, + 'SP': {}, + 'SS': {}, + 'EQ': {}, + 'CE': {}, + 'SF': {}, + } - add_svg = "" - if rows_point is not None and len(rows_point) > 0: - for row in rows_point: - print("row", row) - add_svg = add_svg + \ - ' \n'. \ - format(point_id=row['point_id'], - point_icon=row['point_icon'], - point_x=row['point_x'], - point_y=row['point_y'], - func= row['func'], - meter_type=row['meter_type'], - meter_id=row['meter_id'], - meter_name=row['meter_name'], - r_tag="}", - l_tag="{", - ) + # Group the tag + for item in ids: + _type = item[0:2] + _number = item[2:] + if _number not in _dict[_type].keys(): + _dict[_type][_number] = 111 - result['content'] = result['content'].replace("Template", add_svg) - else: - result['content'] = result['content'].replace("TEMPLATE", "") + # Todo: Get data from database - result['content'] = """ - - - - - - - - - - - - - - - FFF2 {text} - - - -""" + # Replace + for item in ids: + r_type = item[0:2] + r_id = item[2:] + tmp_content = re.sub(r'.*?)>8*', + r' >' + str(_dict[r_type][r_id]) + '', + tmp_content) + result['content'] = tmp_content cursor.close() cnx.disconnect() resp.text = json.dumps(result)