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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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())