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)
|