/// <summary> /// 门诊联网结算 /// </summary> /// <param name="inPara">门诊接口入参</param> /// <returns></returns> public void OutNetworkSettle(OutPayParameter para) { InterfaceInit(); outReimPara = para; //当姓名不一致时提示 if (outReimPara.PatInfo.PatName != dicPatInfo["xm"]) { if (MessageBox.Show(" 医保卡姓名为:【" + dicPatInfo["xm"].ToString() + "】 HIS患者姓名为:【" + outReimPara.PatInfo.PatName + "】 是否继续 ", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) != DialogResult.Yes) { throw new Exception("姓名不一致,操作员取消操作!"); } } //门诊初始化 handelModel.InitJMMZ(outReimPara.RegInfo.CantonCode, "6", outReimPara.RegInfo.MemberNo, outReimPara.PatInfo.PatName, dicPatInfo["xb"], outReimPara.CommPara.OutNetworkSettleId.ToString(), DateTime.Now.ToString("yyyy-MM-dd"),//"001", handelModel.GetNetWorkDocCode(handelModel.getMzysbh(outReimPara.PatInfo.OutPatId.ToString(), outReimPara.CommPara.TradeId.ToString())), strDiagnosCode, P_syzhlx, outReimPara.RegInfo.CardNo, "C", ""); //上传门诊费用 handelModel.SaveOutItems(outReimPara.Details); //门诊结算 dicSettleInfo = handelModel.SettleMG(dicPatInfo["sbjglx"]); //---------------------------------------------低保结算 if (Convert.ToDecimal(dicSettleInfo["brfdje"]) - Convert.ToDecimal(dicSettleInfo["grzhzf"]) > 0) //如果自负金额大于0弹出是否低保结算提示 { if (outReimPara.RegInfo.Memo2 == "低保") { dicSettleInfoDibao.Clear(); DiBaoJS_Confirm diBaoJS = new DiBaoJS_Confirm(outReimPara, dicSettleInfo, dicSettleInfoDibao); diBaoJS.ShowDialog(); } } //------------------------------------------------ //保存门诊结算明细 SaveOutSettleMain(); GC.KeepAlive(handelModel); GC.Collect(); }
/// <summary> /// 门诊联网结算 /// </summary> /// <param name="inPara">门诊接口入参</param> /// <returns></returns> public void OutNetworkSettle(OutPayParameter para) { Dictionary <string, string> MFYYInfo = new Dictionary <string, string>(); InterfaceInit(); outReimPara = para; //当姓名不一致时提示 if (outReimPara.PatInfo.PatName != dicPatInfo["xm"]) { if (MessageBox.Show(" 医保卡姓名为:【" + dicPatInfo["xm"].ToString() + "】 HIS患者姓名为:【" + outReimPara.PatInfo.PatName + "】 是否继续 ", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) != DialogResult.Yes) { throw new Exception("姓名不一致,操作员取消操作!"); } } //获取免费用药余额 MFYYInfo = handelModel.HqMfyyXx(outReimPara.RegInfo.CantonCode, outReimPara.RegInfo.IdNo, outReimPara.RegInfo.NetRegSerial); string MFYYSM = MFYYInfo["mfyysm"]; //获取疾病信息 Dialog.MfyyJblr frm = new MfyyJblr(MFYYSM, this); frm.ShowDialog(); if (frm.isCancel) { throw new Exception("取消操作"); } string Mfyybm = frm.MfyyJbbm; string ylzbh = ""; if (CARD_Y_N == "1") { ylzbh = outReimPara.RegInfo.CardNo; } //门诊初始化 handelModel.InitMFYY(outReimPara.RegInfo.CantonCode, "6", outReimPara.RegInfo.MemberNo, outReimPara.PatInfo.PatName, dicPatInfo["xb"], outReimPara.CommPara.OutNetworkSettleId.ToString(), DateTime.Now.ToString("yyyy-MM-dd"),//"001", handelModel.GetNetWorkDocCode(handelModel.getMzysbh(outReimPara.PatInfo.OutPatId.ToString(), outReimPara.CommPara.TradeId.ToString())), Mfyybm, P_syzhlx, ylzbh); //handelModel.SaveOutItemsMZ(outReimPara.Details); handelModel.SaveOutItems(outReimPara.Details); //门诊结算 dicSettleInfo = handelModel.SettleMFYY(dicPatInfo["sbjglx"]); //---------------------------------------------低保结算 if (Convert.ToDecimal(dicSettleInfo["brfdje"]) - Convert.ToDecimal(dicSettleInfo["grzhzf"]) > 0) //如果自负金额大于0弹出是否低保结算提示 { if (outReimPara.RegInfo.Memo2 == "低保") { dicSettleInfoDibao.Clear(); DiBaoJS_Confirm diBaoJS = new DiBaoJS_Confirm(outReimPara, dicSettleInfo, dicSettleInfoDibao); diBaoJS.ShowDialog(); } } //------------------------------------------------ //保存门诊结算明细 SaveOutSettleMain(); GC.KeepAlive(handelModel); GC.Collect(); }