개정판 da8699ae
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