Browse Source

导入艾迪康

master
wxd 1 month ago
parent
commit
4af07c17b6
  1. 217
      ThirdPlugIns/Shentun.Peis.PlugIns.Gem/Connected Services/ServiceReferenceAiDiKangLisResult/ConnectedService.json
  2. 2756
      ThirdPlugIns/Shentun.Peis.PlugIns.Gem/Connected Services/ServiceReferenceAiDiKangLisResult/Reference.cs
  3. 327
      ThirdPlugIns/Shentun.Peis.PlugIns.Gem/ImportLisResults/AiDiKang/ImportLisResultPlugInsAiDiKang.cs
  4. 4
      ThirdPlugIns/Shentun.Peis.PlugIns.Gem/ImportLisResults/Dian/ImportLisResultPlugInsDian.cs
  5. 2
      src/Shentun.Peis.Application.Contracts/ThirdPartyPublicInterfaces/GetIsOutsendAsbitemByLisBarCodeInputDto.cs
  6. 3
      src/Shentun.Peis.Application/ImportLisResults/ImportLisResultAppService.cs
  7. 58
      src/Shentun.Peis.Application/ThirdPartyPublicInterfaces/ThirdPartyPublicInterfaceAppService.cs

217
ThirdPlugIns/Shentun.Peis.PlugIns.Gem/Connected Services/ServiceReferenceAiDiKangLisResult/ConnectedService.json

