You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
4.0 KiB
112 lines
4.0 KiB
using Microsoft.Extensions.Configuration;
|
|
using ServiceReferenceHzcyHis;
|
|
using Shentun.Peis.PlugIns.Extensions.ChargeRequests.Hzcy;
|
|
using Shentun.Peis.PlugIns.PatientRegisters;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Xml.Serialization;
|
|
using static ServiceReferenceHzcyHis.bstjPortTypeClient;
|
|
|
|
namespace Shentun.Peis.PlugIns.Extensions.PatientRegisters.Qztl
|
|
{
|
|
public class PatientRegisterPluginsHzcyHis : PatientRegisterPluginsBase
|
|
{
|
|
private string _endpointAddress = "";
|
|
|
|
public PatientRegisterPluginsHzcyHis(string parmValue) : base(parmValue)
|
|
{
|
|
|
|
_endpointAddress = InterfaceConfig.GetSection("Interface").GetSection("EndpointAddress").Value;
|
|
}
|
|
|
|
public async Task<HisPatientQueryOut> PatientQuery(HisPatientQueryInput input)
|
|
{
|
|
using (var client = CreateClient())
|
|
{
|
|
input.SeviceBaseArg.Service = "patientQuery";
|
|
var data = XmlHelper.SerializeToXml(input.Data);
|
|
|
|
var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service,
|
|
input.SeviceBaseArg.Urid,
|
|
input.SeviceBaseArg.Pwd,
|
|
data)).@return;
|
|
var result = XmlHelper.DeserializeXml<HisPatientQueryOut>(resultStr);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public async Task<HisMecSaveOut> MecSave(HisMecSaveInput input)
|
|
{
|
|
using (var client = CreateClient())
|
|
{
|
|
input.SeviceBaseArg.Service = "mecSave";
|
|
var data = XmlHelper.SerializeToXml(input.Data);
|
|
|
|
var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service,
|
|
input.SeviceBaseArg.Urid,
|
|
input.SeviceBaseArg.Pwd,
|
|
data)).@return;
|
|
var result = XmlHelper.DeserializeXml<HisMecSaveOut>(resultStr);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
public async Task<HisOutBase> CancelQrCode(HisCancelQrCodeInput input)
|
|
{
|
|
using (var client = CreateClient())
|
|
{
|
|
input.SeviceBaseArg.Service = "cancelQrCode";
|
|
var data = XmlHelper.SerializeToXml(input.Data);
|
|
|
|
var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service,
|
|
input.SeviceBaseArg.Urid,
|
|
input.SeviceBaseArg.Pwd,
|
|
data)).@return;
|
|
var result = XmlHelper.DeserializeXml<HisOutBase>(resultStr);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public async Task<HisOutBase> PayStatus(HisPayStatusInput input)
|
|
{
|
|
using (var client = CreateClient())
|
|
{
|
|
input.SeviceBaseArg.Service = "payStatus";
|
|
var data = XmlHelper.SerializeToXml(input.Data);
|
|
|
|
var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service,
|
|
input.SeviceBaseArg.Urid,
|
|
input.SeviceBaseArg.Pwd,
|
|
data)).@return;
|
|
var result = XmlHelper.DeserializeXml<HisOutBase>(resultStr);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public async Task<HisOutBase> AgreeRefund(HisAgreeRefundInput input)
|
|
{
|
|
using (var client = CreateClient())
|
|
{
|
|
input.SeviceBaseArg.Service = "agreeRefund";
|
|
var data = XmlHelper.SerializeToXml(input.Data);
|
|
|
|
var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service,
|
|
input.SeviceBaseArg.Urid,
|
|
input.SeviceBaseArg.Pwd,
|
|
data)).@return;
|
|
var result = XmlHelper.DeserializeXml<HisOutBase>(resultStr);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
private bstjPortTypeClient CreateClient()
|
|
{
|
|
return new bstjPortTypeClient(EndpointConfiguration.bstjHttpSoap11Endpoint,
|
|
_endpointAddress);
|
|
}
|
|
}
|
|
}
|