Browse Source

青藏公司

bjmzak
DESKTOP-G961P6V\Zhh 2 years ago
parent
commit
846d5e1994
  1. 433
      ThirdPlugIns/Shentun.Peis.PlugIns.Gem/ImportPatientRegisterPlugInsGem.cs
  2. 2
      ThirdPlugIns/Shentun.Peis.PlugIns.Gem/test/Shentun.Peis.PlugIns.Gem.Test/ImportPacsResultPlugInsGemTest.cs
  3. 5
      ThirdPlugIns/Shentun.Peis.PlugIns.Gem/test/Shentun.Peis.PlugIns.Gem.Test/appsettings.json
  4. 3
      src/Shentun.Peis.Domain.Shared/Enums/ThirdInterfaceTypeFlag.cs
  5. 3
      src/Shentun.Peis.Domain/ThirdInterfaces/ThirdInterfaceManager.cs
  6. 4
      src/Shentun.Peis.HttpApi.Host/PeisHttpApiHostModule.cs
  7. 5
      src/Shentun.Peis.HttpApi.Host/Schedulers/ImportPacsResultInterfaceWorker.cs
  8. 17
      src/Shentun.Peis.HttpApi.Host/Schedulers/ImportPatientRegisterInterfaceWorker.cs

433
ThirdPlugIns/Shentun.Peis.PlugIns.Gem/ImportPatientRegisterPlugInsGem.cs

