Browse Source

同步任务修复

master
wxd 1 year ago
parent
commit
a04d0c1bc8
  1. 2
      src/Shentun.ColumnReferencePlugIns/WebAppoints/WebAppointWebPeisPlugIns.cs
  2. 64
      src/Shentun.Peis.Application/TransToWebPeis/TransToWebPeisAppService.cs
  3. 10
      src/Shentun.Peis.HttpApi.Host/Schedulers/SyncPatientRegisterReportInterfaceWorker.cs

2
src/Shentun.ColumnReferencePlugIns/WebAppoints/WebAppointWebPeisPlugIns.cs

@ -144,7 +144,7 @@ namespace Shentun.Peis.PlugIns.WebAppoints
SELECT
id
from patient_register
where summary_date >= @HandDate and
where last_modification_time >= @HandDate and
complete_flag = @CompleteFlag
";
var patientRegisterIds = (await conn.QueryAsync<SyncPatientRegisterIdsDto>(sql,

64
src/Shentun.Peis.Application/TransToWebPeis/TransToWebPeisAppService.cs

@ -329,40 +329,54 @@ namespace Shentun.Peis.TransToWebPeis
IsAutoCloseConnection = true
});
try
{
await WebDb.Ado.BeginTranAsync();
#region 清理基础数据
//删除
await WebDb.Ado.ExecuteCommandAsync("delete from medical_package_detail;");
await WebDb.Ado.ExecuteCommandAsync("delete from medical_package;");
#region 清理基础数据
//删除
await WebDb.Ado.ExecuteCommandAsync("delete from customer_org_group_detail;");
await WebDb.Ado.ExecuteCommandAsync("delete from customer_org_group;");
await WebDb.Ado.ExecuteCommandAsync("delete from customer_org_register;");
await WebDb.Ado.ExecuteCommandAsync("delete from customer_org;");
await WebDb.Ado.ExecuteCommandAsync("delete from medical_package_detail;");
await WebDb.Ado.ExecuteCommandAsync("delete from medical_package;");
await WebDb.Ado.ExecuteCommandAsync("delete from diagnosis;");
await WebDb.Ado.ExecuteCommandAsync("delete from diagnosis_level;");
await WebDb.Ado.ExecuteCommandAsync("delete from customer_org_group_detail;");
await WebDb.Ado.ExecuteCommandAsync("delete from customer_org_group;");
await WebDb.Ado.ExecuteCommandAsync("delete from customer_org_register;");
await WebDb.Ado.ExecuteCommandAsync("delete from customer_org;");
await WebDb.Ado.ExecuteCommandAsync("delete from asbitem_detail;");
await WebDb.Ado.ExecuteCommandAsync("delete from asbitem;");
await WebDb.Ado.ExecuteCommandAsync("delete from diagnosis;");
await WebDb.Ado.ExecuteCommandAsync("delete from diagnosis_level;");
await WebDb.Ado.ExecuteCommandAsync("delete from item;");
await WebDb.Ado.ExecuteCommandAsync("delete from item_type;");
#endregion
await WebDb.Ado.ExecuteCommandAsync("delete from asbitem_detail;");
await WebDb.Ado.ExecuteCommandAsync("delete from asbitem;");
await WebDb.Ado.ExecuteCommandAsync("delete from item");
await TransItemType(WebDb);
await TransItem(WebDb);
await TransAsbitem(WebDb);
await TransMedicalPackage(WebDb);
await TransDiagnosis(WebDb);
await WebDb.Ado.ExecuteCommandAsync("delete from item_type");
#endregion
await TransItemType(WebDb);
await TransItem(WebDb);
await TransAsbitem(WebDb);
await TransMedicalPackage(WebDb);
await TransDiagnosis(WebDb);
await TransCustomerOrgAsync(WebDb);
await TransCustomerOrgRegisterAsync(WebDb);
await TransCustomerOrgGroupAsync(WebDb);
await TransCustomerOrgGroupDetailAsync(WebDb);
await WebDb.Ado.CommitTranAsync();
}
catch (Exception ex)
{
await WebDb.Ado.RollbackTranAsync();
_logger.LogError($"上传基础数据异常:{ex.Message}");
}
await TransCustomerOrgAsync(WebDb);
await TransCustomerOrgRegisterAsync(WebDb);
await TransCustomerOrgGroupAsync(WebDb);
await TransCustomerOrgGroupDetailAsync(WebDb);
}
@ -1497,7 +1511,7 @@ namespace Shentun.Peis.TransToWebPeis
});
}
await uow.CompleteAsync();
await uow.CompleteAsync();
}
}

10
src/Shentun.Peis.HttpApi.Host/Schedulers/SyncPatientRegisterReportInterfaceWorker.cs

@ -67,8 +67,11 @@ namespace Shentun.Peis.Schedulers
var backJobTypeIds = _configuration.GetSection("BackJobTypeId").Value;
//Logger.LogInformation("Executed" + GetType().Name + "..!");
var appServiceHelper = new AppServiceHelper();
appServiceHelper.Login();
var thirdInterfaceDtos = appServiceHelper.CallAppService<object, List<ThirdInterfaceDto>>("api/app/ThirdInterface/GetList", null);
var thirdInterfaceDto = thirdInterfaceDtos.Where(o => o.Id == interfaceId).FirstOrDefault();
if (thirdInterfaceDto == null)
{
@ -88,6 +91,7 @@ namespace Shentun.Peis.Schedulers
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();
@ -101,6 +105,7 @@ namespace Shentun.Peis.Schedulers
}
#region 同步基础数据
appServiceHelper.CallAppService<object, object>("api/app/TransToWebPeis/TransBaseData", null);
@ -112,8 +117,6 @@ namespace Shentun.Peis.Schedulers
var QueryDays = Convert.ToInt32(interfaceConfig.GetSection("Interface").GetSection("Scheduler")
.GetSection("QueryDays").Value);
//获取报告地址
var reportApiBaseAddress = interfaceConfig.GetSection("Interface").GetSection("ReportApiBaseAddress").Value;
var reportApiUrl = interfaceConfig.GetSection("Interface").GetSection("ReportApiUrl").Value;
@ -130,6 +133,7 @@ namespace Shentun.Peis.Schedulers
var funName = "GetSyncPatientRegisterIds";
object[] classConstructorArg = new object[] { thirdInterfaceDto.Id };
object[] objects = [input];
var pluginsOut = ReflectionHelper.InvokeAsync<List<SyncPatientRegisterIdsDto>>(assemblyName, className, classConstructorArg, funName, objects).Result;
#region 同步备单数据
@ -140,7 +144,7 @@ namespace Shentun.Peis.Schedulers
if (preRegistrationPluginsOut.Any())
{
foreach (var item in pluginsOut)
foreach (var item in preRegistrationPluginsOut)
{
PatientRegisterIdInputDto patientRegisterIdDto = new PatientRegisterIdInputDto

Loading…
Cancel
Save