프로젝트

일반

사용자정보

개정판 67366347

ID6736634778a2b449ce77a372dde4132e2db00729
상위 9c0bab30
하위 cf24199a

함의성이(가) 약 4년 전에 추가함

issue #1465: line list load on going

Change-Id: I09d4ae79904e8a52485c88e810b2d662772ddcb1

차이점 보기:

DTI_PID/DTI_PID/AppDocData.py
2700 2700

  
2701 2701
    @staticmethod
2702 2702
    def save_stream_line_data(stream_line_list: list):
2703
        """ save stream line from to """
2703 2704
        import uuid
2704 2705

  
2705 2706
        app_doc_data = AppDocData.instance()
......
2726 2727
                          f"{sys.exc_info()[-1].tb_lineno}"
2727 2728
                App.mainWnd().addMessage.emit(MessageType.Error, message)
2728 2729

  
2730
    def get_stream_line_list_data(drawing_names=None):
2731
        """ get stream line list data from """
2732
        with self.project.database.connect() as conn:
2733
            try:
2734
                # Get a cursor object
2735
                cursor = conn.cursor()
2736

  
2737
                if drawing_names is None:
2738
                    doc_names = self.activeDrawing.name
2739
                else:
2740
                    doc_names = "','".join(drawing_names)
2741

  
2742
                sql = f"select S.PnIDNumber, S.Tag_Seq_No, S.PipingMaterialsClass, S.InsulationPurpose, S.FluidCode, " \
2743
                      f"S.UnitNumber, S.NominalDiameter, S.[From], S.[To], S.Stream_No, S.[Index], D.Name from Stream_Line_List S" \
2744
                      f"join Drawings D on S.Drawing_UID=D.UID " \
2745
                      f"where S.Drawing_UID in (select UID from Drawings where Name in ('{doc_names}'))"
2746
                sql = self.project.database.to_sql(sql)
2747
                cursor.execute(sql)
2748
                rows = cursor.fetchall()
2749

  
2750
                datas = []
2751
                for row in rows:
2752
                    data = {}
2753
                    data['PnIDNumber'] = row['PnIDNumber']
2754
                    data['Tag Seq No'] = row['Tag_Seq_No']
2755
                    data['PipingMaterialsClass'] = row['PipingMaterialsClass']
2756
                    data['InsulationPurpose'] = row['InsulationPurpose']
2757
                    data['FluidCode'] = row['FluidCode']
2758
                    data['UnitNumber'] = row['UnitNumber']
2759
                    data['NominalDiameter'] = row['NominalDiameter']
2760
                    data['FROM'] = row['From']
2761
                    data['TO'] = row['To']
2762
                    data['Stream No'] = row['Stream_No']
2763
                    data['index'] = row['Index']
2764
                    data['Name'] = row['Name']
2765
                    
2766
                    datas.append(data)
2767

  
2768
                return datas
2769

  
2770
            # Catch the exception
2771
            except Exception as ex:
2772
                # Roll back any change if something goes wrong
2773
                conn.rollback()
2774

  
2775
                from App import App
2776
                message = f"error occurred({repr(ex)}) in {sys.exc_info()[-1].tb_frame.f_code.co_filename}:" \
2777
                          f"{sys.exc_info()[-1].tb_lineno}"
2778
                App.mainWnd().addMessage.emit(MessageType.Error, message)
2779

  
2729 2780
    def get_stream_from_to(self, stream_no: str = None, drawing_uid: str = None) -> list:
2730
        """get stream lines related to hmb"""
2781
        """ get stream lines related to hmb """
2731 2782

  
2732 2783
        with self.project.database.connect() as conn:
2733 2784
            try:
......
4057 4108
                    progress += 1
4058 4109

  
4059 4110
                # save Stream No Line List
4111
                index = 1
4060 4112
                for model_data in self._streamLineListModelDatas:
4061 4113
                    sql = f"insert into Stream_Line_List (UID, Drawing_UID, PnIDNumber, Tag_Seq_No, PipingMaterialsClass, InsulationPurpose, FluidCode, " \
4062
                          f"UnitNumber, NominalDiameter, [From], [To], Stream_No) values(?,?,?,?,?,?,?,?,?,?,?,?)"
4114
                          f"UnitNumber, NominalDiameter, [From], [To], Stream_No, [Index]) values(?,?,?,?,?,?,?,?,?,?,?,?,?)"
4063 4115
                    params = (str(uuid.uuid4()), drawing_uid, model_data['PnIDNumber'], model_data['Tag Seq No'], model_data['PipingMaterialsClass'], model_data['InsulationPurpose'], \
4064
                              model_data['FluidCode'], model_data['UnitNumber'], model_data['NominalDiameter'], model_data['FROM'], model_data['TO'], model_data['Stream No'])
4116
                              model_data['FluidCode'], model_data['UnitNumber'], model_data['NominalDiameter'], model_data['FROM'], model_data['TO'], model_data['Stream No'], index)
4065 4117
                    cursor.execute(sql, params)
4118
                    index += 1
4066 4119

  
4067 4120
                if show_progress:
4068 4121
                    show_progress.emit(99)
DTI_PID/DTI_PID/ItemDataExportDialog.py
758 758

  
759 759
        QApplication.setOverrideCursor(Qt.WaitCursor)
760 760
        try:
761
            hmb_datas = AppDocData.instance().get_hmb_data(None)
762
            configs = docData.getConfigs('Line List', 'Use Stream No')
761
            if not self.checked_drawings:
762
                return
763

  
764
            app_doc_data = AppDocData.instance()
765
            hmb_datas = app_doc_data.get_hmb_data(None)
766
            configs = app_doc_data.getConfigs('Line List', 'Use Stream No')
763 767
            if configs and int(configs[0].value) == 1:
764 768
                self.set_line_list_data()
765 769
            else:
DTI_PID/DTI_PID/LineNoTracer.py
725 725

  
726 726
    dialog = LineListDialog(None, scene=worker.scene)
727 727
    AppDocData.instance()._streamLineListModelDatas = dialog._model_datas
728
    print('a')
729 728

  
730 729
def make_end_break(worker, end_breaks, lineNos):
731 730
    ''' make end break '''
DTI_PID/DTI_PID/Scripts/MSSQL/ID2.sql
3286 3286
	[From]	VARCHAR ( 100 ),
3287 3287
	[To]	VARCHAR ( 100 ),
3288 3288
	[Stream_No]	VARCHAR ( 100 ),
3289
	[Index]	INTEGER,
3289 3290
	FOREIGN KEY([Drawing_UID]) REFERENCES [Drawings]([UID]) ON DELETE CASCADE,
3290 3291
	PRIMARY KEY([UID])
3291 3292
);
DTI_PID/DTI_PID/Scripts/SQLite_Project.tables.sql
129 129
	`From`	VARCHAR ( 100 ),
130 130
	`To`	VARCHAR ( 100 ),
131 131
	`Stream_No`	VARCHAR ( 100 ),
132
	`Index`	INTEGER,
132 133
	FOREIGN KEY(`Drawing_UID`) REFERENCES `Drawings`(`UID`) ON DELETE CASCADE,
133 134
	PRIMARY KEY(`UID`)
134 135
);

내보내기 Unified diff

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