|
|
#include "geofeatureoperator.h"
|
|
|
#include "Engine/UGDataSource.h"
|
|
|
#include "Geometry/UGGeoLine.h"
|
|
|
#include "Map/UGMap.h"
|
|
|
#include "MapEditor/UGMapEditorWnd.h"
|
|
|
#include "qdebug.h"
|
|
|
#include "routeglobalvariant.h"
|
|
|
#include "translator.h"
|
|
|
#include "layeroperator.h"
|
|
|
#include "mapdatamaneger.h"
|
|
|
#include <QMessageBox>
|
|
|
|
|
|
|
|
|
GeoFeatureOperator::GeoFeatureOperator()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
// 查询要素
|
|
|
UGRecordsetPtr GeoFeatureOperator::queryFeature(UGDatasetVector *dv, UGString filter)
|
|
|
{
|
|
|
UGQueryDef queryDef;
|
|
|
queryDef.m_nOptions = UGQueryDef::Both; //查询选项:几何对象(Geometry)和属性(Attribute)都查询
|
|
|
queryDef.m_nType = UGQueryDef::General; //查询类型:一般的数下条件查询
|
|
|
queryDef.m_nMode = UGQueryDef::GeneralQuery; //查询模式:一般查询(非模糊查询)
|
|
|
queryDef.m_nCursorType = UGQueryDef::OpenStatic; //OpenStatic,用于读取数据;OpenDynamic,用于数据增删改
|
|
|
queryDef.m_strFilter = filter; //查询条件
|
|
|
return dv->Query(queryDef);
|
|
|
}
|
|
|
|
|
|
//空间查询
|
|
|
UGRecordsetPtr GeoFeatureOperator::queryFeature(UGDatasetVector *dv, UGRect2D bounds)
|
|
|
{
|
|
|
//对矩形进行规范化
|
|
|
bounds.Normalize();
|
|
|
//查询条件设置
|
|
|
UGQueryDef queryDef;
|
|
|
//查询类型为地理矩形范围
|
|
|
queryDef.m_nType = UGQueryDef::Bounds;
|
|
|
//查询模式为一般查询
|
|
|
queryDef.m_nMode = UGQueryDef::GeneralQuery;
|
|
|
//查询几何和属性
|
|
|
queryDef.m_nOptions = UGQueryDef::Both;
|
|
|
//查询范围
|
|
|
queryDef.m_rc2Bounds = bounds;
|
|
|
//设置游标类型为动态游标
|
|
|
queryDef.m_nCursorType = UGQueryDef::OpenDynamic;
|
|
|
|
|
|
return dv->Query(queryDef);
|
|
|
}
|
|
|
|
|
|
//高亮几何对象
|
|
|
void GeoFeatureOperator::highLightGeometry(UGGeometry *pGeometry)
|
|
|
{
|
|
|
UGStyle sty;
|
|
|
RouteGlobalVariant routeGVar;
|
|
|
routeGVar.getHighLightStyle(sty);
|
|
|
pGeometry->SetStyle(&sty);
|
|
|
}
|
|
|
|
|
|
//导入二维航线信息
|
|
|
int GeoFeatureOperator::importFeatureAttribute(UGDatasetVector *dv, UGGeometry* pGeometry, QMap<QString,QString> fieldsValue,bool isAddGeometry)
|
|
|
{
|
|
|
RouteGlobalVariant routeGVar;
|
|
|
QMap<int,QString> typetext = routeGVar.getRouteType();
|
|
|
|
|
|
/*
|
|
|
UGArray<UGString> aryFields;
|
|
|
aryFields.Add(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteID));
|
|
|
aryFields.Add(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteNumber));
|
|
|
aryFields.Add(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteType));
|
|
|
aryFields.Add(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteHeight));
|
|
|
aryFields.Add(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteName));
|
|
|
aryFields.Add(Translator::QStr2UGStr(routeGVar.routeFieldsName.IsClosedRoute));
|
|
|
*/
|
|
|
|
|
|
//提取属性字段值
|
|
|
int routeID = fieldsValue[routeGVar.routeFieldsName.RouteID].toInt();
|
|
|
int routeType = fieldsValue[routeGVar.routeFieldsName.RouteType].toInt();
|
|
|
int routeNumber = fieldsValue[routeGVar.routeFieldsName.RouteNumber].toInt();
|
|
|
int isClosedRoute = fieldsValue[routeGVar.routeFieldsName.IsClosedRoute].toInt();
|
|
|
UGString routeName = Translator::QStr2UGStr(typetext[routeType]+QString::number(routeNumber));
|
|
|
|
|
|
double routeHeight = fieldsValue[routeGVar.routeFieldsName.RouteHeight].toDouble();
|
|
|
// UGArray<UGVariant*> aryValues;
|
|
|
|
|
|
//查询航线是否已存在
|
|
|
QString queryFilter = routeGVar.routeFieldsName.RouteType + "=" + QString::number(routeType) + " and " +
|
|
|
routeGVar.routeFieldsName.RouteNumber + "=" + QString::number(routeNumber);
|
|
|
UGRecordsetPtr saveRes = queryFeature(dv,Translator::QStr2UGStr(queryFilter));
|
|
|
|
|
|
UGGeoLine l;
|
|
|
pGeometry->ConvertToLine(l,0);
|
|
|
if(isClosedRoute)
|
|
|
{//自动闭合线段
|
|
|
if(l.GetStartNode() != l.GetEndNode())
|
|
|
{
|
|
|
UGPoint2D addPoint = l.GetStartNode();
|
|
|
l.InsertPoint(0,l.GetPointCount(),addPoint); //添加首节点
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if(!saveRes->IsEmpty())
|
|
|
{//记录已存在,覆盖
|
|
|
//航线覆盖提示框
|
|
|
QMessageBox msgBox;
|
|
|
msgBox.setWindowTitle("警告");
|
|
|
msgBox.setText("航线已存在! ");
|
|
|
msgBox.setInformativeText("是否覆盖?");
|
|
|
msgBox.setStandardButtons(QMessageBox::Yes|QMessageBox::No);
|
|
|
msgBox.setDefaultButton(QMessageBox::Yes);
|
|
|
msgBox.setIcon(QMessageBox::Warning);
|
|
|
int ret = msgBox.exec();
|
|
|
|
|
|
//覆盖已有航线
|
|
|
if (ret == QMessageBox::Yes)
|
|
|
{
|
|
|
saveRes->Edit();
|
|
|
saveRes->SetGeometry(l);
|
|
|
saveRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteHeight),UGVariant(routeHeight));
|
|
|
saveRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.IsClosedRoute),UGVariant(isClosedRoute));
|
|
|
saveRes->Update();
|
|
|
|
|
|
return 1;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return 0;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{//航线不存在,新增航线
|
|
|
UGRecordsetPtr allRes = queryFeature(dv);
|
|
|
if(allRes==NULL) return 0;
|
|
|
// int routeID = allRes->GetRecordCount()+1;
|
|
|
|
|
|
//添加航线
|
|
|
if(isAddGeometry)
|
|
|
{
|
|
|
int ss = allRes->AddNew(&l);
|
|
|
if(ss<0) return 0;
|
|
|
}
|
|
|
|
|
|
//添加航线信息
|
|
|
allRes->MoveLast();
|
|
|
allRes->Edit();
|
|
|
if(isClosedRoute && !isAddGeometry) allRes->SetGeometry(l);
|
|
|
// UGVariant v;
|
|
|
// allRes->GetFieldValue(_U("RouteID"),v);
|
|
|
// qDebug()<<"**********************2:"<<v.ToInt();
|
|
|
allRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteID),UGVariant(routeID));
|
|
|
allRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteNumber),UGVariant(routeNumber));
|
|
|
allRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteType),UGVariant(routeType));
|
|
|
allRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteHeight),UGVariant(routeHeight));
|
|
|
allRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteName),UGVariant(routeName));
|
|
|
allRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.IsClosedRoute),UGVariant(isClosedRoute));
|
|
|
//提交记录修改
|
|
|
allRes->Update();
|
|
|
|
|
|
return 2;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
//获取几何对象所有节点坐标
|
|
|
void GeoFeatureOperator::getNodePoints(UGRecordsetPtr res, UGint geometryType, QVector<QPointF> &points)
|
|
|
{
|
|
|
res->MoveFirst(); //确保记录集指针是链表表头
|
|
|
UGGeometry* pTempGeomtry = NULL;
|
|
|
UGGeoLine line;
|
|
|
UGGeoRegion polygon;
|
|
|
QPointF point;
|
|
|
const UGPoint2D* p = NULL;
|
|
|
|
|
|
switch (geometryType) {
|
|
|
case UGGeometry::GeoLine:
|
|
|
{
|
|
|
while(!res->IsEOF()) //遍历所有几何对象
|
|
|
{
|
|
|
res->GetGeometry(pTempGeomtry,0);
|
|
|
pTempGeomtry->ConvertToRegion(polygon);
|
|
|
p = polygon.GetPoints(); //节点指针
|
|
|
for(int i = 0;i<polygon.GetPointCount();i++) //遍历一个要素所有节点
|
|
|
{
|
|
|
point.setX(p->x);
|
|
|
point.setY(p->y);
|
|
|
points.append(point);
|
|
|
p++;
|
|
|
}
|
|
|
res->MoveNext();
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
case UGGeometry::GeoRegion:
|
|
|
{
|
|
|
while(!res->IsEOF())
|
|
|
{
|
|
|
res->GetGeometry(pTempGeomtry,0);
|
|
|
pTempGeomtry->ConvertToLine(line);
|
|
|
p = line.GetPoints(); //节点指针
|
|
|
for(int i = 0;i<line.GetPointCount();i++)
|
|
|
{
|
|
|
point.setX(p->x);
|
|
|
point.setY(p->y);
|
|
|
points.append(point);
|
|
|
p++;
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
//线要素绘制
|
|
|
void GeoFeatureOperator::drawLine(QMapControl *qMapControl, UGDataSource *pDataSource, UGString datasetName)
|
|
|
{
|
|
|
UGMap* pMap = qMapControl->GetMap();
|
|
|
UGLayer* lineLayer = NULL;
|
|
|
UGString layerName = datasetName + _U("@") + pDataSource->GetAlias(); //图层名命名为:数据集名@数据源名
|
|
|
if(!pMap->m_Layers.IsLayerExisted(layerName))
|
|
|
{//图层不存在则新建图层
|
|
|
//获取线数据集
|
|
|
UGDatasetPtr lineSet = pDataSource->GetDataset(datasetName);
|
|
|
lineSet->SetPrjCoordSys(UGPrjCoordSys(4326));//设置坐标系为WGS1984
|
|
|
|
|
|
//将线数据集添加到地图
|
|
|
lineLayer = pMap->m_Layers.AddDataset(lineSet,true, UGLayer::UG_Layer_Normal,layerName);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
lineLayer = pMap->m_Layers.GetLayer(layerName);
|
|
|
};
|
|
|
|
|
|
LayerOperator layerOpt;
|
|
|
layerOpt.setVectorLayerStyle(lineLayer,UGDataset::Line); //设置图层Style
|
|
|
|
|
|
if (lineLayer != NULL)
|
|
|
{
|
|
|
lineLayer->SetSelectable(true); //设置图层可选择
|
|
|
pMap->m_Layers.SetEditableLayer(lineLayer,true);//设置图层可编辑
|
|
|
|
|
|
UGMapEditorWnd* pEditorWnd = qMapControl->GetUGMapWnd();
|
|
|
pEditorWnd->SetUserAction(UGDrawParamaters::uaEdit,UGEditType::ET_PolyLine);
|
|
|
// pEditorWnd->SetTrackingStyle(stytest); //设置交互式绘制几何对象时的风格。
|
|
|
}
|
|
|
|
|
|
pMap = NULL;
|
|
|
lineLayer = NULL;
|
|
|
}
|
|
|
|
|
|
//3D线要素绘制
|
|
|
void GeoFeatureOperator::drawLine3D(SceneView* pSceneView, UGString datasourceName, UGString datasetName)
|
|
|
{
|
|
|
SceneControl* pSceneControl = pSceneView->GetSceneControl();
|
|
|
|
|
|
UGLayer3Ds* pLayer3Ds = pSceneControl->GetUGLayer3Ds();
|
|
|
UGString layer3DName = datasetName + _U("@") + datasourceName; //图层名命名为:数据集名@数据源名
|
|
|
// qDebug()<<"***************:"<<Translator::UGStr2QStr(layer3DName);
|
|
|
UGLayer3D* lineLayer3D = NULL;
|
|
|
if(pLayer3Ds->FindNameInner(layer3DName)>=0)
|
|
|
{//获取图层
|
|
|
lineLayer3D = pLayer3Ds->GetLayerInner(layer3DName);
|
|
|
}
|
|
|
else
|
|
|
{//图层不存在则新建
|
|
|
lineLayer3D = pSceneControl->AddLayerFromDataset(datasourceName,datasetName);
|
|
|
}
|
|
|
|
|
|
if(lineLayer3D!=NULL)
|
|
|
{
|
|
|
//显示对话框
|
|
|
emit pSceneView->showSettingFlightPointDialg();
|
|
|
|
|
|
lineLayer3D->SetSelectable(true);
|
|
|
// pLayer3Ds->SetEditableLayer(lineLayer3D,true); //设置图层可编辑
|
|
|
lineLayer3D->SetEditable(true);
|
|
|
// pSceneControl->GetSceneEditWnd()->SetUserAction(UGSceneUserAction::suaEdit,UGEditType3D::ET3D_PolyLine); //
|
|
|
pSceneControl->GetSceneEditWnd()->SetUserAction(UGSceneUserAction::suaCreatePolyline);
|
|
|
pSceneView->isEditStateFlag = true;
|
|
|
qDebug()<<"*************************EditCursorShape:"<<pSceneControl->GetSceneEditWnd()->Get3DCursorShape();
|
|
|
// qDebug()<<"*************************:"<<pSceneControl->GetSceneEditWnd()->m_SceneWindow.Get3DCursorShape();
|
|
|
// qDebug()<<"*************************Edit:"<<pSceneControl->GetSceneEditWnd()->GetSubAction();
|
|
|
|
|
|
}
|
|
|
|
|
|
pLayer3Ds = NULL;
|
|
|
lineLayer3D = NULL;
|
|
|
pSceneControl = NULL;
|
|
|
|
|
|
}
|
|
|
|
|
|
void GeoFeatureOperator::drawLine3D(SceneView *pSceneView, UGString dataName)
|
|
|
{
|
|
|
SceneControl* pSceneControl = pSceneView->GetSceneControl();
|
|
|
UGLayer3Ds* pLayer3Ds = pSceneControl->GetUGLayer3Ds();
|
|
|
// //创建临时数据集
|
|
|
// UGString datasetName = _U("Line3DTmp");
|
|
|
// UGString layer3DName = datasetName + _U("@") + ds->GetAlias(); //图层名命名为:数据集名@数据源名
|
|
|
// MapDataManeger mapDataMag;
|
|
|
// UGDatasetVector* dv = NULL;
|
|
|
// if(ds->GetDataset(datasetName)==NULL)
|
|
|
// dv = mapDataMag.createVectorSet(ds,UGDataset::LineZ,datasetName).get();
|
|
|
// else
|
|
|
// {//清空临时数据集里的全部记录
|
|
|
// dv = (UGDatasetVector*)(ds->GetDataset(datasetName).get());
|
|
|
// if(!dv->IsOpen()) dv->Open();
|
|
|
// UGQueryDef query;
|
|
|
// UGRecordsetPtr res = dv->Query(query);
|
|
|
// qDebug()<<"***************RecordCount:"<<res->GetRecordCount();
|
|
|
// res->DeleteAll();
|
|
|
// res->Update();
|
|
|
// }
|
|
|
|
|
|
UGLayer3D* lineLayer3D = NULL;
|
|
|
int layerIndex = pLayer3Ds->FindNameInner(dataName);
|
|
|
if(layerIndex>=0)
|
|
|
{//图层存在则删除
|
|
|
pLayer3Ds->TreeRemoveAt(layerIndex);
|
|
|
}
|
|
|
//添加图层
|
|
|
// qDebug()<<"*******************LayerCount0:"<<pLayer3Ds->GetInnerCount();
|
|
|
lineLayer3D = pLayer3Ds->AddLayer(dataName);
|
|
|
// lineLayer3D = pSceneControl->AddLayerFromDataset(ds->GetAlias(),datasetName);
|
|
|
// qDebug()<<"*******************LayerCount1:"<<pLayer3Ds->GetInnerCount();
|
|
|
lineLayer3D->SetSelectable(true);
|
|
|
pLayer3Ds->SetEditableLayer(lineLayer3D,true); //设置图层可编辑
|
|
|
// lineLayer3D->SetEditable(true);
|
|
|
// qDebug()<<"*******************LayerEditable:"<<lineLayer3D->GetEditable();
|
|
|
|
|
|
// pSceneControl->GetSceneEditWnd()->SetUserAction(UGSceneUserAction::suaEdit,UGEditType3D::ET3D_PolyLine); //
|
|
|
pSceneControl->GetSceneEditWnd()->SetUserAction(UGSceneUserAction::suaCreatePolyline);
|
|
|
pSceneView->isEditStateFlag = true;
|
|
|
|
|
|
//显示对话框
|
|
|
emit pSceneView->showSettingFlightPointDialg();
|
|
|
|
|
|
// dv = NULL;
|
|
|
lineLayer3D = NULL;
|
|
|
pSceneControl = NULL;
|
|
|
pLayer3Ds = NULL;
|
|
|
}
|
|
|
|
|
|
//添加三维几何对象到记录集
|
|
|
void GeoFeatureOperator::addGeometry3DToDataset(UGDatasetVector *dv, UGGeometry *pGeometry)
|
|
|
{
|
|
|
if(!dv->Open()) dv->Open();
|
|
|
UGGeoLine3D* line3D = (UGGeoLine3D*)pGeometry;
|
|
|
if(dv!=NULL)
|
|
|
{
|
|
|
UGRecordsetPtr res = queryFeature(dv);
|
|
|
if(res!=NULL)
|
|
|
{
|
|
|
int ss = res->AddNew(line3D);
|
|
|
res->Update();
|
|
|
}
|
|
|
line3D = NULL;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//导入三维航线信息
|
|
|
int GeoFeatureOperator::importGeometry3DAttribute(UGDatasetVector *dv, UGGeometry *pGeometry, QMap<QString, QString> fieldsValue)
|
|
|
{
|
|
|
RouteGlobalVariant routeGVar;
|
|
|
QMap<int,QString> typetext = routeGVar.getRouteType();
|
|
|
|
|
|
//提取属性字段值
|
|
|
int routeID = fieldsValue[routeGVar.routeFieldsName.RouteID].toInt();
|
|
|
int routeType = fieldsValue[routeGVar.routeFieldsName.RouteType].toInt();
|
|
|
int routeNumber = fieldsValue[routeGVar.routeFieldsName.RouteNumber].toInt();
|
|
|
int isClosedRoute = fieldsValue[routeGVar.routeFieldsName.IsClosedRoute].toInt();
|
|
|
UGString routeName = Translator::QStr2UGStr(typetext[routeType]+QString::number(routeNumber));
|
|
|
// double routeHeight = fieldsValue[routeGVar.routeFieldsName.RouteHeight].toDouble();
|
|
|
// UGArray<UGVariant*> aryValues;
|
|
|
|
|
|
//查询航线是否已存在
|
|
|
QString queryFilter = routeGVar.routeFieldsName.RouteType + "=" + QString::number(routeType) + " and " +
|
|
|
routeGVar.routeFieldsName.RouteNumber + "=" + QString::number(routeNumber);
|
|
|
UGRecordsetPtr saveRes = queryFeature(dv,Translator::QStr2UGStr(queryFilter));
|
|
|
|
|
|
UGGeoLine3D* line3D = (UGGeoLine3D*)pGeometry;
|
|
|
if(isClosedRoute)
|
|
|
{//自动闭合线段
|
|
|
if(line3D->GetStartNode() != line3D->GetEndNode())
|
|
|
{
|
|
|
UGPoint3D addPoint = line3D->GetStartNode();
|
|
|
line3D->InsertPoint(0,line3D->GetPointCount(),addPoint); //添加首节点
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if(!saveRes->IsEmpty())
|
|
|
{//记录已存在,覆盖
|
|
|
//航线覆盖提示框
|
|
|
QMessageBox msgBox;
|
|
|
msgBox.setWindowTitle("警告");
|
|
|
msgBox.setText("航线已存在! ");
|
|
|
msgBox.setInformativeText("是否覆盖?");
|
|
|
msgBox.setStandardButtons(QMessageBox::Yes|QMessageBox::No);
|
|
|
msgBox.setDefaultButton(QMessageBox::Yes);
|
|
|
msgBox.setIcon(QMessageBox::Warning);
|
|
|
int ret = msgBox.exec();
|
|
|
|
|
|
//覆盖已有航线
|
|
|
if (ret == QMessageBox::Yes)
|
|
|
{
|
|
|
saveRes->Edit();
|
|
|
saveRes->SetGeometry(*line3D);
|
|
|
// saveRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteHeight),UGVariant(routeHeight));
|
|
|
saveRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.IsClosedRoute),UGVariant(isClosedRoute));
|
|
|
saveRes->Update();
|
|
|
|
|
|
return 1;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return 0;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{//航线不存在,新增航线
|
|
|
UGRecordsetPtr allRes = queryFeature(dv);
|
|
|
if(allRes==NULL) return 0;
|
|
|
// int routeID = allRes->GetRecordCount()+1;
|
|
|
|
|
|
//添加航线
|
|
|
int ss = allRes->AddNew(line3D);
|
|
|
if(ss<0) return 0;
|
|
|
|
|
|
//添加航线信息
|
|
|
allRes->MoveLast();
|
|
|
allRes->Edit();
|
|
|
// UGVariant v;
|
|
|
// allRes->GetFieldValue(_U("RouteID"),v);
|
|
|
// qDebug()<<"**********************2:"<<v.ToInt();
|
|
|
allRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteID),UGVariant(routeID));
|
|
|
allRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteNumber),UGVariant(routeNumber));
|
|
|
allRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteType),UGVariant(routeType));
|
|
|
// allRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteHeight),UGVariant(routeHeight));
|
|
|
allRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.RouteName),UGVariant(routeName));
|
|
|
allRes->ModifyFieldValue(Translator::QStr2UGStr(routeGVar.routeFieldsName.IsClosedRoute),UGVariant(isClosedRoute));
|
|
|
//提交记录修改
|
|
|
allRes->Update();
|
|
|
|
|
|
return 2;
|
|
|
}
|
|
|
}
|