InProcessHandler.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. using Newtonsoft.Json.Linq;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using PTMedicalInsurance.Helper;
  8. using PTMedicalInsurance.Variables;
  9. using PTMedicalInsurance.Forms;
  10. using PTMedicalInsurance.Business;
  11. using System.Windows.Forms;
  12. namespace PTMedicalInsurance.Business.Core.SelfServiceMachine.Process.OutPat
  13. {
  14. class InProcessHandler : AbstractProcess
  15. {
  16. public override CallResult Process(JObject input)
  17. {
  18. #region【门诊预结算2206前调用3102医保明细审核事中服务】
  19. if (Global.curEvt.ext.isOpenAnalysis)
  20. {
  21. //1.获取3102入参报文
  22. if (hIS.GetInsuPatInfo("2", Global.pat, out outParam) != 0)
  23. {
  24. outParam = JsonHelper.setExceptionJson(-1, "获取3102医保明细审核事中分析服务入参失败:", outParam).ToString();
  25. //return Exception(-1, "", outParam);
  26. MessageBox.Show(outParam);
  27. }
  28. else
  29. {
  30. //2.调用医保3102明细审核事前分析服务
  31. JObject joInput = new JObject();
  32. //joInput.Add("data", JObject.Parse(outParam));
  33. joInput = JObject.Parse(outParam);
  34. JObject jo3102Rtn = invoker.invokeCenterService(TradeEnum.InProcessAnalysis, joInput);
  35. // 记录3102交易日志
  36. PreAndInProcessAnalysisLogService logService = new PreAndInProcessAnalysisLogService();
  37. string logErrMsg;
  38. logService.LogPreInProcessAnalysis("3102", "事中分析", "2", joInput, jo3102Rtn, out logErrMsg);
  39. if (JsonHelper.parseCenterRtnValue(jo3102Rtn, out errMsg) != 0)
  40. {
  41. outParam = JsonHelper.setExceptionJson(-1, "【3102】医保明细审核事中分析服务调用失败:", errMsg).ToString();
  42. //return Exception(-1, "", outParam);
  43. MessageBox.Show(outParam);
  44. }
  45. else
  46. {
  47. JArray jaResult = JArray.Parse(JsonHelper.getDestValue(jo3102Rtn, "output.result"));
  48. if (jaResult.HasValues)
  49. {
  50. PreAndInProcessAnalysisForm paipaForm = new PreAndInProcessAnalysisForm(jo3102Rtn);
  51. if (paipaForm.ShowDialog() != DialogResult.OK)
  52. {
  53. errMsg = "事前事中审核不通过,操作员取消!";
  54. outParam = JsonHelper.setExceptionJson(-1, "【3102】医保明细审核事中分析服务调用失败:", errMsg).ToString();
  55. //return Exception(-1, "", outParam); ;
  56. MessageBox.Show(outParam);
  57. }
  58. }
  59. }
  60. }
  61. }
  62. else
  63. {
  64. outParam = input.ToString();
  65. }
  66. return Success();
  67. #endregion
  68. #region【门诊预结算2206前调用3102医保明细审核事中服务】
  69. if (hBus.PreOrInprocessAnalysis("OPPreSetTrigScen", "3102", out errMsg) != 0)
  70. {
  71. return Error(-1, "【3102】医保明细审核事中分析服务调用失败");
  72. }
  73. #endregion
  74. }
  75. }
  76. }