给数据库中路径的edges增加顺序id
This commit is contained in:
parent
2d2e60c58b
commit
6fab2b3432
@ -125,7 +125,7 @@ namespace NavisworksTransport
|
||||
)
|
||||
");
|
||||
|
||||
// 5. 路径边表(新增)
|
||||
// 5. 路径边表(新增SequenceNumber字段)
|
||||
ExecuteNonQuery(@"
|
||||
CREATE TABLE IF NOT EXISTS PathEdges (
|
||||
Id TEXT PRIMARY KEY,
|
||||
@ -134,6 +134,7 @@ namespace NavisworksTransport
|
||||
EndPointId TEXT NOT NULL,
|
||||
SegmentType INTEGER NOT NULL,
|
||||
PhysicalLength REAL NOT NULL,
|
||||
SequenceNumber INTEGER NOT NULL,
|
||||
Ts_X REAL,
|
||||
Ts_Y REAL,
|
||||
Ts_Z REAL,
|
||||
@ -230,9 +231,9 @@ namespace NavisworksTransport
|
||||
// 保存路径边
|
||||
if (route.Edges != null && route.Edges.Count > 0)
|
||||
{
|
||||
foreach (var edge in route.Edges)
|
||||
for (int i = 0; i < route.Edges.Count; i++)
|
||||
{
|
||||
SavePathEdge(route.Id, edge);
|
||||
SavePathEdge(route.Id, route.Edges[i], i);
|
||||
}
|
||||
|
||||
LogManager.Info($"保存路径: {route.Name},包含 {route.Edges.Count} 个路径边");
|
||||
@ -569,15 +570,15 @@ namespace NavisworksTransport
|
||||
/// <summary>
|
||||
/// 保存路径边
|
||||
/// </summary>
|
||||
private void SavePathEdge(string routeId, PathEdge edge)
|
||||
private void SavePathEdge(string routeId, PathEdge edge, int sequenceNumber)
|
||||
{
|
||||
var sql = @"
|
||||
INSERT INTO PathEdges
|
||||
(Id, RouteId, StartPointId, EndPointId, SegmentType, PhysicalLength,
|
||||
(Id, RouteId, StartPointId, EndPointId, SegmentType, PhysicalLength, SequenceNumber,
|
||||
Ts_X, Ts_Y, Ts_Z, Te_X, Te_Y, Te_Z,
|
||||
ArcCenter_X, ArcCenter_Y, ArcCenter_Z,
|
||||
RequestedRadius, ActualRadius, DeflectionAngle, ArcLength)
|
||||
VALUES (@id, @routeId, @startId, @endId, @segType, @length,
|
||||
VALUES (@id, @routeId, @startId, @endId, @segType, @length, @seqNum,
|
||||
@tsx, @tsy, @tsz, @tex, @tey, @tez,
|
||||
@acx, @acy, @acz,
|
||||
@reqR, @actR, @angle, @arcLen)
|
||||
@ -591,6 +592,7 @@ namespace NavisworksTransport
|
||||
cmd.Parameters.AddWithValue("@endId", edge.EndPointId ?? "");
|
||||
cmd.Parameters.AddWithValue("@segType", (int)edge.SegmentType);
|
||||
cmd.Parameters.AddWithValue("@length", edge.PhysicalLength);
|
||||
cmd.Parameters.AddWithValue("@seqNum", sequenceNumber);
|
||||
|
||||
// 直线段:保存起止点坐标
|
||||
if (edge.SegmentType == PathSegmentType.Straight && edge.SampledPoints != null && edge.SampledPoints.Count >= 2)
|
||||
@ -679,7 +681,7 @@ namespace NavisworksTransport
|
||||
/// </summary>
|
||||
private void LoadPathEdges(PathRoute route)
|
||||
{
|
||||
var sql = "SELECT * FROM PathEdges WHERE RouteId = @routeId ORDER BY Id";
|
||||
var sql = "SELECT * FROM PathEdges WHERE RouteId = @routeId ORDER BY SequenceNumber";
|
||||
|
||||
using (var cmd = new SQLiteCommand(sql, _connection))
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user