chenluhua1980
2026-01-19 44360bc2cdeee16be72f9cc4bfb42e0ac26b5b44
SourceCode/Bond/Servo/ProcessJob.cpp
@@ -75,6 +75,11 @@
        return m_issues;
    }
    void CProcessJob::addIssue(uint32_t code, const std::string& msg)
    {
        m_issues.push_back({ code, msg });
    }
    bool CProcessJob::validate(const IResourceView& rv)
    {
        m_issues.clear();
@@ -83,10 +88,6 @@
        auto add = [&](uint32_t code, std::string msg) {
            m_issues.push_back({ code, std::move(msg) });
        };
        if (!rv.isProcessJobsEmpty()) {
            add(1000, "ProcessJobs Conflict!");
        }
        // —— 基本 / 标识 ——
        if (m_pjId.empty())            add(1001, "PJID empty");
@@ -290,6 +291,18 @@
        return false;
    }
    bool CProcessJob::setCarrierContexts(std::string carrierId, std::vector<void*> contexts)
    {
        for (auto& c : m_carriers) {
            if (c.carrierId.compare(carrierId) == 0) {
                c.contexts = std::move(contexts);
                return true;
            }
        }
        return false;
    }
    // --------- 核心:serialize/deserialize ---------
    void CProcessJob::serialize(std::ostream& os) const {
        // ͷ
@@ -454,4 +467,44 @@
        return nullptr;
    }
    void CProcessJob::setLotId(std::string strLotId)
    {
        m_strLotId = strLotId;
    }
    std::string& CProcessJob::getLotId()
    {
        return m_strLotId;
    }
    void CProcessJob::setProductId(std::string strProductId)
    {
        m_strProductId = strProductId;
    }
    std::string& CProcessJob::getProductId()
    {
        return m_strProductId;
    }
    void CProcessJob::setOperationId(std::string strOperationId)
    {
        m_strOperationId = strOperationId;
    }
    std::string& CProcessJob::getOperationId()
    {
        return m_strOperationId;
    }
    void CProcessJob::setPjWarp(PJWarp pjWarp)
    {
        m_pjWarp = pjWarp;
    }
    PJWarp& CProcessJob::getPjWarp()
    {
        return m_pjWarp;
    }
}