You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWTAI-Platform/Include/iData/iXmlManager/Models/iModelExtInfoInterfere.h

61 lines
2.5 KiB
C

#pragma once
#include "iModelInfoBase.h"
/*-- 20260626针对干扰模型新增,以方便后期更好地维护
目的:就是在常规解析模型业已配置的基础上,针对干扰模型,允许进行再次调整
前提:1.干扰的模型,在常规解析模型中,业已配置:包括井型、储层、边界(如果支持)、井储(如果支持)
2.干扰的模型,是通过在常规解析模型中,增加Flag标识来完成的,即:flagInterfere = 0x00000002
举例: Alias="无限大" Tips="" ExtID ="Bdy00001" Flags="35" FlagDescs="1多层+2干扰+32小信号" />
3.如果本处未配置,则干扰模型自动走解析模型配置的参数
4.干扰的模型,如果后续支持边界或井储,二者涉及的参数,不再额外配置
配置说明:
1.WelModel/ResModel分别对应井型/储层类型ID,支持;间隔连续配置
2.ParasAll,重置常规解析模型配置的所有参数(井储/边界除外)
3.ParasAdd,在常规解析模型配置参数基础上追加参数
4.ParasRemove,在常规解析模型配置参数基础上删除参数
--//*/
class I_XMLMANAGER_EXPORT iModelExtInfoInterfere : public iModelInfoBase
{
public:
iModelExtInfoInterfere();
~iModelExtInfoInterfere();
// 检测是否包括
bool checkDefinesOf(const QString sWel, const QString sRes);
// 进行参数校正
bool adjustParasOf(const QString sWel, const QString sRes, \
QStringList& listParas);
public:
// 解析xml节点到List
virtual void parseInfo(const QDomElement& e);
// 把List分配到成员变量
// 输入开始的m_listValues中index,并且返回下一个index
virtual int allocateInfo(int nIndex);
// 序列化
virtual void onSerialize(ZxSerializer* ser);
virtual void onDeserialize(ZxSerializer* ser);
protected:
virtual void initXmlTags();
public:
// xml解析的数据项
QStringList m_listWels; //井型,支持多个,以;分割
QStringList m_listRess; //油藏类型,支持多个,以;分割
QStringList m_listParasAll; //重置常规解析模型配置的所有参数(井储/边界除外)
QStringList m_listParasAdd; //在常规解析模型配置参数基础上追加参数
QStringList m_listParasRemove; //在常规解析模型配置参数基础上删除参数
QMap<QString, QString> m_mapSubItems; //配置的类似nf之类的子项,其中value为;逗号分割的QString
};