完善前置机

This commit is contained in:
falcon 2019-03-25 16:32:58 +08:00
parent b1515c77a8
commit d02573bbee
45 changed files with 1776 additions and 1298 deletions

2
.gitignore vendored
View File

@ -4,6 +4,8 @@
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
s/
# User-specific files
*.rsuser
*.suo

View File

@ -8,6 +8,11 @@ EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CmdjyTests", "CmdjyTests\CmdjyTests.csproj", "{812C9905-9C11-40FD-B58F-02C8A880C494}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CmdjyHisFront", "CmdjyHisFront\CmdjyHisFront.csproj", "{E8B0B70C-74D8-419D-94DD-19FF4015C23B}"
ProjectSection(ProjectDependencies) = postProject
{03F35833-1CF9-42BC-BF51-444F7181A967} = {03F35833-1CF9-42BC-BF51-444F7181A967}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HisInterfaceModels", "HisInterfaceModels\HisInterfaceModels.csproj", "{D0FE758C-DA33-45C7-8110-563056A58717}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -27,6 +32,10 @@ Global
{E8B0B70C-74D8-419D-94DD-19FF4015C23B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E8B0B70C-74D8-419D-94DD-19FF4015C23B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E8B0B70C-74D8-419D-94DD-19FF4015C23B}.Release|Any CPU.Build.0 = Release|Any CPU
{D0FE758C-DA33-45C7-8110-563056A58717}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D0FE758C-DA33-45C7-8110-563056A58717}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D0FE758C-DA33-45C7-8110-563056A58717}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D0FE758C-DA33-45C7-8110-563056A58717}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -0,0 +1,119 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Timers;
using Autofac;
using CommonClass.Factory;
namespace Cmdjy.Bll
{
public interface ITask
{
void Run();
}
/// <summary>
/// 任务管理器
/// </summary>
public interface ITaskManager
{
/// <summary>
/// 心跳间隔。毫秒
/// </summary>
double BackgroundTaskHeartbeat { get; set; }
/// <summary>
/// 执行任务
/// </summary>
void Start();
/// <summary>
/// 结束任务
/// </summary>
void Stop();
}
/// <summary>
/// 背景任务注册管理器
/// </summary>
public class TaskManagerRegister:IRegister
{
public void Register(ContainerBuilder builder) {
builder.Register<ITaskManager>(c => new TaskManager());
}
}
/// <summary>
/// 背景任务管理器
/// </summary>
public class TaskManager:ITaskManager
{
/// <summary>
/// 任务心跳触发计时器
/// </summary>
public static Timer CTimer { get; private set; }
/// <summary>
/// 要执行的背景线程
/// </summary>
public IEnumerable<ITask> BackTasks { get; set; }
public double BackgroundTaskHeartbeat { get; set; } = 1000;
/// <summary>
/// 创建一个背景任务管理器
/// </summary>
public TaskManager() { }
/// <summary>
/// 通过提供任务和背景心跳间隔创建背景任务管理器
/// </summary>
/// <param name="bt">背景任务枚举</param>
/// <param name="bh">心跳</param>
public TaskManager(IEnumerable<ITask> bt) {
this.BackTasks = bt;
}
/// <summary>
/// 通过提供任务和背景心跳间隔创建背景任务管理器
/// </summary>
/// <param name="bt">背景任务枚举</param>
/// <param name="bh">心跳</param>
public TaskManager(IEnumerable<ITask> bt,double bh) {
this.BackTasks = bt; this.BackgroundTaskHeartbeat = bh;
}
/// <summary>
/// 开始执行背景任务
/// </summary>
public void Start() {
if(this.BackTasks == null || this.BackTasks.Count() == 0) return;
CTimer = CTimer ?? new Timer(this.BackgroundTaskHeartbeat);
CTimer.Elapsed += this.run;
CTimer.AutoReset = false;
CTimer.Start();
}
/// <summary>
/// 任务处理事件
/// </summary>
private void run(object sender,ElapsedEventArgs e) {
//启动具体任务
foreach(var t in this.BackTasks) {
Task.Factory.StartNew(m => {
if(m is ITask task) {
task.Run();
}
},t as object);
}
//任务启动后重启心跳计时器
if(sender is Timer timer) {
timer.Start();
}
}
public void Stop() {
if(CTimer == null) return;
CTimer.Stop();
CTimer.Elapsed -= run;
CTimer = null;
}
}
}

View File

@ -45,6 +45,12 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Autofac, Version=4.9.2.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<HintPath>..\packages\Autofac.4.9.2\lib\net45\Autofac.dll</HintPath>
</Reference>
<Reference Include="CommonClass.Factory, Version=1.2.0.8, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\CommonClass.Factory.1.2.0.8\lib\net45\CommonClass.Factory.dll</HintPath>
</Reference>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
</Reference>
@ -184,17 +190,20 @@
<Compile Include="App_Start\BundleConfig.cs" />
<Compile Include="App_Start\FilterConfig.cs" />
<Compile Include="App_Start\RouteConfig.cs" />
<Compile Include="Bll\BackgroundTask.cs" />
<Compile Include="Bll\DesHelper.cs" />
<Compile Include="Bll\Cache.cs" />
<Compile Include="Bll\ObjExtend.cs" />
<Compile Include="Controllers\CompanyController.cs" />
<Compile Include="Controllers\HisInfoController.cs" />
<Compile Include="Controllers\HisUpdataController.cs" />
<Compile Include="Dal\Configuration.cs" />
<Compile Include="Dal\DbContextFactory.cs" />
<Compile Include="Dal\Queryes\HisDrugQuery.cs" />
<Compile Include="Dal\Queryes\HisPrescriptionQuery.cs" />
<Compile Include="Dal\Queryes\IDbQuery.cs" />
<Compile Include="Dal\Tables\CompanyInfo.cs" />
<Compile Include="Dal\Tables\HospitalInfo.cs" />
<Compile Include="Dal\Tables\WsdRequestLog.cs" />
<Compile Include="Dal\Wappers\HisDrugInfoWapper.cs" />
<Compile Include="Dal\Wappers\HisPrescriptyInfoWapper.cs" />
@ -220,6 +229,7 @@
</Compile>
</ItemGroup>
<ItemGroup>
<Content Include="CommonClass.Factory.Log.txt" />
<Content Include="Content\bootstrap-theme.css" />
<Content Include="Content\bootstrap-theme.min.css" />
<Content Include="Content\bootstrap.css" />
@ -272,7 +282,7 @@
</ItemGroup>
<ItemGroup>
<Folder Include="App_Data\" />
<Folder Include="Dal\Migrations\" />
<Folder Include="Views\HisUpdata\" />
<Folder Include="Views\Test\" />
</ItemGroup>
<ItemGroup>
@ -288,6 +298,12 @@
<Content Include="Scripts\jquery-3.3.1.slim.min.map" />
<Content Include="Scripts\jquery-3.3.1.min.map" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\HisInterfaceModels\HisInterfaceModels.csproj">
<Project>{d0fe758c-da33-45c7-8110-563056a58717}</Project>
<Name>HisInterfaceModels</Name>
</ProjectReference>
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>

View File

@ -0,0 +1,2 @@
V8 2018年1月8日
1、特性注入支持属性注入。接口注入方式暂不支持。

View File

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Cmdjy.Controllers
{
public class HisUpdataController:Controller
{
// GET: HisUpdata
public ActionResult Index() {
return View();
}
public ActionResult PostPrescription() {
return Json(new { code = 0,msg = "" },JsonRequestBehavior.AllowGet);
}
}
}

View File

@ -36,5 +36,9 @@ namespace Cmdjy.Dal
/// 代煎药厂商信息
/// </summary>
public DbSet<CompanyInfo> CompanyInfos { get; set; }
/// <summary>
/// 医疗机构信息
/// </summary>
public DbSet<HospitalInfo> HospitalInfos { get; set; }
}
}

View File

