Test QuickGV: Difference between revisions

From Fundamental Ramen
Jump to navigation Jump to search
 
(6 intermediate revisions by the same user not shown)
Line 12: Line 12:


= MMD =
= MMD =
<quickmmd name="testmmd">
<quickmmd name="testmmd">
flowchart TD
flowchart LR
  A[(更新 MAINSYS_DB.md)]@{ shape: doc }
    Root("規則動詞變化<br>(play)")
  B[(`task mig-create -- xxx`<br>新增一組資料庫版本異動)]
  C[(`assets/migrations/xxx.sql`<br>修訂資料庫異動檔 )]
  D[(`task mig-up`<br>升級資料庫)]
  E[(`task mig-down`<br>降級資料庫)]
  F{{`src/main_be/internal/schema/xxx.go`<br>新增 Ent schema 定義}}
  G{{`task ent-gen`<br>生成 Ent 資料存取碼}}
  H([在 service 層寫業務邏輯])
  I([在 service 層寫單元測試])
  J([在 handler 層寫請求處理])
  K[在 main.go 組裝 client, service, handler]@{ shape: procs }


  A --> B
    Root --> Past("過去")
    Root --> Pres("現在")
    Root --> Fut("未來")


  subgraph database_layer
     Past --> P1("過去普通: played")
    direction LR
     Past --> P2("過去進行: was/were playing")
     B --> C
     Past --> P3("過去完成: had played")
     C --> D
     Past --> P4("過去被動: was/were played")
     D --Failed--> E
     E --Tunning--> C
  end


  D --Passed--> F
    Pres --> R1("現在普通: play / plays")
  F --> G
    Pres --> R2("現在進行: am/is/are playing")
  G --> H
    Pres --> R3("現在完成: have/has played")
    Pres --> R4("現在被動: am/is/are played")


  subgraph service_layer
    Fut --> F1("未來普通: will play")
      direction LR
    Fut --> F2("未來進行: will be playing")
      H --> I
    Fut --> F3("未來完成: will have played")
      I --Failed--> H
    Fut --> F4("未來被動: will be played")
      I --Passed--> J
  end 
 
  J --> K
</quickmmd>
</quickmmd>


Line 78: Line 65:
s:mh -> iq [color="#ff0000"];
s:mh -> iq [color="#ff0000"];
s:mw -> iq [color="#ff0000",dir="back"];
s:mw -> iq [color="#ff0000",dir="back"];
</quickgv>
= 建議線路 gen2 =
<quickgv name="topology_gen2" theme="warm">
subgraph cluster_clinic {
  label="診間網路";
  his[label="HIS Server"];
  nas[label="NAS"];
  opd[label="診間"];
  pt[label="復健"];
  reg[label="掛號"];
  tv[label="衛教"];
  prn[label="印表機"];
  fw[label="防火牆"];
  wan1[label="固定IP線路"];
  wan2[label="健保局 VPN"];
  cross[label="跨院病歷"];
  subgraph cluster_switch {
    label="網路交換器";
    vlan1[label="診間區虛擬網路"];
    vlan2[label="敏感區虛擬網路"];
  }
  {opd pt reg tv prn} -> vlan1;
  {his nas} -> vlan2;
  {vlan1 vlan2} -> fw;
  fw -> {wan1 wan2};
  wan1 -> cross [dir="back", color="#ff0000"];
}
// 開放網路
subgraph cluster_open {
  label="開放網路";
  gu[label="新光保全"];
  mo[label="監視系統"];
  pc1[label="外網專用PC"];
  rt[label="IP分享器"];
  wan3[label="浮動IP線路"];
  mobile[label="監視系統 App\n(僅限特定地點存取)"];
  {pc1 gu mo} -> rt -> wan3;
  wan3 -> mobile [label="tcp:3880", dir="back", color="#ff0000"];
}
</quickgv>
= A =
<quickgv name="Gff" theme="warm">
rankdir=TB;
A [label="驗證銷售權"];
B [label="驗證輸入值格式"];
C [label="驗證報價是否存在"];
D [label="產生 GDS 訂單"];
E [label="產生供應商訂單"];
A -> B -> C -> D -> E;
</quickgv>
</quickgv>



Latest revision as of 18:09, 31 August 2026

See: https://graphviz.gitlab.io/_pages/pdf/dotguide.pdf

Dish

MMD

WebSocket Service

testflow

test

Crawling Flow

GDS

Geomancer

Sandbox