프로젝트

일반

사용자정보

개정판 da8699ae

IDda8699aeb56066dbf83c51299b2d37181a464b9b
상위 3f1cbcdb
하위 0589828e

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

issue #000: stream from to test

Change-Id: I7fd611089371541d9b4b89842519459f59554c5c

차이점 보기:

DTI_PID/DTI_PID/AppDocData.py
2742 2742
                    doc_names = "','".join(drawing_names)
2743 2743

  
2744 2744
                sql = f"select S.PnIDNumber, S.Tag_Seq_No, S.PipingMaterialsClass, S.InsulationPurpose, S.FluidCode, " \
2745
                      f"S.UnitNumber, S.NominalDiameter, S.[From], S.[To], S.Stream_No, S.[Index], D.Name from Stream_Line_List S " \
2745
                      f"S.UnitNumber, S.NominalDiameter, S.[From], S.[To], S.Stream_No, S.[Case], S.[Index], D.Name from Stream_Line_List S " \
2746 2746
                      f"join Drawings D on S.Drawing_UID=D.UID " \
2747 2747
                      f"where S.Drawing_UID in (select UID from Drawings where Name in ('{doc_names}'))"
2748 2748
                sql = self.project.database.to_sql(sql)
......
2762 2762
                    data['FROM'] = row['From']
2763 2763
                    data['TO'] = row['To']
2764 2764
                    data['Stream No'] = row['Stream_No']
2765
                    data['Case'] = row['Case'] if row['Case'] else ''
2765 2766
                    data['index'] = row['Index']
2766 2767
                    data['Drawing Name'] = row['Name']
2767 2768
                    
......
4112 4113
                index = 1
4113 4114
                for model_data in self._streamLineListModelDatas:
4114 4115
                    sql = f"insert into Stream_Line_List (UID, Drawing_UID, PnIDNumber, Tag_Seq_No, PipingMaterialsClass, InsulationPurpose, FluidCode, " \
4115
                          f"UnitNumber, NominalDiameter, [From], [To], Stream_No, [Index]) values(?,?,?,?,?,?,?,?,?,?,?,?,?)"
4116
                          f"UnitNumber, NominalDiameter, [From], [To], Stream_No, [Case], [Index]) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
4116 4117
                    params = (str(uuid.uuid4()), drawing_uid, model_data['PnIDNumber'], model_data['Tag Seq No'], model_data['PipingMaterialsClass'], model_data['InsulationPurpose'], \
4117
                              model_data['FluidCode'], model_data['UnitNumber'], model_data['NominalDiameter'], model_data['FROM'], model_data['TO'], model_data['Stream No'], index)
4118
                              model_data['FluidCode'], model_data['UnitNumber'], model_data['NominalDiameter'], model_data['FROM'], model_data['TO'], model_data['Stream No'], model_data['Case'], index)
4118 4119
                    cursor.execute(sql, params)
4119 4120
                    index += 1
4120 4121

  
DTI_PID/DTI_PID/Commands/SetStreamNoCommand.py
236 236

  
237 237
            for row in rows:
238 238
                stream_no = QEngineeringLineNoTextItem()
239
                stream_no.setPlainText(row['Stream_No'])
239
                stream_no.setPlainText(row['Stream_No'] + '_' + row['Case'])
240 240

  
241 241
                from_item = self.find_item(scene, row['From_Component_UID'])
242 242
                to_item = self.find_item(scene, row['To_Component_UID'])
DTI_PID/DTI_PID/ItemDataExportDialog.py
340 340

  
341 341
        app_doc_data = AppDocData.instance()
342 342
        special_item_types = SpecialItemTypes.instance()
343
        self.lineColumnListAll = ['UID', 'Drawing Name', 'Stream No', 'FROM', 'TO']
343
        self.lineColumnListAll = ['UID', 'Drawing Name', 'Stream No', 'FROM', 'TO', 'Case']
344 344
        self.lineColumnListAll.extend([prop.Attribute for prop in app_doc_data.getLineProperties()])
345 345
        self.lineColumnListAll = QItemDataExportDialog.add_hmb_header(self.lineColumnListAll)
346 346
        self.equipColumnListAll = ['UID', 'ITEM_NO']
......
511 511

  
512 512
            data['PHASE'] = phase if 'PHASE' not in data else data['PHASE']
