LocalOPSettleService.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. namespace PTMedicalInsurance.Business
  8. {
  9. class LocalOPSettleService : IChargeService
  10. {
  11. public string Charge(string operationType, JObject joInput)
  12. {
  13. //joInput 包括( data、mdtrtinfo、diseinfo、settlement)
  14. ProcessManager pManager = new ProcessManager()
  15. .Add(new ReadPatientProcess())
  16. // 挂号[2201]
  17. .Add(new OPRegFakeProcess())
  18. // 门诊预结算[2206]
  19. .Add(new OPPreSettlementProcess())
  20. // 正式结算[2207]
  21. .Add(new OPSettlementProcess());
  22. // 执行
  23. return pManager.Run(joInput);
  24. }
  25. public string DisCharge(JObject joParam)
  26. {
  27. ProcessManager pManager = new ProcessManager()
  28. // 查询结算信息
  29. .Add(new OPQuerySettlementProcess())
  30. // 门诊结算撤销 [2208]
  31. .Add(new OPSettlementCancelProcess())
  32. // 退HIS结算
  33. .Add(new OPSettlementCancelHisProcess(true));
  34. // 执行
  35. return pManager.Run(joParam);
  36. }
  37. }
  38. }