/// <summary> /// 撤销门诊结算 /// </summary> /// <param name="inPara">门诊接口入参</param> /// <returns></returns> public void CancelOutNetworkSettle(OutPayParameter para) { InterfaceInit(); outReimPara = para; if (outReimPara.SettleInfo == null) { throw new Exception("本地结算信息不存在"); } string settleNo = outReimPara.SettleInfo.SettleNo.ToString(); //撤销低保结算 if (outReimPara.SettleInfo.NetworkPatType.ToString() == "低保") { while (true) { try { DiBaoQXJS frmqxjs = new DiBaoQXJS(outReimPara.SettleInfo.RelationId); frmqxjs.TopMost = true; frmqxjs.ShowDialog(); break; } catch (Exception ex) { if (MessageBox.Show("撤销门诊结算失败 错误提示" + ex.Message + " 是否重新撤销", "提示", MessageBoxButtons.YesNo) == DialogResult.No) { throw new Exception("操作员取消撤销结算"); } } } } //撤销医保结算 //撤销普通门诊 while (true) { try { dicPatInfo = handelModel.ReadCardMZ(); handelModel.InitMZ(); //门诊退费 handelModel.CancelSettleMZ(settleNo, dicPatInfo["sbjbm"], dicPatInfo["ylzbh"]); break; } catch (Exception ex) { if (MessageBox.Show("撤销个人账户结算失败 错误提示" + ex.Message + " 是否重新撤销", "提示", MessageBoxButtons.YesNo) == DialogResult.No) { throw new Exception("操作员取消撤销结算"); } } } GC.KeepAlive(handelModel); GC.Collect(); }