Browse Source

任务计划

bjmzak
DESKTOP-G961P6V\Zhh 2 years ago
parent
commit
e39fb62836
  1. 57
      src/Shentun.Peis.HttpApi.Host/Schedulers/ChargeRequestInterfaceQueryWorker.cs
  2. 58
      src/Shentun.Peis.HttpApi.Host/Schedulers/ImportLisResultInterfaceWorker.cs
  3. 60
      src/Shentun.Peis.HttpApi.Host/Schedulers/ImportPacsResultInterfaceWorker.cs
  4. 64
      src/Shentun.Peis.HttpApi.Host/Schedulers/ImportPatientRegisterInterfaceWorker.cs
  5. 58
      src/Shentun.Peis.HttpApi.Host/Schedulers/ThirdInterfaceWorkerBase.cs

57
src/Shentun.Peis.HttpApi.Host/Schedulers/ChargeRequestInterfaceQueryWorker.cs

@ -22,6 +22,63 @@ namespace Shentun.Peis.Schedulers
} }
public class ChargeRequestInterfaceQueryWorker : ThirdInterfaceWorkerBase, IChargeRequestInterfaceQueryWorker public class ChargeRequestInterfaceQueryWorker : ThirdInterfaceWorkerBase, IChargeRequestInterfaceQueryWorker
{ {
private static long i;
private static bool _isRunning = false;
private static readonly object lockObject = new object();
public virtual void DoWork(Guid interfaceId)
{
if (_isRunning) return;
lock (lockObject)
{
_isRunning = true;
try
{
//Logger.LogInformation("Executed" + GetType().Name + "..!");
var appServiceHelper = new AppServiceHelper();
//appServiceHelper.Login();
var thirdInterFaceForHostOutDto = appServiceHelper.CallAppService<object, ThirdInterFaceForHostOutDto>("api/app/ThirdInterface/GetList", null);
var thirdInterfaceDto = thirdInterFaceForHostOutDto.Data.Where(o => o.Id == interfaceId).FirstOrDefault();
if (thirdInterfaceDto == null)
{
_isRunning = false;
return;
}
if (thirdInterfaceDto.IsActive != 'Y')
{
_isRunning = false;
return;
}
var parmValue = thirdInterfaceDto.ParmValue;
if (!string.IsNullOrWhiteSpace(parmValue))
{
var configurationBuilder = new ConfigurationBuilder()
.AddJsonStream(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(parmValue)));
var interfaceConfig = configurationBuilder.Build();
var isActive = interfaceConfig.GetSection("Interface").GetSection("Scheduler")
.GetSection("IsActive").Value;
if (isActive != "Y")
{
_isRunning = false;
return;
}
var assemblyName = interfaceConfig.GetSection("Interface").GetSection("AssemblyName").Value;
var className = interfaceConfig.GetSection("Interface").GetSection("ClassName").Value;
var funName = "DoWork";
object[] classConstructorArg = new object[] { thirdInterfaceDto.Id };
ReflectionHelper.Invoke(assemblyName, className, classConstructorArg, funName);
}
}
catch (Exception ex)
{
Logger.LogError("Executed " + GetType().Name + " Error" + ex.Message);
}
_isRunning = false;
return;
}
}
public void DoWork() public void DoWork()
{ {
throw new NotImplementedException(); throw new NotImplementedException();

58
src/Shentun.Peis.HttpApi.Host/Schedulers/ImportLisResultInterfaceWorker.cs

@ -18,7 +18,63 @@ namespace Shentun.Peis.Schedulers
} }
public class ImportLisResultInterfaceWorker : ThirdInterfaceWorkerBase, IImportLisResultInterfaceWorker public class ImportLisResultInterfaceWorker : ThirdInterfaceWorkerBase, IImportLisResultInterfaceWorker
{ {
private static long i;
private static bool _isRunning = false;
private static readonly object lockObject = new object();
public virtual void DoWork(Guid interfaceId)
{
if (_isRunning) return;
lock (lockObject)
{
_isRunning = true;
try
{
//Logger.LogInformation("Executed" + GetType().Name + "..!");
var appServiceHelper = new AppServiceHelper();
//appServiceHelper.Login();
var thirdInterFaceForHostOutDto = appServiceHelper.CallAppService<object, ThirdInterFaceForHostOutDto>("api/app/ThirdInterface/GetList", null);
var thirdInterfaceDto = thirdInterFaceForHostOutDto.Data.Where(o => o.Id == interfaceId).FirstOrDefault();
if (thirdInterfaceDto == null)
{
_isRunning = false;
return;
}
if (thirdInterfaceDto.IsActive != 'Y')
{
_isRunning = false;
return;
}
var parmValue = thirdInterfaceDto.ParmValue;
if (!string.IsNullOrWhiteSpace(parmValue))
{
var configurationBuilder = new ConfigurationBuilder()
.AddJsonStream(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(parmValue)));
var interfaceConfig = configurationBuilder.Build();
var isActive = interfaceConfig.GetSection("Interface").GetSection("Scheduler")
.GetSection("IsActive").Value;
if (isActive != "Y")
{
_isRunning = false;
return;
}
var assemblyName = interfaceConfig.GetSection("Interface").GetSection("AssemblyName").Value;
var className = interfaceConfig.GetSection("Interface").GetSection("ClassName").Value;
var funName = "DoWork";
object[] classConstructorArg = new object[] { thirdInterfaceDto.Id };
ReflectionHelper.Invoke(assemblyName, className, classConstructorArg, funName);
}
}
catch (Exception ex)
{
Logger.LogError("Executed " + GetType().Name + " Error" + ex.Message);
}
_isRunning = false;
return;
}
}
public void DoWork() public void DoWork()
{ {
throw new System.NotImplementedException(); throw new System.NotImplementedException();

60
src/Shentun.Peis.HttpApi.Host/Schedulers/ImportPacsResultInterfaceWorker.cs

@ -17,8 +17,64 @@ namespace Shentun.Peis.Schedulers
} }
public class ImportPacsResultInterfaceWorker : ThirdInterfaceWorkerBase, IImportPacsResultInterfaceWorker public class ImportPacsResultInterfaceWorker : ThirdInterfaceWorkerBase, IImportPacsResultInterfaceWorker
{ {
private static long i;
private static bool _isRunning = false;
private static readonly object lockObject = new object();
public virtual void DoWork(Guid interfaceId)
{
if (_isRunning) return;
lock (lockObject)
{
_isRunning = true;
try
{
//Logger.LogInformation("Executed" + GetType().Name + "..!");
var appServiceHelper = new AppServiceHelper();
//appServiceHelper.Login();
var thirdInterFaceForHostOutDto = appServiceHelper.CallAppService<object, ThirdInterFaceForHostOutDto>("api/app/ThirdInterface/GetList", null);
var thirdInterfaceDto = thirdInterFaceForHostOutDto.Data.Where(o => o.Id == interfaceId).FirstOrDefault();
if (thirdInterfaceDto == null)
{
_isRunning = false;
return;
}
if (thirdInterfaceDto.IsActive != 'Y')
{
_isRunning = false;
return;
}
var parmValue = thirdInterfaceDto.ParmValue;
if (!string.IsNullOrWhiteSpace(parmValue))
{
var configurationBuilder = new ConfigurationBuilder()
.AddJsonStream(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(parmValue)));
var interfaceConfig = configurationBuilder.Build();
var isActive = interfaceConfig.GetSection("Interface").GetSection("Scheduler")
.GetSection("IsActive").Value;
if (isActive != "Y")
{
_isRunning = false;
return;
}
var assemblyName = interfaceConfig.GetSection("Interface").GetSection("AssemblyName").Value;
var className = interfaceConfig.GetSection("Interface").GetSection("ClassName").Value;
var funName = "DoWork";
object[] classConstructorArg = new object[] { thirdInterfaceDto.Id };
ReflectionHelper.Invoke(assemblyName, className, classConstructorArg, funName);
}
}
catch (Exception ex)
{
Logger.LogError("Executed " + GetType().Name + " Error" + ex.Message);
}
_isRunning = false;
return;
}
}
public void DoWork() public void DoWork()
{ {

64
src/Shentun.Peis.HttpApi.Host/Schedulers/ImportPatientRegisterInterfaceWorker.cs

@ -1,4 +1,9 @@
using System;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Shentun.Utilities;
using System;
using System.IO;
using System.Linq;
namespace Shentun.Peis.Schedulers namespace Shentun.Peis.Schedulers
{ {
@ -9,6 +14,63 @@ namespace Shentun.Peis.Schedulers
} }
public class ImportPatientRegisterInterfaceWorker : ThirdInterfaceWorkerBase, IImportPatientRegisterInterfaceWorker public class ImportPatientRegisterInterfaceWorker : ThirdInterfaceWorkerBase, IImportPatientRegisterInterfaceWorker
{ {
private static long i;
private static bool _isRunning = false;
private static readonly object lockObject = new object();
public virtual void DoWork(Guid interfaceId)
{
if (_isRunning) return;
lock (lockObject)
{
_isRunning = true;
try
{
//Logger.LogInformation("Executed" + GetType().Name + "..!");
var appServiceHelper = new AppServiceHelper();
//appServiceHelper.Login();
var thirdInterFaceForHostOutDto = appServiceHelper.CallAppService<object, ThirdInterFaceForHostOutDto>("api/app/ThirdInterface/GetList", null);
var thirdInterfaceDto = thirdInterFaceForHostOutDto.Data.Where(o => o.Id == interfaceId).FirstOrDefault();
if (thirdInterfaceDto == null)
{
_isRunning = false;
return;
}
if (thirdInterfaceDto.IsActive != 'Y')
{
_isRunning = false;
return;
}
var parmValue = thirdInterfaceDto.ParmValue;
if (!string.IsNullOrWhiteSpace(parmValue))
{
var configurationBuilder = new ConfigurationBuilder()
.AddJsonStream(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(parmValue)));
var interfaceConfig = configurationBuilder.Build();
var isActive = interfaceConfig.GetSection("Interface").GetSection("Scheduler")
.GetSection("IsActive").Value;
if (isActive != "Y")
{
_isRunning = false;
return;
}
var assemblyName = interfaceConfig.GetSection("Interface").GetSection("AssemblyName").Value;
var className = interfaceConfig.GetSection("Interface").GetSection("ClassName").Value;
var funName = "DoWork";
object[] classConstructorArg = new object[] { thirdInterfaceDto.Id };
ReflectionHelper.Invoke(assemblyName, className, classConstructorArg, funName);
}
}
catch (Exception ex)
{
Logger.LogError("Executed " + GetType().Name + " Error" + ex.Message);
}
_isRunning = false;
return;
}
}
public void DoWork() public void DoWork()
{ {
throw new NotImplementedException(); throw new NotImplementedException();

58
src/Shentun.Peis.HttpApi.Host/Schedulers/ThirdInterfaceWorkerBase.cs

@ -14,63 +14,7 @@ namespace Shentun.Peis.Schedulers
public class ThirdInterfaceWorkerBase: HangfireBackgroundWorkerBase public class ThirdInterfaceWorkerBase: HangfireBackgroundWorkerBase
{ {
private static long i;
private static bool _isRunning = false;
private static readonly object lockObject = new object();
public virtual void DoWork(Guid interfaceId)
{
if (_isRunning) return;
lock (lockObject)
{
_isRunning = true;
try
{
//Logger.LogInformation("Executed" + GetType().Name + "..!");
var appServiceHelper = new AppServiceHelper();
//appServiceHelper.Login();
var thirdInterFaceForHostOutDto = appServiceHelper.CallAppService<object, ThirdInterFaceForHostOutDto>("api/app/ThirdInterface/GetList", null);
var thirdInterfaceDto = thirdInterFaceForHostOutDto.Data.Where(o => o.Id == interfaceId).FirstOrDefault();
if (thirdInterfaceDto == null)
{
_isRunning = false;
return;
}
if(thirdInterfaceDto.IsActive != 'Y')
{
_isRunning = false;
return;
}
var parmValue = thirdInterfaceDto.ParmValue;
if (!string.IsNullOrWhiteSpace(parmValue))
{
var configurationBuilder = new ConfigurationBuilder()
.AddJsonStream(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(parmValue)));
var interfaceConfig = configurationBuilder.Build();
var isActive = interfaceConfig.GetSection("Interface").GetSection("Scheduler")
.GetSection("IsActive").Value;
if (isActive != "Y")
{
_isRunning = false;
return;
}
var assemblyName = interfaceConfig.GetSection("Interface").GetSection("AssemblyName").Value;
var className = interfaceConfig.GetSection("Interface").GetSection("ClassName").Value;
var funName = "DoWork";
object[] classConstructorArg = new object[] { thirdInterfaceDto.Id };
ReflectionHelper.Invoke(assemblyName, className, classConstructorArg, funName);
}
}
catch (Exception ex)
{
Logger.LogError("Executed " + GetType().Name + " Error" + ex.Message);
}
_isRunning = false;
return;
}
}
public override Task DoWorkAsync(CancellationToken cancellationToken = default) public override Task DoWorkAsync(CancellationToken cancellationToken = default)
{ {

Loading…
Cancel
Save