프로젝트

일반

사용자정보

개정판 2a190e68

ID2a190e68c70e88d1fea266fec642275c71975991
상위 c403835a
하위 1d5401fe

함의성이(가) 2년 이상 전에 추가함

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

클립보드 이미지 추가 (최대 크기: 500 MB)