OtherQueryProcess.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using Newtonsoft.Json.Linq;
  2. using PTMedicalInsurance.Common;
  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
  13. {
  14. class OtherQueryProcess : AbstractProcess
  15. {
  16. TradeEnum trade;
  17. /// <summary>
  18. /// 构造函数
  19. /// </summary>
  20. /// <param name="trade">交易</param>
  21. public OtherQueryProcess(TradeEnum trade)
  22. {
  23. this.trade = trade;
  24. }
  25. public override CallResult Process(JObject input)
  26. {
  27. this.OrginalInput = input;
  28. switch (this.trade)
  29. {
  30. case TradeEnum.HistoryPrescriptionQuery:
  31. QueryPatientPrescription();
  32. break;
  33. default:
  34. break;
  35. }
  36. return Success();
  37. }
  38. private void QueryPatientPrescription()
  39. {
  40. dynamic input = new JObject();
  41. input.psn_name = Global.pat.name;
  42. input.certno = Global.pat.certNO ;
  43. string errMsg = "";
  44. try
  45. {
  46. JObject joRtn = invoker.invokeCenterService(trade, input);
  47. if (JsonHelper.parseCenterRtnValue(joRtn, out errMsg) != 0)
  48. {
  49. Global.writeLog("QueryPatientPrescription", input.ToString(), errMsg);
  50. return;
  51. }
  52. JArray list = JArray.Parse(joRtn["mdtrtinfo"].Text());
  53. if (list?.Count > 0)
  54. {
  55. PrescriptionForm form = new PrescriptionForm();
  56. form.initList(list);
  57. form.ShowDialog();
  58. }
  59. }
  60. catch (Exception ex)
  61. {
  62. Global.writeLog("QueryPatientPrescription",input.ToString(),ex.Message);
  63. }
  64. }
  65. }
  66. }