OPRegService.cs 2.2 KB

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