@ -0,0 +1,217 @@
{
"ExtendedData": {
"inputs": [
"http://27.185.46.62:8081/ADReportWebService.asmx"
],
"collectionTypes": [
"System.Collections.Generic.Dictionary`2",
"System.Collections.Generic.List`1"
],
"enableDataBinding": true,
"namespaceMappings": [
"*, ServiceReferenceAiDiKangLisResult"
],
"references": [
"Azure.Core, {Azure.Core, 1.38.0}",
"Azure.Identity, {Azure.Identity, 1.11.3}",
"BouncyCastle.Crypto, {Portable.BouncyCastle, 1.8.9}",
"Castle.Core, {Castle.Core, 5.0.0}",
"Castle.Core.AsyncInterceptor, {Castle.Core.AsyncInterceptor, 2.1.0}",
"D:\\wxd\\Peis\\aspnet-core\\ThirdPlugIns\\Shentun.Peis.PlugIns.Gem\\bin\\Debug\\net6.0\\Shentun.Peis.Application.Contracts.dll",
"D:\\wxd\\Peis\\aspnet-core\\ThirdPlugIns\\Shentun.Peis.PlugIns.Gem\\bin\\Debug\\net6.0\\Shentun.Peis.Domain.Shared.dll",
"D:\\wxd\\Peis\\aspnet-core\\ThirdPlugIns\\Shentun.Peis.PlugIns.Gem\\bin\\Debug\\net6.0\\Shentun.Peis.HttpApi.Client.dll",
"D:\\wxd\\Peis\\aspnet-core\\ThirdPlugIns\\Shentun.Peis.PlugIns.Gem\\bin\\Debug\\net6.0\\Shentun.Peis.PlugIns.dll",
"D:\\wxd\\Peis\\aspnet-core\\ThirdPlugIns\\Shentun.Peis.PlugIns.Gem\\bin\\Debug\\net6.0\\Shentun.Utilities.dll",
"Dapper, {Dapper, 2.1.35}",
"ICSharpCode.SharpZipLib, {SharpZipLib, 1.3.3}",
"JetBrains.Annotations, {JetBrains.Annotations, 2022.1.0}",
"log4net, {log4net, 2.0.15}",
"Microsoft.AspNetCore.Authorization, {Microsoft.AspNetCore.Authorization, 6.0.5}",
"Microsoft.AspNetCore.Http.Abstractions, {Microsoft.AspNetCore.Http.Abstractions, 2.2.0}",
"Microsoft.AspNetCore.Http.Features, {Microsoft.AspNetCore.Http.Features, 6.0.0-preview.4.21253.5}",
"Microsoft.AspNetCore.Metadata, {Microsoft.AspNetCore.Metadata, 6.0.5}",
"Microsoft.Bcl.AsyncInterfaces, {Microsoft.Bcl.AsyncInterfaces, 6.0.0}",
"Microsoft.Data.SqlClient, {Microsoft.Data.SqlClient, 5.2.1}",
"Microsoft.Extensions.Caching.Abstractions, {Microsoft.Extensions.Caching.Abstractions, 6.0.0}",
"Microsoft.Extensions.Caching.Memory, {Microsoft.Extensions.Caching.Memory, 6.0.1}",
"Microsoft.Extensions.Configuration, {Microsoft.Extensions.Configuration, 6.0.0}",
"Microsoft.Extensions.Configuration.Abstractions, {Microsoft.Extensions.Configuration.Abstractions, 6.0.0}",
"Microsoft.Extensions.Configuration.Binder, {Microsoft.Extensions.Configuration.Binder, 6.0.0}",
"Microsoft.Extensions.Configuration.CommandLine, {Microsoft.Extensions.Configuration.CommandLine, 6.0.0}",
"Microsoft.Extensions.Configuration.EnvironmentVariables, {Microsoft.Extensions.Configuration.EnvironmentVariables, 6.0.1}",
"Microsoft.Extensions.Configuration.FileExtensions, {Microsoft.Extensions.Configuration.FileExtensions, 6.0.0}",
"Microsoft.Extensions.Configuration.Json, {Microsoft.Extensions.Configuration.Json, 6.0.0}",
"Microsoft.Extensions.Configuration.UserSecrets, {Microsoft.Extensions.Configuration.UserSecrets, 6.0.1}",
"Microsoft.Extensions.DependencyInjection, {Microsoft.Extensions.DependencyInjection, 6.0.0}",
"Microsoft.Extensions.DependencyInjection.Abstractions, {Microsoft.Extensions.DependencyInjection.Abstractions, 6.0.0}",
"Microsoft.Extensions.FileProviders.Abstractions, {Microsoft.Extensions.FileProviders.Abstractions, 6.0.0}",
"Microsoft.Extensions.FileProviders.Composite, {Microsoft.Extensions.FileProviders.Composite, 6.0.0}",
"Microsoft.Extensions.FileProviders.Embedded, {Microsoft.Extensions.FileProviders.Embedded, 6.0.5}",
"Microsoft.Extensions.FileProviders.Physical, {Microsoft.Extensions.FileProviders.Physical, 6.0.0}",
"Microsoft.Extensions.FileSystemGlobbing, {Microsoft.Extensions.FileSystemGlobbing, 6.0.0}",
"Microsoft.Extensions.Hosting.Abstractions, {Microsoft.Extensions.Hosting.Abstractions, 6.0.0}",
"Microsoft.Extensions.Http, {Microsoft.Extensions.Http, 6.0.0}",
"Microsoft.Extensions.Localization, {Microsoft.Extensions.Localization, 6.0.5}",
"Microsoft.Extensions.Localization.Abstractions, {Microsoft.Extensions.Localization.Abstractions, 6.0.5}",
"Microsoft.Extensions.Logging, {Microsoft.Extensions.Logging, 6.0.0}",
"Microsoft.Extensions.Logging.Abstractions, {Microsoft.Extensions.Logging.Abstractions, 6.0.2}",
"Microsoft.Extensions.Logging.Log4Net.AspNetCore, {Microsoft.Extensions.Logging.Log4Net.AspNetCore, 3.1.5}",
"Microsoft.Extensions.ObjectPool, {Microsoft.Extensions.ObjectPool, 6.0.16}",
"Microsoft.Extensions.Options, {Microsoft.Extensions.Options, 6.0.0}",
"Microsoft.Extensions.Options.ConfigurationExtensions, {Microsoft.Extensions.Options.ConfigurationExtensions, 6.0.0}",
"Microsoft.Extensions.Primitives, {Microsoft.Extensions.Primitives, 6.0.0}",
"Microsoft.Identity.Client, {Microsoft.Identity.Client, 4.60.3}",
"Microsoft.Identity.Client.Extensions.Msal, {Microsoft.Identity.Client.Extensions.Msal, 4.60.3}",
"Microsoft.IdentityModel.Abstractions, {Microsoft.IdentityModel.Abstractions, 6.35.0}",
"Microsoft.IdentityModel.JsonWebTokens, {Microsoft.IdentityModel.JsonWebTokens, 6.35.0}",
"Microsoft.IdentityModel.Logging, {Microsoft.IdentityModel.Logging, 6.35.0}",
"Microsoft.IdentityModel.Protocols, {Microsoft.IdentityModel.Protocols, 6.35.0}",
"Microsoft.IdentityModel.Protocols.OpenIdConnect, {Microsoft.IdentityModel.Protocols.OpenIdConnect, 6.35.0}",
"Microsoft.IdentityModel.Protocols.WsTrust, {Microsoft.IdentityModel.Protocols.WsTrust, 6.8.0}",
"Microsoft.IdentityModel.Tokens, {Microsoft.IdentityModel.Tokens, 6.35.0}",
"Microsoft.IdentityModel.Tokens.Saml, {Microsoft.IdentityModel.Tokens.Saml, 6.8.0}",
"Microsoft.IdentityModel.Xml, {Microsoft.IdentityModel.Xml, 6.8.0}",
"Microsoft.SqlServer.Server, {Microsoft.SqlServer.Server, 1.0.0}",
"Microsoft.Win32.SystemEvents, {Microsoft.Win32.SystemEvents, 8.0.0}",
"Newtonsoft.Json, {Newtonsoft.Json, 13.0.1}",
"Nito.AsyncEx.Context, {Nito.AsyncEx.Context, 5.1.2}",
"Nito.AsyncEx.Coordination, {Nito.AsyncEx.Coordination, 5.1.2}",
"Nito.AsyncEx.Tasks, {Nito.AsyncEx.Tasks, 5.1.2}",
"Nito.Collections.Deque, {Nito.Collections.Deque, 1.1.1}",
"Nito.Disposables, {Nito.Disposables, 2.2.1}",
"Npgsql, {Npgsql, 6.0.2}",
"NPinyin.Core, {NPinyin.Core, 3.0.0}",
"NPOI, {NPOI, 2.5.6}",
"NPOI.OOXML, {NPOI, 2.5.6}",
"NPOI.OpenXml4Net, {NPOI, 2.5.6}",
"NPOI.OpenXmlFormats, {NPOI, 2.5.6}",
"NUglify, {NUglify, 1.20.0}",
"OnceMi.AspNetCore.IdGenerator, {OnceMi.AspNetCore.IdGenerator, 1.0.6}",
"OpenIddict.Abstractions, {OpenIddict.Abstractions, 3.1.1}",
"Oracle.ManagedDataAccess, {Oracle.ManagedDataAccess.Core, 3.21.140}",
"PdfiumViewer, {PdfiumViewer, 2.13.0}",
"PinYinConverterCore, {PinYinConverterCore, 1.0.2}",
"Spire.Pdf, {FreeSpire.PDF, 8.6.0}",
"System.ClientModel, {System.ClientModel, 1.0.0}",
"System.Collections, {System.Collections, 4.3.0}",
"System.Collections.Immutable, {System.Collections.Immutable, 6.0.0}",
"System.Collections.NonGeneric, {System.Collections.NonGeneric, 4.3.0}",
"System.Collections.Specialized, {System.Collections.Specialized, 4.3.0}",
"System.ComponentModel, {System.ComponentModel, 4.3.0}",
"System.ComponentModel.Annotations, {System.ComponentModel.Annotations, 4.7.0}",
"System.ComponentModel.Primitives, {System.ComponentModel.Primitives, 4.3.0}",
"System.ComponentModel.TypeConverter, {System.ComponentModel.TypeConverter, 4.3.0}",
"System.Configuration.ConfigurationManager, {System.Configuration.ConfigurationManager, 6.0.1}",
"System.Diagnostics.DiagnosticSource, {System.Diagnostics.DiagnosticSource, 6.0.1}",
"System.Diagnostics.EventLog, {System.Diagnostics.EventLog, 6.0.0}",
"System.Diagnostics.PerformanceCounter, {System.Diagnostics.PerformanceCounter, 6.0.1}",
"System.DirectoryServices, {System.DirectoryServices, 6.0.1}",
"System.DirectoryServices.Protocols, {System.DirectoryServices.Protocols, 6.0.2}",
"System.Drawing.Common, {System.Drawing.Common, 8.0.0}",
"System.Formats.Asn1, {System.Formats.Asn1, 6.0.0}",
"System.Globalization, {System.Globalization, 4.3.0}",
"System.IdentityModel.Tokens.Jwt, {System.IdentityModel.Tokens.Jwt, 6.35.0}",
"System.IO, {System.IO, 4.3.0}",
"System.IO.Pipelines, {System.IO.Pipelines, 6.0.0-preview.4.21253.7}",
"System.Linq, {System.Linq, 4.3.0}",
"System.Linq.Dynamic.Core, {System.Linq.Dynamic.Core, 1.2.18}",
"System.Linq.Expressions, {System.Linq.Expressions, 4.3.0}",
"System.Linq.Queryable, {System.Linq.Queryable, 4.3.0}",
"System.Memory.Data, {System.Memory.Data, 1.0.2}",
"System.Reflection, {System.Reflection, 4.3.0}",
"System.Reflection.Primitives, {System.Reflection.Primitives, 4.3.0}",
"System.Runtime, {System.Runtime, 4.3.0}",
"System.Runtime.CompilerServices.Unsafe, {System.Runtime.CompilerServices.Unsafe, 6.0.0}",
"System.Runtime.Handles, {System.Runtime.Handles, 4.3.0}",
"System.Runtime.InteropServices, {System.Runtime.InteropServices, 4.3.0}",
"System.Runtime.Loader, {System.Runtime.Loader, 4.3.0}",
"System.Runtime.Serialization.Primitives, {System.Runtime.Serialization.Primitives, 4.3.0}",
"System.Security.AccessControl, {System.Security.AccessControl, 6.0.0}",
"System.Security.Cryptography.Cng, {System.Security.Cryptography.Cng, 4.5.0}",
"System.Security.Cryptography.Pkcs, {System.Security.Cryptography.Pkcs, 6.0.4}",
"System.Security.Cryptography.ProtectedData, {System.Security.Cryptography.ProtectedData, 6.0.0}",
"System.Security.Cryptography.Xml, {System.Security.Cryptography.Xml, 6.0.1}",
"System.Security.Permissions, {System.Security.Permissions, 6.0.0}",
"System.Security.Principal.Windows, {System.Security.Principal.Windows, 5.0.0}",
"System.ServiceModel.Duplex, {System.ServiceModel.Duplex, 6.0.0}",
"System.ServiceModel.Federation, {System.ServiceModel.Federation, 6.0.0}",
"System.ServiceModel.Http, {System.ServiceModel.Http, 6.2.0}",
"System.ServiceModel.NetFramingBase, {System.ServiceModel.NetFramingBase, 6.0.0}",
"System.ServiceModel.NetTcp, {System.ServiceModel.NetTcp, 6.0.0}",
"System.ServiceModel.Primitives, {System.ServiceModel.Primitives, 6.2.0}",
"System.ServiceModel.Security, {System.ServiceModel.Security, 6.0.0}",
"System.Text.Encoding, {System.Text.Encoding, 4.3.0}",
"System.Text.Encoding.CodePages, {System.Text.Encoding.CodePages, 6.0.0}",
"System.Text.Encodings.Web, {System.Text.Encodings.Web, 6.0.0}",
"System.Text.Json, {System.Text.Json, 6.0.0}",
"System.Threading.Tasks, {System.Threading.Tasks, 4.3.0}",
"System.Threading.Thread, {System.Threading.Thread, 4.3.0}",
"System.Windows.Extensions, {System.Windows.Extensions, 6.0.0}",
"System.Xml.ReaderWriter, {System.Xml.ReaderWriter, 4.3.0}",
"System.Xml.XDocument, {System.Xml.XDocument, 4.3.0}",
"System.Xml.XmlDocument, {System.Xml.XmlDocument, 4.3.0}",
"System.Xml.XmlSerializer, {System.Xml.XmlSerializer, 4.3.0}",
"System.Xml.XPath, {System.Xml.XPath, 4.3.0}",
"System.Xml.XPath.XDocument, {System.Xml.XPath.XDocument, 4.3.0}",
"TimeZoneConverter, {TimeZoneConverter, 5.0.0}",
"Volo.Abp.Account.Application.Contracts, {Volo.Abp.Account.Application.Contracts, 6.0.0}",
"Volo.Abp.Account.HttpApi.Client, {Volo.Abp.Account.HttpApi.Client, 6.0.0}",
"Volo.Abp.Auditing.Contracts, {Volo.Abp.Auditing.Contracts, 6.0.0}",
"Volo.Abp.AuditLogging.Domain.Shared, {Volo.Abp.AuditLogging.Domain.Shared, 6.0.0}",
"Volo.Abp.Authorization, {Volo.Abp.Authorization, 6.0.0}",
"Volo.Abp.Authorization.Abstractions, {Volo.Abp.Authorization.Abstractions, 6.0.0}",
"Volo.Abp.BackgroundJobs.Domain.Shared, {Volo.Abp.BackgroundJobs.Domain.Shared, 6.0.0}",
"Volo.Abp.BackgroundWorkers, {Volo.Abp.BackgroundWorkers, 6.0.0}",
"Volo.Abp.Castle.Core, {Volo.Abp.Castle.Core, 6.0.0}",
"Volo.Abp.Core, {Volo.Abp.Core, 6.0.0}",
"Volo.Abp.Data, {Volo.Abp.Data, 6.0.0}",
"Volo.Abp.Ddd.Application.Contracts, {Volo.Abp.Ddd.Application.Contracts, 6.0.0}",
"Volo.Abp.DistributedLocking.Abstractions, {Volo.Abp.DistributedLocking.Abstractions, 6.0.0}",
"Volo.Abp.EventBus, {Volo.Abp.EventBus, 6.0.0}",
"Volo.Abp.EventBus.Abstractions, {Volo.Abp.EventBus.Abstractions, 6.0.0}",
"Volo.Abp.ExceptionHandling, {Volo.Abp.ExceptionHandling, 6.0.0}",
"Volo.Abp.FeatureManagement.Application.Contracts, {Volo.Abp.FeatureManagement.Application.Contracts, 6.0.0}",
"Volo.Abp.FeatureManagement.Domain.Shared, {Volo.Abp.FeatureManagement.Domain.Shared, 6.0.0}",
"Volo.Abp.FeatureManagement.HttpApi.Client, {Volo.Abp.FeatureManagement.HttpApi.Client, 6.0.0}",
"Volo.Abp.Features, {Volo.Abp.Features, 6.0.0}",
"Volo.Abp.Guids, {Volo.Abp.Guids, 6.0.0}",
"Volo.Abp.Http, {Volo.Abp.Http, 6.0.0}",
"Volo.Abp.Http.Abstractions, {Volo.Abp.Http.Abstractions, 6.0.0}",
"Volo.Abp.Http.Client, {Volo.Abp.Http.Client, 6.0.0}",
"Volo.Abp.Identity.Application.Contracts, {Volo.Abp.Identity.Application.Contracts, 6.0.0}",
"Volo.Abp.Identity.Domain.Shared, {Volo.Abp.Identity.Domain.Shared, 6.0.0}",
"Volo.Abp.Identity.HttpApi.Client, {Volo.Abp.Identity.HttpApi.Client, 6.0.0}",
"Volo.Abp.Json, {Volo.Abp.Json, 6.0.0}",
"Volo.Abp.Localization, {Volo.Abp.Localization, 6.0.0}",
"Volo.Abp.Localization.Abstractions, {Volo.Abp.Localization.Abstractions, 6.0.0}",
"Volo.Abp.Minify, {Volo.Abp.Minify, 6.0.0}",
"Volo.Abp.MultiTenancy, {Volo.Abp.MultiTenancy, 6.0.0}",
"Volo.Abp.ObjectExtending, {Volo.Abp.ObjectExtending, 6.0.0}",
"Volo.Abp.OpenIddict.Domain.Shared, {Volo.Abp.OpenIddict.Domain.Shared, 6.0.0}",
"Volo.Abp.PermissionManagement.Application.Contracts, {Volo.Abp.PermissionManagement.Application.Contracts, 6.0.0}",
"Volo.Abp.PermissionManagement.Domain.Shared, {Volo.Abp.PermissionManagement.Domain.Shared, 6.0.0}",
"Volo.Abp.PermissionManagement.HttpApi.Client, {Volo.Abp.PermissionManagement.HttpApi.Client, 6.0.0}",
"Volo.Abp.RemoteServices, {Volo.Abp.RemoteServices, 6.0.0}",
"Volo.Abp.Security, {Volo.Abp.Security, 6.0.0}",
"Volo.Abp.SettingManagement.Application.Contracts, {Volo.Abp.SettingManagement.Application.Contracts, 6.0.0}",
"Volo.Abp.SettingManagement.Domain.Shared, {Volo.Abp.SettingManagement.Domain.Shared, 6.0.0}",
"Volo.Abp.SettingManagement.HttpApi.Client, {Volo.Abp.SettingManagement.HttpApi.Client, 6.0.0}",
"Volo.Abp.Settings, {Volo.Abp.Settings, 6.0.0}",
"Volo.Abp.TenantManagement.Application.Contracts, {Volo.Abp.TenantManagement.Application.Contracts, 6.0.0}",
"Volo.Abp.TenantManagement.Domain.Shared, {Volo.Abp.TenantManagement.Domain.Shared, 6.0.0}",
"Volo.Abp.TenantManagement.HttpApi.Client, {Volo.Abp.TenantManagement.HttpApi.Client, 6.0.0}",
"Volo.Abp.Threading, {Volo.Abp.Threading, 6.0.0}",
"Volo.Abp.Timing, {Volo.Abp.Timing, 6.0.0}",
"Volo.Abp.Uow, {Volo.Abp.Uow, 6.0.0}",
"Volo.Abp.Users.Abstractions, {Volo.Abp.Users.Abstractions, 6.0.0}",
"Volo.Abp.Users.Domain.Shared, {Volo.Abp.Users.Domain.Shared, 6.0.0}",
"Volo.Abp.Validation, {Volo.Abp.Validation, 6.0.0}",
"Volo.Abp.Validation.Abstractions, {Volo.Abp.Validation.Abstractions, 6.0.0}",
"Volo.Abp.VirtualFileSystem, {Volo.Abp.VirtualFileSystem, 6.0.0}",
"Yitter.IdGenerator, {Yitter.IdGenerator, 1.0.14}",
"ZKWeb.System.Drawing, {ZKWeb.System.Drawing, 4.0.1}"
],
"targetFramework": "net6.0",
"typeReuseMode": "All"
}
}

