
digraph CompanyHierarchy {
    // 关键配置：指定支持中文的字体
    graph [fontname="SimHei, Microsoft YaHei, Heiti TC"];
    node [fontname="SimHei, Microsoft YaHei, Heiti TC", shape=box, style="filled,rounded", color="#4a86e8", fillcolor="#e6f2ff"];
    edge [fontname="SimHei, Microsoft YaHei, Heiti TC", color="#666666", arrowhead="normal"];
    
    // 布局方向
    rankdir= LR;
    
    // 节点定义
    T0 [label="SYSTGBTM", fillcolor="#b3d1ff", fontsize=12, fontweight="bold"];
    
    OCPP [label="OCPP16"];
    TCU [label="QTTCU"];
    PCU [label="PCU"];
    CCU [label="CCU"];
    SECC [label="SECC"];
    GBT [label="GBT27930"];
    V2G [label="V2GContext"];
    
    OCPP1 [label="start_transation"];
    OCPP2 [label="stop_transaction"];
    OCPP3 [label="authorizate"];
    OCPP4 [label="report_status"];
    OCPP5 [label="report_meter_values"];

    CCU1 [label="checkIO"];
    CCU2 [label="checkGUNA"];
    CCU3 [label="checkGUNB"];
    CCU4 [label="checkMeters"];
    CCU5 [label="checkGround"];

    TCU1 [label="startup"];
    TCU2 [label="shutdown"];
    TCU3 [label="report_GUNInfo"];
    TCU4 [label="report_ChargingInfo"];

    V2G1 [label="startup_slac"];
    V2G2 [label="startup_sdp"];
    V2G3 [label="startup_listen"];
    V2G4 [label="shutdown"];
    V2G5 [label="authrizate"];
    V2G6 [label="cablecheck"];
    V2G7 [label="precharge"];
    V2G8 [label="charging"];
    V2G9 [label="stopping"];
    
    PCU1 [label="request_power"];
    PCU2 [label="report_state_error"];
    PCU3 [label="report_K1K2_state"];

    SECC1 [label="startup"];
    SECC2 [label="shutdown"];
    SECC3 [label="authorizate"];
    SECC4 [label="start_transation"];
    SECC5 [label="stop_transation"];
    SECC6 [label="report_meter_values"];
    
    GBT1 [label="trylock"];
    GBT2 [label="handshake"];
    GBT3 [label="insulation"];
    GBT4 [label="precharge"];
    GBT5 [label="charging"];
    GBT6 [label="finshing"];

    // 层次关系
    T0 -> {OCPP, TCU, PCU, SECC, GBT, V2G, CCU};
    OCPP -> {OCPP1, OCPP2, OCPP3, OCPP4, OCPP5};
    TCU -> {TCU1, TCU2, TCU3, TCU4};
    PCU -> {PCU1, PCU2, PCU3};
    SECC -> {SECC1, SECC2, SECC3, SECC4, SECC5, SECC6};
    GBT -> {GBT1, GBT2, GBT3, GBT4, GBT5, GBT6};
    V2G -> {V2G1, V2G2, V2G3, V2G4, V2G5, V2G6, V2G7, V2G8, V2G9}
    CCU -> {CCU1, CCU2, CCU3, CCU4, CCU5}
    
    // 标题设置（同样指定字体）
    labelloc="t";
    label="CCU detail";
    fontsize=16;
    fontweight="bold";
}