IPFeeUploadProcess.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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
  10. {
  11. /// <summary>
  12. /// 住院费用明细上传
  13. /// </summary>
  14. class InpatientFeeUploadProcess : AbstractProcess
  15. {
  16. public override CallResult Process(JObject input)
  17. {
  18. string errMsg = "";
  19. //从医保平台获取患者详细的医保登记信息
  20. if (mIS.queryRegisterInfo(1, out outParam) != 0)
  21. {
  22. return Exception("查询患者云平台登记信息", outParam);
  23. }
  24. JObject joReg = JObject.Parse(outParam);
  25. Global.pat.medType = JsonHelper.getDestValue(joReg, "data.MedicalType");
  26. Global.pat.insuType = JsonHelper.getDestValue(joReg, "data.InsuType");
  27. //先取消中心费用传送
  28. cBus.cancleFeeUpload(TradeEnum.InpatientFeeCancel, out errMsg);
  29. //再删除医保传送表的数据
  30. mIS.deleteFee(out errMsg);
  31. #region【住院费用上传前调用3101事前服务】
  32. ////事前分析
  33. if (Global.curEvt.ext.isOpenAnalysis)
  34. {
  35. Global.pat.insuplc_admdvs = "370102";
  36. Global.inf.areaCode = "370102";
  37. if (hBus.PreAnalysis("5", "", out errMsg) != 0)
  38. {
  39. return Exception("事前分析", errMsg);
  40. }
  41. }
  42. #endregion
  43. //开始进行费用传送
  44. //调用HIS费用查询信息
  45. if (hIS.getHisFee(Global.pat, out outParam) != 0)
  46. {
  47. return Exception("获取HIS费用", outParam);
  48. }
  49. //调用医保平台转换
  50. JObject joHisFee = JObject.Parse(outParam);
  51. if (mIS.convertHisFeeWithInsuCode(joHisFee, out outParam) != 0)
  52. {
  53. return Exception("转换HIS费用", outParam);
  54. }
  55. JArray jaFeeDetail = JArray.Parse(JsonHelper.getDestValue(JObject.Parse(outParam), "data"));
  56. //按指定条数分割后上传,保存,更新
  57. if (hBus.uploadFeeToCenter(TradeEnum.InpatientFeeUpload, 50, jaFeeDetail, out outParam) != 0)
  58. {
  59. return Exception("上传费用", outParam);
  60. }
  61. else
  62. {
  63. return IrisReturn("住院费用上传成功", null);
  64. }
  65. }
  66. }
  67. }