513 513
            '''
514

  
515
            datas = hmb_data.datas[0]
514
            if data['Case']:
515
                matches = [datas for datas in hmb_data.datas if datas[0].case == data['Case']]
516
                if matches:
517
                    datas = matches[0]
518
                else:
519
                    datas = hmb_data.datas[0]
520
            else:
521
                datas = hmb_data.datas[0]
516 522

  
517 523
            for name in names:
518 524
                matches = [data for data in datas if data.name == name]
DTI_PID/DTI_PID/LineListDialog.py
332 332

  
333 333
                model_datas = []
334 334
                for row_data in row_datas:
335
                    stream_no = row_data[1].stream_no
335
                    stream_no = row_data[1].stream_no.split('_')[0] if '_' in row_data[1].stream_no else row_data[1].stream_no
336
                    case = row_data[1].stream_no.split('_')[1] if '_' in row_data[1].stream_no else ''
336 337
                    matches = [hmb_data for hmb_data in hmb_datas if hmb_data.stream_no == stream_no]
337 338
                    hmb_data = None
338 339

  
......
356 357
                    data['TO'] = to_item
357 358
                    data['PnIDNumber'] = pnid_no
358 359
                    data['Stream No'] = stream_no
360
                    data['Case'] = case
359 361

  
360 362
                    items = []
361 363
                    model_data = {}
DTI_PID/DTI_PID/StreamlineDialog.py
227 227
            self.ui.tableViewFromTo.setModel(model)
228 228
            self.ui.tableViewFromTo.resizeColumnsToContents()
229 229

  
230
            '''
231
            comboboxs = []
232
            caseCombobox = QComboBox()
233
            caseCombobox.addItems(self.case_list)
234
            caseCombobox.setCurrentText(case)
235
            caseCombobox.currentTextChanged.connect(self.caseChanged)
236
            comboboxs.append(caseCombobox)
237
            '''
238

  
239 230
            self._from_to_widgets.clear()
240 231
            self._case_combobox.clear()
241 232
            for row_ in range(self.ui.tableViewFromTo.model().rowCount()):
......
266 257
                    caseCombobox.setEnabled(False)
267 258
                if hasattr(case_item, '_new') and case_item._new:
268 259
                    pal = caseCombobox.palette()
260
                    if self._default_box_color is None:
261
                        self._default_box_color = pal.color(QPalette.Button)
269 262
                    pal.setColor(QPalette.Button, QColor(Qt.yellow))
270 263
                    caseCombobox.setPalette(pal)
271 264

  
......
302 295
        drawing_item = QStandardItem(app_doc_data.activeDrawing.name)
303 296
        drawing_item.setData(app_doc_data.activeDrawing.UID, Qt.UserRole)
304 297

  
305
        self.ui.tableViewFromTo.model().insertRow(rows, [drawing_item, QStandardItem(), QStandardItem()])
298
        case_item = QStandardItem('')
299
        self.ui.tableViewFromTo.model().insertRow(rows, [drawing_item, QStandardItem(), QStandardItem(), case_item])
306 300
        self.ui.tableViewFromTo.selectionModel().setCurrentIndex(index, QItemSelectionModel.NoUpdate)
307 301

  
308 302
        from_button = FromToWidget(self.ui.tableViewFromTo, 1)
......
315 309
        self.ui.tableViewFromTo.setIndexWidget(i, to_button)
316 310
        self._from_to_widgets[to_button] = (i.row(), 2)
317 311

  
312
        caseCombobox = QComboBox()
313
        i = self.ui.tableViewFromTo.model().index(rows, 3)
314
        case_item.setData(self.case_list[0], Qt.UserRole)
315
        case_item._new = True
316
        caseCombobox.addItems(self.case_list)
317
        caseCombobox.currentTextChanged.connect(self.caseChanged)
318
        self.ui.tableViewFromTo.setIndexWidget(i, caseCombobox)
319
        self._case_combobox[caseCombobox] = (i.row(), 3)
320
        pal = caseCombobox.palette()
321
        if self._default_box_color is None:
322
            self._default_box_color = pal.color(QPalette.Button)
323
        pal.setColor(QPalette.Button, QColor(Qt.yellow))
324
        caseCombobox.setPalette(pal)
325

  
318 326
        row = self.ui.tableViewStreamNo.selectionModel().currentIndex().row()
319 327
        self.ui.tableViewStreamNo.model().item(row, 1)._new = True
320 328

  
321 329
    def on_del_from_to(self):
322 330
        """delete selected from/to"""
323
        current = self.ui.tableViewFromTo.selectionModel().currentIndex()
324
        self.ui.tableViewFromTo.model().removeRow(current.row())
325

  
326 331
        row = self.ui.tableViewStreamNo.selectionModel().currentIndex().row()
327 332
        self.ui.tableViewStreamNo.model().item(row, 1)._new = True
328 333

  
334
        current = self.ui.tableViewFromTo.selectionModel().currentIndex()
335
        box_index = self.ui.tableViewFromTo.model().index(current.row(), 3)
336
        box = self.ui.tableViewFromTo.indexWidget(box_index)
337
        self._case_combobox.pop(box)
338
        self.ui.tableViewFromTo.model().removeRow(current.row())
339

  
329 340
    def on_select_comp(self, column: int):
330 341
        """select from or to component"""
331 342
        from App import App

내보내기 Unified diff

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