| | |
| | | #include <chrono> |
| | | #include <optional> |
| | | |
| | | |
| | | |
| | | struct PJWarp { |
| | | BOOL addToCj; |
| | | void* pj; |
| | | int port; |
| | | BOOL checkSlot[8]; |
| | | int material[8]; |
| | | }; |
| | | |
| | | namespace SERVO { |
| | | /// PJ 生命周期(贴近 E40 常见状态) |
| | | enum class PJState : uint8_t { |
| | |
| | | explicit CProcessJob(std::string pjId); |
| | | |
| | | const std::string& id() const noexcept { return m_pjId; } |
| | | void setId(std::string& id); |
| | | const std::string& parentCjId() const noexcept { return m_parentCjId; } |
| | | PJState state() const noexcept { return m_state; } |
| | | StartPolicy startPolicy() const noexcept { return m_startPolicy; } |
| | |
| | | bool pause(); // InProcess -> Paused |
| | | bool resume(); // Paused -> InProcess |
| | | bool complete(); // InProcess -> Completed |
| | | bool abort(); // Any (未终态) -> Aborted |
| | | bool abort(std::string reason); // Any (未终态) -> Aborted |
| | | bool fail(std::string reason); // 任意态 -> Failed(记录失败原因) |
| | | |
| | | // —— 访问器(用于上报/查询)—— |
| | |
| | | |
| | | // 追加一个载具 |
| | | void addCarrier(std::string carrierId, std::vector<uint8_t> slots); |
| | | |
| | | // 设置载具slots和contexts |
| | | bool setCarrierSlotsAndContexts(std::string carrierId, std::vector<uint8_t> slots, std::vector<void*> contexts); |
| | | bool setCarrierContexts(std::string carrierId, std::vector<void*> contexts); |
| | | |
| | | // 访问器 |
| | | const std::vector<CarrierSlotInfo>& carriers() const noexcept { return m_carriers; } |
| | |
| | | |
| | | // 错误列表 |
| | | std::vector<ValidationIssue> m_issues; |
| | | |
| | | // 新增 |
| | | std::string m_strLotId; |
| | | std::string m_strProductId; |
| | | std::string m_strOperationId; |
| | | PJWarp m_pjWarp; |
| | | |
| | | public: |
| | | void setLotId(std::string strLotId); |
| | | std::string& getLotId(); |
| | | void setProductId(std::string strProductId); |
| | | std::string& getProductId(); |
| | | void setOperationId(std::string strOperationId); |
| | | std::string& getOperationId(); |
| | | void setPjWarp(PJWarp pjWarp); |
| | | PJWarp& getPjWarp(); |
| | | }; |
| | | } |
| | | |