@ -148,6 +148,18 @@ namespace Cmdjy.Dal.Tables
/// </summary>
public string Usage { get; set; }
/// <summary>
/// 治疗号
/// </summary>
public string Zlh { get; set; }
/// <summary>
/// 收费序号
/// </summary>
public int Sfxh { get; set; }
/// <summary>
/// 收费费用序号
/// </summary>
public string Sffyxh { get; set; }
/// <summary>
/// 代煎药厂商代码
/// </summary>
public string CompanyCode { get; set; }

View File

@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;
namespace Cmdjy.Dal.Tables
{
/// <summary>
/// 医疗机构信息
/// </summary>
[Table("HospitalInfo")]
public class HospitalInfo
{
[Key]
public int Id { get; set; }
/// <summary>
/// 医疗机构代码
/// </summary>
public string HosCode { get; set; }
/// <summary>
/// 医疗机构名称
/// </summary>
public string HosName { get; set; }
/// <summary>
/// 前置机地址
/// </summary>
public string FrontAddress { get; set; }
/// <summary>
/// 记录状态
/// </summary>
public int Status { get; set; }
}
}

View File

@ -1,11 +1,13 @@
namespace Cmdjy.Dal.Wappers
using HisInterfaceModels;
namespace Cmdjy.Dal.Wappers
{
/// <summary>
/// 药品信息墙纸
/// </summary>
public class HisDrugInfoWapper:Dal.Tables.HisDrugInfo
{
public HisDrugInfoWapper(ws.HisDrugInfo s) {
public HisDrugInfoWapper(HisDrugInfo s) {
if(s == null) return;
foreach(var p in s.GetType().GetProperties()) {
var tp = this.GetType().GetProperty(p.Name);

View File

@ -1,9 +1,11 @@
namespace Cmdjy.Dal.Wappers
using HisInterfaceModels;
namespace Cmdjy.Dal.Wappers
{
public class HisPrescriptyInfoWapper:Dal.Tables.HisPrescriptionInfo
{
public HisPrescriptyInfoWapper() { }
public HisPrescriptyInfoWapper(ws.HisPrescriptionInfo s) {
public HisPrescriptyInfoWapper(HisPrescriptionInfo s) {
if(s == null) return;
foreach(var p in s.GetType().GetProperties()) {
var tp = this.GetType().GetProperty(p.Name);

View File

@ -67,6 +67,10 @@
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.2.4.0" newVersion="5.2.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.9.2.0" newVersion="4.9.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.webServer>

View File

@ -1,7 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Antlr" version="3.5.0.2" targetFramework="net461" />
<package id="Autofac" version="4.9.2" targetFramework="net461" />
<package id="bootstrap" version="3.3.7" targetFramework="net461" />
<package id="CommonClass.Factory" version="1.2.0.8" targetFramework="net461" />
<package id="EntityFramework" version="6.2.0" targetFramework="net461" />
<package id="jQuery" version="3.3.1" targetFramework="net461" />
<package id="jQuery.Validation" version="1.17.0" targetFramework="net461" />

View File

@ -1,12 +1,10 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using System.Web.Services;
using Newtonsoft.Json;
using Cmdjy.Dal;
using Cmdjy.Dal.Wappers;
using System.Data.Entity;
using HisInterfaceModels;
using Newtonsoft.Json;
namespace Cmdjy.ws
{
@ -18,12 +16,18 @@ namespace Cmdjy.ws
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
public class HisInterface:System.Web.Services.WebService
public class HisInterface:WebService, IHisPostInfo
{
[WebMethod(Description = "医疗机构上传处方信息")]
public string PostPrescriptionInfo(HisPrescriptionInfo info) {
public string PostPrescription(string msg) {
HisPrescriptionResult result = null;
var info = JsonConvert.DeserializeObject<HisPrescriptionInfo>(msg);
if(info == null) {
result = new HisPrescriptionResult {
Code = ResultCode.Exception,PrescriptionId = "0",
Msg = "传送数据解析错误",
};
}
using(var db = DbContextFactory.CreateDbContext()) {
var en = new HisPrescriptyInfoWapper(info) as Dal.Tables.HisPrescriptionInfo;
en.RawAddress = this.Context.Request.UserHostAddress;
@ -47,8 +51,16 @@ namespace Cmdjy.ws
}
[WebMethod(Description = "医疗机构上传药品信息")]
public string PostDrugInfo(HisDrugInfo info) {
public string PostDrug(string msg) {
HisDrugResult result = null;
var info = JsonConvert.DeserializeObject<HisDrugInfo>(msg);
if(info == null) {
result = new HisDrugResult {
Code = ResultCode.Exception,DrugId = "0",
Msg = "传送数据解析错误",
};
}
using(var db = DbContextFactory.CreateDbContext()) {
var en = new HisDrugInfoWapper(info) as Dal.Tables.HisDrugInfo;
en.RawAddress = this.Context.Request.UserHostAddress;
@ -71,272 +83,4 @@ namespace Cmdjy.ws
return JsonConvert.SerializeObject(result);
}
}
/// <summary>
/// HIS发送的处方信息
/// </summary>
public class HisPrescriptionInfo
{
/// <summary>
/// 处方类型
/// </summary>
public PrescriptionType Type { get; set; }
/// <summary>
/// 如果为退方,这里传要退的处方流水号。此编号在下单应答消息中提供
/// </summary>
public string RawRecordId { get; set; }
/// <summary>
/// 药品明细数量
/// </summary>
public string DrugCount { get; set; }
/// <summary>
/// 处方备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 带回病房 否
/// </summary>
public string TakeBack { get; set; }
/// <summary>
/// "操作类型": "煎药自取", or "操作类型": "煎药快递", or "操作类型": "配药快递"
/// </summary>
public string OpType { get; set; }
/// <summary>
/// 操作员
/// </summary>
public string OpUser { get; set; }
/// <summary>
/// 病区
/// </summary>
public string Area { get; set; }
/// <summary>
/// 病床号
/// </summary>
public string Bed { get; set; }
/// <summary>
/// 操作时间
/// </summary>
public string OpDatatime { get; set; }
/// <summary>
/// 处方号
/// </summary>
public string PrescriptionNo { get; set; }
/// <summary>
/// 处方日期
/// </summary>
public string PrescriptionDatatime { get; set; }
/// <summary>
/// 单位编号 医疗机构编号
/// </summary>
public string HosNo { get; set; }
/// <summary>
/// 医疗机构名称
/// </summary>
public string HosName { get; set; }
/// <summary>
/// 发票号
/// </summary>
public string InvoiceNo { get; set; }
/// <summary>
/// 病人编号
/// </summary>
public string PatientNo { get; set; }
/// <summary>
/// 病人卡号
/// </summary>
public string CardNo { get; set; }
/// <summary>
/// 科室名称
/// </summary>
public string DepName { get; set; }
/// <summary>
/// 病人年龄
/// </summary>
public string PatientAge { get; set; }
/// <summary>
/// 病人生日
/// </summary>
public string PatientBrithday { get; set; }
/// <summary>
/// 病人手机号码
/// </summary>
public string PatientMobile { get; set; }
/// <summary>
/// 病人电话
/// </summary>
public string PatientPhone { get; set; }
/// <summary>
/// 所在区县街道
/// </summary>
public string District { get; set; }
/// <summary>
/// 送货地址
/// </summary>
public string PostAddress { get; set; }
/// <summary>
/// 送货时间
/// </summary>
public string PostDatatime { get; set; }
/// <summary>
/// 贴数
/// </summary>
public string UseCount { get; set; }
/// <summary>
/// 病人性别
/// </summary>
public string PatientSex { get; set; }
/// <summary>
/// 病人姓名
/// </summary>
public string PatientName { get; set; }
/// <summary>
/// 医生姓名
/// </summary>
public string DoctorName { get; set; }
/// <summary>
/// 诊断
/// </summary>
public string Diagnosis { get; set; }
/// <summary>
/// 用法
/// </summary>
public string Usage { get; set; }
/// <summary>
/// 治疗号
/// </summary>
public string Zlh { get; set; }
/// <summary>
/// 收费序号
/// </summary>
public int Sfxh { get; set; }
/// <summary>
/// 收费费用序号
/// </summary>
public string Sffyxh { get; set; }
/// <summary>
/// 代煎药厂商代码
/// </summary>
public string CompanyCode { get; set; }
/// <summary>
/// 代煎药厂商名称
/// </summary>
public string CompanyName { get; set; }
}
/// <summary>
/// HIS发送处方信息应答
/// </summary>
public class HisPrescriptionResult
{
/// <summary>
/// 返回结果代码
/// </summary>
public ResultCode Code { get; set; }
/// <summary>
/// 返回信息。如执行错误包含错误信息
/// </summary>
public string Msg { get; set; }
/// <summary>
/// 处方流水号,执行错误为空
/// </summary>
public string PrescriptionId { get; set; }
}
/// <summary>
/// HIS发送的药品信息
/// </summary>
public class HisDrugInfo
{
/// <summary>
/// 处方流水号
/// </summary>
public string PrescriptionId { get; set; }
/// <summary>
/// "药品医保代码":"YP0306401000650",
/// </summary>
public string DrugNo { get; set; }
/// <summary>
/// 药品单价 0.085
/// </summary>
public string Price { get; set; }
/// <summary>
/// 单贴数量
/// </summary>
public string Count { get; set; }
/// <summary>
/// 单位 克
/// </summary>
public string Unit { get; set; }
/// <summary>
/// 单项总价
/// </summary>
public string Sum { get; set; }
/// <summary>
/// 规格 15.00000000
/// </summary>
public string DrugType { get; set; }
/// <summary>
/// 药品编码
/// </summary>
public string DrugLocalNo { get; set; }
/// <summary>
/// 药品名称
/// </summary>
public string DrugName { get; set; }
/// <summary>
/// 特殊要求
/// </summary>
public string Remark { get; set; }
}
/// <summary>
/// HIS发送的药品信息应答
/// </summary>
public class HisDrugResult
{
/// <summary>
/// 返回结果代码
/// </summary>
public ResultCode Code { get; set; }
/// <summary>
/// 返回信息。如执行错误包含错误信息
/// </summary>
public string Msg { get; set; }
/// <summary>
/// 药品流水号,执行错误为空
/// </summary>
public string DrugId { get; set; }
}
/// <summary>
/// 处方类型
/// </summary>
[Flags]
public enum PrescriptionType
{
/// <summary>
/// 订单
/// </summary>
Order = 1,
/// <summary>
/// 撤销订单,退单
/// </summary>
CancelOrder = 2,
/// <summary>
/// 测试方。测试处方不会发送给第三方
/// </summary>
TestOrder = 4,
}
/// <summary>
/// 接口执行结果
/// </summary>
[Flags]
public enum ResultCode
{
/// <summary>
/// 执行成功。
/// </summary>
Success = 1,
/// <summary>
/// 发生异常
/// </summary>
Exception = 2,
}
}

View File

@ -64,6 +64,8 @@
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
@ -163,9 +165,17 @@
<Compile Include="App_Start\FilterConfig.cs" />
<Compile Include="App_Start\RouteConfig.cs" />
<Compile Include="Bll\BackgroundTask.cs" />
<Compile Include="Connected Services\HisServer\Reference.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Reference.svcmap</DependentUpon>
</Compile>
<Compile Include="Controllers\HomeController.cs" />
<Compile Include="Dal\DbConfig.cs" />
<Compile Include="Dal\HisFrontDbContext.cs" />
<Compile Include="Dal\Tables\HisDrugInfo.cs" />
<Compile Include="Dal\Tables\HisPrescriptionInfo.cs" />
<Compile Include="Dal\Tables\PostLog.cs" />
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
@ -175,6 +185,19 @@
</ItemGroup>
<ItemGroup>
<Content Include="CommonClass.Factory.Log.txt" />
<Content Include="Connected Services\HisServer\CmdjyHisFront.HisServer.PostDrugResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</Content>
<Content Include="Connected Services\HisServer\CmdjyHisFront.HisServer.PostPrescriptionResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</Content>
<None Include="Connected Services\HisServer\HisInterface.disco" />
<None Include="Connected Services\HisServer\configuration91.svcinfo" />
<None Include="Connected Services\HisServer\configuration.svcinfo" />
<None Include="Connected Services\HisServer\Reference.svcmap">
<Generator>WCF Proxy Generator</Generator>
<LastGenOutput>Reference.cs</LastGenOutput>
</None>
<Content Include="Content\bootstrap-theme.css" />
<Content Include="Content\bootstrap-theme.min.css" />
<Content Include="Content\bootstrap.css" />
@ -188,6 +211,7 @@
<Content Include="ApplicationInsights.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="Connected Services\HisServer\HisInterface.wsdl" />
<None Include="Scripts\jquery-3.3.1.intellisense.js" />
<Content Include="Scripts\jquery-3.3.1.js" />
<Content Include="Scripts\jquery-3.3.1.min.js" />
@ -229,6 +253,18 @@
<Content Include="Scripts\jquery-3.3.1.slim.min.map" />
<Content Include="Scripts\jquery-3.3.1.min.map" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\HisInterfaceModels\HisInterfaceModels.csproj">
<Project>{d0fe758c-da33-45c7-8110-563056a58717}</Project>
<Name>HisInterfaceModels</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Connected Services\" />
</ItemGroup>
<ItemGroup>
<WCFMetadataStorage Include="Connected Services\HisServer\" />
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>

View File

@ -5,6 +5,6 @@
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="PostDrugInfoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>CmdjyTests.HisServices.PostDrugInfoResponse, Connected Services.HisServices.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
<GenericObjectDataSource DisplayName="PostDrugResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>CmdjyHisFront.HisServer.PostDrugResponse, Connected Services.HisServer.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@ -5,6 +5,6 @@
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="PostPrescriptionInfoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>CmdjyTests.HisServices.PostPrescriptionInfoResponse, Connected Services.HisServices.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
<GenericObjectDataSource DisplayName="PostPrescriptionResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>CmdjyHisFront.HisServer.PostPrescriptionResponse, Connected Services.HisServer.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
<contractRef ref="http://localhost:22888/ws/HisInterface.asmx?wsdl" docRef="http://localhost:22888/ws/HisInterface.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
<soap address="http://localhost:22888/ws/HisInterface.asmx" xmlns:q1="http://djy.wondersgroup.com/" binding="q1:HisInterfaceSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
<soap address="http://localhost:22888/ws/HisInterface.asmx" xmlns:q2="http://djy.wondersgroup.com/" binding="q2:HisInterfaceSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
</discovery>

View File

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://djy.wondersgroup.com/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://djy.wondersgroup.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://djy.wondersgroup.com/">
<s:element name="PostPrescription">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="msg" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="PostPrescriptionResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="PostPrescriptionResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="PostDrug">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="msg" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="PostDrugResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="PostDrugResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="PostPrescriptionSoapIn">
<wsdl:part name="parameters" element="tns:PostPrescription" />
</wsdl:message>
<wsdl:message name="PostPrescriptionSoapOut">
<wsdl:part name="parameters" element="tns:PostPrescriptionResponse" />
</wsdl:message>
<wsdl:message name="PostDrugSoapIn">
<wsdl:part name="parameters" element="tns:PostDrug" />
</wsdl:message>
<wsdl:message name="PostDrugSoapOut">
<wsdl:part name="parameters" element="tns:PostDrugResponse" />
</wsdl:message>
<wsdl:portType name="HisInterfaceSoap">
<wsdl:operation name="PostPrescription">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">医疗机构上传处方信息</wsdl:documentation>
<wsdl:input message="tns:PostPrescriptionSoapIn" />
<wsdl:output message="tns:PostPrescriptionSoapOut" />
</wsdl:operation>
<wsdl:operation name="PostDrug">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">医疗机构上传药品信息</wsdl:documentation>
<wsdl:input message="tns:PostDrugSoapIn" />
<wsdl:output message="tns:PostDrugSoapOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="HisInterfaceSoap" type="tns:HisInterfaceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="PostPrescription">
<soap:operation soapAction="http://djy.wondersgroup.com/PostPrescription" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="PostDrug">
<soap:operation soapAction="http://djy.wondersgroup.com/PostDrug" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="HisInterfaceSoap12" type="tns:HisInterfaceSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="PostPrescription">
<soap12:operation soapAction="http://djy.wondersgroup.com/PostPrescription" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="PostDrug">
<soap12:operation soapAction="http://djy.wondersgroup.com/PostDrug" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="HisInterface">
<wsdl:port name="HisInterfaceSoap" binding="tns:HisInterfaceSoap">
<soap:address location="http://localhost:22888/ws/HisInterface.asmx" />
</wsdl:port>
<wsdl:port name="HisInterfaceSoap12" binding="tns:HisInterfaceSoap12">
<soap12:address location="http://localhost:22888/ws/HisInterface.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

View File

@ -0,0 +1,246 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace CmdjyHisFront.HisServer {
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(Namespace="http://djy.wondersgroup.com/", ConfigurationName="HisServer.HisInterfaceSoap")]
public interface HisInterfaceSoap {
// CODEGEN: 命名空间 http://djy.wondersgroup.com/ 的元素名称 msg 以后生成的消息协定未标记为 nillable
[System.ServiceModel.OperationContractAttribute(Action="http://djy.wondersgroup.com/PostPrescription", ReplyAction="*")]
CmdjyHisFront.HisServer.PostPrescriptionResponse PostPrescription(CmdjyHisFront.HisServer.PostPrescriptionRequest request);
[System.ServiceModel.OperationContractAttribute(Action="http://djy.wondersgroup.com/PostPrescription", ReplyAction="*")]
System.Threading.Tasks.Task<CmdjyHisFront.HisServer.PostPrescriptionResponse> PostPrescriptionAsync(CmdjyHisFront.HisServer.PostPrescriptionRequest request);
// CODEGEN: 命名空间 http://djy.wondersgroup.com/ 的元素名称 msg 以后生成的消息协定未标记为 nillable
[System.ServiceModel.OperationContractAttribute(Action="http://djy.wondersgroup.com/PostDrug", ReplyAction="*")]
CmdjyHisFront.HisServer.PostDrugResponse PostDrug(CmdjyHisFront.HisServer.PostDrugRequest request);
[System.ServiceModel.OperationContractAttribute(Action="http://djy.wondersgroup.com/PostDrug", ReplyAction="*")]
System.Threading.Tasks.Task<CmdjyHisFront.HisServer.PostDrugResponse> PostDrugAsync(CmdjyHisFront.HisServer.PostDrugRequest request);
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
[System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
public partial class PostPrescriptionRequest {
[System.ServiceModel.MessageBodyMemberAttribute(Name="PostPrescription", Namespace="http://djy.wondersgroup.com/", Order=0)]
public CmdjyHisFront.HisServer.PostPrescriptionRequestBody Body;
public PostPrescriptionRequest() {
}
public PostPrescriptionRequest(CmdjyHisFront.HisServer.PostPrescriptionRequestBody Body) {
this.Body = Body;
}
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
[System.Runtime.Serialization.DataContractAttribute(Namespace="http://djy.wondersgroup.com/")]
public partial class PostPrescriptionRequestBody {
[System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=0)]
public string msg;
public PostPrescriptionRequestBody() {
}
public PostPrescriptionRequestBody(string msg) {
this.msg = msg;
}
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
[System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
public partial class PostPrescriptionResponse {
[System.ServiceModel.MessageBodyMemberAttribute(Name="PostPrescriptionResponse", Namespace="http://djy.wondersgroup.com/", Order=0)]
public CmdjyHisFront.HisServer.PostPrescriptionResponseBody Body;
public PostPrescriptionResponse() {
}
public PostPrescriptionResponse(CmdjyHisFront.HisServer.PostPrescriptionResponseBody Body) {
this.Body = Body;
}
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
[System.Runtime.Serialization.DataContractAttribute(Namespace="http://djy.wondersgroup.com/")]
public partial class PostPrescriptionResponseBody {
[System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=0)]
public string PostPrescriptionResult;
public PostPrescriptionResponseBody() {
}
public PostPrescriptionResponseBody(string PostPrescriptionResult) {
this.PostPrescriptionResult = PostPrescriptionResult;
}
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
[System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
public partial class PostDrugRequest {
[System.ServiceModel.MessageBodyMemberAttribute(Name="PostDrug", Namespace="http://djy.wondersgroup.com/", Order=0)]
public CmdjyHisFront.HisServer.PostDrugRequestBody Body;
public PostDrugRequest() {
}
public PostDrugRequest(CmdjyHisFront.HisServer.PostDrugRequestBody Body) {
this.Body = Body;
}
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
[System.Runtime.Serialization.DataContractAttribute(Namespace="http://djy.wondersgroup.com/")]
public partial class PostDrugRequestBody {
[System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=0)]
public string msg;
public PostDrugRequestBody() {
}
public PostDrugRequestBody(string msg) {
this.msg = msg;
}
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
[System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
public partial class PostDrugResponse {
[System.ServiceModel.MessageBodyMemberAttribute(Name="PostDrugResponse", Namespace="http://djy.wondersgroup.com/", Order=0)]
public CmdjyHisFront.HisServer.PostDrugResponseBody Body;
public PostDrugResponse() {
}
public PostDrugResponse(CmdjyHisFront.HisServer.PostDrugResponseBody Body) {
this.Body = Body;
}
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
[System.Runtime.Serialization.DataContractAttribute(Namespace="http://djy.wondersgroup.com/")]
public partial class PostDrugResponseBody {
[System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=0)]
public string PostDrugResult;
public PostDrugResponseBody() {
}
public PostDrugResponseBody(string PostDrugResult) {
this.PostDrugResult = PostDrugResult;
}
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public interface HisInterfaceSoapChannel : CmdjyHisFront.HisServer.HisInterfaceSoap, System.ServiceModel.IClientChannel {
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public partial class HisInterfaceSoapClient : System.ServiceModel.ClientBase<CmdjyHisFront.HisServer.HisInterfaceSoap>, CmdjyHisFront.HisServer.HisInterfaceSoap {
public HisInterfaceSoapClient() {
}
public HisInterfaceSoapClient(string endpointConfigurationName) :
base(endpointConfigurationName) {
}
public HisInterfaceSoapClient(string endpointConfigurationName, string remoteAddress) :
base(endpointConfigurationName, remoteAddress) {
}
public HisInterfaceSoapClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
base(endpointConfigurationName, remoteAddress) {
}
public HisInterfaceSoapClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
base(binding, remoteAddress) {
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
CmdjyHisFront.HisServer.PostPrescriptionResponse CmdjyHisFront.HisServer.HisInterfaceSoap.PostPrescription(CmdjyHisFront.HisServer.PostPrescriptionRequest request) {
return base.Channel.PostPrescription(request);
}
public string PostPrescription(string msg) {
CmdjyHisFront.HisServer.PostPrescriptionRequest inValue = new CmdjyHisFront.HisServer.PostPrescriptionRequest();
inValue.Body = new CmdjyHisFront.HisServer.PostPrescriptionRequestBody();
inValue.Body.msg = msg;
CmdjyHisFront.HisServer.PostPrescriptionResponse retVal = ((CmdjyHisFront.HisServer.HisInterfaceSoap)(this)).PostPrescription(inValue);
return retVal.Body.PostPrescriptionResult;
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
System.Threading.Tasks.Task<CmdjyHisFront.HisServer.PostPrescriptionResponse> CmdjyHisFront.HisServer.HisInterfaceSoap.PostPrescriptionAsync(CmdjyHisFront.HisServer.PostPrescriptionRequest request) {
return base.Channel.PostPrescriptionAsync(request);
}
public System.Threading.Tasks.Task<CmdjyHisFront.HisServer.PostPrescriptionResponse> PostPrescriptionAsync(string msg) {
CmdjyHisFront.HisServer.PostPrescriptionRequest inValue = new CmdjyHisFront.HisServer.PostPrescriptionRequest();
inValue.Body = new CmdjyHisFront.HisServer.PostPrescriptionRequestBody();
inValue.Body.msg = msg;
return ((CmdjyHisFront.HisServer.HisInterfaceSoap)(this)).PostPrescriptionAsync(inValue);
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
CmdjyHisFront.HisServer.PostDrugResponse CmdjyHisFront.HisServer.HisInterfaceSoap.PostDrug(CmdjyHisFront.HisServer.PostDrugRequest request) {
return base.Channel.PostDrug(request);
}
public string PostDrug(string msg) {
CmdjyHisFront.HisServer.PostDrugRequest inValue = new CmdjyHisFront.HisServer.PostDrugRequest();
inValue.Body = new CmdjyHisFront.HisServer.PostDrugRequestBody();
inValue.Body.msg = msg;
CmdjyHisFront.HisServer.PostDrugResponse retVal = ((CmdjyHisFront.HisServer.HisInterfaceSoap)(this)).PostDrug(inValue);
return retVal.Body.PostDrugResult;
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
System.Threading.Tasks.Task<CmdjyHisFront.HisServer.PostDrugResponse> CmdjyHisFront.HisServer.HisInterfaceSoap.PostDrugAsync(CmdjyHisFront.HisServer.PostDrugRequest request) {
return base.Channel.PostDrugAsync(request);
}
public System.Threading.Tasks.Task<CmdjyHisFront.HisServer.PostDrugResponse> PostDrugAsync(string msg) {
CmdjyHisFront.HisServer.PostDrugRequest inValue = new CmdjyHisFront.HisServer.PostDrugRequest();
inValue.Body = new CmdjyHisFront.HisServer.PostDrugRequestBody();
inValue.Body.msg = msg;
return ((CmdjyHisFront.HisServer.HisInterfaceSoap)(this)).PostDrugAsync(inValue);
}
}
}

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="07ca8fe7-a473-45fc-8ccc-8b0c9235080e" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
<ClientOptions>
<GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
<GenerateTaskBasedAsynchronousMethod>true</GenerateTaskBasedAsynchronousMethod>
<EnableDataBinding>true</EnableDataBinding>
<ExcludedTypes />
<ImportXmlTypes>false</ImportXmlTypes>
<GenerateInternalTypes>false</GenerateInternalTypes>
<GenerateMessageContracts>false</GenerateMessageContracts>
<NamespaceMappings />
<CollectionMappings />
<GenerateSerializableTypes>true</GenerateSerializableTypes>
<Serializer>Auto</Serializer>
<UseSerializerForFaults>true</UseSerializerForFaults>
<ReferenceAllAssemblies>true</ReferenceAllAssemblies>
<ReferencedAssemblies />
<ReferencedDataContractTypes />
<ServiceContractMappings />
</ClientOptions>
<MetadataSources>
<MetadataSource Address="http://localhost:22888/ws/HisInterface.asmx" Protocol="http" SourceId="1" />
</MetadataSources>
<Metadata>
<MetadataFile FileName="HisInterface.wsdl" MetadataType="Wsdl" ID="3bcce581-9a86-48b7-af19-b1a022ed016d" SourceId="1" SourceUrl="http://localhost:22888/ws/HisInterface.asmx?wsdl" />
<MetadataFile FileName="HisInterface.disco" MetadataType="Disco" ID="801aed75-e18b-4193-8389-f52537cc856b" SourceId="1" SourceUrl="http://localhost:22888/ws/HisInterface.asmx?disco" />
</Metadata>
<Extensions>
<ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
<ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
</Extensions>
</ReferenceGroup>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
<behaviors />
<bindings>
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data name=&quot;HisInterfaceSoap&quot; /&gt;" bindingType="basicHttpBinding" name="HisInterfaceSoap" />
</bindings>
<endpoints>
<endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:22888/ws/HisInterface.asmx&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;HisInterfaceSoap&quot; contract=&quot;HisServer.HisInterfaceSoap&quot; name=&quot;HisInterfaceSoap&quot; /&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:22888/ws/HisInterface.asmx&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;HisInterfaceSoap&quot; contract=&quot;HisServer.HisInterfaceSoap&quot; name=&quot;HisInterfaceSoap&quot; /&gt;" contractName="HisServer.HisInterfaceSoap" name="HisInterfaceSoap" />
</endpoints>
</configurationSnapshot>

View File

@ -0,0 +1,201 @@
<?xml version="1.0" encoding="utf-8"?>
<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="x0FiUIzWoSglD20yezGMz3DCepY=">
<bindingConfigurations>
<bindingConfiguration bindingType="basicHttpBinding" name="HisInterfaceSoap">
<properties>
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>HisInterfaceSoap</serializedValue>
</property>
<property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>StrongWildcard</serializedValue>
</property>
<property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>65536</serializedValue>
</property>
<property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
</property>
<property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.Text.UTF8Encoding</serializedValue>
</property>
<property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Buffered</serializedValue>
</property>
<property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Text</serializedValue>
</property>
<property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
</property>
<property path="/security/mode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
</property>
<property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Never</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>TransportSelected</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>(集合)</serializedValue>
</property>
<property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
</property>
<property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>UserName</serializedValue>
</property>
<property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Default</serializedValue>
</property>
</properties>
</bindingConfiguration>
</bindingConfigurations>
<endpoints>
<endpoint name="HisInterfaceSoap" contract="HisServer.HisInterfaceSoap" bindingType="basicHttpBinding" address="http://localhost:22888/ws/HisInterface.asmx" bindingConfiguration="HisInterfaceSoap">
<properties>
<property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>http://localhost:22888/ws/HisInterface.asmx</serializedValue>
</property>
<property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>basicHttpBinding</serializedValue>
</property>
<property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>HisInterfaceSoap</serializedValue>
</property>
<property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>HisServer.HisInterfaceSoap</serializedValue>
</property>
<property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
</property>
<property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>&lt;Header /&gt;</serializedValue>
</property>
<property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
</property>
<property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
</property>
<property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
</property>
<property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
</property>
<property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
</property>
<property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
</property>
<property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
</property>
<property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>My</serializedValue>
</property>
<property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>LocalMachine</serializedValue>
</property>
<property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>FindBySubjectDistinguishedName</serializedValue>
</property>
<property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>False</serializedValue>
</property>
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>HisInterfaceSoap</serializedValue>
</property>
<property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
</properties>
</endpoint>
</endpoints>
</SavedWcfConfigurationInformation>

View File

@ -1,4 +1,5 @@
using System.Data.Entity;
using CmdjyHisFront.Dal.Tables;
namespace CmdjyHisFront.Dal
{
@ -11,4 +12,17 @@ namespace CmdjyHisFront.Dal
this.Database.CreateIfNotExists();
}
}
partial class HisFrontDbContext
{
/// <summary>
/// 处方信息
/// </summary>
public DbSet<HisPrescriptionInfo> PrescriptionInfo { get; set; }
/// <summary>
/// 药品信息
/// </summary>
public DbSet<HisDrugInfo> DrugInfo { get; set; }
}
}

View File

@ -0,0 +1,67 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace CmdjyHisFront.Dal.Tables
{
/// <summary>
/// HIS发送的药品信息
/// </summary>
[Table("HisDrugInfo")]
public class HisDrugInfo
{
/// <summary>
/// 主键,药品流水号
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
/// 记录创建时间
/// </summary>
public DateTime CreateDatetime { get; set; }
/// <summary>
/// 处方流水号
/// </summary>
public int PrescriptionId { get; set; }
/// <summary>
/// 发送请求的原始IP地址
/// </summary>
public string RawAddress { get; set; }
/// <summary>
/// "药品医保代码":"YP0306401000650",
/// </summary>
public string DrugNo { get; set; }
/// <summary>
/// 药品单价 0.085
/// </summary>
public string Price { get; set; }
/// <summary>
/// 单贴数量
/// </summary>
public string Count { get; set; }
/// <summary>
/// 单位 克
/// </summary>
public string Unit { get; set; }
/// <summary>
/// 单项总价
/// </summary>
public string Sum { get; set; }
/// <summary>
/// 规格 15.00000000
/// </summary>
public string DrugType { get; set; }
/// <summary>
/// 药品编码
/// </summary>
public string DrugLocalNo { get; set; }
/// <summary>
/// 药品名称
/// </summary>
public string DrugName { get; set; }
/// <summary>
/// 特殊要求
/// </summary>
public string Remark { get; set; }
}
}

View File

@ -0,0 +1,191 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace CmdjyHisFront.Dal.Tables
{
/// <summary>
/// HIS发送的处方信息
/// </summary>
[Table("HisPrescriptionInfo")]
public class HisPrescriptionInfo
{
/// <summary>
/// 主键,处方流水号
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
/// 记录创建时间
/// </summary>
public DateTime CreateDatetime { get; set; }
/// <summary>
/// 发送请求的原始IP地址
/// </summary>
public string RawAddress { get; set; }
/// <summary>
/// 处方类型
/// </summary>
public PrescriptionType Type { get; set; }
/// <summary>
/// 如果为退方,这里传要退的处方流水号。此编号在下单应答消息中提供
/// </summary>
public string RawRecordId { get; set; }
/// <summary>
/// 药品明细数量
/// </summary>
public string DrugCount { get; set; }
/// <summary>
/// 处方备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 带回病房 否
/// </summary>
public string TakeBack { get; set; }
/// <summary>
/// "操作类型": "煎药自取", or "操作类型": "煎药快递", or "操作类型": "配药快递"
/// </summary>
public string OpType { get; set; }
/// <summary>
/// 操作员
/// </summary>
public string OpUser { get; set; }
/// <summary>
/// 病区
/// </summary>
public string Area { get; set; }
/// <summary>
/// 病床号
/// </summary>
public string Bed { get; set; }
/// <summary>
/// 操作时间
/// </summary>
public string OpDatatime { get; set; }
/// <summary>
/// 处方号
/// </summary>
public string PrescriptionNo { get; set; }
/// <summary>
/// 处方日期
/// </summary>
public string PrescriptionDatatime { get; set; }
/// <summary>
/// 单位编号 医疗机构编号
/// </summary>
public string HosNo { get; set; }
/// <summary>
/// 医疗机构名称
/// </summary>
public string HosName { get; set; }
/// <summary>
/// 发票号
/// </summary>
public string InvoiceNo { get; set; }
/// <summary>
/// 病人编号
/// </summary>
public string PatientNo { get; set; }
/// <summary>
/// 病人卡号
/// </summary>
public string CardNo { get; set; }
/// <summary>
/// 科室名称
/// </summary>
public string DepName { get; set; }
/// <summary>
/// 病人年龄
/// </summary>
public string PatientAge { get; set; }
/// <summary>
/// 病人生日
/// </summary>
public string PatientBrithday { get; set; }
/// <summary>
/// 病人手机号码
/// </summary>
public string PatientMobile { get; set; }
/// <summary>
/// 病人电话
/// </summary>
public string PatientPhone { get; set; }
/// <summary>
/// 所在区县街道
/// </summary>
public string District { get; set; }
/// <summary>
/// 送货地址
/// </summary>
public string PostAddress { get; set; }
/// <summary>
/// 送货时间
/// </summary>
public string PostDatatime { get; set; }
/// <summary>
/// 贴数
/// </summary>
public string UseCount { get; set; }
/// <summary>
/// 病人性别
/// </summary>
public string PatientSex { get; set; }
/// <summary>
/// 病人姓名
/// </summary>
public string PatientName { get; set; }
/// <summary>
/// 医生姓名
/// </summary>
public string DoctorName { get; set; }
/// <summary>
/// 诊断
/// </summary>
public string Diagnosis { get; set; }
/// <summary>
/// 用法
/// </summary>
public string Usage { get; set; }
/// <summary>
/// 治疗号
/// </summary>
public string Zlh { get; set; }
/// <summary>
/// 收费序号
/// </summary>
public int Sfxh { get; set; }
/// <summary>
/// 收费费用序号
/// </summary>
public string Sffyxh { get; set; }
/// <summary>
/// 代煎药厂商代码
/// </summary>
public string CompanyCode { get; set; }
/// <summary>
/// 代煎药厂商名称
/// </summary>
public string CompanyName { get; set; }
}
/// <summary>
/// 处方类型
/// </summary>
[Flags]
public enum PrescriptionType
{
/// <summary>
/// 订单
/// </summary>
Order = 1,
/// <summary>
/// 撤销订单,退单
/// </summary>
CancelOrder = 2,
/// <summary>
/// 测试方。测试处方不会发送给第三方
/// </summary>
TestOrder = 4,
}
}

View File

@ -0,0 +1,41 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace CmdjyHisFront.Dal.Tables
{
/// <summary>
/// 上传记录表
/// </summary>
public class PostLog
{
/// <summary>
///
/// </summary>
public int Id { get; set; }
/// <summary>
///
/// </summary>
public int HisPrescriptionInfoId { get; set; }
/// <summary>
///
/// </summary>
public int ResultCode { get; set; }
/// <summary>
///
/// </summary>
/// <summary>
///
/// </summary>
public string ResultMsg { get; set; }
/// <summary>
///
/// </summary>
public int PrescriptionId { get; set; }
/// <summary>
///
/// </summary>
public DateTime PostDatatime { get; set; }
}
}

View File

@ -89,4 +89,16 @@
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="HisInterfaceSoap" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:22888/ws/HisInterface.asmx"
binding="basicHttpBinding" bindingConfiguration="HisInterfaceSoap"
contract="HisServer.HisInterfaceSoap" name="HisInterfaceSoap" />
</client>
</system.serviceModel>
</configuration>

View File

@ -23,7 +23,7 @@ namespace CmdjyHisFront
if(bool.TryParse(val,out bool v)) {
return v;
}
return true;
return false;
}
}
}

View File

@ -84,13 +84,17 @@
<Project>{03F35833-1CF9-42BC-BF51-444F7181A967}</Project>
<Name>Cmdjy</Name>
</ProjectReference>
<ProjectReference Include="..\HisInterfaceModels\HisInterfaceModels.csproj">
<Project>{d0fe758c-da33-45c7-8110-563056a58717}</Project>
<Name>HisInterfaceModels</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="Connected Services\HisServices\CmdjyTests.HisServices.PostDrugInfoResponse.datasource">
<None Include="Connected Services\HisServices\CmdjyTests.HisServices.PostDrugResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</None>
<None Include="Connected Services\HisServices\CmdjyTests.HisServices.PostPrescriptionInfoResponse.datasource">
<None Include="Connected Services\HisServices\CmdjyTests.HisServices.PostPrescriptionResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</None>
<None Include="Connected Services\HisServices\HisInterface.wsdl" />

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="PostDrugResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>CmdjyTests.HisServices.PostDrugResponse, Connected Services.HisServices.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="PostPrescriptionResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>CmdjyTests.HisServices.PostPrescriptionResponse, Connected Services.HisServices.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@ -2,129 +2,64 @@
<wsdl:definitions xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://djy.wondersgroup.com/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://djy.wondersgroup.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://djy.wondersgroup.com/">
<s:element name="PostPrescriptionInfo">
<s:element name="PostPrescription">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="info" type="tns:HisPrescriptionInfo" />
<s:element minOccurs="0" maxOccurs="1" name="msg" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="HisPrescriptionInfo">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:PrescriptionType" />
<s:element minOccurs="0" maxOccurs="1" name="RawRecordId" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DrugCount" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Remark" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="TakeBack" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="OpType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="OpUser" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Area" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Bed" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="OpDatatime" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PrescriptionNo" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PrescriptionDatatime" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="HosNo" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="HosName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="InvoiceNo" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PatientNo" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="CardNo" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DepName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PatientAge" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PatientBrithday" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PatientMobile" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PatientPhone" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="District" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PostAddress" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PostDatatime" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="UseCount" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PatientSex" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PatientName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DoctorName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Diagnosis" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Usage" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Zlh" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="Sfxh" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Sffyxh" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="CompanyCode" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="CompanyName" type="s:string" />
</s:sequence>
</s:complexType>
<s:simpleType name="PrescriptionType">
<s:list>
<s:simpleType>
<s:restriction base="s:string">
<s:enumeration value="Order" />
<s:enumeration value="CancelOrder" />
<s:enumeration value="TestOrder" />
</s:restriction>
</s:simpleType>
</s:list>
</s:simpleType>
<s:element name="PostPrescriptionInfoResponse">
<s:element name="PostPrescriptionResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="PostPrescriptionInfoResult" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PostPrescriptionResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="PostDrugInfo">
<s:element name="PostDrug">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="info" type="tns:HisDrugInfo" />
<s:element minOccurs="0" maxOccurs="1" name="msg" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="HisDrugInfo">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="PrescriptionId" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DrugNo" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Price" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Count" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Unit" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Sum" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DrugType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DrugLocalNo" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DrugName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Remark" type="s:string" />
</s:sequence>
</s:complexType>
<s:element name="PostDrugInfoResponse">
<s:element name="PostDrugResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="PostDrugInfoResult" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PostDrugResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="PostPrescriptionInfoSoapIn">
<wsdl:part name="parameters" element="tns:PostPrescriptionInfo" />
<wsdl:message name="PostPrescriptionSoapIn">
<wsdl:part name="parameters" element="tns:PostPrescription" />
</wsdl:message>
<wsdl:message name="PostPrescriptionInfoSoapOut">
<wsdl:part name="parameters" element="tns:PostPrescriptionInfoResponse" />
<wsdl:message name="PostPrescriptionSoapOut">
<wsdl:part name="parameters" element="tns:PostPrescriptionResponse" />
</wsdl:message>
<wsdl:message name="PostDrugInfoSoapIn">
<wsdl:part name="parameters" element="tns:PostDrugInfo" />
<wsdl:message name="PostDrugSoapIn">
<wsdl:part name="parameters" element="tns:PostDrug" />
</wsdl:message>
<wsdl:message name="PostDrugInfoSoapOut">
<wsdl:part name="parameters" element="tns:PostDrugInfoResponse" />
<wsdl:message name="PostDrugSoapOut">
<wsdl:part name="parameters" element="tns:PostDrugResponse" />
</wsdl:message>
<wsdl:portType name="HisInterfaceSoap">
<wsdl:operation name="PostPrescriptionInfo">
<wsdl:operation name="PostPrescription">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">医疗机构上传处方信息</wsdl:documentation>
<wsdl:input message="tns:PostPrescriptionInfoSoapIn" />
<wsdl:output message="tns:PostPrescriptionInfoSoapOut" />
<wsdl:input message="tns:PostPrescriptionSoapIn" />
<wsdl:output message="tns:PostPrescriptionSoapOut" />
</wsdl:operation>
<wsdl:operation name="PostDrugInfo">
<wsdl:operation name="PostDrug">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">医疗机构上传药品信息</wsdl:documentation>
<wsdl:input message="tns:PostDrugInfoSoapIn" />
<wsdl:output message="tns:PostDrugInfoSoapOut" />
<wsdl:input message="tns:PostDrugSoapIn" />
<wsdl:output message="tns:PostDrugSoapOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="HisInterfaceSoap" type="tns:HisInterfaceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="PostPrescriptionInfo">
<soap:operation soapAction="http://djy.wondersgroup.com/PostPrescriptionInfo" style="document" />
<wsdl:operation name="PostPrescription">
<soap:operation soapAction="http://djy.wondersgroup.com/PostPrescription" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
@ -132,8 +67,8 @@
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="PostDrugInfo">
<soap:operation soapAction="http://djy.wondersgroup.com/PostDrugInfo" style="document" />
<wsdl:operation name="PostDrug">
<soap:operation soapAction="http://djy.wondersgroup.com/PostDrug" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
@ -144,8 +79,8 @@
</wsdl:binding>
<wsdl:binding name="HisInterfaceSoap12" type="tns:HisInterfaceSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="PostPrescriptionInfo">
<soap12:operation soapAction="http://djy.wondersgroup.com/PostPrescriptionInfo" style="document" />
<wsdl:operation name="PostPrescription">
<soap12:operation soapAction="http://djy.wondersgroup.com/PostPrescription" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
@ -153,8 +88,8 @@
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="PostDrugInfo">
<soap12:operation soapAction="http://djy.wondersgroup.com/PostDrugInfo" style="document" />
<wsdl:operation name="PostDrug">
<soap12:operation soapAction="http://djy.wondersgroup.com/PostDrug" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>

View File

@ -9,6 +9,7 @@ using CmdjyTests.HisServices;
using Newtonsoft.Json;
using Cmdjy.Dal;
using System.Reflection;
using HisInterfaceModels;
namespace Cmdjy.ws.Tests
{
@ -18,7 +19,7 @@ namespace Cmdjy.ws.Tests
[TestMethod()]
public void PostPrescriptionInfoTest() {
var service = new HisInterfaceSoapClient();
var newpres = new CmdjyTests.HisServices.HisPrescriptionInfo {
var newpres = new HisPrescriptionInfo {
Area = "Area",Bed = "Bed",CardNo = "CardNo",CompanyCode = "CompanyCode",
CompanyName = "CompanyName",DepName = "DepName",Diagnosis = "Diagnosis",District = "District",
DoctorName = "DoctorName",DrugCount = "DrugCount",HosName = "HosName",HosNo = "HosNo",InvoiceNo = "InvoiceNo",
@ -27,9 +28,10 @@ namespace Cmdjy.ws.Tests
PatientNo = "PatientNo",PatientPhone = "PatientPhone",PatientSex = "PatientSex",PostAddress = "PostAddress",
PostDatatime = "PostDatatime",PrescriptionDatatime = "PrescriptionDatatime",PrescriptionNo = "PrescriptionNo",
RawRecordId = "RawRecordId",Remark = "Remark",Sffyxh = "Sffyxh",Sfxh = 1,TakeBack = "TakeBack",
Type = CmdjyTests.HisServices.PrescriptionType.Order,Usage = "Usage",UseCount = "UseCount",Zlh = "Zlh",
Type = PrescriptionType.Order,Usage = "Usage",UseCount = "UseCount",Zlh = "Zlh",
};
var result = service.PostPrescriptionInfo(newpres);
var msg = JsonConvert.SerializeObject(newpres);
var result = service.PostPrescription(msg);
Console.WriteLine($"result:{result}");
var rObj = JsonConvert.DeserializeObject<HisPrescriptionResult>(result);
Assert.IsTrue(rObj.Code == ResultCode.Success);
@ -40,10 +42,13 @@ namespace Cmdjy.ws.Tests
var fst = qu.First();
foreach(PropertyInfo p in newpres.GetType().GetProperties()) {
var dbp = fst.GetType().GetProperties().Where(m => m.Name == p.Name);
Assert.IsTrue(dbp.Any());
Assert.IsTrue(dbp.Any(),$"不包含属性{p.Name}");
var lv = p.GetValue(newpres);
var dbv = fst.GetType().GetProperties().First(m => m.Name == p.Name).GetValue(fst);
Assert.IsTrue(dbv.Equals(lv));
var bj =
p.Name == "Type" ? dbv.ToString() == lv.ToString() :
dbv.Equals(lv);
Assert.IsTrue(bj,$"属性比较失败:{p.Name}:{dbv}:{lv}");
}
foreach(var item in qu) {
db.Entry(item).State = System.Data.Entity.EntityState.Deleted;
@ -52,24 +57,4 @@ namespace Cmdjy.ws.Tests
}
}
}
/// <summary>
/// HIS发送处方信息应答
/// </summary>
public class HisPrescriptionResult
{
/// <summary>
/// 返回结果代码
/// </summary>
public ResultCode Code { get; set; }
/// <summary>
/// 返回信息。如执行错误包含错误信息
/// </summary>
public string Msg { get; set; }
/// <summary>
/// 处方流水号,执行错误为空
/// </summary>
public string PrescriptionId { get; set; }
}
}

View File

@ -25,6 +25,10 @@
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.1" newVersion="4.0.2.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.9.2.0" newVersion="4.9.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.serviceModel>

View File

@ -0,0 +1,49 @@
namespace HisInterfaceModels
{
/// <summary>
/// HIS发送的药品信息
/// </summary>
public class HisDrugInfo
{
/// <summary>
/// 处方流水号
/// </summary>
public string PrescriptionId { get; set; }
/// <summary>
/// "药品医保代码":"YP0306401000650",
/// </summary>
public string DrugNo { get; set; }
/// <summary>
/// 药品单价 0.085
/// </summary>
public string Price { get; set; }
/// <summary>
/// 单贴数量
/// </summary>
public string Count { get; set; }
/// <summary>
/// 单位 克
/// </summary>
public string Unit { get; set; }
/// <summary>
/// 单项总价
/// </summary>
public string Sum { get; set; }
/// <summary>
/// 规格 15.00000000
/// </summary>
public string DrugType { get; set; }
/// <summary>
/// 药品编码
/// </summary>
public string DrugLocalNo { get; set; }
/// <summary>
/// 药品名称
/// </summary>
public string DrugName { get; set; }
/// <summary>
/// 特殊要求
/// </summary>
public string Remark { get; set; }
}
}

View File

@ -0,0 +1,21 @@
namespace HisInterfaceModels
{
/// <summary>
/// HIS发送的药品信息应答
/// </summary>
public class HisDrugResult
{
/// <summary>
/// 返回结果代码
/// </summary>
public ResultCode Code { get; set; }
/// <summary>
/// 返回信息。如执行错误包含错误信息
/// </summary>
public string Msg { get; set; }
/// <summary>
/// 药品流水号,执行错误为空
/// </summary>
public string DrugId { get; set; }
}
}

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{D0FE758C-DA33-45C7-8110-563056A58717}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>HisInterfaceModels</RootNamespace>
<AssemblyName>HisInterfaceModels</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="HisDrugInfo.cs" />
<Compile Include="HisDrugResult.cs" />
<Compile Include="HisPrescriptionInfo.cs" />
<Compile Include="HisPrescriptionResult.cs" />
<Compile Include="IHisPostInfo.cs" />
<Compile Include="PrescriptionType.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ResultCode.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -0,0 +1,153 @@
namespace HisInterfaceModels
{
/// <summary>
/// HIS发送的处方信息
/// </summary>
public class HisPrescriptionInfo
{
/// <summary>
/// 处方类型
/// </summary>
public PrescriptionType Type { get; set; }
/// <summary>
/// 如果为退方,这里传要退的处方流水号。此编号在下单应答消息中提供
/// </summary>
public string RawRecordId { get; set; }
/// <summary>
/// 药品明细数量
/// </summary>
public string DrugCount { get; set; }
/// <summary>
/// 处方备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 带回病房 否
/// </summary>
public string TakeBack { get; set; }
/// <summary>
/// "操作类型": "煎药自取", or "操作类型": "煎药快递", or "操作类型": "配药快递"
/// </summary>
public string OpType { get; set; }
/// <summary>
/// 操作员
/// </summary>
public string OpUser { get; set; }
/// <summary>
/// 病区
/// </summary>
public string Area { get; set; }
/// <summary>
/// 病床号
/// </summary>
public string Bed { get; set; }
/// <summary>
/// 操作时间
/// </summary>
public string OpDatatime { get; set; }
/// <summary>
/// 处方号
/// </summary>
public string PrescriptionNo { get; set; }
/// <summary>
/// 处方日期
/// </summary>
public string PrescriptionDatatime { get; set; }
/// <summary>
/// 单位编号 医疗机构编号
/// </summary>
public string HosNo { get; set; }
/// <summary>
/// 医疗机构名称
/// </summary>
public string HosName { get; set; }
/// <summary>
/// 发票号
/// </summary>
public string InvoiceNo { get; set; }
/// <summary>
/// 病人编号
/// </summary>
public string PatientNo { get; set; }
/// <summary>
/// 病人卡号
/// </summary>
public string CardNo { get; set; }
/// <summary>
/// 科室名称
/// </summary>
public string DepName { get; set; }
/// <summary>
/// 病人年龄
/// </summary>
public string PatientAge { get; set; }
/// <summary>
/// 病人生日
/// </summary>
public string PatientBrithday { get; set; }
/// <summary>
/// 病人手机号码
/// </summary>
public string PatientMobile { get; set; }
/// <summary>
/// 病人电话
/// </summary>
public string PatientPhone { get; set; }
/// <summary>
/// 所在区县街道
/// </summary>
public string District { get; set; }
/// <summary>
/// 送货地址
/// </summary>
public string PostAddress { get; set; }
/// <summary>
/// 送货时间
/// </summary>
public string PostDatatime { get; set; }
/// <summary>
/// 贴数
/// </summary>
public string UseCount { get; set; }
/// <summary>
/// 病人性别
/// </summary>
public string PatientSex { get; set; }
/// <summary>
/// 病人姓名
/// </summary>
public string PatientName { get; set; }
/// <summary>
/// 医生姓名
/// </summary>
public string DoctorName { get; set; }
/// <summary>
/// 诊断
/// </summary>
public string Diagnosis { get; set; }
/// <summary>
/// 用法
/// </summary>
public string Usage { get; set; }
/// <summary>
/// 治疗号
/// </summary>
public string Zlh { get; set; }
/// <summary>
/// 收费序号
/// </summary>
public int Sfxh { get; set; }
/// <summary>
/// 收费费用序号
/// </summary>
public string Sffyxh { get; set; }
/// <summary>
/// 代煎药厂商代码
/// </summary>
public string CompanyCode { get; set; }
/// <summary>
/// 代煎药厂商名称
/// </summary>
public string CompanyName { get; set; }
}
}

View File

@ -0,0 +1,21 @@
namespace HisInterfaceModels
{
/// <summary>
/// HIS发送处方信息应答
/// </summary>
public class HisPrescriptionResult
{
/// <summary>
/// 返回结果代码
/// </summary>
public ResultCode Code { get; set; }
/// <summary>
/// 返回信息。如执行错误包含错误信息
/// </summary>
public string Msg { get; set; }
/// <summary>
/// 处方流水号,执行错误为空
/// </summary>
public string PrescriptionId { get; set; }
}
}

View File

@ -0,0 +1,21 @@
namespace HisInterfaceModels
{
/// <summary>
/// 医疗机构接口
/// </summary>
public interface IHisPostInfo
{
/// <summary>
///上传处方信息
/// </summary>
/// <param name="info">处方信息HisPrescriptionInfo</param>
/// <returns>处方上传结果HisPrescriptionResult</returns>
string PostPrescription(string info);
/// <summary>
/// 上传药品信息
/// </summary>
/// <param name="info">药品信息HisDrugInfo</param>
/// <returns>药品上传结果HisDrugResult</returns>
string PostDrug(string info);
}
}

View File

@ -0,0 +1,24 @@
using System;
namespace HisInterfaceModels
{
/// <summary>
/// 处方类型
/// </summary>
[Flags]
public enum PrescriptionType
{
/// <summary>
/// 订单
/// </summary>
Order = 1,
/// <summary>
/// 撤销订单,退单
/// </summary>
CancelOrder = 2,
/// <summary>
/// 测试方。测试处方不会发送给第三方
/// </summary>
TestOrder = 4,
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("HisInterfaceModels")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("HisInterfaceModels")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2019")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("d0fe758c-da33-45c7-8110-563056a58717")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,21 @@
using System;
namespace HisInterfaceModels
{
/// <summary>
/// 接口执行结果
/// </summary>
[Flags]
public enum ResultCode
{
/// <summary>
/// 执行成功。
/// </summary>
Success = 1,
/// <summary>
/// 发生异常
/// </summary>
Exception = 2,
}
}