@ -34,269 +34,263 @@ namespace Shentun.Peis.PlugIns.Gem
private CustomerOrgRegisterDto _customerOrgRegisterDto;
private List<PersonnelTypeDto> _personnelTypes;
private List<CustomerOrgGroupDto> _customerOrgGroupDtos;
private string _answerWebApiUrl;
public ImportPatientRegisterPlugInsGem(string parmValue) : base(parmValue)
{
}
public override async Task ImportAsync()
{
await LoginAsync();
await InitAsync();
for (var i = 0; i < 30; i++)
var qztlPatientRegisterFromInterface = await CallInterfaceServiceAsync();
if (qztlPatientRegisterFromInterface == null || !qztlPatientRegisterFromInterface.plans.Any())
{
var qztlPatientRegisterFromInterface = await CallInterfaceServiceAsync();
if (qztlPatientRegisterFromInterface == null || !qztlPatientRegisterFromInterface.plans.Any())
{
return;
}
return;
}
//设置导入人员信息
foreach (var patient in qztlPatientRegisterFromInterface.plans)
//设置导入人员信息
foreach (var patient in qztlPatientRegisterFromInterface.plans)
{
try
{
try
//婚姻状况
var maritalStatusId = ConvertMaritalStatus(patient.wedding);
//人员类别
var personnelType = ConvertPersonnelType(patient.tjJieduan);
//性别
var sexId = ConvertSex(patient.sex);
//体检类别
var medicalTypeName = patient.tjpcV;
MedicalTypeDto medicalTypeDto = null;
if (!string.IsNullOrWhiteSpace(medicalTypeName))
{
//婚姻状况
var maritalStatusId = ConvertMaritalStatus(patient.wedding);
//人员类别
var personnelType = ConvertPersonnelType(patient.tjJieduan);
//性别
var sexId = ConvertSex(patient.sex);
//体检类别
var medicalTypeName = patient.tjpcV;
MedicalTypeDto medicalTypeDto = null;
if (!string.IsNullOrWhiteSpace(medicalTypeName))
medicalTypeDto = await CallAppServiceAsync<DisplayNameInputDto, MedicalTypeDto>(
"api/app/MedicalType/GetByDisplayName", new DisplayNameInputDto() { DisplayName = medicalTypeName });
if (medicalTypeDto == null)
{
medicalTypeDto = await CallAppServiceAsync<DisplayNameInputDto, MedicalTypeDto>(
"api/app/MedicalType/GetByDisplayName", new DisplayNameInputDto() { DisplayName = medicalTypeName });
if (medicalTypeDto == null)
var createMedicalTypeDto = new CreateMedicalTypeDto()
{
var createMedicalTypeDto = new CreateMedicalTypeDto()
{
DisplayName = medicalTypeName,
};
medicalTypeDto = await CallAppServiceAsync<CreateMedicalTypeDto, MedicalTypeDto>(
"api/app/medical-type", new CreateMedicalTypeDto() { DisplayName = medicalTypeName });
}
}
//职称
var jobTitle = ConvertJobTitle(patient.gradeZwV);
//职务
var jobPost = ConvertJobPost(patient.tjTab1);
string workTypeV = patient.workTypeV;
if (string.IsNullOrWhiteSpace(workTypeV))
{
workTypeV = "";
}
else
{
workTypeV = "," + workTypeV;
}
jobPost = jobPost + workTypeV;
if (!string.IsNullOrWhiteSpace(jobPost) && jobPost.Length >= 10)
{
jobPost = jobPost.Substring(0, 10);//只能存储10个汉字
DisplayName = medicalTypeName,
};
medicalTypeDto = await CallAppServiceAsync<CreateMedicalTypeDto, MedicalTypeDto>(
"api/app/medical-type", new CreateMedicalTypeDto() { DisplayName = medicalTypeName });
}
}
//职称
var jobTitle = ConvertJobTitle(patient.gradeZwV);
//职务
var jobPost = ConvertJobPost(patient.tjTab1);
string workTypeV = patient.workTypeV;
if (string.IsNullOrWhiteSpace(workTypeV))
{
workTypeV = "";
}
else
{
workTypeV = "," + workTypeV;
}
jobPost = jobPost + workTypeV;
if (!string.IsNullOrWhiteSpace(jobPost) && jobPost.Length >= 10)
{
jobPost = jobPost.Substring(0, 10);//只能存储10个汉字
}
//查找子单位是否存在,如存在获取子单位id,如果不存在这创建子单位
var orgName = patient.orgName;
var pos = orgName.IndexOf("_");
orgName = orgName.Substring(0, pos);
if (string.IsNullOrWhiteSpace(patient.mobile))
{
//青海省第五人民医院要强行设置为 11111111111
}
var customerOrgDtos = await CallAppServiceAsync<CustomerOrgIdInputDto, List<CustomerOrgDto>>(
"api/app/CustomerOrg/GetChildCustomerOrgsById",
new CustomerOrgIdInputDto() { CustomerOrgId = _importCustomerOrgId });
CustomerOrgDto customerOrgDto = null;
if (customerOrgDtos != null && customerOrgDtos.Any())
//查找子单位是否存在,如存在获取子单位id,如果不存在这创建子单位
var orgName = patient.orgName;
var pos = orgName.IndexOf("_");
orgName = orgName.Substring(0, pos);
if (string.IsNullOrWhiteSpace(patient.mobile))
{
//青海省第五人民医院要强行设置为 11111111111
}
var customerOrgDtos = await CallAppServiceAsync<CustomerOrgIdInputDto, List<CustomerOrgDto>>(
"api/app/CustomerOrg/GetChildCustomerOrgsById",
new CustomerOrgIdInputDto() { CustomerOrgId = _importCustomerOrgId });
CustomerOrgDto customerOrgDto = null;
if (customerOrgDtos != null && customerOrgDtos.Any())
{
customerOrgDto = customerOrgDtos.Where(o => o.DisplayName == orgName).FirstOrDefault();
}
if (customerOrgDto == null)
{
customerOrgDto = await CallAppServiceAsync<CreateCustomerOrgDto, CustomerOrgDto>(
"api/app/customerorg/create", new CreateCustomerOrgDto()
{
MedicalCenterId = _customerOrgDto.MedicalCenterId,
ParentId = _importCustomerOrgId,
DisplayName = orgName,
ShortName = orgName,
IsActive = 'Y',
IsLock = 'Y'
});
}
CustomerOrgGroupDto customerOrgGroupDto;
if (patient.ifFj == 1)
{
//复检
//加载单位分组信息
_customerOrgGroupDtos = await CallAppServiceAsync<Guid, List<CustomerOrgGroupDto>>(
"api/app/customer-org-group/in-customer-org-id/" + _importCustomerOrgId.ToString()
, Guid.Empty, "get");
customerOrgGroupDto = _customerOrgGroupDtos.Where(o => o.DisplayName == "复检").FirstOrDefault();
if (customerOrgGroupDto == null)
{
customerOrgDto = customerOrgDtos.Where(o => o.DisplayName == orgName).FirstOrDefault();
throw new Exception("没有复检这个分组");
}
if (customerOrgDto == null)
}
else
{
List<string> groupNames = new List<string>();
if (patient.ifGy == 1)
{
customerOrgDto = await CallAppServiceAsync<CreateCustomerOrgDto, CustomerOrgDto>(
"api/app/customerorg/create", new CreateCustomerOrgDto()
{
MedicalCenterId = _customerOrgDto.MedicalCenterId,
ParentId = _importCustomerOrgId,
DisplayName = orgName,
ShortName = orgName,
IsActive = 'Y',
IsLock = 'Y'
});
groupNames.Add("高原");
}
CustomerOrgGroupDto customerOrgGroupDto;
if (patient.ifFj == 1)
else if (patient.ifJk == 1)
{
//复检
//加载单位分组信息
_customerOrgGroupDtos = await CallAppServiceAsync<Guid, List<CustomerOrgGroupDto>>(
"api/app/customer-org-group/in-customer-org-id/" + _importCustomerOrgId.ToString()
, Guid.Empty, "get");
customerOrgGroupDto = _customerOrgGroupDtos.Where(o => o.DisplayName == "复检").FirstOrDefault();
if (customerOrgGroupDto == null)
{
throw new Exception("没有复检这个分组");
}
groupNames.Add("健康");
}
else
{
List<string> groupNames = new List<string>();
if (patient.ifGy == 1)
{
groupNames.Add("高原");
}
else if (patient.ifJk == 1)
{
groupNames.Add("健康");
}
else
{
throw new Exception("分组名称必须是高原或健康体检二选一");
}
if (patient.ifGt == 1)
{
groupNames.Add("高铁");
}
if (patient.ifWh == 1)
{
groupNames.Add("职害");
}
if (patient.ifCw == 1)
{
groupNames.Add("普速");
}
if (patient.ifMain == 1)
{
groupNames.Add("行车");
}
if (patient.ifCy == 1)
{
groupNames.Add("从业");
}
customerOrgGroupDto = await GetCustomerOrgGroup(groupNames, sexId, maritalStatusId);
}
//获取病人ID
var patientRegister = new CreatePatientRegisterDto()
{
MedicalCenterId = _customerOrgDto.MedicalCenterId,
//PatientRegisterId = null,
//PatientId = null,
IsMaxMedicalTimes = 'Y',
CompleteFlag = '0',
CustomerOrgId = customerOrgDto.Id,
CustomerOrgRegisterId = _customerOrgRegisterDto.Id,
CustomerOrgGroupId = customerOrgGroupDto.Id,
PatientName = patient.personName,
SexId = sexId,
Age = patient.age,
MaritalStatusId = maritalStatusId,
MobileTelephone = patient.mobile,
Planuserid = patient.id.ToString(),
IdNo = patient.cardId,
//PersonnelTypeId = personnelType.Id,
JobTitle = jobTitle,
Remark = patient.remark,
JobPost = jobPost,
Remark2 = patient.tjOpinion,
Remark3 = patient.fjOpinion,
QztlIsFj = patient.ifFj == 1 ? 'Y' : 'N',
QztlIsGt = patient.ifGt == 1 ? 'Y' : 'N',
QztlIsWh = patient.ifWh == 1 ? 'Y' : 'N',
QztlIsCw = patient.ifCw == 1 ? 'Y' : 'N',
QztlIsMain = patient.ifMain == 1 ? 'Y' : 'N',
QztlIsCy = patient.ifCy == 1 ? 'Y' : 'N',
IsQztlImport = 'Y'
};
if (!string.IsNullOrWhiteSpace(patient.cardId))
{
var patientInfo = await CallAppServiceAsync<IdNoInputDto, PatientDto>(
"api/app/patient/GetByIdNo",
new IdNoInputDto()
{
IdNo = patient.cardId
});
if (patientInfo != null)
{
patientRegister.PatientId = patientInfo.Id;
}
}
if (medicalTypeDto != null)
{
patientRegister.MedicalTypeId = medicalTypeDto.Id;
throw new Exception("分组名称必须是高原或健康体检二选一");
}
if (personnelType != null)
if (patient.ifGt == 1)
{
patientRegister.PersonnelTypeId = personnelType.Id;
groupNames.Add("高铁");
}
if (patient.ifGy == 1)
if (patient.ifWh == 1)
{
patientRegister.QztlType = '0';
groupNames.Add("职害");
}
else if (patient.ifJk == 1) { }
if (patient.ifCw == 1)
{
patientRegister.QztlType = '1';
groupNames.Add("普速");
}
patientRegister.RegisterCheckAsbitems = new List<CreatePatientRegisterRegisterCheckAsbitem>();
//获取分组信息
var customerOrgGroupDetailOrAsbitemDtos = await CallAppServiceAsync<Guid, List<CustomerOrgGroupDetailOrAsbitemDto>>(
"api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=" + customerOrgGroupDto.Id.ToString()
, Guid.Empty, "get");
if (!customerOrgGroupDetailOrAsbitemDtos.Any())
if (patient.ifMain == 1)
{
throw new Exception("分组未包含项目");
groupNames.Add("行车");
}
foreach (var asbitem in customerOrgGroupDetailOrAsbitemDtos)
if (patient.ifCy == 1)
{
patientRegister.RegisterCheckAsbitems.Add(new CreatePatientRegisterRegisterCheckAsbitem()
{
AsbitemId = asbitem.AsbitemId,
StandardPrice = asbitem.Price,
ChargePrice = asbitem.CustomerOrgGroupDetailPrice,
PayTypeFlag = '1',
IsCharge = 'N',
Amount = asbitem.CustomerOrgGroupDetailAmount
});
groupNames.Add("从业");
}
await CallAppServiceAsync<CreatePatientRegisterDto, object>(
"api/PatientRegister/CreatePatientRegister",
patientRegister);
var succesIds = new List<string>();
var deleteIds = new List<string>();
succesIds.Add(patientRegister.Planuserid);
await NoteOk(succesIds, deleteIds);
customerOrgGroupDto = await GetCustomerOrgGroup(groupNames, sexId, maritalStatusId);
}
//获取病人ID
catch (Exception ex)
var patientRegister = new CreatePatientRegisterDto()
{
if (ex.Message.Contains("人员信息姓名和性别和原来的信息都不一致") ||
ex.Message.Contains("身份证号解析出的性别与填入的性别不一致"))
MedicalCenterId = _customerOrgDto.MedicalCenterId,
//PatientRegisterId = null,
//PatientId = null,
IsMaxMedicalTimes = 'Y',
CompleteFlag = '0',
CustomerOrgId = customerOrgDto.Id,
CustomerOrgRegisterId = _customerOrgRegisterDto.Id,
CustomerOrgGroupId = customerOrgGroupDto.Id,
PatientName = patient.personName,
SexId = sexId,
Age = patient.age,
MaritalStatusId = maritalStatusId,
MobileTelephone = patient.mobile,
Planuserid = patient.id.ToString(),
IdNo = patient.cardId,
//PersonnelTypeId = personnelType.Id,
JobTitle = jobTitle,
Remark = patient.remark,
JobPost = jobPost,
Remark2 = patient.tjOpinion,
Remark3 = patient.fjOpinion,
QztlIsFj = patient.ifFj == 1 ? 'Y' : 'N',
QztlIsGt = patient.ifGt == 1 ? 'Y' : 'N',
QztlIsWh = patient.ifWh == 1 ? 'Y' : 'N',
QztlIsCw = patient.ifCw == 1 ? 'Y' : 'N',
QztlIsMain = patient.ifMain == 1 ? 'Y' : 'N',
QztlIsCy = patient.ifCy == 1 ? 'Y' : 'N',
IsQztlImport = 'Y'
};
if (!string.IsNullOrWhiteSpace(patient.cardId))
{
var patientInfo = await CallAppServiceAsync<IdNoInputDto, PatientDto>(
"api/app/patient/GetByIdNo",
new IdNoInputDto()
{
IdNo = patient.cardId
});
if (patientInfo != null)
{
continue;
patientRegister.PatientId = patientInfo.Id;
}
else
}
if (medicalTypeDto != null)
{
patientRegister.MedicalTypeId = medicalTypeDto.Id;
}
if (personnelType != null)
{
patientRegister.PersonnelTypeId = personnelType.Id;
}
if (patient.ifGy == 1)
{
patientRegister.QztlType = '0';
}
else if (patient.ifJk == 1) { }
{
patientRegister.QztlType = '1';
}
patientRegister.RegisterCheckAsbitems = new List<CreatePatientRegisterRegisterCheckAsbitem>();
//获取分组信息
var customerOrgGroupDetailOrAsbitemDtos = await CallAppServiceAsync<Guid, List<CustomerOrgGroupDetailOrAsbitemDto>>(
"api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=" + customerOrgGroupDto.Id.ToString()
, Guid.Empty, "get");
if (!customerOrgGroupDetailOrAsbitemDtos.Any())
{
throw new Exception("分组未包含项目");
}
foreach (var asbitem in customerOrgGroupDetailOrAsbitemDtos)
{
patientRegister.RegisterCheckAsbitems.Add(new CreatePatientRegisterRegisterCheckAsbitem()
{
throw ex;
}
AsbitemId = asbitem.AsbitemId,
StandardPrice = asbitem.Price,
ChargePrice = asbitem.CustomerOrgGroupDetailPrice,
PayTypeFlag = '1',
IsCharge = 'N',
Amount = asbitem.CustomerOrgGroupDetailAmount
});
}
await CallAppServiceAsync<CreatePatientRegisterDto, object>(
"api/PatientRegister/CreatePatientRegister",
patientRegister);
var succesIds = new List<string>();
var deleteIds = new List<string>();
succesIds.Add(patientRegister.Planuserid);
await AnswerOk(succesIds, deleteIds);
}
catch (Exception ex)
{
if (ex.Message.Contains("人员信息姓名和性别和原来的信息都不一致") ||
ex.Message.Contains("身份证号解析出的性别与填入的性别不一致"))
{
continue;
}
else
{
throw ex;
}
}
}
}
public async Task InitAsync()
@ -304,6 +298,7 @@ namespace Shentun.Peis.PlugIns.Gem
var customerOrgIdStr = InterfaceConfig.GetSection("Interface").GetSection("单位编号").Value;
_hospitalId = InterfaceConfig.GetSection("Interface").GetSection("HospitalId").Value;
_aesKEY = InterfaceConfig.GetSection("Interface").GetSection("aesKEY").Value;
_answerWebApiUrl = InterfaceConfig.GetSection("Interface").GetSection("AnswerWebApiUrl").Value;
if (string.IsNullOrWhiteSpace(customerOrgIdStr))
{
return;
@ -401,13 +396,13 @@ namespace Shentun.Peis.PlugIns.Gem
result = await response.Content.ReadAsStringAsync();
result = result.Replace(":\"[{", ":[{").Replace("}]\"", "}]").Replace("\\", "");
if(result.IndexOf("status") < 0)
if (result.IndexOf("status") < 0)
{
throw new Exception($"调用WebApi中无status,返回值:" + result);
}
QztlPatientRegisterFromInterface? resultDto = JsonConvert.DeserializeObject<QztlPatientRegisterFromInterface>(result);
if (resultDto != null)
{
{
if (resultDto.status != 0)
{
throw new Exception($"调用WebApi失败,返回错误,消息:" + resultDto.status + resultDto.errorMsg);
@ -655,7 +650,7 @@ namespace Shentun.Peis.PlugIns.Gem
}
public async Task NoteOk(List<string> successIds, List<string> deleteIds)
public async Task AnswerOk(List<string> successIds, List<string> deleteIds)
{
if (successIds == null || deleteIds == null)
{
@ -690,7 +685,7 @@ namespace Shentun.Peis.PlugIns.Gem
deleteIdStr += "," + deleteIds[i];
}
}
string baseAddress = "http://62.156.10.237:8005/health/values/SetPlanOK?";
string baseAddress = _answerWebApiUrl;// "http://62.156.10.237:8005/health/values/SetPlanOK?";
string ary = "HospitalId=" + _hospitalId + (Char)38 +
"ids=" + successIdStr + (Char)38 + "delids=" + deleteIdStr + (Char)38 + "AesKey=" + _aesKEY;
baseAddress = baseAddress + ary;

2
ThirdPlugIns/Shentun.Peis.PlugIns.Gem/test/Shentun.Peis.PlugIns.Gem.Test/ImportPacsResultPlugInsGemTest.cs

@ -28,7 +28,7 @@ namespace Shentun.Peis.PlugIns.Gem.Test
var item = await input.ImportResultAsync(
new ImportPacsResultPlugInsInput()
{
PatientRegisterId = new Guid("3a1277ab-376c-fbdb-4419-92bbb4594607")
PatientRegisterId = new Guid("3a128200-3d63-95cd-f870-635df8e999f2")
});

5
ThirdPlugIns/Shentun.Peis.PlugIns.Gem/test/Shentun.Peis.PlugIns.Gem.Test/appsettings.json

@ -22,9 +22,10 @@
"Sql": "select ZHID as Code ,ZHMC as DisplayName from PORTAL56_LIS.vi_tj_testitemgroup",
"ColumnNames": "编码,名称",
"EndpointAddress": "http://10.1.12.140:8082/gemse-tj/services/bstj.bstjHttpSoap11Endpoint",
//"WebApiUrl": "http://10.1.13.18:8380/ris/findReportList",
"WebApiUrl": "http://10.1.13.18:8380/ris/findReportList",
"AnswerWebApiUrl": "http://62.156.10.237:8005/health/values/SetPlanOK?",
"单位编号": "3a126b36-831f-aa9f-ddfe-a82f660fc485",
"WebApiUrl": "http://62.156.10.237:8005/health/values/GetPlan?",
//"WebApiUrl": "http://62.156.10.237:8005/health/values/GetPlan?",
"aesKEY": "Vwso4P4vBkKw0AODd1LwqgL6vIW8np8m",
"HospitalId": "3",
"Scheduler": {

3
src/Shentun.Peis.Domain.Shared/Enums/ThirdInterfaceTypeFlag.cs

@ -20,5 +20,8 @@ namespace Shentun.Peis.Enums
[Description("Pacs结果导入")]
public const string ImportPacsResult = "04";
[Description("人员登记信息结果导入")]
public const string ImportPatientRegister = "05";
}
}

3
src/Shentun.Peis.Domain/ThirdInterfaces/ThirdInterfaceManager.cs

@ -121,7 +121,8 @@ namespace Shentun.Peis.ThirdInterfaces
if (entity.ThirdInterfaceType != ThirdInterfaceTypeFlag.LisRequest
&& entity.ThirdInterfaceType != ThirdInterfaceTypeFlag.ChargeRequest
&& entity.ThirdInterfaceType != ThirdInterfaceTypeFlag.ImportLisResult
&& entity.ThirdInterfaceType != ThirdInterfaceTypeFlag.ImportPacsResult)
&& entity.ThirdInterfaceType != ThirdInterfaceTypeFlag.ImportPacsResult
&& entity.ThirdInterfaceType != ThirdInterfaceTypeFlag.ImportPatientRegister)
{
throw new ArgumentException($"接口类型参数为:{entity.ThirdInterfaceType},是无效值");
}

4
src/Shentun.Peis.HttpApi.Host/PeisHttpApiHostModule.cs

@ -619,6 +619,10 @@ public class PeisHttpApiHostModule : AbpModule
{
RecurringJob.AddOrUpdate<IImportPacsResultInterfaceWorker>("导入Pacs结果接口", o => o.DoWork(thirdInterfaceDto.Id), corn, TimeZoneInfo.Local);
}
else if (thirdInterfaceDto.ThirdInterfaceType == "05")
{
RecurringJob.AddOrUpdate<IImportPatientRegisterInterfaceWorker>("导入人员登记信息结果接口", o => o.DoWork(thirdInterfaceDto.Id), corn, TimeZoneInfo.Local);
}
}
}

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

@ -17,10 +17,7 @@ namespace Shentun.Peis.Schedulers
}
public class ImportPacsResultInterfaceWorker : ThirdInterfaceWorkerBase, IImportPacsResultInterfaceWorker
{
private string isActive = "N";
private static long i;
private static bool _isRunning = false;
private static readonly object lockObject = new object();
public void DoWork()

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

@ -0,0 +1,17 @@
using System;
namespace Shentun.Peis.Schedulers
{
public interface IImportPatientRegisterInterfaceWorker
{
public void DoWork(Guid interfaceId);
public void DoWork();
}
public class ImportPatientRegisterInterfaceWorker : ThirdInterfaceWorkerBase, IImportPatientRegisterInterfaceWorker
{
public void DoWork()
{
throw new NotImplementedException();
}
}
}
Loading…
Cancel
Save