557 lines
13 KiB
C++
557 lines
13 KiB
C++
/**
|
||
* @file WelllogRound.h
|
||
* @brief 测井对象基类
|
||
*/
|
||
|
||
#ifndef PAI_FRAME_IOSERVICE_WELLLOGROUND_H
|
||
#define PAI_FRAME_IOSERVICE_WELLLOGROUND_H
|
||
|
||
#include <string>
|
||
#include <vector>
|
||
#include "DataObject.h"
|
||
// #include "WelllogCurve.h"
|
||
// #include "CoreImg.h"
|
||
// #include "CorePhysics.h"
|
||
// #include "DrillCore.h"
|
||
// #include "Gujing1Result.h"
|
||
// #include "SwallCore.h"
|
||
// #include "OgResult.h"
|
||
// #include "CoreDesc.h"
|
||
// #include "Wavefile.h"
|
||
// #include "Geostratum.h"
|
||
// #include "OgResult2.h"
|
||
// #include "Zone.h"
|
||
#include "OSGDataModel.h"
|
||
#include "MemRdWt.h"
|
||
namespace pai {
|
||
namespace ios {
|
||
namespace welllog {
|
||
|
||
|
||
class OSGDATAMODEL_EXPORT TableDataName
|
||
{
|
||
public:
|
||
long long GetTableID() const
|
||
{
|
||
return m_TableID;
|
||
}
|
||
std::string GetTableName() const
|
||
{
|
||
return m_TableName;
|
||
}
|
||
std::string GetTableDataTableName() const
|
||
{
|
||
return m_TableDataTableName;
|
||
}
|
||
void SetTableID(long long tableID)
|
||
{
|
||
this->m_TableID = tableID;
|
||
}
|
||
void SetTableName(std::string tableName)
|
||
{
|
||
this->m_TableName = tableName;
|
||
}
|
||
void SetTableDataTableName(std::string tableDataTableName)
|
||
{
|
||
this->m_TableDataTableName = tableDataTableName;
|
||
}
|
||
private:
|
||
long long m_TableID; ///<表数据ID
|
||
std::string m_TableName; ///<表数据名
|
||
std::string m_TableDataTableName; ///<表格数据所在的表名
|
||
};
|
||
|
||
/**
|
||
*@class WelllogRound
|
||
*@brief 定义井次类
|
||
*/
|
||
class OSGDATAMODEL_EXPORT WelllogRound : public DataObject
|
||
{
|
||
public:
|
||
/**
|
||
* @brief 构造函数
|
||
*/
|
||
WelllogRound():DataObject(){
|
||
Init();
|
||
}
|
||
void Init()
|
||
{
|
||
memset(&filemessage,0,sizeof(filemessage));
|
||
m_CompanyName=""; ///<测井公司名
|
||
m_Team=""; ///<测井小队
|
||
m_Operator=""; ///<操作员
|
||
m_Date=""; ///<测井日期
|
||
m_Serial=""; ///<测井系列
|
||
m_Item=""; ///<测井项目
|
||
m_MudType=""; ///<泥浆类型
|
||
m_MudViscosity=0; ///<泥浆粘度
|
||
m_WaterLoss=0; ///<失水量
|
||
m_Density=0; ///<泥浆密度
|
||
m_Resi=0; ///<泥浆电阻率
|
||
m_Temp=0; ///<泥浆温度
|
||
TopDepth=0;
|
||
BottomDepth=0;
|
||
m_INTLog=""; ///<测井井段
|
||
m_NITINT=""; ///<解释井段
|
||
m_TempBot=0; ///<井底温度
|
||
m_IntProg=""; ///<解释程序
|
||
m_InteDress=""; ///<解释员
|
||
m_Audit=""; ///<审核
|
||
m_Remark=""; ///<备注
|
||
m_name="";
|
||
};
|
||
|
||
void SetTopDepth(float dep)
|
||
{
|
||
this->TopDepth = dep;
|
||
}
|
||
|
||
void SetBottomDepth(float dep)
|
||
{
|
||
this->BottomDepth = dep;
|
||
}
|
||
|
||
float GetTopDepth()
|
||
{
|
||
return TopDepth;
|
||
}
|
||
|
||
float GetBottomDepth()
|
||
{
|
||
return BottomDepth;
|
||
}
|
||
|
||
/**
|
||
* @brief 析构函数
|
||
*/
|
||
virtual ~WelllogRound()
|
||
{
|
||
}
|
||
/**
|
||
* @brief 拷贝构造函数
|
||
*/
|
||
WelllogRound(const WelllogRound& welllogRound);
|
||
/**
|
||
* @brief 赋值
|
||
*/
|
||
WelllogRound & operator=(const WelllogRound& welllogRound);
|
||
/**
|
||
* @brief 保存数据
|
||
*/
|
||
virtual void Save();
|
||
|
||
/**
|
||
* @brief 根据ID获取对象信息
|
||
* @param[in] id 数据ID
|
||
*/
|
||
virtual void Get(long long id);
|
||
/**
|
||
* @brief 修改数据
|
||
*/
|
||
virtual void Update();
|
||
/**
|
||
* @brief 删除数据
|
||
* @param[in] id 数据ID
|
||
*/
|
||
virtual void Delete(long long id = 0);
|
||
// /**
|
||
// * @brief 获得该井次下所有的曲线
|
||
// * @param[out] infos 曲线列表
|
||
// */
|
||
// void GetWelllogCurve(std::vector<WelllogCurve>& infos);
|
||
|
||
// /**
|
||
// * @brief 同时保存多条曲线
|
||
// * @param[in] welllogcurves 曲线列表
|
||
// */
|
||
// void SaveWelllogCurve(std::vector<WelllogCurve>& welllogcurves);
|
||
|
||
/**
|
||
* @brief 获得该井次下所有表
|
||
* @param[out] infos 井次下所有表
|
||
*/
|
||
// void GetTableDataName(std::vector<TableDataName>& infos);
|
||
|
||
// /**
|
||
// * @brief 获得该井次下所有的岩心图片数据
|
||
// * @param[out] coreimgs 所有的岩心图片数据
|
||
// */
|
||
// void GetCoreimg(std::vector<Coreimg>& coreimgs);
|
||
|
||
// /**
|
||
// * @brief 同时保存多条岩心图片数据
|
||
// * @param[in] coreimgs 多条岩心图片数据
|
||
// */
|
||
// void SaveCoreimg(std::vector<Coreimg>& coreimgs);
|
||
|
||
// /**
|
||
// * @brief 获得该井次下所有的物性分析数据
|
||
// * @param[out] corephysicss 物性分析数据
|
||
// */
|
||
// void GetCorePhysics(std::vector<CorePhysics>& corephysicss);
|
||
|
||
// /**
|
||
// * @brief 同时保存多条物性分析数据
|
||
// * @param[in] corephysicss 物性分析数据
|
||
// */
|
||
// void SaveCorePhysics(std::vector<CorePhysics>& corephysicss);
|
||
|
||
// /**
|
||
// * @brief 获得该井次下所有的钻井取心数据
|
||
// * @param[out] drillcores 钻井取心数据
|
||
// */
|
||
// void GetDrillCore(std::vector<DrillCore>& drillcores);
|
||
|
||
// /**
|
||
// * @brief 同时保存多条钻井取心数据
|
||
// * @param[in] drillcores 钻井取心数据
|
||
// */
|
||
// void SaveDrillCore(std::vector<DrillCore>& drillcores);
|
||
|
||
// /**
|
||
// * @brief 获得该井次下所有的固井结论数据
|
||
// * @param[out] gujing1results 固井结论数据
|
||
// */
|
||
// void GetGujing1Result(std::vector<Gujing1Result>& gujing1results);
|
||
|
||
// /**
|
||
// * @brief 同时保存多条固井结论数据
|
||
// * @param[in] gujing1results 固井结论数据
|
||
// */
|
||
// void SaveGujing1Result(std::vector<Gujing1Result>& gujing1results);
|
||
|
||
// /**
|
||
// * @brief 获得该井次下所有的井壁取心数据
|
||
// * @param[out] swallcores 井壁取心数据
|
||
// */
|
||
// void GetSwallCore(std::vector<SwallCore>& swallcores);
|
||
|
||
// /**
|
||
// * @brief 同时保存多条井壁取心数据
|
||
// * @param[in] swallcores 井壁取心数据
|
||
// */
|
||
// void SaveSwallCore(std::vector<SwallCore>& swallcores);
|
||
|
||
// /**
|
||
// * @brief 获得该井次下所有的油气结论数据
|
||
// * @param[out] ogresults 油气结论数据
|
||
// */
|
||
// void GetOgResult(std::vector<OgResult>& ogresults);
|
||
|
||
// /**
|
||
// * @brief 同时保存多条油气结论数据
|
||
// * @param[in] ogresults 油气结论数据
|
||
// */
|
||
// void SaveOgResult(std::vector<OgResult>& ogresults);
|
||
|
||
// /**
|
||
// * @brief 获得该井次下所有的岩心描述数据
|
||
// * @param[out] coredescs 岩心描述数据
|
||
// */
|
||
// void GetCoreDesc(std::vector<CoreDesc>& coredescs);
|
||
|
||
// /**
|
||
// * @brief 同时保存多条岩心描述数据
|
||
// * @param[in] coredescs 岩心描述数据
|
||
// */
|
||
// void SaveCoreDesc(std::vector<CoreDesc>& coredescs);
|
||
|
||
// /**
|
||
// * @brief 获得该井次下所有的地质分层数据
|
||
// * @param[out] geostratums 地质分层数据
|
||
// */
|
||
// void GetGeostratum(std::vector<Geostratum>& geostratums);
|
||
|
||
// /**
|
||
// * @brief 同时保存多条地质分层数据
|
||
// * @param[in] geostratums 地质分层数据
|
||
// */
|
||
// void SaveGeostratum(std::vector<Geostratum>& geostratums);
|
||
|
||
// /**
|
||
// * @brief 获得该井次下所有的二次解释结论数据
|
||
// * @param[out] ogresult2s 二次解释结论数据
|
||
// */
|
||
// void GetOgResult2(std::vector<OgResult2>& ogresult2s);
|
||
|
||
// /**
|
||
// * @brief 同时保存多条二次解释结论数据
|
||
// * @param[in] ogresult2s 二次解释结论数据
|
||
// */
|
||
// void SaveOgResult2(std::vector<OgResult2>& ogresult2s);
|
||
|
||
// /**
|
||
// * @brief 获得该井次下所有的多维曲线索引
|
||
// * @param[out] wavefiles 多维曲线索引
|
||
// */
|
||
// void GetWavefile(std::vector<Wavefile>& wavefiles);
|
||
|
||
// /**
|
||
// * @brief 同时保存多条多维曲线索引
|
||
// * @param[in] wavefiles 多维曲线索引
|
||
// */
|
||
// void SaveWavefile(std::vector<Wavefile>& wavefiles);
|
||
|
||
// /**
|
||
// * @brief 获得该井次下所有的层段数据
|
||
// * @param[out] zones 层段数据
|
||
// */
|
||
// void GetZone(std::vector<Zone>& zones);
|
||
|
||
// /**
|
||
// * @brief 同时保存多条层段数据
|
||
// * @param[in] zones 层段数据
|
||
// */
|
||
// void SaveZone(std::vector<Zone>& zones);
|
||
|
||
public:
|
||
std::string GetAudit() const
|
||
{
|
||
return m_Audit;
|
||
}
|
||
|
||
std::string GetCompanyName() const
|
||
{
|
||
return m_CompanyName;
|
||
}
|
||
|
||
std::string GetDate() const
|
||
{
|
||
return m_Date;
|
||
}
|
||
|
||
float GetDensity() const
|
||
{
|
||
return m_Density;
|
||
}
|
||
|
||
std::string GetINTLog() const
|
||
{
|
||
return m_INTLog;
|
||
}
|
||
|
||
std::string GetIntProg() const
|
||
{
|
||
return m_IntProg;
|
||
}
|
||
|
||
std::string GetInteDress() const
|
||
{
|
||
return m_InteDress;
|
||
}
|
||
|
||
std::string GetItem() const
|
||
{
|
||
return m_Item;
|
||
}
|
||
|
||
std::string GetMudType() const
|
||
{
|
||
return m_MudType;
|
||
}
|
||
|
||
float GetMudViscosity() const
|
||
{
|
||
return m_MudViscosity;
|
||
}
|
||
|
||
std::string GetNITINT() const
|
||
{
|
||
return m_NITINT;
|
||
}
|
||
|
||
std::string GetOperator() const
|
||
{
|
||
return m_Operator;
|
||
}
|
||
|
||
std::string GetRemark() const
|
||
{
|
||
return m_Remark;
|
||
}
|
||
|
||
float GetResi() const
|
||
{
|
||
return m_Resi;
|
||
}
|
||
|
||
std::string GetSerial() const
|
||
{
|
||
return m_Serial;
|
||
}
|
||
|
||
std::string GetTeam() const
|
||
{
|
||
return m_Team;
|
||
}
|
||
|
||
float GetTemp() const
|
||
{
|
||
return m_Temp;
|
||
}
|
||
|
||
float GetTempBot() const
|
||
{
|
||
return m_TempBot;
|
||
}
|
||
|
||
float GetWaterLoss() const
|
||
{
|
||
return m_WaterLoss;
|
||
}
|
||
|
||
void SetAudit(std::string audit)
|
||
{
|
||
this->m_Audit = audit;
|
||
}
|
||
|
||
void SetCompanyName(std::string companyName)
|
||
{
|
||
this->m_CompanyName = companyName;
|
||
}
|
||
|
||
void SetDate(std::string mdate)
|
||
{
|
||
this->m_Date = mdate;
|
||
}
|
||
|
||
void SetDensity(float density)
|
||
{
|
||
this->m_Density = density;
|
||
}
|
||
|
||
void SetINTLog(std::string mINTLog)
|
||
{
|
||
this->m_INTLog = mINTLog;
|
||
}
|
||
|
||
void SetIntProg(std::string intProg)
|
||
{
|
||
this->m_IntProg = intProg;
|
||
}
|
||
|
||
void SetInteDress(std::string inteDress)
|
||
{
|
||
this->m_InteDress = inteDress;
|
||
}
|
||
|
||
void SetItem(std::string item)
|
||
{
|
||
this->m_Item = item;
|
||
}
|
||
|
||
void SetMudType(std::string mudType)
|
||
{
|
||
this->m_MudType = mudType;
|
||
}
|
||
|
||
void SetMudViscosity(float mudViscosity)
|
||
{
|
||
this->m_MudViscosity = mudViscosity;
|
||
}
|
||
|
||
void SetNITINT(std::string mNITINT)
|
||
{
|
||
this->m_NITINT = mNITINT;
|
||
}
|
||
|
||
void SetOperator(std::string moperator)
|
||
{
|
||
this->m_Operator = moperator;
|
||
}
|
||
|
||
void SetRemark(std::string remark)
|
||
{
|
||
this->m_Remark = remark;
|
||
}
|
||
|
||
void SetResi(float resi)
|
||
{
|
||
this->m_Resi = resi;
|
||
}
|
||
|
||
void SetSerial(std::string serial)
|
||
{
|
||
this->m_Serial = serial;
|
||
}
|
||
|
||
void SetTeam(std::string team)
|
||
{
|
||
this->m_Team = team;
|
||
}
|
||
|
||
void SetTemp(float temp)
|
||
{
|
||
this->m_Temp = temp;
|
||
}
|
||
|
||
void SetTempBot(float tempBot)
|
||
{
|
||
this->m_TempBot = tempBot;
|
||
}
|
||
|
||
void SetWaterLoss(float waterLoss)
|
||
{
|
||
this->m_WaterLoss = waterLoss;
|
||
}
|
||
|
||
void LoadMeesge(QString filename)
|
||
{
|
||
if(filename=="") return;
|
||
CMemRdWt *logio=new CMemRdWt();
|
||
if(filename==""||!logio->Open(filename.toStdString().c_str(),CSlfIO::modeRead))
|
||
{
|
||
delete logio;
|
||
// QMessageBox::information(NULL,"提示","SLF文件打开失败,请检查!!",QMessageBox::Yes);
|
||
return;
|
||
}
|
||
logio->GetFileMessage(filemessage);
|
||
delete logio;
|
||
}
|
||
|
||
void SaveMeesge(QString filename)
|
||
{
|
||
if(filename=="") return;
|
||
CMemRdWt *logio=new CMemRdWt();
|
||
if(filename==""||!logio->Open(filename.toStdString().c_str(),CSlfIO::modeReadWrite))
|
||
{
|
||
delete logio;
|
||
// QMessageBox::information(NULL,"提示","SLF文件打开失败,请检查!!",QMessageBox::Yes);
|
||
return;
|
||
}
|
||
logio->SetFileMessage(filemessage);
|
||
delete logio;
|
||
}
|
||
|
||
private:
|
||
std::string m_CompanyName; ///<测井公司名
|
||
std::string m_Team; ///<测井小队
|
||
std::string m_Operator; ///<操作员
|
||
std::string m_Date; ///<测井日期
|
||
std::string m_Serial; ///<测井系列
|
||
std::string m_Item; ///<测井项目
|
||
std::string m_MudType; ///<泥浆类型
|
||
float m_MudViscosity; ///<泥浆粘度
|
||
float m_WaterLoss; ///<失水量
|
||
float m_Density; ///<泥浆密度
|
||
float m_Resi; ///<泥浆电阻率
|
||
float m_Temp; ///<泥浆温度
|
||
std::string m_INTLog; ///<测井井段
|
||
std::string m_NITINT; ///<解释井段
|
||
float m_TempBot; ///<井底温度
|
||
std::string m_IntProg; ///<解释程序
|
||
std::string m_InteDress; ///<解释员
|
||
std::string m_Audit; ///<审核
|
||
std::string m_Remark; ///<备注
|
||
float TopDepth;
|
||
float BottomDepth;
|
||
std::string m_name;
|
||
Slf_FILE_MESSAGE filemessage;
|
||
};
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
#endif
|