71 lines
2.7 KiB
C#
71 lines
2.7 KiB
C#
using DG.DotNet.Sample.Models;
|
|
using DG.EventBus;
|
|
using DG.Core;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using System.Text.Json;
|
|
using Oracle.ManagedDataAccess.Client;
|
|
using System.Data;
|
|
|
|
namespace DG.DotNet.Sample.Workers
|
|
{
|
|
public class TestWorker : BackgroundService
|
|
{
|
|
private readonly ILogger<TestWorker> _logger;
|
|
private readonly IServiceProvider _serviceProvider;
|
|
private readonly IEventBus<TestEvent> _eventBus;
|
|
private readonly IHttpClient _httpClient;
|
|
|
|
public TestWorker(IServiceProvider serviceProvider,
|
|
ILogger<TestWorker> logger,
|
|
IEventBus<TestEvent> eventBus,
|
|
IHttpClient httpClient)
|
|
{
|
|
_logger = logger;
|
|
_serviceProvider = serviceProvider;
|
|
_eventBus = eventBus;
|
|
_httpClient = httpClient;
|
|
}
|
|
|
|
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
|
{
|
|
using (IServiceScope scope = _serviceProvider.CreateScope())
|
|
{
|
|
var repository = scope.ServiceProvider.GetRequiredService<IOracleRepository<AppDbContext>>();
|
|
var sql = @"select
|
|
a.*
|
|
from
|
|
(
|
|
select
|
|
*
|
|
from
|
|
bas_businessdepartment
|
|
where
|
|
deptid in (
|
|
select
|
|
saledeptid
|
|
from
|
|
bas_salesdepartment start with saledeptid =(
|
|
select
|
|
a.deptid
|
|
from
|
|
bas_innerusergroup a
|
|
join bas_inneruser b on a.inneruserid = b.pkid
|
|
where
|
|
b.eid = :eid
|
|
) connect by prior department_parentid = department_id
|
|
)
|
|
) a
|
|
join bas_businesslines b on a.businessid = b.businessid";
|
|
var param = new OracleParameter[] {
|
|
new OracleParameter() { ParameterName = ":eid", OracleDbType = OracleDbType.Int64, Value = 4028 }
|
|
};
|
|
var list = await repository.ExecuteSqlToEntityAsync<BAS_BUSINESSDEPARTMENT>(sql, param);
|
|
_logger.LogInformation(JsonSerializer.Serialize(list));
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|