PreWarning.cs 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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 PreWarning : AbstractProcess
  15. {
  16. public override CallResult Process(JObject input)
  17. {
  18. #region【门诊就诊信息上传成功后调用3101事前服务】
  19. //1.获取3101入参报文
  20. if (Global.curEvt.ext.isOpenAnalysis)
  21. {
  22. if (hIS.GetInsuPatInfo("1", Global.pat, out outParam) != 0)
  23. {
  24. outParam = JsonHelper.setExceptionJson(-1, "获取3101医保明细审核事前分析服务入参失败:", outParam).ToString();
  25. //return Exception(-1, "", outParam);
  26. MessageBox.Show(outParam);
  27. }
  28. else
  29. {
  30. //2.调用医保3101明细审核事前分析服务
  31. JObject joInput = new JObject();
  32. //joInput.Add("data", JObject.Parse(outParam));
  33. joInput = JObject.Parse(outParam);
  34. JObject jo3101Rtn = invoker.invokeCenterService(TradeEnum.PreAnalysis, joInput); //.Replace(" ", "")
  35. // 记录3101交易日志
  36. PreAndInProcessAnalysisLogService logService = new PreAndInProcessAnalysisLogService();
  37. string logErrMsg;
  38. logService.LogPreInProcessAnalysis("3101", "事前分析", "1", joInput, jo3101Rtn, out logErrMsg);
  39. if (JsonHelper.parseCenterRtnValue(jo3101Rtn, out errMsg) != 0)
  40. {
  41. outParam = JsonHelper.setExceptionJson(-1, "【3101】医保明细审核事前分析服务调用失败:", errMsg).ToString();
  42. //return Exception(-1, "", outParam);
  43. MessageBox.Show(outParam);
  44. }
  45. else
  46. {
  47. JArray jaResult = JArray.Parse(JsonHelper.getDestValue(jo3101Rtn, "output.result"));
  48. if (jaResult.HasValues)
  49. {
  50. PreAndInProcessAnalysisForm paipaForm = new PreAndInProcessAnalysisForm(jo3101Rtn);
  51. if (paipaForm.ShowDialog() != DialogResult.OK)
  52. {
  53. errMsg = "事前事中审核不通过,操作员取消!";
  54. outParam = JsonHelper.setExceptionJson(-1, "【3101】医保明细审核事前分析服务调用失败:", 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. }
  69. }
  70. }