ReadCardProcess.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using Newtonsoft.Json.Linq;
  2. using PTMedicalInsurance.Common;
  3. using PTMedicalInsurance.Helper;
  4. using PTMedicalInsurance.Variables;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. namespace PTMedicalInsurance.Business.Core.SelfServiceMachine.Process.ReadCard
  11. {
  12. class ReadCardProcess:AbstractProcess
  13. {
  14. public override CallResult Process(JObject input)
  15. {
  16. outParam = "";
  17. string sOutPar;
  18. JObject joCardInfo = new JObject();
  19. try
  20. {
  21. if (trade1101(out outParam) == 0)
  22. {
  23. return Success();
  24. }
  25. return Exception(-1, "读卡", outParam);
  26. }
  27. catch (Exception ex)
  28. {
  29. return Error("异常:" + ex.Message);
  30. }
  31. }
  32. /// <summary>
  33. /// 通过证件号获取基本信息(无卡)
  34. /// </summary>
  35. /// <param name="cardNo"></param>
  36. /// <param name="outParam"></param>
  37. /// <returns></returns>
  38. public int trade1101(out string outParam)
  39. {
  40. #region【1101获取身份信息】
  41. JObject joData = new JObject();
  42. joData.Add("mdtrt_cert_type", Global.pat.mdtrtcertType);
  43. joData.Add("mdtrt_cert_no", Global.pat.mdtrtcertNO);
  44. joData.Add("card_sn", Global.pat.card.SN);
  45. joData.Add("begntime", "");
  46. joData.Add("psn_cert_type", Global.pat.certType);
  47. joData.Add("certno", Global.pat.certNO); //证件号码
  48. joData.Add("psn_name", Global.pat.name);
  49. JObject joInput = new JObject();
  50. joInput.Add("data", joData);
  51. JObject joRtn = invoker.invokeCenterService("1101", JsonHelper.setCenterInpar("1101", joInput));
  52. if (JsonHelper.parseCenterRtnValue(joRtn, out outParam) != 0)
  53. {
  54. outParam = "读卡失败:" + outParam;
  55. return -1;
  56. }
  57. else
  58. {
  59. //joRtn.Add("cardinfo",joCardInfo);
  60. outParam = joRtn.ToString();
  61. Global.pat.insuplc_admdvs = JsonHelper.getDestValue(JObject.Parse(outParam), "output.insuinfo.insuplc_admdvs"); //参保地
  62. Global.pat.certNO = JsonHelper.getDestValue(JObject.Parse(outParam), "output.baseinfo.certno"); //证件号码
  63. Global.pat.psn_no = JsonHelper.getDestValue(JObject.Parse(outParam), "output.baseinfo.psn_no"); //人员编号
  64. outParam = outParam.Replace(@"\", "").Replace("\"{", "{").Replace("}\"", "}");
  65. return 0;
  66. }
  67. #endregion
  68. }
  69. }
  70. }