2756
ThirdPlugIns/Shentun.Peis.PlugIns.Gem/Connected Services/ServiceReferenceAiDiKangLisResult/Reference.cs
File diff suppressed because it is too large
View File

327
ThirdPlugIns/Shentun.Peis.PlugIns.Gem/ImportLisResults/AiDiKang/ImportLisResultPlugInsAiDiKang.cs

@ -0,0 +1,327 @@
using Dapper;
using Npgsql;
using ServiceReferenceAiDiKangLisResult;
using ServiceReferenceDianLisReport;
using ServiceReferenceDianLisResult;
using Shentun.Peis.ImportLisResults;
using Shentun.Peis.PlugIns.Extensions.ImportLisResults.Dian;
using Shentun.Peis.PlugIns.ImportLisResults;
using Shentun.Peis.PrintReports;
using Shentun.Peis.RegisterCheckPictures;
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;
namespace Shentun.Peis.PlugIns.Extensions.ImportLisResults.AiDiKang
{
public class ImportLisResultPlugInsAiDiKang : ImportLisResultPlugInsBase
{
private readonly string _userName;
private readonly string _passWord;
public ImportLisResultPlugInsAiDiKang(Guid thirdInterfaceId) : base(thirdInterfaceId)
{
_userName = InterfaceConfig.GetSection("Interface").GetSection("UserName").Value;
_passWord = InterfaceConfig.GetSection("Interface").GetSection("PassWord").Value;
}
public ImportLisResultPlugInsAiDiKang(string parmValue) : base(parmValue)
{
_userName = InterfaceConfig.GetSection("Interface").GetSection("UserName").Value;
_passWord = InterfaceConfig.GetSection("Interface").GetSection("PassWord").Value;
}
public override Task<ImportLisResultPlugInsOut> ImportResultByPatientRegisterIdAsync(Guid patientRegisterId)
{
return base.ImportResultByPatientRegisterIdAsync(patientRegisterId);
}
public override async Task DoWork()
{
var queryDaysStr = InterfaceConfig.GetSection("Interface").GetSection("Scheduler").GetSection("QueryDays").Value;
if (string.IsNullOrWhiteSpace(queryDaysStr))
{
queryDaysStr = "1";
}
if (!int.TryParse(queryDaysStr, out int days))
{
days = 1;
}
var patientRegisters = GetRequestPatientRegistersDianAsync(days).Result;
foreach (var patientRegister in patientRegisters)
{
await ImportOueSendResultByPatientRegisterIdAsync(patientRegister.PatientRegisterId);
}
}
public async Task<ImportLisResultPlugInsOut> ImportOueSendResultByPatientRegisterIdAsync(Guid patientRegisterId)
{
var lisResultAddress = InterfaceConfig.GetSection("Interface").GetSection("LisResultAddress").Value;
using (var client = CreateClient(lisResultAddress))
{
// 设置超时时间
client.InnerChannel.OperationTimeout = TimeSpan.FromMinutes(2);
var aiDiKangKeyValue = await client.LoginAsync(_userName, _passWord);
if (aiDiKangKeyValue == "失败")
{
return new ImportLisResultPlugInsOut();
}
var execOrganizationUnitIdStr = InterfaceConfig.GetSection("Interface").GetSection("ExecOrganizationUnitId").Value;
var defaultCheckDoctorName = InterfaceConfig.GetSection("Interface").GetSection("DefaultCheckDoctorName").Value;
var barcodeMode = InterfaceConfig.GetSection("Interface").GetSection("BarcodeMode").Value; //0-人员条码 1-检验条码
#region 导入数据
List<CommonTableOut> itemCommonTableOuts = new List<CommonTableOut>();
List<CommonTableOut> asbitemCommonTableOuts = new List<CommonTableOut>();
string sql_item = $"select data_code as dian_code,display_name as item_id from common_table " +
$" where common_table_type_id='{InterfaceConfig.GetSection("Interface").GetSection("ItemCommonTableTypeId").Value}' ";
string sql_asbitem = $"select data_code as dian_code,display_name as item_id from common_table " +
$" where common_table_type_id='{InterfaceConfig.GetSection("Interface").GetSection("AsbitemCommonTableTypeId").Value}' ";
var result = new ImportLisResultPlugInsOut();
using (DbConnection conn = new NpgsqlConnection(AppConnctionStr))
{
itemCommonTableOuts = (await conn.QueryAsync<CommonTableOut>(sql_item)).ToList();
asbitemCommonTableOuts = (await conn.QueryAsync<CommonTableOut>(sql_asbitem)).ToList();
try
{
var createImportLisResultDtos = new List<CreateImportLisResultDto>();
//设置结果,生成小结
string register_item_sql = $"select d.lis_request_no,f.item_id::TEXT as item_id,g.display_name as item_name,patient_register_no" +
" from patient_register as a " +
" left join register_check as b on a.id=b.patient_register_id " +
" left join register_check_asbitem as c on b.id=c.register_check_id " +
" left join lis_request as d on c.lis_request_id=d.id " +
" left join asbitem as e on c.asbitem_id=e.id " +
" left join register_check_item as f on b.id=f.register_check_id " +
" left join item as g on f.item_id=g.id " +
$" where a.id='{patientRegisterId}' and e.is_outsend='Y' and b.is_audit='N' ";
var lisResultFromInterfaces = (await conn.QueryAsync<LisResultFromImportInterface>(register_item_sql)).ToList();
string barCode = lisResultFromInterfaces.FirstOrDefault().PatientRegisterNo;
var isCheck = await client.ExistsByYYtmAsync(barCode, aiDiKangKeyValue);
if (isCheck == "True")
{
//检查完
var sdsd = client.GetJSONReportItemListByCustomerBarocdeAsync(barCode, aiDiKangKeyValue);
}
////病理结果
//var result_bl = await client.GetDetailByHospCodeAsync(_clientID, _clientGUID, barCode, 1);
//var resultObj_bl = XmlHelper.DeserializeXmlAddRoot<GetDetailByHospCodePathologyOut>(result_bl.Body.GetDetailByHospCodeResult);
//if (resultObj_bl.ResultsDataSet != null && resultObj_bl.ResultsDataSet.Tables.Count > 0 && string.IsNullOrWhiteSpace(barCodeDian))
//{
// barCodeDian = resultObj_bl.ResultsDataSet.Tables.FirstOrDefault().Barcode;
//}
//foreach (var li in lisResultFromInterfaces)
//{
// var dian_code = itemCommonTableOuts.FirstOrDefault(f => f.ItemId == li.ItemId);
// if (dian_code != null)
// {
// if (resultObj_cg.ResultsDataSet != null)
// {
// var dianResult = resultObj_cg.ResultsDataSet.Tables.FirstOrDefault(f => f.S == dian_code.DianCode);
// if (dianResult != null)
// {
// var createImportLisResultDto = new CreateImportLisResultDto()
// {
// LisRequestNo = li.LisRequestNo,
// ItemId = Guid.Parse(li.ItemId),
// ItemName = li.ItemName,
// Result = dianResult.FinalResult,
// // Unit = lisResult.Unit,
// // ReferenceRangeValue = lisResult.ReferenceRangeValue,
// // CriticalRangeValue = lisResult.CriticalRangeValue,
// // ResultStatusId = lisResult.ResultStatusId,
// // ReportPrompt = lisResult.ReportPrompt,
// CheckDoctorName = defaultCheckDoctorName,
// //CheckDate = dianResult.ApproveDate,
// CheckDate = dianResult.CollectDate,
// ExecOrganizationUnitId = Guid.Parse(execOrganizationUnitIdStr)
// };
// createImportLisResultDtos.Add(createImportLisResultDto);
// }
// }
// if (resultObj_bl.ResultsDataSet != null)
// {
// var dianResult = resultObj_bl.ResultsDataSet.Tables.FirstOrDefault(f => f.TestCode == dian_code.DianCode);
// if (dianResult != null)
// {
// var createImportLisResultDto = new CreateImportLisResultDto()
// {
// LisRequestNo = li.LisRequestNo,
// ItemId = Guid.Parse(li.ItemId),
// ItemName = li.ItemName,
// Result = dianResult.Repidea,
// // Unit = lisResult.Unit,
// // ReferenceRangeValue = lisResult.ReferenceRangeValue,
// // CriticalRangeValue = lisResult.CriticalRangeValue,
// // ResultStatusId = lisResult.ResultStatusId,
// // ReportPrompt = lisResult.ReportPrompt,
// CheckDoctorName = defaultCheckDoctorName,
// // CheckDate = dianResult.ReportDate,
// CheckDate = dianResult.CollectDate,
// ExecOrganizationUnitId = Guid.Parse(execOrganizationUnitIdStr)
// };
// createImportLisResultDtos.Add(createImportLisResultDto);
// }
// }
// }
//}
//if (createImportLisResultDtos.Any())
//{
// var callResult = await CallAppServiceAsync<List<CreateImportLisResultDto>, object>("api/app/ImportLisResult/ImportResult", createImportLisResultDtos);
//}
////导入图片
//using (var clientReport = CreateReportClient(lisReportAddress))
//{
// var result_report = await clientReport.GetReportInfoAsync(_clientID, _clientGUID, barCodeDian, "0");
// var resultObj_report = XmlHelper.DeserializeXmlAddRoot<GetReportInfoOut>(result_report.Body.GetReportInfoResult);
// if (resultObj_report.Msg.Code == "1" && resultObj_report.ResultsDataSetReport != null && resultObj_report.ResultsDataSetReport.Tables.Any())
// {
// var ImportReportInputs = new List<UploadRegisterCheckPictureManyDto>();
// foreach (var itemReport in resultObj_report.ResultsDataSetReport.Tables)
// {
// var base64str = ToBase64(itemReport.PicReportUrl);
// var asbitemIds = asbitemCommonTableOuts.Where(m => m.DianCode == itemReport.TestCode).ToList();
// if (asbitemIds.Any())
// {
// string sql_register_check_id = "select distinct b.id as register_check_id from patient_register as a " +
// " left join register_check as b on a.id=b.patient_register_id " +
// " left join register_check_asbitem as c on b.id=c.register_check_id " +
// $" where a.id='{patientRegisterId}' and c.asbitem_id=ANY(@asbitemIds) ";
// var registerCheckIds = (await conn.QueryAsync<RegisterCheckIdInputDto>(sql_register_check_id, new
// {
// asbitemIds = asbitemIds.Select(s => Guid.Parse(s.ItemId)).ToArray()
// })).ToList();
// foreach (var registerCheckId in registerCheckIds)
// {
// List<UploadRegisterCheckPictureManyPictureBaseStrsDto> pictureBaseStrs = new List<UploadRegisterCheckPictureManyPictureBaseStrsDto>();
// pictureBaseStrs.Add(new UploadRegisterCheckPictureManyPictureBaseStrsDto
// {
// PictureBaseStr = base64str,
// FileName = itemReport.TestCode,
// IsPrint = 'Y'
// });
// ImportReportInputs.Add(new UploadRegisterCheckPictureManyDto
// {
// PictureBaseStrs = pictureBaseStrs,
// PictureFileType = '0',
// RegisterCheckId = registerCheckId.RegisterCheckId
// });
// }
// }
// }
// foreach (var importReportInput in ImportReportInputs)
// {
// var callResult = await CallAppServiceAsync<UploadRegisterCheckPictureManyDto, object>("api/app/registercheckpicture/uploadregistercheckpicturemany", importReportInput);
// }
// }
//}
}
catch (Exception ex)
{ }
}
#endregion
}
return new ImportLisResultPlugInsOut();
}
private AdiconWebServiceSoapClient CreateClient(string url)
{
return new AdiconWebServiceSoapClient(new BasicHttpBinding(),
new EndpointAddress(url));
}
//private string ToBase64(string filename)
//{
// Stream stream;
// string fileBase64;
// if (filename.StartsWith("http"))
// {
// using (var httpClient = new HttpClient())
// {
// var response = httpClient.GetAsync(filename).Result;
// if (response.IsSuccessStatusCode)
// {
// var contentStream = response.Content.ReadAsStreamAsync().Result;
// using var memoryStream = new MemoryStream();
// contentStream.CopyTo(memoryStream);
// var fileBytes = memoryStream.ToArray();
// return Convert.ToBase64String(fileBytes);
// }
// else
// {
// throw new Exception("转换base64时,返回错误:" + response.StatusCode);
// }
// }
// }
// else
// {
// using (stream = new FileStream(filename, FileMode.Open, FileAccess.Read))
// {
// byte[] byteData = new byte[stream.Length];
// stream.Read(byteData, 0, byteData.Length);
// fileBase64 = Convert.ToBase64String(byteData);
// stream.Close();
// }
// return fileBase64;
// }
//}
}
}

