프로젝트

일반

사용자정보

개정판 4c632ac9

ID4c632ac934cb30c003d2f9ab2211d466c1d19aa8
상위 78ca21fd
하위 353a007d

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

issue #563: changing attribute auto filling

Change-Id: I66aae9de830f1aeaf5c982ecb27e660b660e5653

차이점 보기:

DTI_PID/DTI_PID/AppDocData.py
599 599
        with self.project.database.connect() as conn:
600 600
            cursor = conn.cursor()
601 601
            sql = """SELECT a.UID,a.Name,b.Type,a.Threshold,a.MinMatchPoint,a.IsDetectOrigin,a.RotationCount,a.OCROption,a.IsContainChild,a.OriginalPoint,a.ConnectionPoint,
602
                    a.BaseSymbol,a.AdditionalSymbol,a.IsExceptDetect,a.HasInstrumentLabel,a.flip FROM Symbol a inner join SymbolType b on a.SymbolType_UID=b.UID WHERE a.IsExceptDetect = 0 order by width * height desc"""
602
                    a.BaseSymbol,a.AdditionalSymbol,a.IsExceptDetect,a.HasInstrumentLabel,a.flip,b.UID FROM Symbol a inner join SymbolType b on a.SymbolType_UID=b.UID WHERE a.IsExceptDetect = 0 order by width * height desc"""
603 603
            try:
604 604
                cursor.execute(sql)
605 605
                rows = cursor.fetchall()
606 606
                for row in rows:
607 607
                    sym = symbol.SymbolBase(row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9],
608
                                            row[10], row[11], row[12], row[13], row[14], row[0],
608
                                            row[10], row[11], row[12], row[13], row[14], row[0], iType=row[16],
609 609
                                            detectFlip=row[15])  # uid is last item
610 610
                    targetSymbolList.append(sym)
611 611
            except Exception as ex:
......
1621 1621
        with self.project.database.connect() as conn:
1622 1622
            cursor = conn.cursor()
1623 1623
            sql = self.project.database.to_sql("""SELECT a.UID,a.Name,b.Type,a.Threshold,a.MinMatchPoint,a.IsDetectOrigin,a.RotationCount,a.OCROption,a.IsContainChild,a.OriginalPoint,a.ConnectionPoint,
1624
                        a.BaseSymbol,a.AdditionalSymbol,a.IsExceptDetect,a.HasInstrumentLabel,a.flip FROM Symbol a inner join SymbolType b on a.SymbolType_UID=b.UID WHERE """ + "a." + fieldName + '=?')
1624
                        a.BaseSymbol,a.AdditionalSymbol,a.IsExceptDetect,a.HasInstrumentLabel,a.flip,b.UID FROM Symbol a inner join SymbolType b on a.SymbolType_UID=b.UID WHERE """ + "a." + fieldName + '=?')
1625 1625
            try:
1626 1626
                cursor.execute(sql, (param,))
1627 1627
                rows = cursor.fetchall()
......
1631 1631
                                            , symbolTuple[4], symbolTuple[5], symbolTuple[6], symbolTuple[7],
1632 1632
                                            symbolTuple[8]
1633 1633
                                            , symbolTuple[9], symbolTuple[10], symbolTuple[11], symbolTuple[12],
1634
                                            symbolTuple[13], symbolTuple[14], symbolTuple[0],
1634
                                            symbolTuple[13], symbolTuple[14], symbolTuple[0], iType=symbolTuple[16],
1635 1635
                                            detectFlip=symbolTuple[15])  ## uid is last item
1636 1636
                    self._symbolBase[fieldName][param] = ret
1637 1637
            except Exception as ex:
......
1653 1653
            cursor = conn.cursor()
1654 1654
            if field_name is not None and param is not None:
