프로젝트

일반

사용자정보

개정판 685f4df9

ID685f4df9d82dcb56cca3b2abbc28bea28ecc9321
상위 eb8b59ed
하위 ddcf0cbe

김연진이(가) 일년 이상 전에 추가함

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

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