```mermaid classDiagram %% 孵育盘状态管理器 class IncubationPlateStateMgrService { + IncubationSubTank getOneExpiredPlate() // 获取一个孵育完成的插槽 + IncubatorPos takeOneIncubationIDLEPos() // 获取空闲的插槽位置 } %% 孵育盘 class IncubationPlate { } %% 孵育盘反应板插槽 class IncubationSubTank { } %% 插槽位置 class IncubatorPos { } %% 插槽状态 class IncubationSubTankState { EMPTY,//空 RESERVED,//预定 WAITING_FOR_DROP,//等待滴液 INCUBATING, //孵育中 INCUBATION_COMPLETE, //孵育完成 ERROR,//错误 } <> IncubationSubTankState IncubationSubTank "1" --> "1" IncubatorPos IncubationSubTank "1" --> "1" IncubationSubTankState IncubationPlate "1" --> "20" IncubationSubTank IncubationPlateStateMgrService --> IncubationPlate ``` ```mermaid --- title: 孵育盘槽位状态变更图 --- stateDiagram-v2 [*] --> EMPTY RESERVED --> INCUBATING: startIncubating INCUBATING --> INCUBATION_COMPLETE: scheduled_timeout[remainTimeSec < 0] %% 当找到一个空闲的槽位时将其状态置为预留 EMPTY --> RESERVED: takeOneIncubationIDLEPos INCUBATION_COMPLETE --> EMPTY: reset RESERVED --> EMPTY: reset INCUBATING --> EMPTY: reset ``` ```mermaid classDiagram %% 项目上下文管理器 class ProjectContextMgrService { } ```