Register.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using Newtonsoft.Json.Linq;
  2. using PTMedicalInsurance.Helper;
  3. using PTMedicalInsurance.Variables;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. namespace PTMedicalInsurance.Business.Core.SelfServiceMachine.Process.OutPat
  11. {
  12. class Register : AbstractProcess
  13. {
  14. public override CallResult Process(JObject input)
  15. {
  16. JObject joReg = (JObject)input.DeepClone();
  17. string errMsg;
  18. //医保挂号
  19. JObject jo2201Inpar = JObject.Parse(JsonHelper.getDestProperty(joReg, "data"));
  20. JObject jo2201Inpar_plain = JObject.Parse(JsonHelper.getDestProperty(joReg, "data"));
  21. jo2201Inpar_plain = JObject.Parse(JsonHelper.setCenterInpar_plain("2201", jo2201Inpar_plain));
  22. //此处先取到就诊信息上传的入参,只要挂号成功就保存到云HIS后台(保存后台需要用到2203入参)
  23. JObject jo2203Inpar = new JObject();
  24. JObject jo2203Inpar_plain = new JObject();
  25. jo2203Inpar.Add("mdtrtinfo", JObject.Parse(JsonHelper.getDestValue(joReg, "mdtrtinfo")));
  26. jo2203Inpar.Add("diseinfo", JArray.Parse(JsonHelper.getDestValue(joReg, "diseinfo")));
  27. JObject jo2201Rtn = invoker.invokeCenterService(TradeEnum.OutpatientRegistration, jo2201Inpar);
  28. if (JsonHelper.parseCenterRtnValue(jo2201Rtn, out errMsg) != 0)
  29. {
  30. outParam = JsonHelper.setExceptionJson(-1, "医保挂号", errMsg).ToString();
  31. return Exception(-1,"",outParam);
  32. }
  33. else
  34. {
  35. Global.pat.mdtrtID = JsonHelper.getDestValue(jo2201Rtn, "output.data.mdtrt_id");
  36. string patInfo = JsonHelper.getDestValue(joReg,"patInfo"); //这个估计要设置一个全局变量,当分的过细的时候,如何引用前面节点的局部变量得设计下。
  37. //插入患者本次就诊用的参保信息
  38. if (hBus.insertPatCurInsuInfo(patInfo, out outParam) != 0)
  39. {
  40. if (DialogResult.Yes != MessageBox.Show(outParam, " 是否继续? ", MessageBoxButtons.YesNo))
  41. {
  42. outParam = JsonHelper.setExceptionJson(-1, "插入患者本次就诊用的参保信息,请联系管理员!是否继续?", outParam).ToString();
  43. return Exception(-1, "", outParam);
  44. }
  45. }
  46. jo2203Inpar["mdtrtinfo"]["mdtrt_id"] = Global.pat.mdtrtID;
  47. jo2203Inpar_plain = JObject.Parse(JsonHelper.setCenterInpar_plain("2203", jo2203Inpar));
  48. jo2203Inpar = JObject.Parse(JsonHelper.setCenterInpar("2203", jo2203Inpar));
  49. //门诊登记信息,插入云医保平台
  50. jo2201Rtn.Add("validflag", 1);
  51. jo2201Rtn.Add("regstate", 1);
  52. jo2201Rtn.Add("type", 3);
  53. Global.writeLog(jo2201Inpar_plain.ToString());
  54. if (mIS.saveOutpatRegisterInfo(jo2201Inpar_plain, jo2201Rtn, jo2203Inpar_plain, out errMsg) != 0)
  55. {
  56. outParam = JsonHelper.setExceptionJson(-1, "中心登记成功但医保平台保存失败,请联系管理员!", errMsg).ToString();
  57. return Exception(-1, "", outParam);
  58. }
  59. outParam = input.ToString();
  60. return Success();
  61. }
  62. }
  63. }
  64. }