2.7. Pohled "IFC_CLASS_LVL_VW"

Nadřízené objekty
Tabulky - IFC_CLASS - X_PROPERTY_SET_CLASS - X_PROPERTY_SET_PROPERTY
Funkce - NBSP
název sloupceTypvýchozíupravitelný
RADDRNUMBER ( 22 ) Ne
IDNUMBER ( 22 ) Ne
PARENT_IDNUMBER ( 22 ) Ne
LVLNUMBER ( 22 ) Ne
KDOVARCHAR2 ( 120 ) Ne
KDYDATE ( ) Ne
KDY_DMRVARCHAR2 ( 10 ) Ne
KDY_DMRHMVARCHAR2 ( 16 ) Ne
VISIBLEVARCHAR2 ( 20 ) Ne
IS_ICHAR ( 1 ) Ne
IS_PCHAR ( 1 ) Ne
IS_SCHAR ( 1 ) Ne
IS_ZCHAR ( 1 ) Ne
IFDGUIDVARCHAR2 ( 128 ) Ne
IFCIDENTVARCHAR2 ( 50 ) Ne
CLASSTYPECHAR ( 4 ) Ne
CLASSTYPE_TXTVARCHAR2 ( 13 ) Ne
NAMEVARCHAR2 ( 4000 ) Ne
NAME_CZVARCHAR2 ( 4000 ) Ne
DEFINITIONVARCHAR2 ( 4000 ) Ne
DEF50VARCHAR2 ( 4000 ) Ne
DEF100VARCHAR2 ( 4000 ) Ne
DEFINITION_CZVARCHAR2 ( 4000 ) Ne
DEF50_CZVARCHAR2 ( 4000 ) Ne
DEF100_CZVARCHAR2 ( 4000 ) Ne
PROPERTYSETNRNUMBER ( 22 ) Ne
PROPERTYNRNUMBER ( 22 ) Ne

select
    10*C.ID+case ClassType when 'C' then 2 when 'S' then 3 when 'E' then 4 else 1 end Raddr, -- 1-4 ~ C ... class/caststavby/skupelementu/element
    C.ID,
    C.Parent_ID,
    Level Lvl,
    --
    C.Kdo,
    C.Kdy,
    To_Char(C.Kdy,'dd.mm.yyyy') Kdy_DMR,
    To_Char(C.Kdy,'dd.mm.yyyy hh24:mi') Kdy_DMRHM,
    --
    C.visible,
    case when C.Visible like '%I%' then 'Y' else 'N' end is_I,
    case when C.Visible like '%P%' then 'Y' else 'N' end is_P,
    case when C.Visible like '%S%' then 'Y' else 'N' end is_S,
    case when C.Visible like '%Z%' then 'Y' else 'N' end is_Z,
    --
    C.ifdGuid,
    C.IfcIdent,
    C.ClassType,
    case C.ClassType when 'E' then 'Element' when 'S' then 'Skupina elem.' when 'C' then 'Část stavby' end ClassType_Txt,
    RTrim(Substr(LPAD(nbsp,2*level,nbsp),3)||C.Name,' '||nbsp) Name,
    RTrim(Substr(LPAD(nbsp,2*level,nbsp),3)||C.Name_CZ,' '||nbsp) Name_CZ,
    C.Definition,
    case when length(C.Definition)>50 then rtrim(substr(C.Definition,1,47))||'...' else C.Definition end Def50,
    case when length(C.Definition)>100 then rtrim(substr(C.Definition,1,97))||'...' else C.Definition end Def100,
    C.Definition_CZ,
    case when length(C.Definition_CZ)>50 then rtrim(substr(C.Definition_CZ,1,47))||'...' else C.Definition_CZ end Def50_CZ,
    case when length(C.Definition_CZ)>100 then rtrim(substr(C.Definition_CZ,1,97))||'...' else C.Definition_CZ end Def100_CZ,
  --C.Repres,
  --C.IfcRepres,
  --C.Prec,
  --C.PrecV,
  --C.Prec||case when C.PrecV is not null and C.PrecV<>C.Prec then '/'||C.PrecV end Precision, -- P2/P3, pokud se presnosti lisi
    ( select
          count(*)
        from
          X_Property_Set_Class X
        where X.Class_ID=C.ID
    ) PropertySetNr,
    ( select
          count(distinct Y.Property_ID)
        from
          X_Property_Set_Class X,
          X_Property_Set_Property Y
        where X.Class_ID=C.ID
          and Y.Property_Set_ID=X.Property_Set_ID
    ) PropertyNr
  from
    IFC_Class C
  start with C.Parent_ID is null
  connect by C.Parent_ID = prior C.ID
  order siblings by C.Name