1655 1655
                sql = """SELECT a.UID,a.Name,b.Type,a.Threshold,a.MinMatchPoint,a.IsDetectOrigin,a.RotationCount,a.OCROption,a.IsContainChild,a.OriginalPoint,a.ConnectionPoint,
1656
                        a.BaseSymbol,a.AdditionalSymbol,a.IsExceptDetect,a.HasInstrumentLabel,a.flip
1656
                        a.BaseSymbol,a.AdditionalSymbol,a.IsExceptDetect,a.HasInstrumentLabel,a.flip,b.UID
1657 1657
                        FROM Symbol a inner join SymbolType b on a.SymbolType_UID=b.UID WHERE SymbolType_UID = (select UID from SymbolType where {}={})""".format(
1658 1658
                    field_name, self.project.database.place_holder)
1659 1659
            else:
......
1668 1668
                                                , symbolTuple[5], symbolTuple[6], symbolTuple[7], symbolTuple[8],
1669 1669
                                                symbolTuple[9]
1670 1670
                                                , symbolTuple[10], symbolTuple[11], symbolTuple[12], symbolTuple[13],
1671
                                                symbolTuple[14], symbolTuple[0],
1671
                                                symbolTuple[14], symbolTuple[0], iType=symbolTuple[16],
1672 1672
                                                detectFlip=symbolTuple[15])  ## uid is last item
1673 1673
                        ret.append(sym)
1674 1674
            except Exception as ex:
DTI_PID/DTI_PID/LineNoTracer.py
519 519
                App.mainWnd().addMessage.emit(MessageType.Error, message)
520 520

  
521 521
        """ try to connect label to valve """
522
        labels = [symbol for symbol in symbols if type(symbol) is QEngineeringInstrumentItem and not symbol.connectors]
523
        valves = [symbol for symbol in symbols if symbol.type == 'Specialty Components' or symbol.type == 'In-Line' or symbol.type == 'Relief Devices']
522
        labels = [symbol for symbol in symbols if symbol.iType == 19] # Labels - General Instrument => Instrument
523
        valves = [symbol for symbol in symbols if symbol.iType == 34 or symbol.iType == 17 or symbol.iType == 22] # Specialty Components, In-Line, Relief Devices
524
        for label in labels:
525
            label.connectAttribute(valves, clear=False)
526

  
527
        labels = [symbol for symbol in symbols if symbol.iType == 29]  # Labels - Piping Components => Instrument
528
        valves = [symbol for symbol in symbols if symbol.iType == 25]  # System Functions
524 529
        for label in labels:
525 530
            label.connectAttribute(valves, clear=False)
526 531

  
DTI_PID/DTI_PID/Shapes/SymbolSvgItem.py
47 47
        self.uid = uuid.uuid4() if uid is None else uuid.UUID(uid)
48 48
        self.name = name
49 49
        self.type = ''
50
        self.iType = -2
50 51
        self.angle = 0
51 52
        self.origin = None
52 53
        self.loc = None
......
601 602
            else:
602 603
                symbolInfo = docData.getSymbolByQuery('UID', dbUid)
603 604
            self.dbUid = symbolInfo.uid
605
            self.iType = symbolInfo.iType
604 606
            originalPoint = symbolInfo.getOriginalPoint().split(',')
605 607
            self.symbolOrigin = [float(originalPoint[0]), float(originalPoint[1])]
606 608

  
DTI_PID/DTI_PID/SymbolBase.py
6 6
    def __init__(self, sName, sType, threshold = None, minMatchCount = 0
7 7
                 , isDetectOnOrigin = False, rotationCount = 4, ocrOption = OCR_OPTION_NOT_EXEC, isContainChild = 0
8 8
                 , originalPoint = None, connectionPoint = None, baseSymbol = None, additionalSymbol = None
9
                 , isExceptDetect = 0, hasInstrumentLabel = 0, uid = None, width = None, height = None, detectFlip = None):
9
                 , isExceptDetect = 0, hasInstrumentLabel = 0, uid = None, width = None, height = None, iType = -2,detectFlip = None):
10 10
        self.uid = uid ## Auto increased Unique Id
11 11
        self.sName = sName
12 12
        self.sType = sType
13
        self.iType = iType
13 14
        self.threshold = threshold
14 15
        self.minMatchCount = minMatchCount
15 16
        self.isDetectOnOrigin = isDetectOnOrigin

내보내기 Unified diff

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