master
杨威 7 months ago
parent 1919d1a6ee
commit 830abecc69

@ -8,7 +8,7 @@ IHost host = Host.CreateDefaultBuilder(args)
.ConfigureServices(services =>
{
services.AddScoped<IDbContextLocal>(a => new DbContextLocal("Data Source=127.0.0.1;Initial Catalog=CWSSHG;user=sa;password=123456;"));
services.AddScoped<IDbContextLocal>(a => new DbContextLocal("Data Source=172.18.4.130;Initial Catalog=CWSSHG;user=sa;password=123456;"));
services.AddScoped<IDbContextHttp>(a => new DbContextHttp("Data Source=192.168.202.22;Initial Catalog=CWSSHG;user=sa;password=Lanju@123;"));

@ -1,4 +1,5 @@
using System.Collections.Immutable;
using NewLife.Log;
using WorkerSynReport.Data;
namespace WorkerSynReport
@ -20,11 +21,12 @@ namespace WorkerSynReport
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
{
await SynWetMixer();
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
await SynDry();
await SynGel();
await Task.Delay(1000*30, stoppingToken);
}
}
@ -32,7 +34,7 @@ namespace WorkerSynReport
private async Task SynWetMixer()
{
_logger.LogInformation("定时器开始");
XTrace.WriteLine("开始跑湿混机");
using var scope = _scopeFactory.CreateScope();
var services = scope.ServiceProvider;
using IDbContextLocal? dbContextLocal = services.GetService<IDbContextLocal>();
@ -56,13 +58,97 @@ namespace WorkerSynReport
}
if (lsMain.Any())
{
_logger.LogInformation("插入数据:{Data}",lsMain.Count);
{
XTrace.WriteLine("插入数据:{0}",lsMain.Count);
await dbContextHttp.InsertRangeAsync(lsMain);
await dbContextHttp.InsertRangeAsync(lsMainDetail);
}
}
}
private async Task SynDry()
{
XTrace.WriteLine("开始跑干混机");
using var scope = _scopeFactory.CreateScope();
var services = scope.ServiceProvider;
using IDbContextLocal? dbContextLocal = services.GetService<IDbContextLocal>();
using IDbContextHttp? dbContextHttp = services.GetService<IDbContextHttp>();
var reportId=await dbContextHttp!.Query<Report_Dry>()
.OrderByDesc(x => x.objId).Select(x => x.reportId).FirstOrDefaultAsync();
var objId=await dbContextLocal.Query<Report_Dry>().Where(x => x.reportId == reportId)
.Select(x => x.objId).FirstOrDefaultAsync();
if (objId > 0)
{
List<Report_Dry> lsMain = new List<Report_Dry>();
List<Report_DryDos_Detail> lsMainDetail = new List<Report_DryDos_Detail>();
List<Report_DryMixer_Detail> lsMixerDetails = new();
var list= await dbContextLocal.Query<Report_Dry>().Where(x => x.objId > objId).ToListAsync();
foreach (var dry in list)
{
lsMain.Add(dry);
lsMainDetail.AddRange(await dbContextLocal.Query<Report_DryDos_Detail>().Where(x=>x.reportId==dry.reportId).ToListAsync());
lsMixerDetails.AddRange(await dbContextLocal.Query<Report_DryMixer_Detail>().Where(x=>x.reportId==dry.reportId).ToListAsync());
}
if (lsMain.Any())
{
XTrace.WriteLine("插入数据:{0}",lsMain.Count);
await dbContextHttp.InsertRangeAsync(lsMain);
await dbContextHttp.InsertRangeAsync(lsMainDetail);
await dbContextHttp.InsertRangeAsync(lsMixerDetails);
}
}
}
private async Task SynGel()
{
XTrace.WriteLine("开始跑糊化机");
using var scope = _scopeFactory.CreateScope();
var services = scope.ServiceProvider;
using IDbContextLocal? dbContextLocal = services.GetService<IDbContextLocal>();
using IDbContextHttp? dbContextHttp = services.GetService<IDbContextHttp>();
var reportId=await dbContextHttp!.Query<Report_Gel>()
.OrderByDesc(x => x.objId).Select(x => x.reportId).FirstOrDefaultAsync();
var objId=await dbContextLocal.Query<Report_Gel>().Where(x => x.reportId == reportId)
.Select(x => x.objId).FirstOrDefaultAsync();
if (objId > 0)
{
List<Report_Gel> lsMain = new List<Report_Gel>();
List<Report_GelDoser_Detail> lsMainDetail = new List<Report_GelDoser_Detail>();
List<Report_GelMixing_Detail> lsMixerDetails = new();
var list= await dbContextLocal.Query<Report_Gel>().Where(x => x.objId > objId).ToListAsync();
foreach (var dry in list)
{
lsMain.Add(dry);
lsMainDetail.AddRange(await dbContextLocal.Query<Report_GelDoser_Detail>().Where(x=>x.reportId==dry.reportId).ToListAsync());
lsMixerDetails.AddRange(await dbContextLocal.Query<Report_GelMixing_Detail>().Where(x=>x.reportId==dry.reportId).ToListAsync());
}
if (lsMain.Any())
{
XTrace.WriteLine("插入数据:{0}",lsMain.Count);
await dbContextHttp.InsertRangeAsync(lsMain);
await dbContextHttp.InsertRangeAsync(lsMainDetail);
await dbContextHttp.InsertRangeAsync(lsMixerDetails);
}
}
}
}
}

@ -8,11 +8,12 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Chloe" Version="5.18.0" />
<PackageReference Include="Chloe.Extension" Version="5.18.0" />
<PackageReference Include="Chloe.SqlServer" Version="5.18.0" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" />
<PackageReference Include="NewLife.Core" Version="10.6.2023.1201" />
<PackageReference Include="NewLife.Extensions.Hosting.AgentService" Version="10.6.2023.1201" />
<PackageReference Include="Chloe" Version="5.19.0" />
<PackageReference Include="Chloe.Extension" Version="5.19.0" />
<PackageReference Include="Chloe.SqlServer" Version="5.19.0" />
<PackageReference Include="Microsoft.Data.SqlClient" Version="5.2.0" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
<PackageReference Include="NewLife.Core" Version="10.10.2024.501" />
<PackageReference Include="NewLife.Extensions.Hosting.AgentService" Version="10.7.2024.402" />
</ItemGroup>
</Project>

Loading…
Cancel
Save