ShowPatInfo.cs 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using Newtonsoft.Json.Linq;
  2. using PTMedicalInsurance.Business;
  3. using PTMedicalInsurance.Forms;
  4. using PTMedicalInsurance.Helper;
  5. using PTMedicalInsurance.Variables;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. namespace PTMedicalInsurance.Business.Core.SelfServiceMachine.Process.ReadCard
  13. {
  14. class ShowPatInfo : AbstractProcess
  15. {
  16. public override CallResult Process(JObject input)
  17. {
  18. //展示信息界面
  19. JObject joOutparam = (JObject)input.DeepClone();
  20. JObject joOutput = JObject.Parse(JsonHelper.getDestValue(joOutparam, "output"));
  21. //编码转换
  22. JArray jaConvertCode = new JArray();
  23. JObject joConvertCodeParam = new JObject();
  24. joConvertCodeParam.Add("hospitalDr", Global.inf.hospitalDr);
  25. joConvertCodeParam.Add("interfaceDr", Global.inf.interfaceDr);
  26. joConvertCodeParam.Add("output", joOutput);
  27. jaConvertCode.Add(joConvertCodeParam);
  28. JObject joConvertCode = new JObject();
  29. joConvertCode.Add("code", "09010054");
  30. joConvertCode.Add("params", jaConvertCode);
  31. InvokeHelper invoker = new InvokeHelper();
  32. JObject joConvertCodeRtn = invoker.invokeInsuService(joConvertCode.ToString(), "患者信息编码转换");
  33. PatientInsuInfo frmPatientInfo = new PatientInsuInfo(joConvertCodeRtn);
  34. //相关信息转换到登记面板
  35. try
  36. {
  37. if (frmPatientInfo.ShowDialog() == DialogResult.OK)
  38. {
  39. //原来用的是转换后的
  40. //frmPatientInfo.joSelectedInsuInfo.Add("mdtrt_cert_type", Global.pat.mdtrtcertType);
  41. //frmPatientInfo.joSelectedInsuInfo.Add("mdtrt_cert_no", Global.pat.mdtrtcertNO);
  42. //joOutparam.Property("output").AddBeforeSelf(new JProperty("selectedInsuInfo", frmPatientInfo.joSelectedInsuInfo));
  43. //现在用转换之前的
  44. JArray jaInsuInfo = JArray.Parse(JsonHelper.getDestValue(joOutput, "insuinfo"));
  45. JArray jaIdInfo = JArray.Parse(JsonHelper.getDestValue(joOutput, "idetinfo"));
  46. JObject joSelectedInsuInfo = (JObject)jaInsuInfo[frmPatientInfo.insuInfoIndex];
  47. JObject joSelectedIdInfo;
  48. if (jaIdInfo.Count != 0)
  49. {
  50. joSelectedIdInfo = (JObject)jaIdInfo[frmPatientInfo.idInfoIndex];
  51. }
  52. else
  53. {
  54. joSelectedIdInfo = new JObject();
  55. }
  56. joSelectedInsuInfo.Add("mdtrt_cert_type", Global.pat.mdtrtcertType);
  57. joSelectedInsuInfo.Add("mdtrt_cert_no", Global.pat.mdtrtcertNO);
  58. joOutparam.Property("output").AddBeforeSelf(new JProperty("selectedInsuInfo", joSelectedInsuInfo));
  59. joOutparam.Property("output").AddBeforeSelf(new JProperty("selectedIdInfo", joSelectedInsuInfo));
  60. Global.pat.balc = JsonHelper.getDestValue(joSelectedInsuInfo, "balc");
  61. Global.pat.insuType = JsonHelper.getDestValue(joSelectedInsuInfo, "insutype");
  62. Global.pat.insuplc_admdvs = JsonHelper.getDestValue(joSelectedInsuInfo, "insuplc_admdvs");
  63. outParam = joOutparam.ToString();
  64. return Success();
  65. }
  66. else
  67. {
  68. outParam = JsonHelper.setExceptionJson(-1, "门诊读卡", "收款员取消读卡").ToString();
  69. return Exception(-1,"",outParam);
  70. }
  71. }
  72. catch (Exception e)
  73. {
  74. outParam = JsonHelper.setExceptionJson(-1, "患者参保信息展示", e.Message).ToString();
  75. return Exception(-1, "", outParam);
  76. }
  77. }
  78. }
  79. }