first commit
This commit is contained in:
58
procedure/proceduremanager.h
Normal file
58
procedure/proceduremanager.h
Normal file
@@ -0,0 +1,58 @@
|
||||
#ifndef PROCEDUREMANAGER_H
|
||||
#define PROCEDUREMANAGER_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QVector>
|
||||
#include <QMap>
|
||||
#include "proceduredata.h"
|
||||
|
||||
class ProcedureManager : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ProcedureManager(QObject *parent = nullptr);
|
||||
~ProcedureManager();
|
||||
|
||||
// 加载规程列表
|
||||
QVector<ProcedureSummary> loadProcedureList(const QString &directory);
|
||||
|
||||
// 搜索规程
|
||||
QVector<ProcedureSummary> searchProcedures(const QString &keyword);
|
||||
|
||||
// 加载规程详情
|
||||
ProcedureData loadProcedure(const QString &procedureId);
|
||||
|
||||
// 设置工单号
|
||||
void setWorkOrderId(const QString &workOrderId);
|
||||
QString workOrderId() const { return m_workOrderId; }
|
||||
|
||||
// 步骤操作
|
||||
bool confirmStep(const QString &procedureId, const QString &stepId);
|
||||
bool cancelStepConfirm(const QString &procedureId, const QString &stepId, const QString &reason);
|
||||
bool executeAutoStep(const QString &procedureId, const QString &stepId);
|
||||
|
||||
// 获取表格数据
|
||||
TableData getTableData(const QString &procedureId, const QString &tableId);
|
||||
bool updateTableData(const QString &procedureId, const QString &tableId, const QVector<QVariantMap> &rows);
|
||||
|
||||
signals:
|
||||
void procedureLoaded(const ProcedureData &procedure);
|
||||
void stepStatusChanged(const QString &stepId, StepStatus status);
|
||||
void tableDataUpdated(const QString &tableId);
|
||||
|
||||
private:
|
||||
ProcedureData parseProcedureYaml(const QString &filePath);
|
||||
void createSampleProcedures();
|
||||
void createMockExceptionData();
|
||||
ProcedureData loadMockProcedureFromJson(const QString &procedureId);
|
||||
StepType parseStepType(const QString &typeStr);
|
||||
StepStatus parseStepStatus(const QString &statusStr);
|
||||
|
||||
QString m_workOrderId;
|
||||
QString m_procedureDirectory;
|
||||
QVector<ProcedureSummary> m_procedureList;
|
||||
QMap<QString, ProcedureData> m_loadedProcedures;
|
||||
};
|
||||
|
||||
#endif // PROCEDUREMANAGER_H
|
||||
Reference in New Issue
Block a user