优化固井处理逻辑,支持弹窗选择井曲线,记录json模板

This commit is contained in:
jiayulong 2026-05-12 14:09:27 +08:00
parent 4eeb6fdcf6
commit 6de866fbee
13 changed files with 492 additions and 114 deletions

View File

@ -84,6 +84,9 @@ signals:
//裂痕
void sig_AddCrack(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW = 0);
//新建固井
void sig_AddGujing(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName);
//气测/FMT/射孔/文本
void sig_AddJiegutext(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW = 0, QStringList listOtherProperty={});

View File

@ -140,39 +140,6 @@ void PropertyWidget::changedYxzpProperty(QtProperty *qtProperty, const QVariant
{
if("选择井曲线" == m_propertyData[qtProperty])
{
// QString sFilePath = variant.value<QString>();
// if(sFilePath.indexOf("@")>-1)
// {
// int ind=sFilePath.indexOf("@");
// QString strLineName = sFilePath.left(ind);
// sFilePath=sFilePath.mid(ind+1);
// sFilePath.trimmed();
// //只支持以下名称
// if (strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT")
// {
// QString strOldLineName = m_formInfo->m_strLineName;
// QString strOldSlfName = m_formInfo->m_strSlfName;
// //暂时不允许改变slf井次名称不然不在同一口井绘制
// if(strOldSlfName != sFilePath)
// {
// QMessageBox::information(nullptr,"提示","不允许改变slf井次名称");
// return;
// }
// //名称不变
// if(strOldLineName == strLineName)
// {
// return;
// }
// //
// m_formInfo->m_strLineName = strLineName;
// //m_formInfo->m_strSlfName = sFilePath;
// m_formInfo->update();
// //改变固井曲线名
// emit CallManage::getInstance()->sig_changeGujingLine(m_formInfo->m_strUuid, m_formInfo->m_strSlfName, m_formInfo->m_strWellName, m_formInfo->m_strTrackName, strOldLineName, strLineName);
// }
// }
}
else if("例区高度(cm)" == m_propertyData[qtProperty])
{
@ -719,8 +686,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
QString strLineName = sFilePath.left(ind);
sFilePath=sFilePath.mid(ind+1);
sFilePath.trimmed();
//只支持以下名称
//if (strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT")
//只支持以下名称
{
QString strOldLineName = m_formInfo->m_strLineName;
QString strOldSlfName = m_formInfo->m_strSlfName;
@ -1019,6 +985,42 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
//先处理通用属性
CommonPropertyChanged(pProperty, variant);
if("选择井曲线" == m_propertyData[pProperty])
{
QString sFilePath = variant.value<QString>();
if(sFilePath.indexOf("@")>-1)
{
int ind=sFilePath.indexOf("@");
QString strLineName = sFilePath.left(ind);
sFilePath=sFilePath.mid(ind+1);
sFilePath.trimmed();
//只支持以下名称
{
QString strOldLineName = m_formInfo->m_strLineName;
QString strOldSlfName = m_formInfo->m_strSlfName;
//暂时不允许改变slf井次名称不然不在同一口井绘制
if(strOldSlfName != sFilePath)
{
QMessageBox::information(nullptr,"提示","不允许改变slf井次名称");
return;
}
//名称不变
if(strOldLineName == strLineName)
{
return;
}
//
m_formInfo->m_strLineName = strLineName;
//m_formInfo->m_strSlfName = sFilePath;
m_formInfo->update();
//改变固井曲线名
emit CallManage::getInstance()->sig_changeGujingLine(m_formInfo->m_strUuid, m_formInfo->m_strSlfName, m_formInfo->m_strWellName, m_formInfo->m_strTrackName, strOldLineName, strLineName);
}
}
}
//固井结论item
if("顶深(m)" == m_propertyData[pProperty])
{
@ -1417,7 +1419,6 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
sFilePath=sFilePath.mid(ind+1);
sFilePath.trimmed();
//只支持以下名称
//if (strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT")
{
QString strOldLineName = m_formInfo->m_strLineName;
QString strOldSlfName = m_formInfo->m_strSlfName;
@ -1566,7 +1567,6 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
sFilePath=sFilePath.mid(ind+1);
sFilePath.trimmed();
//只支持以下名称
//if (strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT")
{
QString strOldLineName = m_formInfo->m_strLineName;
QString strOldSlfName = m_formInfo->m_strSlfName;
@ -3247,12 +3247,7 @@ void PropertyWidget::initProperty(FormInfo *formInfo)
if (formInfo->m_strType == "tableObject")
{
if (m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT")
{
//固井结论
this->initGujingProperty(formInfo);
}
else if (m_strLineName == "IMAGE_DATA")
if (m_strLineName == "IMAGE_DATA")
{
// 岩心图片
this->initImageProperty(formInfo);
@ -3329,6 +3324,11 @@ void PropertyWidget::initProperty(FormInfo *formInfo)
//气测/FMT/射孔/文本
this->initJiegutextProperty(formInfo);
}
else if (formInfo->m_strType == "gujingObject")
{
//固井结论
this->initGujingProperty(formInfo);
}
else if (formInfo->m_strType == "LogfaceObject")
{
//沉积相

View File

@ -78,6 +78,9 @@ FormDraw::FormDraw(QWidget *parent, QString strSlfName, QString strWellName, QSt
//气测/FMT/射孔/文本
connect(CallManage::getInstance(), SIGNAL(sig_AddJiegutext(QString, QString, QString, QString, QString, int, QStringList)), this, SLOT(s_addJiegutext(QString, QString, QString, QString, QString,int, QStringList)));
//固井
connect(CallManage::getInstance(), SIGNAL(sig_AddGujing(QString, QString, QString, QString, QString)), this, SLOT(s_addGujing(QString, QString, QString, QString, QString)));
//沉积相
connect(CallManage::getInstance(), SIGNAL(sig_AddLogface(QString, QString, QString, QString, QString, int, QStringList)), this, SLOT(s_addLogface(QString, QString, QString, QString, QString,int, QStringList)));
@ -530,12 +533,11 @@ void FormDraw::DisplayLines(QJsonArray linesArray)
//qDebug() << "LineName:" << strLineName;
}
}
if (strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT"
|| strLineName == "WORDS_RELUST" || strLineName == "GEO_LITH" || strLineName == "SWALL_CORE"
if (strLineName == "WORDS_RELUST" || strLineName == "GEO_LITH" || strLineName == "SWALL_CORE"
|| strLineName == "LAYER_DATA"
|| strLineName == "RESULT")
{
//固井结论/井壁取心/录井剖面/文字结论/地质分层
//井壁取心/录井剖面/文字结论/地质分层
DisplayTable_One(lineObjInfo);
}
else if (strLineName == "CORE_PHYSICS")
@ -565,6 +567,11 @@ void FormDraw::DisplayLines(QJsonArray linesArray)
//气测/FMT/射孔/文本
DisplayJiegutext_One(lineObjInfo);
}
else if (strType == "gujingObject")
{
//固井
DisplayGujing_One(lineObjInfo);
}
else if (strType == "LogfaceObject")
{
//沉积相
@ -935,8 +942,7 @@ void FormDraw::displayImageData(QJsonObject lineObjInfo)
this->addTableLine(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName, listOtherProperty);
}
//表格:固井结论等
//表格
void FormDraw::DisplayTable_One(QJsonObject lineObjInfo)
{
QString strSlfName = "";
@ -1155,6 +1161,225 @@ void FormDraw::DisplayTable_One(QJsonObject lineObjInfo)
}
}
//固井结论
void FormDraw::DisplayGujing_One(QJsonObject lineObjInfo)
{
QString strSlfName = "";
QString strWellName = "";
QString strLineName = "";
QString strAliasName = "";//显示名称
QFont curveNameFont("微软雅黑", 10); // 名称字体
QColor lineColor = QColor(0, 0, 0);//颜色
if (lineObjInfo.contains("SlfName"))
{
QJsonValue value = lineObjInfo.value("SlfName");
if (value.isString()) {
strSlfName = value.toString();
//qDebug() << "SlfName:" << strSlfName;
//
QString slffilename = QString("");
int ind = strSlfName.lastIndexOf('\\');
int ind2 = strSlfName.lastIndexOf('/');
if (ind2 > ind) ind = ind2;
if (ind > -1) {
slffilename = strSlfName.mid(ind + 1);
strSlfName = slffilename;
}
}
}
if (lineObjInfo.contains("WellName"))
{
QJsonValue value = lineObjInfo.value("WellName");
if (value.isString()) {
strWellName = value.toString();
//qDebug() << "WellName:" << strWellName;
}
}
if (lineObjInfo.contains("LineName"))
{
QJsonValue value = lineObjInfo.value("LineName");
if (value.isString()) {
strLineName = value.toString();
//qDebug() << "LineName:" << strLineName;
}
}
if (lineObjInfo.contains("AliasName"))
{
QJsonValue value = lineObjInfo.value("AliasName");
if (value.isString()) {
strAliasName = value.toString();
//qDebug() << "strAliasName:" << strAliasName;
}
}
//字体
if (lineObjInfo.contains("curveNameFont"))
{
QJsonValue value = lineObjInfo.value("curveNameFont");
if (value.isString()) {
curveNameFont.fromString(value.toString());
//qDebug() << "strUnit:" << strUnit;
}
}
//
if (lineObjInfo.contains("lineColor"))
{
lineColor.setNamedColor(lineObjInfo.value("lineColor").toString());
}
//垂向绘制
bool bVerticaDrawing = false;
if (lineObjInfo.contains("VerticaDrawing"))
{
QJsonValue value = lineObjInfo.value("VerticaDrawing");
if (value.isBool()) {
bVerticaDrawing = value.toBool();
}
}
// 旋转角度
int nRotationAngle = 0;
if (lineObjInfo.contains("RotationAngle"))
{
QJsonValue value = lineObjInfo.value("RotationAngle");
if (value.isDouble()) {
nRotationAngle = value.toInt();
}
}
//
double dOilZhan = 8; //含油占比
bool bLithColor = true; // 岩性配色显示
bool bLithOne = true; // 单岩性显示
bool bShowOil = true; // 显示含油性
bool bCenterOil = false; // 含油性居中
bool bShowColor = false; // 显示颜色
bool bShowColorNum = false; // 绘制颜色号
//
if (lineObjInfo.contains("OilZhan"))//含油占比
{
dOilZhan = lineObjInfo.value("OilZhan").toInt();
}
//
if (lineObjInfo.contains("LithColor"))
{
QJsonValue value = lineObjInfo.value("LithColor");
if (value.isBool()) {
bLithColor = value.toBool();
}
}
if (lineObjInfo.contains("LithOne"))
{
QJsonValue value = lineObjInfo.value("LithOne");
if (value.isBool()) {
bLithOne = value.toBool();
}
}
if (lineObjInfo.contains("ShowOil"))
{
QJsonValue value = lineObjInfo.value("ShowOil");
if (value.isBool()) {
bShowOil = value.toBool();
}
}
if (lineObjInfo.contains("CenterOil"))
{
QJsonValue value = lineObjInfo.value("CenterOil");
if (value.isBool()) {
bCenterOil = value.toBool();
}
}
if (lineObjInfo.contains("ShowColor"))
{
QJsonValue value = lineObjInfo.value("ShowColor");
if (value.isBool()) {
bShowColor = value.toBool();
}
}
if (lineObjInfo.contains("ShowColorNum"))
{
QJsonValue value = lineObjInfo.value("ShowColorNum");
if (value.isBool()) {
bShowColorNum = value.toBool();
}
}
QString folderPath = GetLogdataPath();
folderPath = folderPath + g_prjname;
strSlfName = folderPath + "/" + "#" + strWellName + "/" + strSlfName;
if (strLineName != "")
{
QStringList listOtherProperty;
listOtherProperty.append(strAliasName);//别名
listOtherProperty.append(lineColor.name());//名称颜色
listOtherProperty.append(curveNameFont.toString());//名称字体
if(bVerticaDrawing)//垂向绘制
{
listOtherProperty.append("VerticaDrawing");
}
else{
listOtherProperty.append("0");
}
//
listOtherProperty.append(QString::number(nRotationAngle));//旋转角度
//
listOtherProperty.append(QString::number(dOilZhan));//含油占比
//
if(bLithColor)
{
listOtherProperty.append("LithColor");
}
else{
listOtherProperty.append("0");
}
//
if(bLithOne)
{
listOtherProperty.append("LithOne");
}
else{
listOtherProperty.append("0");
}
//
if(bShowOil)
{
listOtherProperty.append("ShowOil");
}
else{
listOtherProperty.append("0");
}
//
if(bCenterOil)
{
listOtherProperty.append("CenterOil");
}
else{
listOtherProperty.append("0");
}
//
if(bShowColor)
{
listOtherProperty.append("ShowColor");
}
else{
listOtherProperty.append("0");
}
//
if(bShowColorNum)
{
listOtherProperty.append("ShowColorNum");
}
else{
listOtherProperty.append("0");
}
//结论
this->addGujing(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName, listOtherProperty);
}
}
//蝌蚪图
void FormDraw::DisplayKedouAndOthers_One(QJsonObject lineObjInfo)
{
@ -2968,7 +3193,6 @@ QMyCustomPlot* FormDraw::addTableLine(QString strUuid, QString strSlfName, QStri
{
if (strLineName == "FRAC_HOLE.TABLE" || strLineName == "WORDS_RELUST" || strLineName == "RESULT"
|| strLineName == "GEO_LITH" || strLineName == "SWALL_CORE"
|| strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT"
|| strLineName == "CORE_PHYSICS" || strLineName == "IMAGE_DATA"
|| strLineName == "LAYER_DATA" )
{
@ -3070,22 +3294,7 @@ QMyCustomPlot* FormDraw::addTableLine(QString strUuid, QString strSlfName, QStri
{
initSwallCore(curv, strSlfName, strLineName);
}
}
else if (strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT")
{
//固井结论
if(listOtherProperty.size()>=3)
{
QString strAliasName = listOtherProperty[0];
QColor newlineColor=QColor(0,0,0);
newlineColor.setNamedColor(listOtherProperty[1]);
initGujing(curv, strSlfName, strLineName, strAliasName, newlineColor, listOtherProperty);
}
else
{
initGujing(curv, strSlfName, strLineName);
}
}
}
else if (strLineName == "CORE_PHYSICS")
{
// 岩心分析
@ -3116,6 +3325,51 @@ QMyCustomPlot* FormDraw::addTableLine(QString strUuid, QString strSlfName, QStri
return curv;
}
//固井
QMyCustomPlot* FormDraw::addGujing(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QStringList listOtherProperty)
{
//井名&道名不一致
if (strUuid == m_strUuid && m_strWellName == strWellName && m_strTrackName == strTrackName)
{
}
else
{
return NULL;
}
if (m_listLineName.contains(strLineName))
{
qDebug() << "FormDraw strLineName already exist! " << strLineName;
return NULL;
}
//
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName);
//绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack;
curv->setDepthY(m_iY1, m_iY2);
curv->initGeometry(m_strUuid, m_iScale, m_nTrackW);
curv->show();
//固井结论
if(listOtherProperty.size()>=3)
{
QString strAliasName = listOtherProperty[0];
QColor newlineColor=QColor(0,0,0);
newlineColor.setNamedColor(listOtherProperty[1]);
initGujing(curv, strSlfName, strLineName, strAliasName, newlineColor, listOtherProperty);
}
else
{
initGujing(curv, strSlfName, strLineName);
}
connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*)));
//
m_listLineName.push_back(strLineName);
return curv;
}
QMyCustomPlot* FormDraw::addKedouAndOthers(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QJsonObject listOtherProperty)
{
//蝌蚪、杆状、井眼垮塌矢量图、井斜方位图
@ -3425,13 +3679,18 @@ void FormDraw::s_addWave(QString strUuid, QString strSlfName, QString strWellNam
}
void FormDraw::s_addTableLine(QString strUuid, QString strSlfName, QString strWellName,
QString strTrackName, QString strLineName)
{
this->addTableLine(strUuid, strSlfName, strWellName, strTrackName, strLineName);
}
void FormDraw::s_addGujing(QString strUuid, QString strSlfName, QString strWellName,
QString strTrackName, QString strLineName)
{
this->addGujing(strUuid, strSlfName, strWellName, strTrackName, strLineName);
}
void FormDraw::s_mouseWheel(QWheelEvent *event)
{
emit CallManage::getInstance()->sig_mouseWheel(event);
@ -5781,7 +6040,7 @@ void FormDraw::initGujing(QMyCustomPlot *widget, QString strSlfName, QString str
double width=2;
QString strScaleType = "";
//道-对象
m_formTrack->Add(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "tableObject", listOtherProperty);
m_formTrack->Add(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "gujingObject", listOtherProperty);
}
void FormDraw::initDepth(QMyCustomPlot *curv)
@ -7069,6 +7328,11 @@ void FormDraw::dropEvent(QDropEvent* event)
//气测/FMT/射孔/文本
emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="gujingObject")
{
//新建固井
emit CallManage::getInstance()->sig_AddGujing(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="LogfaceObject")
{
//沉积相

View File

@ -54,6 +54,9 @@ public:
//气测/FMT/射孔/文本
void DisplayJiegutext_One(QJsonObject lineObjInfo);
//固井
void DisplayGujing_One(QJsonObject lineObjInfo);
//沉积相
void DisplayFac_One(QJsonObject lineObjInfo);
@ -100,6 +103,11 @@ protected:
QMyCustomPlot* addMCals(QString strUuid, QString strSlfName, QString strWellName,
QString strTrackName, QString strLineName, QJsonObject listOtherProperty={});
//固井
QMyCustomPlot* addGujing(QString strUuid, QString strSlfName, QString strWellName,
QString strTrackName, QString strLineName, QStringList listOtherProperty={});
public slots:
void dragEnterEvent(QDragEnterEvent* event);
void dragMoveEvent(QDragMoveEvent* event);
@ -280,6 +288,9 @@ public slots:
//气测/FMT/射孔/文本
void s_addJiegutext(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW, QStringList listOtherProperty);
//固井
void s_addGujing(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strWaveName);
//沉积相
void s_addLogface(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW, QStringList listOtherProperty);

View File

@ -715,10 +715,9 @@ QJsonObject FormInfo::makeJson()
rootObj["VerticaDrawing"] = m_bVerticaDrawing;
rootObj["RotationAngle"] = m_nRotationAngle;
if (m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT"
|| m_strLineName == "SWALL_CORE" || m_strLineName == "WORDS_RELUST" || m_strLineName == "LAYER_DATA")
if (m_strLineName == "SWALL_CORE" || m_strLineName == "WORDS_RELUST" || m_strLineName == "LAYER_DATA")
{
//固井结论/井壁取心/文字结论/地质分层
//井壁取心/文字结论/地质分层
//item属性写入slf文件不需要此次记录
return rootObj;
}
@ -792,6 +791,16 @@ QJsonObject FormInfo::makeJson()
//item属性写入slf文件不需要此次记录
return rootObj;
}
if (m_strType == "gujingObject")
{
//固井
//垂向绘制
rootObj["VerticaDrawing"] = m_bVerticaDrawing;
rootObj["RotationAngle"] = m_nRotationAngle;
//item属性写入slf文件不需要此次记录
return rootObj;
}
else if (m_strType == "LogfaceObject")
{
//沉积相
@ -1580,7 +1589,6 @@ void FormInfo::paintEvent(QPaintEvent* event)
//
if(m_strType=="tableObject" && (m_strLineName=="WORDS_RELUST" || m_strLineName == "RESULT"
|| m_strLineName == "GEO_LITH"|| m_strLineName == "SWALL_CORE"
|| m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT"
|| m_strLineName == "CORE_PHYSICS" || m_strLineName == "IMAGE_DATA"
|| m_strLineName == "LAYER_DATA") )
{
@ -2862,6 +2870,14 @@ void FormInfo::contextMenuEvent(QContextMenuEvent *event)
menu.addAction(QIcon(::GetImagePath() + "icon/Delete.png"), "删除当前对象", this, &FormInfo::onDeleteTable);
menu.exec(event->globalPos());
}
else if(m_strType=="gujingObject")
{
//固井
QMenu menu(this);
menu.addAction(QIcon(::GetImagePath() + "icon/Sheet.png"), "数据对象查看", this, &FormInfo::onShowTable);
menu.addAction(QIcon(::GetImagePath() + "icon/Delete.png"), "删除当前对象", this, &FormInfo::onDeleteTable);
menu.exec(event->globalPos());
}
else if(m_strType=="LogfaceObject")
{
//沉积相

View File

@ -92,6 +92,10 @@ FormTrack::FormTrack(QWidget *parent, QString strSlfName, QString strWellName, Q
connect(this, SIGNAL(sig_AddJiegutext(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString, QStringList)),
this, SLOT(s_addJiegutext(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString, QStringList)));
//固井
connect(this, SIGNAL(sig_AddGujing(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString, QStringList)),
this, SLOT(s_AddGujing(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString, QStringList)));
//沉积相
connect(this, SIGNAL(sig_AddLogface(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString, QStringList)),
this, SLOT(s_addLogface(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString, QStringList)));
@ -275,6 +279,11 @@ void FormTrack::Add(QString strSlfName, QString strWellName, QString strTrackNam
{
emit sig_AddJiegutext(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType, listOtherProperty);
}
else if(strType=="gujingObject")
{
//新建固井
emit sig_AddGujing(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType, listOtherProperty);
}
else if(strType=="LogfaceObject")
{
emit sig_AddLogface(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType, listOtherProperty);
@ -674,8 +683,7 @@ void FormTrack::s_delWave(QString strUuid, QString strWellName, QString strTrack
void FormTrack::s_AddTableLine(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty)
{
if(strLineName == "FRAC_HOLE.TABLE" || strLineName == "WORDS_RELUST" || strLineName == "RESULT"
|| strLineName == "GEO_LITH" || strLineName == "SWALL_CORE"
|| strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT"
|| strLineName == "GEO_LITH" || strLineName == "SWALL_CORE"
|| strLineName == "CORE_PHYSICS" || strLineName == "IMAGE_DATA"
|| strLineName == "LAYER_DATA")
{
@ -708,12 +716,11 @@ void FormTrack::s_AddTableLine(QString strSlfName, QString strWellName, QString
formInfo->setVMin(vmin);
formInfo->setFrontColor(QColor(0,0,0));
formInfo->setBackColor(QColor(255,255,255));
if(strLineName == "GUJING1_RESULT" || strLineName == "GUJING2_RESULT" || strLineName == "GUJING3_RESULT"
|| strLineName == "GEO_LITH" || strLineName == "SWALL_CORE"
if(strLineName == "GEO_LITH" || strLineName == "SWALL_CORE"
|| strLineName == "WORDS_RELUST"
|| strLineName == "LAYER_DATA" || strLineName == "IMAGE_DATA" || strLineName == "CORE_PHYSICS" )
{
//固井结论 / 井壁取心 / 录井剖面 /文字结论 /地质分层
//井壁取心 / 录井剖面 /文字结论 /地质分层
if(listOtherProperty.size()>=5)
{
QFont curveNameFont("微软雅黑", 10); // 名称字体
@ -943,6 +950,62 @@ void FormTrack::s_AddTableLine(QString strSlfName, QString strWellName, QString
ui->tableWidget->setCellWidget(row, 0, formInfo);
}
//固井
void FormTrack::s_AddGujing(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty)
{
qDebug() << "FormTrack s_AddGujing";
ui->tableWidget->m_strUuid = m_strUuid;
int row = ui->tableWidget->rowCount();
ui->tableWidget->setRowCount(row + 1);
//避免出现小滚动条
//ui->tableWidget->resize(g_iOneWidth, 100*(row + 1)+10);
//this->resize(g_iOneWidth, 100*(row + 1)+30);
//曲线信息栏
FormInfo *formInfo = new FormInfo(this, strSlfName, strWellName, strTrackName, strLineName, lineColor);
formInfo->m_strUuid = m_strUuid;
formInfo->m_strAliasName = strAliasName;
formInfo->m_strUnit = strUnit;
formInfo->m_strScaleType = strScaleType;
formInfo->m_strType = "gujingObject";
formInfo->setLineWidth(dWidth);
formInfo->setVMax(vmax);
formInfo->setVMin(vmin);
formInfo->setFrontColor(QColor(0,0,0));
formInfo->setBackColor(QColor(255,255,255));
//固井结论
if(listOtherProperty.size()>=5)
{
QFont curveNameFont("微软雅黑", 10); // 名称字体
curveNameFont.fromString(listOtherProperty[2]);
formInfo->m_curveNameFont = curveNameFont;
QColor color(listOtherProperty[1]);
formInfo->m_lineColor = color;
//
if(listOtherProperty[3]=="VerticaDrawing")
{
formInfo->m_bVerticaDrawing = true;
}
else
{
formInfo->m_bVerticaDrawing = false;
}
//
formInfo->m_nRotationAngle = listOtherProperty[4].toInt();
}
//设置高度
ui->tableWidget->setRowHeight(row, 100);
//单元格委托
//ui->tableWidget->setItemDelegateForRow(row, m_delegate);
//
ui->tableWidget->setCellWidget(row, 0, formInfo);
}
void FormTrack::s_addDepth(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType)
{
qDebug() << "FormTrack s_addDepth";

View File

@ -68,6 +68,7 @@ signals:
void sig_AddSantuyibiao(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);
void sig_AddCrack(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);
void sig_AddJiegutext(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={});
void sig_AddGujing(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={});
void sig_AddLogface(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={});
void sig_AddMCals(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);
void sig_AddTubingstring(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={});
@ -88,6 +89,7 @@ public slots:
void s_addSantuyibiao(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);
void s_addCrack(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);
void s_addJiegutext(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={});
void s_AddGujing(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={});
void s_addLogface(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={});
void s_addMCals(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType);
void s_addTubingstring(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QStringList listOtherProperty={});

View File

@ -238,6 +238,11 @@ void FormTrackTop::dropEvent(QDropEvent* event)
//气测/FMT/射孔/文本
emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="gujingObject")
{
//新建固井
emit CallManage::getInstance()->sig_AddGujing(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="LogfaceObject")
{
//沉积相

View File

@ -513,6 +513,11 @@ void FormWell::s_NewTrack(QString strUuid, QString strWellName, QString strSlfNa
{
//气测/FMT/射孔/文本
emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, strTrackName, strLineName);
}
else if(strType=="gujingObject")
{
//新建固井
emit CallManage::getInstance()->sig_AddGujing(m_strUuid, strSlfName, strWellName, strTrackName, strLineName);
}
else if(strType=="LogfaceObject")
{

View File

@ -3799,7 +3799,7 @@ void MainWindowCurve::s_NewGujing()
//选中道
if(m_SelectTableItem.m_iTableType==2) {
//新建表格曲线
emit CallManage::getInstance()->sig_AddTableLine(m_strUuid, m_SelectTableItem.m_strSlfName, m_SelectTableItem.m_strWellName, m_SelectTableItem.m_strTrackName, "GUJING1_RESULT");
emit CallManage::getInstance()->sig_AddGujing(m_strUuid, m_SelectTableItem.m_strSlfName, m_SelectTableItem.m_strWellName, m_SelectTableItem.m_strTrackName, "GUJING1_RESULT");
return;
}
@ -3808,7 +3808,7 @@ void MainWindowCurve::s_NewGujing()
return;
//新建井+道+曲线(首条)
NewWellAndTrack(sret.at(0), sret.at(1), "GUJING1_RESULT", "tableObject");
NewWellAndTrack(sret.at(0), sret.at(1), "GUJING1_RESULT", "gujingObject");
}
//井壁取心

View File

@ -166,6 +166,11 @@ void PreQTableWidget::dropEvent(QDropEvent *event)
//气测/FMT/射孔/文本
emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="gujingObject")
{
//固井
emit CallManage::getInstance()->sig_AddGujing(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="LogfaceObject")
{
if (list.size() > 4)
@ -294,6 +299,11 @@ void PreQTableWidget::dropEvent(QDropEvent *event)
//气测/FMT/射孔/文本
emit CallManage::getInstance()->sig_AddJiegutext(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="gujingObject")
{
//固井
emit CallManage::getInstance()->sig_AddGujing(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName);
}
else if(strType=="LogfaceObject")
{
//沉积相
@ -395,6 +405,10 @@ void PreQTableWidget::performDrag()
//气测/FMT/射孔/文本
}
else if(strType=="gujingObject")
{
//固井
}
else if(strType=="LogfaceObject")
{
//沉积相
@ -527,6 +541,12 @@ void PreQTableWidget::performDrag()
//删除表格
emit CallManage::getInstance()->sig_delTableLine(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName);
}
else if(strType=="gujingObject")
{
//固井
//删除表格
emit CallManage::getInstance()->sig_delTableLine(m_strUuid, formInfo->m_strWellName, formInfo->m_strTrackName, formInfo->m_strLineName);
}
else if(strType=="LogfaceObject")
{
//沉积相

View File

@ -1796,19 +1796,7 @@ void QMyCustomPlot::contextMenuEvent(QContextMenuEvent *event)
menu.exec(event->globalPos());
}
if (m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT")
{
QMenu menu(this);
//固井
menu.addAction(QIcon(::GetImagePath() + "curve.png"), "开始编辑固井结论", this, &QMyCustomPlot::onEditGujing);
menu.addAction(QIcon(::GetImagePath() + "icon/CopyCoreTxt.png"), "从剪切板文本数据粘贴", this, &QMyCustomPlot::addItems_Gujing);
menu.addAction(QIcon(::GetImagePath() + "icon/ClearSelectCore.png"), "取消选中", this, &QMyCustomPlot::ClearSelectItems);
menu.addAction(QIcon(::GetImagePath() + "icon/Delete.png"), "全部清空", this, &QMyCustomPlot::DeleteItems_Gujing);
menu.addAction(QIcon(::GetImagePath() + "icon/CopyCoreTxt.png"), "刷新数据", this, &QMyCustomPlot::RefreshItems_Gujing);
menu.addAction(QIcon(::GetImagePath() + "development.png"), "合并结论", this, &QMyCustomPlot::MegResult_Gujing);
menu.exec(event->globalPos());
}
else if (m_strLineName == "SWALL_CORE")
if (m_strLineName == "SWALL_CORE")
{
QMenu menu(this);
//井壁取心
@ -1933,6 +1921,18 @@ void QMyCustomPlot::contextMenuEvent(QContextMenuEvent *event)
menu.addAction(QIcon(::GetImagePath() + "icon/CopyCoreTxt.png"), "刷新数据", this, &QMyCustomPlot::RefreshItems_Jiegutext);
menu.exec(event->globalPos());
}
else if (strType == "gujingObject")
{
QMenu menu(this);
//固井
menu.addAction(QIcon(::GetImagePath() + "curve.png"), "开始编辑固井结论", this, &QMyCustomPlot::onEditGujing);
menu.addAction(QIcon(::GetImagePath() + "icon/CopyCoreTxt.png"), "从剪切板文本数据粘贴", this, &QMyCustomPlot::addItems_Gujing);
menu.addAction(QIcon(::GetImagePath() + "icon/ClearSelectCore.png"), "取消选中", this, &QMyCustomPlot::ClearSelectItems);
menu.addAction(QIcon(::GetImagePath() + "icon/Delete.png"), "全部清空", this, &QMyCustomPlot::DeleteItems_Gujing);
menu.addAction(QIcon(::GetImagePath() + "icon/CopyCoreTxt.png"), "刷新数据", this, &QMyCustomPlot::RefreshItems_Gujing);
menu.addAction(QIcon(::GetImagePath() + "development.png"), "合并结论", this, &QMyCustomPlot::MegResult_Gujing);
menu.exec(event->globalPos());
}
else if (strType == "LogfaceObject")
{
QMenu menu(this);
@ -4973,18 +4973,18 @@ void QMyCustomPlot::RefreshItems_Gujing()
}
//只支持以下名称
if (m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT")
//if (m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT")
{
//重新加载
LoadFromSLF_Gujing(m_strSlfName, m_strLineName);
//属性清空
PropertyService()->InitCurrentViewInfo();
}
else
{
replot();
return;
//PropertyService()->InitCurrentViewInfo();
}
// else
// {
// replot();
// return;
// }
}
//合并结论

View File

@ -100,23 +100,12 @@ void SelectLineDialog::setInfo(QString fileFull, QString strWellName, QString st
{
qDebug() << "strCurveName: " << strCurveName;
//表格数据
if (strCurveName == "GUJING1_RESULT" || strCurveName == "GUJING2_RESULT" || strCurveName == "GUJING3_RESULT")
//气测/FMT/射孔/文本 固井曲线
if(strType=="JiegutextObject" || strType=="gujingObject")
{
//固井
if(strType=="gujingObject")
{
//下拉列表
ui->comboBox->addItem(strCurveName);
}
}
else
{
//气测/FMT/射孔/文本(去掉固井曲线)
if(strType=="JiegutextObject")
{
//下拉列表
ui->comboBox->addItem(strCurveName);
}
//下拉列表
ui->comboBox->addItem(strCurveName);
}
}
else if(CURVE_OBJECT == curvetype)