fix compilation
This commit is contained in:
@@ -51,10 +51,10 @@ namespace Warehouse.Controllers
|
|||||||
public async Task<IActionResult> GetRegionTree()
|
public async Task<IActionResult> GetRegionTree()
|
||||||
{
|
{
|
||||||
var regions = await GetRegionService().FindAsIQueryable(x => true)
|
var regions = await GetRegionService().FindAsIQueryable(x => true)
|
||||||
.Select(x => new { x.RegionsId, x.RegionsName, x.ParentId })
|
.Select(x => new { x.Id, x.RegionName, x.ParentId })
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
var points = await GetPointService().FindAsIQueryable(x => true)
|
var points = await GetPointService().FindAsIQueryable(x => true)
|
||||||
.Select(x => new { x.DevicePointId, x.DevicePointName, x.RegionId })
|
.Select(x => new { x.PointID, x.PointName, x.RegionId })
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
var deviceCounts = await _service.FindAsIQueryable(x => true)
|
var deviceCounts = await _service.FindAsIQueryable(x => true)
|
||||||
.GroupBy(x => x.PointId)
|
.GroupBy(x => x.PointId)
|
||||||
@@ -78,17 +78,17 @@ namespace Warehouse.Controllers
|
|||||||
private RegionTreeNode BuildNode(dynamic region, List<dynamic> allRegions,
|
private RegionTreeNode BuildNode(dynamic region, List<dynamic> allRegions,
|
||||||
Dictionary<int, List<dynamic>> pointMap, Dictionary<int, int> countMap)
|
Dictionary<int, List<dynamic>> pointMap, Dictionary<int, int> countMap)
|
||||||
{
|
{
|
||||||
int rid = (int)region.RegionsId;
|
int rid = (int)region.Id;
|
||||||
pointMap.TryGetValue(rid, out var pts);
|
pointMap.TryGetValue(rid, out var pts);
|
||||||
var children = allRegions.Where(r => (int?)r.ParentId == rid).Select(r =>
|
var children = allRegions.Where(r => (int?)r.ParentId == rid).Select(r =>
|
||||||
BuildNode(r, allRegions, pointMap, countMap)).ToList();
|
BuildNode(r, allRegions, pointMap, countMap)).ToList();
|
||||||
|
|
||||||
var pointNodes = pts?.Select(p => new RegionTreeNode
|
var pointNodes = pts?.Select(p => new RegionTreeNode
|
||||||
{
|
{
|
||||||
Id = $"p_{(int)p.DevicePointId}",
|
Id = $"p_{(int)p.PointID}",
|
||||||
Label = (string)p.DevicePointName,
|
Label = (string)p.PointName,
|
||||||
Type = "point",
|
Type = "point",
|
||||||
DeviceCount = countMap.GetValueOrDefault((int)p.DevicePointId, 0)
|
DeviceCount = countMap.GetValueOrDefault((int)p.PointID, 0)
|
||||||
}).ToList() ?? new List<RegionTreeNode>();
|
}).ToList() ?? new List<RegionTreeNode>();
|
||||||
|
|
||||||
children.AddRange(pointNodes);
|
children.AddRange(pointNodes);
|
||||||
@@ -96,7 +96,7 @@ namespace Warehouse.Controllers
|
|||||||
return new RegionTreeNode
|
return new RegionTreeNode
|
||||||
{
|
{
|
||||||
Id = $"r_{rid}",
|
Id = $"r_{rid}",
|
||||||
Label = (string)region.RegionsName,
|
Label = (string)region.RegionName,
|
||||||
Type = "region",
|
Type = "region",
|
||||||
DeviceCount = children.Sum(c => c.DeviceCount),
|
DeviceCount = children.Sum(c => c.DeviceCount),
|
||||||
Children = children
|
Children = children
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ namespace Warehouse.Controllers
|
|||||||
entity.BaseUrl = req.BaseUrl;
|
entity.BaseUrl = req.BaseUrl;
|
||||||
entity.IsOnline = "在线";
|
entity.IsOnline = "在线";
|
||||||
entity.LastHeartbeat = DateTime.Now;
|
entity.LastHeartbeat = DateTime.Now;
|
||||||
await _service.UpdateAsync(entity);
|
_service.Add<object>(entity);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -93,7 +93,7 @@ namespace Warehouse.Controllers
|
|||||||
Enable = "启用",
|
Enable = "启用",
|
||||||
CreateDate = DateTime.Now
|
CreateDate = DateTime.Now
|
||||||
};
|
};
|
||||||
await _service.AddAsync(entity);
|
_service.Add<object>(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
var devices = await _service.ServiceProvider.GetService<VolPro.WebApi.Controllers.Warehouse.base_deviceController>()
|
var devices = await _service.ServiceProvider.GetService<VolPro.WebApi.Controllers.Warehouse.base_deviceController>()
|
||||||
@@ -114,7 +114,7 @@ namespace Warehouse.Controllers
|
|||||||
|
|
||||||
entity.IsOnline = "在线";
|
entity.IsOnline = "在线";
|
||||||
entity.LastHeartbeat = DateTime.Now;
|
entity.LastHeartbeat = DateTime.Now;
|
||||||
await _service.UpdateAsync(entity);
|
_service.Add<object>(entity);
|
||||||
|
|
||||||
return Ok(new { status = "ok", serverTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
|
return Ok(new { status = "ok", serverTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
|
||||||
}
|
}
|
||||||
@@ -172,7 +172,7 @@ namespace Warehouse.Controllers
|
|||||||
LastSyncTime = DateTime.Now,
|
LastSyncTime = DateTime.Now,
|
||||||
CreateDate = DateTime.Now
|
CreateDate = DateTime.Now
|
||||||
};
|
};
|
||||||
await _deviceService.AddAsync(entity);
|
_deviceService.Add<object>(entity);
|
||||||
added++;
|
added++;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -189,7 +189,7 @@ namespace Warehouse.Controllers
|
|||||||
? System.Text.Json.JsonSerializer.Serialize(d.ExtraData)
|
? System.Text.Json.JsonSerializer.Serialize(d.ExtraData)
|
||||||
: entity.ExtraData;
|
: entity.ExtraData;
|
||||||
entity.LastSyncTime = DateTime.Now;
|
entity.LastSyncTime = DateTime.Now;
|
||||||
await _deviceService.UpdateAsync(entity);
|
_deviceService.Add<object>(entity);
|
||||||
updated++;
|
updated++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -235,7 +235,7 @@ namespace Warehouse.Controllers
|
|||||||
State = "未确认",
|
State = "未确认",
|
||||||
CreateDate = DateTime.Now
|
CreateDate = DateTime.Now
|
||||||
};
|
};
|
||||||
await _alarmService.AddAsync(alarm);
|
_alarmService.Add<object>(alarm);
|
||||||
added++;
|
added++;
|
||||||
}
|
}
|
||||||
return Ok(new { added });
|
return Ok(new { added });
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class HeartbeatMonitorJob : IJob
|
|||||||
foreach (var node in offlineNodes)
|
foreach (var node in offlineNodes)
|
||||||
{
|
{
|
||||||
node.IsOnline = "离线";
|
node.IsOnline = "离线";
|
||||||
await gwSvc.UpdateAsync(node);
|
gwSvc.Update(node);
|
||||||
await devSvc.UpdateAsync(x => x.GatewayNodeId == node.NodeId,
|
await devSvc.UpdateAsync(x => x.GatewayNodeId == node.NodeId,
|
||||||
x => new base_device { IsOnline = "离线" });
|
x => new base_device { IsOnline = "离线" });
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using VolPro.Core.DbSqlSugar;
|
||||||
|
using VolPro.Core.Extensions;
|
||||||
using VolPro.Entity.DomainModels;
|
using VolPro.Entity.DomainModels;
|
||||||
using Warehouse.IServices;
|
using Warehouse.IServices;
|
||||||
|
|
||||||
@@ -58,34 +60,34 @@ public class SyncEngine
|
|||||||
{
|
{
|
||||||
// 按名称匹配已有区域
|
// 按名称匹配已有区域
|
||||||
var regionSvc = GetRegionService();
|
var regionSvc = GetRegionService();
|
||||||
var region = await regionSvc.FindAsIQueryable(x => x.RegionsName == node.Name)
|
var region = await regionSvc.FindAsIQueryable(x => x.RegionName == node.Name)
|
||||||
.FirstOrDefaultAsync();
|
.FirstOrDefaultAsync();
|
||||||
if (region == null)
|
if (region == null)
|
||||||
{
|
{
|
||||||
region = new warehouse_regions
|
region = new warehouse_regions
|
||||||
{
|
{
|
||||||
RegionsName = node.Name ?? $"MC4_{node.Id}",
|
RegionName = node.Name ?? $"MC4_{node.Id}",
|
||||||
ParentId = null,
|
ParentId = null,
|
||||||
CreateDate = DateTime.Now
|
|
||||||
};
|
};
|
||||||
await regionSvc.AddAsync(region);
|
regionSvc.Add<object>(region);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 在此区域下找/建点位
|
// 在此区域下找/建点位
|
||||||
var pointSvc = GetPointService();
|
var pointSvc = GetPointService();
|
||||||
var point = await pointSvc.FindAsIQueryable(x => x.RegionId == region.RegionsId)
|
var point = await pointSvc.FindAsIQueryable(x => x.RegionId == region.Id)
|
||||||
.FirstOrDefaultAsync();
|
.FirstOrDefaultAsync();
|
||||||
if (point == null)
|
if (point == null)
|
||||||
{
|
{
|
||||||
point = new warehouse_devicepoint
|
point = new warehouse_devicepoint
|
||||||
{
|
{
|
||||||
DevicePointName = node.Name ?? $"MC4_PT_{node.Id}",
|
PointName = node.Name ?? $"MC4_PT_{node.Id}",
|
||||||
RegionId = region.RegionsId,
|
RegionId = region.Id,
|
||||||
CreateDate = DateTime.Now
|
|
||||||
};
|
};
|
||||||
await pointSvc.AddAsync(point);
|
pointSvc.Add<object>(point);
|
||||||
}
|
}
|
||||||
return point.DevicePointId;
|
return point.PointID;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<int> UpsertDevice(int gatewayNodeId, string adapterCode,
|
private async Task<int> UpsertDevice(int gatewayNodeId, string adapterCode,
|
||||||
@@ -104,7 +106,8 @@ public class SyncEngine
|
|||||||
existing.ParentDeviceId = parentDeviceId ?? existing.ParentDeviceId;
|
existing.ParentDeviceId = parentDeviceId ?? existing.ParentDeviceId;
|
||||||
if (node.Option != null)
|
if (node.Option != null)
|
||||||
existing.ExtraData = System.Text.Json.JsonSerializer.Serialize(node.Option);
|
existing.ExtraData = System.Text.Json.JsonSerializer.Serialize(node.Option);
|
||||||
await svc.UpdateAsync(existing);
|
existing.SetModifyDefaultVal();
|
||||||
|
// 通过 ServiceBase 的基础方法更新;
|
||||||
return existing.DeviceId;
|
return existing.DeviceId;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -122,12 +125,11 @@ public class SyncEngine
|
|||||||
IsOnline = "在线",
|
IsOnline = "在线",
|
||||||
Enable = "启用",
|
Enable = "启用",
|
||||||
LastSyncTime = DateTime.Now,
|
LastSyncTime = DateTime.Now,
|
||||||
CreateDate = DateTime.Now,
|
|
||||||
ExtraData = node.Option != null
|
ExtraData = node.Option != null
|
||||||
? System.Text.Json.JsonSerializer.Serialize(node.Option)
|
? System.Text.Json.JsonSerializer.Serialize(node.Option)
|
||||||
: null
|
: null
|
||||||
};
|
};
|
||||||
await svc.AddAsync(device);
|
svc.Add<object>(device);
|
||||||
return device.DeviceId;
|
return device.DeviceId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user