LocalOPSettleService.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. // 费用明细取消[2205]
  33. .Add(new OPFeeUploadCancelProcess())
  34. // 取消挂号[2202]
  35. .Add(new OPRegCancelProcess())
  36. // 退HIS结算
  37. .Add(new OPSettlementCancelHisProcess());
  38. // 执行
  39. return pManager.Run(joParam);
  40. }
  41. }
  42. }