개정판 2a190e68
export data speed improved
Change-Id: If9ca2658c8fc643a249c68d581f8d7d99ebc9f5c
DTI_PID/DTI_PID/AppDocData.py | ||
---|---|---|
3937 | 3937 |
|
3938 | 3938 |
cursor.execute(sql) |
3939 | 3939 |
rows = cursor.fetchall() |
3940 |
''' |
|
3940 | 3941 |
for row in rows: |
3941 | 3942 |
matches = [res for res in result if res['UID'] == row['UID']] |
3942 | 3943 |
if matches: |
... | ... | |
3946 | 3947 |
'Owner': row['Owner'], row['Attribute']: row['Value']} |
3947 | 3948 |
result.append(data) |
3948 | 3949 |
|
3950 |
''' |
|
3951 |
valves = {} |
|
3952 |
|
|
3953 |
for row in rows: |
|
3954 |
if row['UID'] not in valves: |
|
3955 |
valves[row['UID']] = {'UID': row['UID'], 'ITEM_NO': row['Name'], 'Drawing Name': row['Drawing Name'], |
|
3956 |
'Owner': row['Owner']} |
|
3957 |
valves[row['UID']][row['Attribute']] = row['Value'] |
|
3958 |
|
|
3959 |
result = list(valves.values()) |
|
3960 |
|
|
3949 | 3961 |
# Catch the exception |
3950 | 3962 |
except Exception as ex: |
3951 | 3963 |
from App import App |
... | ... | |
4014 | 4026 |
|
4015 | 4027 |
cursor.execute(sql) |
4016 | 4028 |
rows = cursor.fetchall() |
4029 |
''' |
|
4017 | 4030 |
for row in rows: |
4018 | 4031 |
matches = [res for res in result if res['UID'] == row['UID']] |
4019 | 4032 |
if matches: |
... | ... | |
4022 | 4035 |
data = {'UID': row['UID'], 'ITEM_NO': row['Name'], 'Drawing Name': row['Drawing Name'], 'Owner': row['Owner'], |
4023 | 4036 |
'Symbol_UID': int(row['Symbol_UID']), row['Attribute']: row['Value']} |
4024 | 4037 |
result.append(data) |
4038 |
''' |
|
4039 |
insts = {} |
|
4040 |
|
|
4041 |
for row in rows: |
|
4042 |
if row['UID'] not in insts: |
|
4043 |
insts[row['UID']] = {'UID': row['UID'], 'ITEM_NO': row['Name'], 'Drawing Name': row['Drawing Name'], 'Owner': row['Owner'], |
|
4044 |
'Symbol_UID': int(row['Symbol_UID'])} |
|
4045 |
insts[row['UID']][row['Attribute']] = row['Value'] |
|
4046 |
|
|
4047 |
result = list(insts.values()) |
|
4025 | 4048 |
# Catch the exception |
4026 | 4049 |
except Exception as ex: |
4027 | 4050 |
from App import App |
DTI_PID/DTI_PID/ItemDataExportDialog.py | ||
---|---|---|
36 | 36 |
|
37 | 37 |
self.bmValveData = [] |
38 | 38 |
self.bmInstData = [] |
39 |
self.bmLineData = []
|
|
39 |
self.bmLineData = {}
|
|
40 | 40 |
|
41 | 41 |
self.lineColumnListAll = [] |
42 | 42 |
self.equipColumnListAll = [] |
... | ... | |
662 | 662 |
drawings = self.checked_drawings |
663 | 663 |
|
664 | 664 |
dataList = docData.get_line_data_list(drawings if drawings else None) |
665 |
self.bmLineData = dataList |
|
665 |
for data in dataList: |
|
666 |
for lineAttr in data: |
|
667 |
if lineAttr[0] == 'UID': |
|
668 |
self.bmLineData[lineAttr[1]] = data |
|
669 |
|
|
666 | 670 |
lineTable.setRowCount(len(dataList)) |
667 | 671 |
row = 0 |
668 | 672 |
for data in dataList: |
... | ... | |
734 | 738 |
|
735 | 739 |
for data in self.bmValveData + self.bmInstData: |
736 | 740 |
match = None |
737 |
for lineNo in self.bmLineData: |
|
738 |
for lineAttr in lineNo: |
|
739 |
if lineAttr[0] == 'UID' and lineAttr[1] == data['Owner']: |
|
740 |
match = lineNo |
|
741 |
break |
|
742 |
if match: |
|
743 |
break |
|
741 |
if data['Owner'] in self.bmLineData: |
|
742 |
match = self.bmLineData[data['Owner']] |
|
744 | 743 |
|
745 |
if match: |
|
746 | 744 |
for key, value in match: |
747 | 745 |
if key in data: |
748 | 746 |
continue |
내보내기 Unified diff