IPSettlementCancelProcess.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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 IPSettlementCancelProcess : AbstractProcess
  13. {
  14. public override CallResult Process(JObject input)
  15. {
  16. //取消中心结算信息
  17. if (cBus.cancleSettlement(TradeEnum.InpatientSettlementCancel, out outParam) != 0)
  18. {
  19. //查看是医保平台是否已经退费,如果是,则询问是否继续退费
  20. string SqlStr = " SELECT * FROM BS_MedInsuSettlement WHERE ValidFlag = 0 AND BillType = -1 ";
  21. SqlStr = SqlStr + " AND Hospital_Dr=" + Global.inf.hospitalDr + " AND Interface_Dr=" + Global.inf.interfaceDr;
  22. SqlStr = SqlStr + " AND SettlementID ='" + Global.pat.settlID + "'";
  23. JObject joSqlStr = new JObject();
  24. joSqlStr.Add("sqlStr", SqlStr);
  25. JObject joCancleSettlInfo = mIS.QuerySettlementInfo(joSqlStr);
  26. JArray jaCancleSettlInfo = JArray.Parse(JsonHelper.getDestValue(joCancleSettlInfo, "result.data"));
  27. if (jaCancleSettlInfo.Count == 1)
  28. {
  29. //询问收款员是否继续进行HIS退费
  30. if (DialogResult.Yes == MessageBox.Show("中心提示:" + outParam, " 该费用在医保中心已成功退费但在HIS未成功退费,是否强制退HIS费用? ", MessageBoxButtons.YesNo))
  31. {
  32. return Exception(0, "该费用在医保中心已成功退费但在HIS未成功退费,收款员选择强制退HIS费用!", outParam);
  33. }
  34. }
  35. else
  36. {
  37. return Exception(-1, "取消中心结算(云医保平台未退费或未查询到退费记录)", outParam);
  38. }
  39. return Exception(-1, "取消中心结算信息失败!", outParam);
  40. }
  41. return Success();
  42. }
  43. }
  44. }