You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.5 KiB

  1. ```mermaid
  2. classDiagram
  3. %% 孵育盘状态管理器
  4. class IncubationPlateStateMgrService {
  5. + IncubationSubTank getOneExpiredPlate() // 获取一个孵育完成的插槽
  6. + IncubatorPos takeOneIncubationIDLEPos() // 获取空闲的插槽位置
  7. }
  8. %% 孵育盘
  9. class IncubationPlate {
  10. }
  11. %% 孵育盘反应板插槽
  12. class IncubationSubTank {
  13. }
  14. %% 插槽位置
  15. class IncubatorPos {
  16. }
  17. %% 插槽状态
  18. class IncubationSubTankState {
  19. EMPTY,//空
  20. RESERVED,//预定
  21. WAITING_FOR_DROP,//等待滴液
  22. INCUBATING, //孵育中
  23. INCUBATION_COMPLETE, //孵育完成
  24. ERROR,//错误
  25. }
  26. <<enumeration>> IncubationSubTankState
  27. IncubationSubTank "1" --> "1" IncubatorPos
  28. IncubationSubTank "1" --> "1" IncubationSubTankState
  29. IncubationPlate "1" --> "20" IncubationSubTank
  30. IncubationPlateStateMgrService --> IncubationPlate
  31. ```
  32. ```mermaid
  33. ---
  34. title: 孵育盘槽位状态变更图
  35. ---
  36. stateDiagram-v2
  37. [*] --> EMPTY
  38. RESERVED --> INCUBATING: startIncubating
  39. INCUBATING --> INCUBATION_COMPLETE: scheduled_timeout[remainTimeSec < 0]
  40. %% 当找到一个空闲的槽位时将其状态置为预留
  41. EMPTY --> RESERVED: takeOneIncubationIDLEPos
  42. INCUBATION_COMPLETE --> EMPTY: reset
  43. RESERVED --> EMPTY: reset
  44. INCUBATING --> EMPTY: reset
  45. ```
  46. ```mermaid
  47. classDiagram
  48. %% 项目上下文管理器
  49. class ProjectContextMgrService {
  50. }
  51. ```