|
@@ -170,14 +170,14 @@ public static class TheRegister
|
|
|
//builder.Services.AddSingleton<UdpListenerService>();
|
|
//builder.Services.AddSingleton<UdpListenerService>();
|
|
|
//builder.Services.AddHostedService(sp => sp.GetRequiredService<UdpListenerService>());
|
|
//builder.Services.AddHostedService(sp => sp.GetRequiredService<UdpListenerService>());
|
|
|
|
|
|
|
|
- for (int i = 0; i < 40; i++)
|
|
|
|
|
- {
|
|
|
|
|
- NozzleState ns = new NozzleState();
|
|
|
|
|
- ns.noz = i + 1;
|
|
|
|
|
- ns.warnstate = i % 3;
|
|
|
|
|
- ns.oil = i % 2 == 0 ? "92#" : "95#";
|
|
|
|
|
- GlobalTool.g_mNozzleState.Add(ns.noz, ns);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ //for (int i = 0; i < 40; i++)
|
|
|
|
|
+ //{
|
|
|
|
|
+ // NozzleState ns = new NozzleState();
|
|
|
|
|
+ // ns.noz = i + 1;
|
|
|
|
|
+ // ns.warnstate = i % 3;
|
|
|
|
|
+ // ns.oil = i % 2 == 0 ? "92#" : "95#";
|
|
|
|
|
+ // GlobalTool.g_mNozzleState.Add(ns.noz, ns);
|
|
|
|
|
+ //}
|
|
|
|
|
|
|
|
builder.Services.AddHostedService<UdpListenerService>();
|
|
builder.Services.AddHostedService<UdpListenerService>();
|
|
|
|
|
|
|
@@ -292,6 +292,9 @@ public static class TheRegister
|
|
|
using (var scope = app.Services.CreateScope())
|
|
using (var scope = app.Services.CreateScope())
|
|
|
{
|
|
{
|
|
|
var myService = scope.ServiceProvider.GetRequiredService<Init>();
|
|
var myService = scope.ServiceProvider.GetRequiredService<Init>();
|
|
|
|
|
+
|
|
|
|
|
+ // 初始化数据库中的油枪状态
|
|
|
|
|
+ InitializeNozzleStates(scope.ServiceProvider);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
app.Run();
|
|
app.Run();
|
|
@@ -299,6 +302,51 @@ public static class TheRegister
|
|
|
|
|
|
|
|
return builder;
|
|
return builder;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 从数据库查询所有油枪并初始化状态
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ private static void InitializeNozzleStates(IServiceProvider serviceProvider)
|
|
|
|
|
+ {
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+ var nozzleService = serviceProvider.GetRequiredService<NozzleService>();
|
|
|
|
|
+
|
|
|
|
|
+ // 异步获取油枪数据
|
|
|
|
|
+ var task = Task.Run(async () => await nozzleService.GetNozzlesAsync());
|
|
|
|
|
+ var nozzles = task.Result;
|
|
|
|
|
+
|
|
|
|
|
+ if (nozzles != null && nozzles.Count > 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ foreach (var nozzle in nozzles)
|
|
|
|
|
+ {
|
|
|
|
|
+ if (!GlobalTool.g_mNozzleState.ContainsKey(nozzle.NozzleId))
|
|
|
|
|
+ {
|
|
|
|
|
+ var nozzleState = new NozzleState
|
|
|
|
|
+ {
|
|
|
|
|
+ noz = nozzle.NozzleId,
|
|
|
|
|
+ VLR = "0",
|
|
|
|
|
+ oil = nozzle.product.ToString()+"#", // 可以根据需要设置默认油品
|
|
|
|
|
+ nozzlestate = GlobalTool.NozzleState_Offline, // 初始状态设为离线
|
|
|
|
|
+ warnstate = GlobalTool.WarningState_Normal // 初始警告状态设为正常
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ GlobalTool.g_mNozzleState.Add(nozzle.NozzleId, nozzleState);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Console.WriteLine($"已初始化 {nozzles.Count} 个油枪状态");
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ Console.WriteLine("数据库中没有找到油枪数据");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (Exception ex)
|
|
|
|
|
+ {
|
|
|
|
|
+ Console.WriteLine($"初始化油枪状态时发生错误:{ex.Message}");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
private static FileExtensionContentTypeProvider GetFileExtensionContentTypeProvider()
|
|
private static FileExtensionContentTypeProvider GetFileExtensionContentTypeProvider()
|
|
|
{
|
|
{
|