RedirectProcess.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. namespace PTMedicalInsurance.Business.SelfServiceMachine
  10. {
  11. class RedirectProcess: AbstractProcess
  12. {
  13. private MIIrisServices mis = new MIIrisServices();
  14. private HisMainBusiness hBus = new HisMainBusiness();
  15. public override CallResult Process(JObject input)
  16. {
  17. Global.writeLog($"isNeedRedirect:{Global.ssmp.isNeedRedirect}");
  18. if (Global.ssmp.isNeedRedirect)
  19. {
  20. Global.writeLog("准备重定向");
  21. int originalInterfaceDr = Global.inf.interfaceDr;
  22. //Global.pat.adm_Dr = int.Parse(JsonHelper.getDestValue(JObject.Parse(InParam), "params[0].admID"));
  23. //Global.ssmp.cardType = JsonHelper.getDestValue(JObject.Parse(InParam), "params[0].cardType");
  24. //Global.writeLog($"admDr:{Global.pat.adm_Dr }");
  25. //Global.writeLog($"cardType:{Global.ssmp.cardType }");
  26. //重定向接口
  27. if (hBus.Redirect(originalInterfaceDr, input, out outParam) != 0)
  28. {
  29. return Exception(-2, "Redirect", outParam);
  30. }
  31. input.Add("patInfo", outParam);
  32. if (originalInterfaceDr != Global.inf.interfaceDr)
  33. {
  34. Global.writeLog("重定向后重新签到");
  35. //新接口签到
  36. if (mIS.isSigned(ref Global.curEvt.signno) != true)
  37. {
  38. return new SignInProcess().Process(input);
  39. }
  40. }
  41. outParam = input.ToString();
  42. }
  43. outParam = input.ToString();
  44. Global.writeLog("RedirectProcess-outParam:" + outParam);
  45. return Success();
  46. }
  47. }
  48. }