|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <QObject>
|
|
|
|
|
#include <QMap>
|
|
|
|
|
|
|
|
|
|
#include "IxSerDes.h"
|
|
|
|
|
#include "ZxXpf.h"
|
|
|
|
|
#include "ZxSerializer.h"
|
|
|
|
|
|
|
|
|
|
#include "Defines.h"
|
|
|
|
|
#include "ZxBaseUtil.h"
|
|
|
|
|
|
|
|
|
|
#include "mGuiJob_global.h"
|
|
|
|
|
|
|
|
|
|
class ZxDataWell;
|
|
|
|
|
class ZxDataJobInfo;
|
|
|
|
|
class ZxDataJobRun;
|
|
|
|
|
|
|
|
|
|
class ZxSegmentInfo;
|
|
|
|
|
class iPseu3Wrapper;
|
|
|
|
|
class iPseuCWrapper;
|
|
|
|
|
class iModelOption;
|
|
|
|
|
|
|
|
|
|
class iWxBase;
|
|
|
|
|
|
|
|
|
|
class M_GUI_JOB_EXPORT iJobRun : public QObject,
|
|
|
|
|
virtual public IxSerDes
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
explicit iJobRun();
|
|
|
|
|
~iJobRun();
|
|
|
|
|
|
|
|
|
|
// 初始化、刷新UI
|
|
|
|
|
virtual void init();
|
|
|
|
|
virtual void refresh();
|
|
|
|
|
|
|
|
|
|
// 序列化
|
|
|
|
|
virtual void onSerialize(ZxSerializer* ser);
|
|
|
|
|
virtual void onDeserialize(ZxSerializer* ser);
|
|
|
|
|
|
|
|
|
|
// 为了速度,而增加的特殊处理
|
|
|
|
|
virtual void ensureLoaded();
|
|
|
|
|
void setLoaded(bool b);
|
|
|
|
|
bool saveBasicAsByteArr(QByteArray& v);
|
|
|
|
|
bool loadLoadFromByteArr(QByteArray& v);
|
|
|
|
|
QString getTestType();
|
|
|
|
|
QString getFluidOption();
|
|
|
|
|
bool isPhaseS();
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
virtual void setDataWell(ZxDataWell* p);
|
|
|
|
|
virtual void setDataJobInfo(ZxDataJobInfo* p);
|
|
|
|
|
virtual void setDataJobRun(ZxDataJobRun* p);
|
|
|
|
|
|
|
|
|
|
// 组织其基础信息,为了展示到表格中
|
|
|
|
|
bool getBaseInfos(VecVariant& vec, int nColCount);
|
|
|
|
|
|
|
|
|
|
bool getMpParaValues(QStringList listParas, QMap<QString, double>& map);
|
|
|
|
|
|
|
|
|
|
// 根据当前的模型情况进行配置拟压力相关,调用该函数前已经确保是GAS
|
|
|
|
|
// initPs是否初始化,如果不是,则只设置ps3
|
|
|
|
|
// 如果pModelOption不为空,则根据pModelOption设置ps3模式,
|
|
|
|
|
// 否则:
|
|
|
|
|
// bSetPs3ModeBySelf为true时,根据this设置ps3模式
|
|
|
|
|
// 对于IPR对话框,需要根据Job类型直接设置,对于其它不能设置
|
|
|
|
|
bool configPsAbouts(bool initPs, iModelOption* pModelOption, bool bSetPs3ModeBySelf = false);
|
|
|
|
|
bool isPs3Valid();
|
|
|
|
|
bool isPsCValid();
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
iWxBase* getWxDataOf(int n);
|
|
|
|
|
|
|
|
|
|
// 与数据库对应的真实数据
|
|
|
|
|
ZxDataJobInfo* getDataJobInfo();
|
|
|
|
|
ZxDataJobRun* getDataJobRun();
|
|
|
|
|
|
|
|
|
|
QString getJobId();
|
|
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
// 参与序列化:分别为 Basic、Fluid、(GasConst)
|
|
|
|
|
QVector<iWxBase*> m_vecWxDatas;
|
|
|
|
|
|
|
|
|
|
// 与数据库对应的真实数据(外界传入,本类不进行创建释放维护)
|
|
|
|
|
ZxDataWell* m_pDataWell;
|
|
|
|
|
ZxDataJobInfo* m_pDataJobInfo;
|
|
|
|
|
ZxDataJobRun* m_pDataJobRun;
|
|
|
|
|
|
|
|
|
|
// 为了速度而增加
|
|
|
|
|
bool m_bLoaded;
|
|
|
|
|
QStringList m_listBasicInfos;
|
|
|
|
|
};
|