|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "Defines.h"
|
|
|
#include "mTagDefines.h"
|
|
|
|
|
|
/// @brief 存放应用模块(比如WTAI)的定义内容
|
|
|
|
|
|
/////////////////////////////////////////
|
|
|
// defines
|
|
|
/////////////////////////////////////////
|
|
|
|
|
|
// 工区所在路径,相对路径
|
|
|
#define s_Dir_WorkArea "TestOfWTAI"
|
|
|
|
|
|
#ifdef _SCAN_OLD_CODES_
|
|
|
// 新建标识(很久之前的处理方式,目前已经屏蔽该功能)
|
|
|
#define s_Tag_NewTab QObject::tr("New")
|
|
|
#endif
|
|
|
|
|
|
// 新建SubWnd
|
|
|
#define s_Tag_NewWnd QObject::tr("New sub wnd")
|
|
|
|
|
|
// 最近处理的模型
|
|
|
#define s_Tag_RecentModels "recentModels"
|
|
|
|
|
|
// Assist开关标识
|
|
|
#define s_Tag_ModelAssist "modelAssistOn"
|
|
|
|
|
|
// 此处应该与XML配置对应,目前只是临时处理方式
|
|
|
#define s_Tag_Wnd_Anal QStringCH("流动段选择")
|
|
|
#define s_Tag_Wnd_Fitting QStringCH("流动段分析")
|
|
|
|
|
|
// 首页面涉及到的一些配置信息
|
|
|
#define s_Tag_RecentNum "RecentNum"
|
|
|
#define s_Tag_MaxRs "MaxRs"
|
|
|
#define s_Tag_MaxCl "MaxCl"
|
|
|
#define s_Tag_SortBy "SortBy"
|
|
|
|
|
|
// 一些工具类的标识设定
|
|
|
#define s_Tag_BasicOption "BasicOption"
|
|
|
|
|
|
// Pseu 涉及的参数(分别为常规、三区、组分拟压力)
|
|
|
#define s_Tag_Pseu_Normal "PseuPressure"
|
|
|
#define s_Tag_Pseu_Tri "PseuPressure3"
|
|
|
#define s_Tag_Pseu_Comp "PseuPressureC"
|
|
|
|
|
|
// Diffusion 涉及的参数(分别为 KroKrg相渗、StressSensitive压敏、Desorption吸附)
|
|
|
#define s_Tag_Diff_KK "KK"
|
|
|
#define s_Tag_Diff_SS "SS"
|
|
|
#define s_Tag_Diff_DS "DS"
|
|
|
|
|
|
// 自动拟合界面参数
|
|
|
#define s_Tag_FA_Method "FaMethod"
|
|
|
#define s_Tag_FA_LoopMax "FaLoopMax"
|
|
|
#define s_Tag_FA_ErrorMax "FaErrorMax"
|
|
|
#define s_Tag_FA_Weight "FaWeight"
|
|
|
#define s_Tag_FA_Paras "FaSelectedParas"
|
|
|
|
|
|
// 单相多相标识
|
|
|
#define s_Tag_Phase_S QObject::tr("Single phase")
|
|
|
#define s_Tag_Phase_M QObject::tr("Multiphase")
|
|
|
#define s_Tag_Phase_PS3 QObject::tr("Pseu3Contained")
|
|
|
|
|
|
// 历史曲线Btn标识
|
|
|
#define s_Tag_HIST_PF "HistPF"
|
|
|
|
|
|
|
|
|
// 处理解析图形
|
|
|
#define s_Tag_ChartDouble QObject::tr("TAG1")
|
|
|
#define s_Tag_ChartHarf QObject::tr("TAG2")
|
|
|
#define s_Tag_ChartHist QObject::tr("TAG3")
|
|
|
#define s_Tag_ChartExt QObject::tr("TAG4")
|
|
|
//m_listTags << tr("TAG1") << tr("TAG2") << s_Tag_ChartHist << tr("TAG4");
|
|
|
//m_listCoord<< tr("T") << tr("Sqrt(T)") << tr("0.25T") << tr("-0.5T") << tr("DenChart") << tr("VisChart");
|
|
|
#define s_Tag_ChartSensitivity QObject::tr("SensitivityPlot")
|
|
|
#define s_Tag_ChartDoubleEx QObject::tr("DeconvPlot")
|
|
|
|
|
|
// IPR
|
|
|
#define s_Tag_IPR_EN "IPR"
|
|
|
#define s_Tag_IPR_CN QObject::tr("Inflow Performance Relationship")
|
|
|
|
|
|
// 注入
|
|
|
#define s_Tag_Inject_EN "Inject"
|
|
|
#define s_Tag_Inject_CN QObject::tr("Injection Of CO2")
|
|
|
|
|
|
// 耦合
|
|
|
#define s_Tag_Coupling_EN "Coupling"
|
|
|
#define s_Tag_Coupling_CN QObject::tr("Coupling Of CO2")
|
|
|
|
|
|
// 温压分布
|
|
|
#define s_Tag_Distrib_EN "Distrib"
|
|
|
#define s_Tag_Distrib_CN QObject::tr("Distribuition Of CO2")
|
|
|
|
|
|
// 小型压裂
|
|
|
#define s_Tag_MiniFr_EN "MiniFr"
|
|
|
#define s_Tag_MiniFr_CN QObject::tr("Mini Frac Model")
|
|
|
|
|
|
#define s_Key_MiniFrac_In QObject::tr("DataInput")
|
|
|
#define s_Key_MiniFrac_Curve QObject::tr("CurveData")
|
|
|
#define s_Key_MiniFrac_Out QObject::tr("DataRst")
|
|
|
|
|
|
// 模型Key
|
|
|
#define s_Key_Wbs QObject::tr("Wbs")
|
|
|
#define s_Key_Wel QObject::tr("Wel")
|
|
|
#define s_Key_Res QObject::tr("Res")
|
|
|
#define s_Key_Bdy QObject::tr("Bdy")
|
|
|
|
|
|
// 模型窗口涉及的部分
|
|
|
#define s_Key_ModelOption QObject::tr("ModelOption")
|
|
|
#define s_Key_ModelParameter QObject::tr("ModelParameter")
|
|
|
#define s_Key_WellBasic QObject::tr("WellBasic")
|
|
|
#define s_Key_WellRes QObject::tr("WellRes")
|
|
|
#define s_Key_WellFluid QObject::tr("WellFluid")
|
|
|
|
|
|
// 聚合物相关
|
|
|
#define s_Key_PF_Normal QObject::tr("Normal")
|
|
|
#define s_Key_PF_Interference QObject::tr("Interference")
|
|
|
#define s_Key_PF_FractuWell QObject::tr("FractuWell")
|
|
|
#define s_Key_PF_NormalEn "Normal"
|
|
|
#define s_Key_PF_InterferenceEn "Interference"
|
|
|
#define s_Key_PF_FractuWellEn "FractuWell"
|
|
|
|
|
|
// 模型开关(启动压力梯度、动态渗透率、小信号、吸附参数、应力敏感
|
|
|
#define s_Key_PressGrad QObject::tr("PressGrad")
|
|
|
#define s_Key_DynamicK QObject::tr("DynamicK")
|
|
|
#define s_Key_SmallSignal QObject::tr("SmallSignal")
|
|
|
#define s_Key_Adsorption QObject::tr("Adsorption")
|
|
|
#define s_Key_CrossFlow QObject::tr("CrossFlow")
|
|
|
#define s_Key_StressSensitive QObject::tr("StressSensitive")
|
|
|
|
|
|
#define s_Key_UseOrNot QObject::tr("UseOrNot options")
|
|
|
|
|
|
// 时间格式(流量/压力)
|
|
|
#define s_Value_FromStart QObject::tr("Value (FromStart)")
|
|
|
#define s_Value_Duration QObject::tr("Value (Duration)")
|
|
|
#define s_Real_Time QObject::tr("RealTime")
|
|
|
#define s_Real_DateTime QObject::tr("RealDateTime")
|
|
|
#define s_Real_Date QObject::tr("RealDate")
|
|
|
|
|
|
// 井间距离,干扰时使用
|
|
|
#define s_Inter_Well_Dis "wellDis"
|
|
|
|
|
|
// 坐标轴等相关标识
|
|
|
#define s_Tag_Date_EN "Date"
|
|
|
#define s_Tag_Time_EN "Time"
|
|
|
#define s_Tag_DateTime_EN "DateTime"
|
|
|
#define s_Tag_Date_CN QObject::tr("Date")
|
|
|
#define s_Tag_Time_CN QObject::tr("Time")
|
|
|
#define s_Tag_TimeAccu_CN QObject::tr("AccuTime")
|
|
|
#define s_Tag_DateTime_CN QObject::tr("DateTime")
|
|
|
|
|
|
#define s_Tag_Pressure_EN "Pressure"
|
|
|
#define s_Tag_FlowRate_EN "FlowRate"
|
|
|
#define s_Tag_Pressure_CN QObject::tr("Pressure")
|
|
|
#define s_Tag_Pressure_CN_Avg QObject::tr("AvgP")
|
|
|
#define s_Tag_FlowRate_CN QObject::tr("FlowRate")
|
|
|
|
|
|
#define s_Tag_ProdOil_EN "ProdOil"
|
|
|
#define s_Tag_ProdOil_CN QObject::tr("ProdOil")
|
|
|
#define s_Tag_ProdGas_EN "ProdGas"
|
|
|
#define s_Tag_ProdGas_CN QObject::tr("ProdGas")
|
|
|
#define s_Tag_ProdWater_EN "ProdWater"
|
|
|
#define s_Tag_ProdWater_CN QObject::tr("ProdWater")
|
|
|
|
|
|
#define s_Tag_PressurePse_CN QObject::tr("PseudoPressure") //拟压力
|
|
|
#define s_Tag_Deriv_Ext QObject::tr("WithDetiv") //和导数
|
|
|
|
|
|
|
|
|
#define s_Axis_NameX s_Tag_Time_CN
|
|
|
#define s_Axis_NameX_Semi s_Tag_TimeAccu_CN
|
|
|
#define s_Axis_NameY_P s_Tag_Pressure_CN
|
|
|
#define s_Axis_NameY_PGas s_Tag_PressurePse_CN
|
|
|
#define s_Axis_NameY_F s_Tag_FlowRate_CN
|
|
|
|
|
|
#define s_Axis_NameX_R QObject::tr("Radius")
|
|
|
#define s_Axis_NameY_Vis QObject::tr("Vis")
|
|
|
#define s_Axis_NameY_Den QObject::tr("Den")
|
|
|
|
|
|
#define s_Tag_Other_EN "Other"
|
|
|
#define s_Tag_Other_CN QObject::tr("Other")
|
|
|
|
|
|
|
|
|
#define s_Tag_Layer_EN "_layer_"
|
|
|
|
|
|
|
|
|
// 数据加载
|
|
|
#define s_Format_Date "yyyy-MM-dd"
|
|
|
#define s_Format_Time "hh:mm:ss"
|
|
|
#define s_Format_DateTime "yyyy-MM-dd hh:mm:ss"
|
|
|
|
|
|
// 文件格式
|
|
|
#define s_Test_Src_File_Exts QObject::tr("All supported files(*.txt *.dat *.rec *.xls *.xlsx *.csv);;Test text file(*.txt);;Test dat file(*.dat);;Test dat file(*.rec);;Excel file(*.xlsx);;Excel 97-2003 file(*.xls);;csv file(*.csv);;All file(*.*)")
|
|
|
#define s_Test_Src_Db_Exts QObject::tr("Sqlite Database File(*.db)")
|
|
|
#define s_Test_Src_mDb_Exts QObject::tr("Sqlite Database File(*.mdb)")
|
|
|
|
|
|
// IPR相关定义
|
|
|
#define s_Tag_Eq_Psquare QStringCH("压力平方")
|
|
|
#define s_Tag_Eq_PPse QStringCH("拟压力(含三区拟压力)")
|
|
|
|
|
|
// 从iToolPreCon移植过来
|
|
|
#define s_PreInput_Structure QObject::tr("Structure")
|
|
|
#define s_PreInput_Contraction QObject::tr("ContractionStructure")
|
|
|
#define s_PreInput_Expansion QObject::tr("ExpansionStructure")
|
|
|
#define s_PreInput_CloseWellDynSurface QObject::tr("CloseWellDynSurface")
|
|
|
|
|
|
#define s_Pre_Next QObject::tr("Next")
|
|
|
#define s_Pre_Prev QObject::tr("Prev")
|
|
|
#define s_Pre_Run QObject::tr("Run")
|
|
|
#define s_Pre_SaveFile QObject::tr("SaveFile")
|
|
|
#define s_Pre_LoadFile QObject::tr("LoadFile")
|
|
|
|
|
|
#define s_Pre_WellHeadPressure QObject::tr("WellHeadPressure")
|
|
|
#define s_Pre_BottomHolePressure QObject::tr("BottomHolePressure")
|
|
|
|
|
|
// 其他
|
|
|
#define s_Field_FieldName "FieldName"
|
|
|
#define s_Field_BlockName "BlockName"
|
|
|
|
|
|
// 拖拽之DOM格式
|
|
|
#define s_MimeData_Text "text/uri-list"
|
|
|
#define s_MimeData_Abstract "application/x-qabstractitemmodeldatalist"
|
|
|
|
|
|
// 数据连接标识
|
|
|
#define s_Conn_DbStrTemp "ConnDbBaseStrTemp"
|
|
|
|
|
|
// 产能相关
|
|
|
#define s_Wdt_Serie "WDT"
|
|
|
#define s_Wdt_Wel QObject::tr("Wel")
|
|
|
#define s_Wdt_SubWel QObject::tr("SubWel")
|
|
|
#define s_Wdt_Method QObject::tr("Method")
|
|
|
#define s_Wdt_P_Pseu QObject::tr("P_Pseu")
|
|
|
#define s_Wdt_P_Square QObject::tr("P_Square")
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////
|
|
|
// enums
|
|
|
/////////////////////////////////////////
|
|
|
|
|
|
enum MainWindowOption
|
|
|
{
|
|
|
MWO_MPA = 0, //MPA
|
|
|
MWO_WTAI, //CNPC-TEST
|
|
|
MWO_WellTestStar, //iWelltestStar
|
|
|
MWO_GasCondensate, //iGasCondensateWT
|
|
|
MWO_OICE, //iOICE
|
|
|
MWO_PPTA, //iPPTA
|
|
|
MWO_Unknown
|
|
|
};
|
|
|
|
|
|
// 工区/井对象的操作模式
|
|
|
enum DataActionMode
|
|
|
{
|
|
|
DAM_New = 0, //新建项目
|
|
|
DAM_Edit, //编辑
|
|
|
DAM_Scan, //查看
|
|
|
DAM_SaveAs, //另存为
|
|
|
DAM_Clone, //克隆,应用于井克隆,其实与另存为还有些区别
|
|
|
DAM_Unknown
|
|
|
};
|
|
|
|
|
|
// 测试类型
|
|
|
enum PvtTestType
|
|
|
{
|
|
|
PTT_Standard = 0, //标准类型
|
|
|
PTT_Interfere, //干扰试井
|
|
|
PTT_MiniFrac, //小型压裂
|
|
|
PTT_MultiLayers, //多层
|
|
|
PTT_WDT, //产能
|
|
|
PTT_Unknown
|
|
|
};
|
|
|
|
|
|
// 左侧工区树
|
|
|
enum DockTreeMode
|
|
|
{
|
|
|
DTM_Da = 0, //数据
|
|
|
DTM_Jb, //分析Anals
|
|
|
DTM_Rs, //成果
|
|
|
DTM_Unknown
|
|
|
};
|
|
|
|
|
|
// 成果对比中,每一项参与对比的类型对应
|
|
|
enum ContentCpType
|
|
|
{
|
|
|
CCT_DbLogRaw = 0, //
|
|
|
CCT_DbLogFit, //
|
|
|
CCT_Model, //
|
|
|
CCT_Parameters, //
|
|
|
|
|
|
CCT_HalfLog, //
|
|
|
CCT_History, //
|
|
|
|
|
|
CCT_Pressure, //
|
|
|
CCT_Rate, //
|
|
|
|
|
|
CCT_WellBasic, //
|
|
|
CCT_Fluid, //
|
|
|
CCT_Res, //
|
|
|
|
|
|
CCT_Unknown
|
|
|
};
|
|
|
|
|
|
// 项目树节点类型
|
|
|
enum MainTreeNodeType
|
|
|
{
|
|
|
MNT_Top = 0, //全局
|
|
|
|
|
|
MNT_Field, //油田
|
|
|
MNT_Block, //区块
|
|
|
MNT_Well, //井
|
|
|
|
|
|
MNT_Series, //Series
|
|
|
|
|
|
MNT_Rs, //Rs
|
|
|
MNT_Rs_Child, //Rs具体成果
|
|
|
|
|
|
MNT_Jb, //分析
|
|
|
|
|
|
MNT_DataWell, //WellData
|
|
|
MNT_DataAll, //AllData
|
|
|
MNT_Data_Child, //WellData或AllData的具体分类
|
|
|
|
|
|
MNT_PF, //PF
|
|
|
MNT_PF_Child, //PF具体分类
|
|
|
|
|
|
MNT_UNKNOWN
|
|
|
};
|
|
|
|
|
|
// 项目树节点操作命令类型
|
|
|
enum TreeNodeCmd
|
|
|
{
|
|
|
TNC_Scan = 0, //浏览该节点对应的信息,如数据表、图表,与拖拽类似
|
|
|
TNC_Edit, //弹出对话框,编辑模式,针对后台数据库操作
|
|
|
TNC_New, //新建
|
|
|
TNC_Clone, //克隆,20250114
|
|
|
TNC_Rename, //重命名
|
|
|
TNC_Del, //删除
|
|
|
|
|
|
TNC_SaveRs, //保存成果
|
|
|
|
|
|
TNC_ManageJb, //分析Manager
|
|
|
TNC_SetAsDefaultJb, //设为默认分析
|
|
|
TNC_FreshTreeJb,//保存分析之后刷新TreeJb
|
|
|
|
|
|
TNC_RstFit, //Rst Fit
|
|
|
TNC_RstCp, //Rst Compare
|
|
|
|
|
|
|
|
|
TNC_SetAsCurrent, //设置当前井,只是借用
|
|
|
|
|
|
TNC_UNKNOWN
|
|
|
};
|
|
|
|
|
|
// 绘图方式
|
|
|
enum ChartRenderType
|
|
|
{
|
|
|
CRT_Basic = 0, //普通的曲线图
|
|
|
CRT_Bar, //柱状图
|
|
|
CRT_Unknown
|
|
|
};
|
|
|
|
|
|
// 多层中模型选项的枚举定义
|
|
|
enum Model_Option_Type
|
|
|
{
|
|
|
MOT_Wel = 0, //井型
|
|
|
MOT_Res, //储层
|
|
|
MOT_Bdy, //边界
|
|
|
MOT_Wbs, //井储
|
|
|
MOT_Unknown
|
|
|
};
|
|
|
|
|
|
|
|
|
// 分析的第几步
|
|
|
enum AnalStepOption
|
|
|
{
|
|
|
ASO_Basic = 0, //第1步:基础数据
|
|
|
ASO_Pvt, //第2步:PVT
|
|
|
ASO_Diffusion, //第3步:Diffusion
|
|
|
ASO_Pseu, //第4步:拟压力
|
|
|
ASO_Unknown
|
|
|
};
|
|
|
|
|
|
// Diffusion类别
|
|
|
// Diffusion 涉及的参数(分别为 KroKrg相渗、StressSensitive压敏、Desorption吸附)
|
|
|
enum DiffusionSubOption
|
|
|
{
|
|
|
DSO_KK = 0, //KroKrg相渗
|
|
|
DSO_SS, //StressSensitive压敏
|
|
|
DSO_DS, //Desorption吸附
|
|
|
DSO_Unknown
|
|
|
};
|
|
|
|
|
|
// 处理解释结果各个子窗口的标识
|
|
|
enum FitSubRstTag
|
|
|
{
|
|
|
FSRT_DoubleLog = 0, //双对数,对应 iGuiPlot
|
|
|
FSRT_SemiLog, //半对数,对应 iGuiPlot
|
|
|
FSRT_Hist, //历史曲线,对应 iGuiPlotPF
|
|
|
FSRT_Result, //解释结果,对应 QWidget
|
|
|
FSRT_Sensitivity, //敏感性分析,对应 iGuiPlot
|
|
|
|
|
|
FSRT_NmRst, //数值解释结果,对应 QWidget(这一块与Result,有待确认)
|
|
|
FSRT_Nm3D, //数值三维,对应 QWidget(这一块与Result,有待确认)
|
|
|
|
|
|
FSRT_Unknown
|
|
|
};
|
|
|
|
|
|
// 分析的各个窗体在iAnalRun或者SubWnd中的m_vecWxDatas的排序索引
|
|
|
// 参与序列化:分别为 Basic、Pvt、Diffusion、Pseu共计4个
|
|
|
// 如需调整,需要慎重 getAnalSubTags
|
|
|
enum AnalWxIndex
|
|
|
{
|
|
|
AWI_Basic = 0, //0:Basic
|
|
|
AWI_PVT, //1:Pvt
|
|
|
AWI_Diffusion, //2:Diffusion
|
|
|
AWI_Pseu, //3:Pseu
|
|
|
|
|
|
// 如下是Fitting左侧模型相关
|
|
|
AWI_ModelOption, //4:模型选项(解析)
|
|
|
AWI_ModelParameter, //5:模型参数(解析)
|
|
|
|
|
|
AWI_ModelOptionNm, //6:模型选项(数值)
|
|
|
AWI_ModelParameterNm, //7:模型参数(数值)
|
|
|
|
|
|
AWI_Unknown
|
|
|
};
|
|
|
// 只是为了方便,使用这个计数而言
|
|
|
#define AWI_AnalCount AWI_ModelOption
|
|
|
|
|
|
/////////////////////////////////////////
|
|
|
// macros
|
|
|
/////////////////////////////////////////
|
|
|
|
|
|
#define zxFillDefaultOfPara zxSysUtils::getInstance()->loadAndFillWithDefault
|
|
|
#define zxCurAnalRun dynamic_cast<iAnalRun*>(zxSysUtils::getCurAnalRun())
|