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/mData/mModuleDefines/mModuleDefines.h

437 lines
13 KiB
C


#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_CopyAs, //另存为,当前工区未打开
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())