4
ThirdPlugIns/Shentun.Peis.PlugIns.Gem/ImportLisResults/Dian/ImportLisResultPlugInsDian.cs

@ -59,14 +59,14 @@ namespace Shentun.Peis.PlugIns.Extensions.ImportLisResults.Dian
foreach (var patientRegister in patientRegisters)
{
await ImportDianResultByPatientRegisterIdAsync(patientRegister.PatientRegisterId);
await ImportOueSendResultByPatientRegisterIdAsync(patientRegister.PatientRegisterId);
}
}
public async Task<ImportLisResultPlugInsOut> ImportDianResultByPatientRegisterIdAsync(Guid patientRegisterId)
public async Task<ImportLisResultPlugInsOut> ImportOueSendResultByPatientRegisterIdAsync(Guid patientRegisterId)
{
var lisResultAddress = InterfaceConfig.GetSection("Interface").GetSection("LisResultAddress").Value;
var lisReportAddress = InterfaceConfig.GetSection("Interface").GetSection("LisReportAddress").Value;

2
src/Shentun.Peis.Application.Contracts/ThirdPartyPublicInterfaces/GetIsOutsendAsbitemByLisBarCodeInputDto.cs

@ -7,7 +7,7 @@ namespace Shentun.Peis.ThirdPartyPublicInterfaces
public class GetIsOutsendAsbitemByLisBarCodeInputDto
{
/// <summary>
/// dian-迪安
/// dian-迪安 aidikang-艾迪康
/// </summary>
public string SourceFlag { get; set; }

3
src/Shentun.Peis.Application/ImportLisResults/ImportLisResultAppService.cs

@ -338,6 +338,7 @@ namespace Shentun.Peis.ImportLisResults
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/ImportLisResult/ImportDianResultByPatientRegisterId")]
[AllowAnonymous]
public async Task ImportDianResultByPatientRegisterIdAsync(PatientRegisterIdInputDto input)
{
var patientRegister = await _patientRegisterRepository.GetAsync(input.PatientRegisterId);
@ -356,7 +357,7 @@ namespace Shentun.Peis.ImportLisResults
object[] objects = new object[] { input.PatientRegisterId };
var pluginsOut = await Utilities.ReflectionHelper.InvokeAsync<ImportLisResultPlugInsOut>(assemblyName,
className, [thirdInterface.Id], "ImportDianResultByPatientRegisterIdAsync", objects);
className, [thirdInterface.Id], "ImportOueSendResultByPatientRegisterIdAsync", objects);
}
}

