OPSettlementService.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using Newtonsoft.Json.Linq;
  2. using PTMedicalInsurance.Helper;
  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. using System.Windows.Forms;
  10. namespace PTMedicalInsurance.Business
  11. {
  12. class OPSettlementService:IChargeService
  13. {
  14. /// <summary>
  15. /// 收费业务
  16. /// </summary>
  17. public string Charge(string operationType, JObject joInput)
  18. {
  19. //joInput 包括( data、mdtrtinfo、diseinfo、settlement)
  20. ProcessManager pManager = new ProcessManager()
  21. .Add(new ReadPatientProcess())
  22. // 挂号[2201]
  23. .Add(new OPRegProcess())
  24. // 就诊信息上传[2203]
  25. .Add(new OPAdmUploadProcess())
  26. // 费用上传[2204]
  27. .Add(new OPFeeUploadProcess())
  28. // 门诊预结算[2206]
  29. .Add(new OPPreSettlementProcess())
  30. // 正式结算[2207]
  31. .Add(new OPSettlementProcess());
  32. // 执行
  33. return pManager.Run(joInput);
  34. }
  35. /// <summary>
  36. /// 退费业务
  37. /// </summary>
  38. /// <param name="joParam"></param>
  39. /// <returns></returns>
  40. public string DisCharge(JObject joParam)
  41. {
  42. ProcessManager pManager = new ProcessManager()
  43. // 查询结算信息
  44. .Add(new OPQuerySettlementProcess())
  45. // 门诊结算撤销 [2208]
  46. .Add(new OPSettlementCancelProcess())
  47. // 费用明细取消[2205]
  48. .Add(new OPFeeUploadCancelProcess())
  49. // 取消挂号[2202]
  50. .Add(new OPRegCancelProcess())
  51. // 退HIS结算
  52. .Add(new OPSettlementCancelHisProcess(true));
  53. // 执行
  54. return pManager.Run(joParam);
  55. }
  56. }
  57. }