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

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. using Microsoft.Extensions.Configuration;
  2. using ServiceReferenceHzcyHis;
  3. using Shentun.Peis.PlugIns.Extensions.ChargeRequests.Hzcy;
  4. using Shentun.Peis.PlugIns.PatientRegisters;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Xml.Serialization;
  11. using static ServiceReferenceHzcyHis.bstjPortTypeClient;
  12. namespace Shentun.Peis.PlugIns.Extensions.PatientRegisters.Qztl
  13. {
  14. public class PatientRegisterPluginsHzcyHis : PatientRegisterPluginsBase
  15. {
  16. private string _endpointAddress = "";
  17. public PatientRegisterPluginsHzcyHis(string parmValue) : base(parmValue)
  18. {
  19. _endpointAddress = InterfaceConfig.GetSection("Interface").GetSection("EndpointAddress").Value;
  20. }
  21. public async Task<HisPatientQueryOut> PatientQuery(HisPatientQueryInput input)
  22. {
  23. using (var client = CreateClient())
  24. {
  25. input.SeviceBaseArg.Service = "patientQuery";
  26. var data = XmlHelper.SerializeToXml(input.Data);
  27. var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service,
  28. input.SeviceBaseArg.Urid,
  29. input.SeviceBaseArg.Pwd,
  30. data)).@return;
  31. var result = XmlHelper.DeserializeXml<HisPatientQueryOut>(resultStr);
  32. return result;
  33. }
  34. }
  35. public async Task<HisMecSaveOut> MecSave(HisMecSaveInput input)
  36. {
  37. using (var client = CreateClient())
  38. {
  39. input.SeviceBaseArg.Service = "mecSave";
  40. var data = XmlHelper.SerializeToXml(input.Data);
  41. var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service,
  42. input.SeviceBaseArg.Urid,
  43. input.SeviceBaseArg.Pwd,
  44. data)).@return;
  45. var result = XmlHelper.DeserializeXml<HisMecSaveOut>(resultStr);
  46. return result;
  47. }
  48. }
  49. public async Task<HisOutBase> CancelQrCode(HisCancelQrCodeInput input)
  50. {
  51. using (var client = CreateClient())
  52. {
  53. input.SeviceBaseArg.Service = "cancelQrCode";
  54. var data = XmlHelper.SerializeToXml(input.Data);
  55. var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service,
  56. input.SeviceBaseArg.Urid,
  57. input.SeviceBaseArg.Pwd,
  58. data)).@return;
  59. var result = XmlHelper.DeserializeXml<HisOutBase>(resultStr);
  60. return result;
  61. }
  62. }
  63. public async Task<HisOutBase> PayStatus(HisPayStatusInput input)
  64. {
  65. using (var client = CreateClient())
  66. {
  67. input.SeviceBaseArg.Service = "payStatus";
  68. var data = XmlHelper.SerializeToXml(input.Data);
  69. var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service,
  70. input.SeviceBaseArg.Urid,
  71. input.SeviceBaseArg.Pwd,
  72. data)).@return;
  73. var result = XmlHelper.DeserializeXml<HisOutBase>(resultStr);
  74. return result;
  75. }
  76. }
  77. public async Task<HisOutBase> AgreeRefund(HisAgreeRefundInput input)
  78. {
  79. using (var client = CreateClient())
  80. {
  81. input.SeviceBaseArg.Service = "agreeRefund";
  82. var data = XmlHelper.SerializeToXml(input.Data);
  83. var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service,
  84. input.SeviceBaseArg.Urid,
  85. input.SeviceBaseArg.Pwd,
  86. data)).@return;
  87. var result = XmlHelper.DeserializeXml<HisOutBase>(resultStr);
  88. return result;
  89. }
  90. }
  91. private bstjPortTypeClient CreateClient()
  92. {
  93. return new bstjPortTypeClient(EndpointConfiguration.bstjHttpSoap11Endpoint,
  94. _endpointAddress);
  95. }
  96. }
  97. }