58
src/Shentun.Peis.Application/ThirdPartyPublicInterfaces/ThirdPartyPublicInterfaceAppService.cs

@ -1,6 +1,8 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Identity.Client;
using Microsoft.VisualBasic;
using NPOI.DDF;
using NPOI.POIFS.Properties;
@ -11,9 +13,11 @@ using Shentun.Peis.PatientRegisters;
using Shentun.Peis.Patients;
using Shentun.Peis.Permissions;
using Shentun.Peis.SysParmValues;
using Shentun.Utilities;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -49,6 +53,8 @@ namespace Shentun.Peis.ThirdPartyPublicInterfaces
private readonly SysParmValueManager _sysParmValueManager;
private readonly IRepository<LisRequest, Guid> _lisRequestRepository;
private readonly IRepository<SampleType, Guid> _sampleTypeRepository;
private readonly IRepository<ThirdInterface, Guid> _thirdInterfaceRepository;
private readonly IRepository<CommonTable, Guid> _commonTableRepository;
public ThirdPartyPublicInterfaceAppService(
IRepository<PatientRegister, Guid> patientRegisterRepository,
CacheService cacheService,
@ -70,7 +76,9 @@ namespace Shentun.Peis.ThirdPartyPublicInterfaces
IRepository<ColumnReferenceInterface, Guid> columnReferenceInterfaceRepository,
SysParmValueManager sysParmValueManager,
IRepository<LisRequest, Guid> lisRequestRepository,
IRepository<SampleType, Guid> sampleTypeRepository)
IRepository<SampleType, Guid> sampleTypeRepository,
IRepository<ThirdInterface, Guid> thirdInterfaceRepository,
IRepository<CommonTable, Guid> commonTableRepository)
{
_patientRegisterRepository = patientRegisterRepository;
_cacheService = cacheService;
@ -93,6 +101,8 @@ namespace Shentun.Peis.ThirdPartyPublicInterfaces
_sysParmValueManager = sysParmValueManager;
_lisRequestRepository = lisRequestRepository;
_sampleTypeRepository = sampleTypeRepository;
_thirdInterfaceRepository = thirdInterfaceRepository;
_commonTableRepository = commonTableRepository;
}
/// <summary>
@ -510,6 +520,46 @@ namespace Shentun.Peis.ThirdPartyPublicInterfaces
var result = new GetIsOutsendAsbitemByLisBarCodeDto();
if (string.IsNullOrWhiteSpace(input.SourceFlag))
{
throw new UserFriendlyException("来源不能为空");
}
#region 根据来源找到对应的项目
List<CommonTable> commonTableList = new List<CommonTable>();
var thirdInterfaceList = await _thirdInterfaceRepository.GetListAsync(m => m.ThirdInterfaceType == ThirdInterfaceTypeFlag.OutSend && m.IsActive == 'Y');
if (!thirdInterfaceList.Any())
{
throw new UserFriendlyException("接口未启用");
}
foreach (var item in thirdInterfaceList)
{
var configurationBuilder = new ConfigurationBuilder()
.AddJsonStream(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(item.ParmValue)));
var configuration = configurationBuilder.Build();
var asbitemCommonTableTypeId = configuration.GetValue("Interface:AsbitemCommonTableTypeId", "");
var sourceFlag = configuration.GetValue("Interface:SourceFlag", "");
if (!string.IsNullOrWhiteSpace(asbitemCommonTableTypeId)
&& !string.IsNullOrWhiteSpace(sourceFlag)
&& sourceFlag == input.SourceFlag)
{
commonTableList = await _commonTableRepository.GetListAsync(m => m.CommonTableTypeId == asbitemCommonTableTypeId);
}
}
if (!commonTableList.Any())
{
throw new UserFriendlyException("字段未对照或接口配置有误");
}
#endregion
var asbitemIds = commonTableList.Select(s => s.DisplayName).ToList();
var lisRequestNoPrintMode = await _sysParmValueManager.GetSysParmValueAsync(Guid.Empty, "lis_request_no_print_mode");
if (lisRequestNoPrintMode == "1")
{
@ -555,7 +605,7 @@ namespace Shentun.Peis.ThirdPartyPublicInterfaces
result.SexName = sexName;
result.PatientName = queryFirst.patientName;
result.Details = query.Select(s => new GetIsOutsendAsbitemByLisBarCodeDetail
result.Details = query.Where(m => asbitemIds.Contains(m.asbitemId.ToString())).Select(s => new GetIsOutsendAsbitemByLisBarCodeDetail
{
AsbitemId = s.asbitemId.ToString(),
AsbitemName = s.asbitemName,
@ -606,7 +656,7 @@ namespace Shentun.Peis.ThirdPartyPublicInterfaces
result.SexName = sexName;
result.PatientName = queryFirst.patientName;
result.Details = query.Select(s => new GetIsOutsendAsbitemByLisBarCodeDetail
result.Details = query.Where(m => asbitemIds.Contains(m.asbitemId.ToString())).Select(s => new GetIsOutsendAsbitemByLisBarCodeDetail
{
AsbitemId = s.asbitemId.ToString(),
AsbitemName = s.asbitemName,
@ -616,6 +666,8 @@ namespace Shentun.Peis.ThirdPartyPublicInterfaces
}
return result;
}

Loading…
Cancel
Save