OPSettlementService.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using PTMedicalInsurance.Business.Core.SelfServiceMachine.Process.OutPat;
  2. using PTMedicalInsurance.Business.Core.SelfServiceMachine.Process.ReadCard;
  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.Core.SelfServiceMachine.ProcessScheduler
  10. {
  11. class OPSettlementService
  12. {
  13. public OPSettlementService()
  14. {
  15. Global.pat.admType = 1;
  16. Global.businessType = "01301";
  17. Global.pat.medType = "11";
  18. //Global.curEvt.ext.preTrigScen = "2";
  19. //Global.curEvt.ext.inProcessTrigScen = "7";
  20. //后台需要标志表明是否自助机,以及结算机器编号
  21. }
  22. /// <summary>
  23. /// 收费业务
  24. /// </summary>
  25. public string Charge(string operationType, Newtonsoft.Json.Linq.JObject joInput)
  26. {
  27. Global.operationType = operationType;
  28. //joInput 包括( data、mdtrtinfo、diseinfo、settlement)
  29. ProcessManager pManager = new ProcessManager()
  30. ////重定向
  31. //.Add(new RedirectProcess())
  32. //物理读卡 + 1101
  33. .Add(new Process.ReadCard.ReadCardProcess())
  34. // 根据返回的信息过滤无效信息,保留有效信息
  35. .Add(new FilterPatInfo())
  36. ////展示患者信息界面
  37. //.Add(new ShowPatInfo())
  38. // 设置患者信息全局变量
  39. .Add(new SetGlobalVariablesAfaterShowPatInfo())
  40. ////展示登记界面
  41. //.Add(new ShowOutPatRegisterForm())
  42. //自助机自动组织参数
  43. .Add(new OrganizePatientRegistrationInfo())
  44. // 挂号[2201A]
  45. .Add(new Register())
  46. // 就诊信息上传[2203]
  47. .Add(new UploadAdmInfo())
  48. // 事前业务
  49. .Add(new PreWarning())
  50. // 费用上传[2204]
  51. .Add(new UploadFee())
  52. // 事中业务
  53. .Add(new InProcessHandler())
  54. // 门诊预结算[2206]
  55. .Add(new PreSettlement())
  56. ////校验社保卡密码[90991]
  57. //.Add(new CheckPassProcess())
  58. // 正式结算[2207]
  59. .Add(new Settlement());
  60. // 执行
  61. return pManager.Run(joInput);
  62. }
  63. }
  64. }