개정판 685f4df9
issue #000 : Validation 추가 -> 하나의 Loop에 P.D가 없는 아이템이 2개 이상인지 체크
Change-Id: Ieeba03ad154590376e6cb6117c45fbee30bca046
HYTOS/HYTOS/Shapes/EngineeringLoopItem.py | ||
---|---|---|
88 | 88 |
# (1) 기기들의 del.p, p, el을 넣음 |
89 | 89 |
self.p_eq_input() |
90 | 90 |
|
91 |
# (2) 이것에 대한 유효성 검사를 함 |
|
92 |
self.first_calc_available() |
|
93 |
|
|
91 | 94 |
# (3) 계산 시작 |
92 | 95 |
self.discharge_cal() |
93 | 96 |
|
... | ... | |
1413 | 1416 |
sys.exc_info()[-1].tb_lineno) |
1414 | 1417 |
App.mainWnd().addMessage.emit(MessageType.Error, message) |
1415 | 1418 |
|
1419 |
def first_calc_available(self) -> list: |
|
1420 |
from CalculationValidation import QCalculationValidation |
|
1421 |
|
|
1422 |
cv_names = [] # Pressure Drop 값이 없는 Control Valve 목록 |
|
1423 |
pump_names = [] # Pressure Drop 값이 없는 Pump 목록 |
|
1424 |
|
|
1425 |
try: |
|
1426 |
messages = [] |
|
1427 |
for i in range(2, len(self.items) - 3, 3): |
|
1428 |
item = self.items[i] |
|
1429 |
name = str(item)[:3] |
|
1430 |
if name == 'CV_': |
|
1431 |
if self.pressure_drops.get(item) is None: |
|
1432 |
# Not Exists |
|
1433 |
cv_names.append(str(item.parent.tag_no)) |
|
1434 |
elif name == 'R_P' or name == 'L_P' or name == 'V_P' or name == 'R_K' or name == 'L_K': |
|
1435 |
if self.pressure_drops.get(item) is None: |
|
1436 |
# Not Exists |
|
1437 |
pump_names.append(str(item.parent.tag_no)) |
|
1438 |
|
|
1439 |
if len(cv_names) > 1: |
|
1440 |
messages.extend(cv_names) |
|
1441 |
|
|
1442 |
if len(pump_names) > 1: |
|
1443 |
messages.extend(pump_names) |
|
1444 |
|
|
1445 |
if messages: |
|
1446 |
dlg = QCalculationValidation() |
|
1447 |
dlg.show_dialog('Input Data of Pump or CV', messages) |
|
1448 |
except Exception as ex: |
|
1449 |
from App import App |
|
1450 |
message = 'error occurred({}) in {}:{}'.format(repr(ex), sys.exc_info()[-1].tb_frame.f_code.co_filename, |
|
1451 |
sys.exc_info()[-1].tb_lineno) |
|
1452 |
App.mainWnd().addMessage.emit(MessageType.Error, message) |
|
1453 |
|
|
1454 |
return messages |
|
1455 |
|
|
1416 | 1456 |
def p_eq_input(self): |
1417 | 1457 |
try: |
1418 | 1458 |
# 시작, 끝 기기의 pressure와 elevation을 구한다 |
내보내기 Unified diff