PreSettlement.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. namespace PTMedicalInsurance.Business.Core.SelfServiceMachine.Process.InPat
  10. {
  11. class PreSettlement : AbstractProcess
  12. {
  13. public override CallResult Process(JObject input)
  14. {
  15. JObject jo2303Inpar = JObject.Parse(JsonHelper.getDestValue(input, "Settlement"));
  16. //预结算
  17. JObject jo2303Data = new JObject();
  18. jo2303Data.Add("data", jo2303Inpar);
  19. JObject jo2303Rtn = invoker.invokeCenterService(TradeEnum.InpatientPreSettlement, jo2303Data);
  20. if (JsonHelper.parseCenterRtnValue(jo2303Rtn, out outParam) != 0)
  21. {
  22. outParam = JsonHelper.setExceptionJson(-1, "出院预结算", outParam).ToString();
  23. return Exception();
  24. }
  25. //预结算结果传给HIS进行HIS判断
  26. //计算钱包金额
  27. hBus.CalcWltPay(jo2303Rtn);
  28. //返回给HIS
  29. JObject joSetlinfo = JObject.Parse(JsonHelper.getDestValue(jo2303Rtn, "output.setlinfo"));
  30. JObject joParam = new JObject();
  31. joParam.Add("admID", Global.pat.adm_Dr);
  32. joParam.Add("recordID", Global.pat.recordID);
  33. joParam.Add("billID", Global.pat.billID);
  34. if (hIS.preSettlementInfo(joParam, joSetlinfo, out outParam) != 0)
  35. {
  36. outParam = JsonHelper.setExceptionJson(-1, "出院预结算", outParam).ToString();
  37. return Exception();
  38. }
  39. outParam = input.ToString();
  40. return Success();
  41. }
  42. }
  43. }