public void CancelOutNetworkSettle(OutPayParameter para) { OutPayPara = para; InterfaceInit(); //撤销医保结算 while (true) { try { handelModel.CancelMZSettle(OutPayPara.SettleInfo.SettleNo); break; } catch (Exception ex) { if (MessageBox.Show("撤销门诊结算失败 错误提示" + ex.Message + " 是否重新撤销", "提示", MessageBoxButtons.YesNo) == DialogResult.No) { throw new Exception("操作员取消撤销结算"); } } } isInit = false; GC.Collect(); //释放对象 handelModel.ReleaseComObj(); }
/// <summary> /// 门诊联网预结算 /// </summary> /// <param name="inPara">门诊接口入参</param> /// <returns></returns> public void OutNetworkPreSettle(OutPayParameter outReimPara) { //InterfaceInit(); //handelModel.InitJMMZ(outReimPara.RegInfo.CantonCode, "6", outReimPara.RegInfo.MemberNo, outReimPara.PatInfo.PatName, // "1", outReimPara.SettleInfo.OutNetworkSettleId.ToString(), DateTime.Now.ToString("yyyy-MM-dd"),//"001", // operatorInfo.UserSysId, strDiagnosCode, P_syzhlx, outReimPara.RegInfo.CardNo, "C", ""); }
/// <summary> /// 门诊联网结算 /// </summary> /// <param name="inPara">门诊接口入参</param> /// <returns></returns> public void OutNetworkSettle(OutPayParameter para) { try { InterfaceInit(); outReimPara = para; //当姓名不一致时提示 if (outReimPara.PatInfo.PatName != dicPatInfo["xm"]) { if (MessageBox.Show(" 医保登记姓名为:【" + dicPatInfo["xm"].ToString() + "】 患者姓名为:【" + outReimPara.PatInfo.PatName + "】 是否继续 ", "提示", MessageBoxButtons.YesNo) == DialogResult.No) { throw new Exception("姓名不一致,操作员取消操作!"); } } string notMatchedCharge = ""; foreach (var item in outReimPara.Details) { if (item.NetworkItemCode.ToString().Trim().Length == 0 || "0000".Equals(item.NetworkItemCode)) { notMatchedCharge += "编码:" + item.ChargeCode + "," + "名称:" + item.ChargeName + ";"; } } if (notMatchedCharge.Trim().Length > 0) { throw new Exception("有以下项目未对应:\n" + notMatchedCharge + "取消上传费用"); } //门诊初始化 handelModel.InitMZ(); handelModel.SaveOutItemsMZ(outReimPara.Details); //门诊结算 dicSettleInfo = handelModel.SettleMZ(dicPatInfo["sbjbm"], dicPatInfo["ylzbh"]); //---------------------------------------------低保结算 if (Convert.ToDecimal(dicSettleInfo["brfdje"]) - Convert.ToDecimal(dicSettleInfo["grzhzf"]) > 0) //如果自负金额大于0弹出是否低保结算提示 { if (outReimPara.RegInfo.Memo2 == "低保") { dicSettleInfoDibao.Clear(); JiNan.Dialog.DiBaoJS_Confirm diBaoJS = new JiNan.Dialog.DiBaoJS_Confirm(outReimPara, dicSettleInfo, dicSettleInfoDibao, hosId); diBaoJS.ShowDialog(); } } //------------------------------------------------ //保存门诊结算明细 //SaveOutSettleMain("MZ"); SaveOutSettleMain(); GC.KeepAlive(handelModel); GC.Collect(); } catch (Exception e) { throw new Exception(e.Message); } }
/// <summary> /// 门诊联网结算 /// </summary> /// <param name="inPara">门诊接口入参</param> /// <returns></returns> public void OutNetworkSettle(OutPayParameter para) { InterfaceInit(); outReimPara = para; //当姓名不一致时提示 if (outReimPara.RegInfo.NetPatName != dicPatInfo["xm"]) { if (MessageBox.Show(" 医保登记姓名为:【" + dicPatInfo["xm"].ToString() + "】 患者姓名为:【" + outReimPara.RegInfo.NetPatName + "】 是否继续 ", "提示", MessageBoxButtons.YesNo) == DialogResult.No) { throw new Exception("姓名不一致,操作员取消操作!"); } } //门诊初始化 //handelModel.InitJMMZ(outReimPara.RegInfo.CantonCode, "6", outReimPara.RegInfo.MemberNo, outReimPara.PatInfo.PatName, // dicPatInfo["xb"], outReimPara.SettleInfo.OutNetworkSettleId.ToString(), DateTime.Now.ToString("yyyy-MM-dd"),//"001", // operatorInfo.UserSysId, strDiagnosCode, P_syzhlx, outReimPara.RegInfo.CardNo, "C", ""); 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", PayAPIConfig.Operator.UserSysId, strDiagnosCode, P_syzhlx, outReimPara.RegInfo.CardNo); handelModel.SaveOutItems(outReimPara); //门诊结算 dicSettleInfo = handelModel.SettleMG(dicPatInfo["sbjglx"]); //保存门诊结算明细 SaveOutSettleMain(); GC.KeepAlive(handelModel); GC.Collect(); }
/// <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(); //撤销门诊大病结算 while (true) { try { handelModel.CancelMGSettle(settleNo); break; } catch (Exception ex) { if (MessageBox.Show("撤销门诊结算失败 错误提示" + ex.Message + " 是否重新撤销", "提示", MessageBoxButtons.YesNo) == DialogResult.No) { throw new Exception("操作员取消撤销结算"); } } } GC.KeepAlive(handelModel); GC.Collect(); }
/// <summary> /// 撤销门诊结算 /// </summary> /// <param name="inPara">门诊接口入参</param> /// <returns></returns> public void CancelOutNetworkSettle(OutPayParameter para) { InterfaceInit(); outReimPara = para; //OutNetWorkReadCard(inPara); if (outReimPara.SettleInfo == null) { throw new Exception("本地结算信息不存在"); } string settleNo = outReimPara.SettleInfo.SettleNo.ToString(); //撤销低保结算 #region 撤销低保结算 if (outReimPara.SettleInfo.NetworkPatType.ToString() == "低保") { while (true) { try { //修改连接字符串 PayAPIInstance.Dareway.JiNan.Dialog.DiBaoQXJS frmqxjs = new PayAPIInstance.Dareway.JiNan.Dialog.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("操作员取消撤销结算"); } } } } #endregion //撤销门诊大病结算 #region 撤销门诊大病结算 while (true) { try { handelModel.CancelMGSettle(settleNo); break; } catch (Exception ex) { if (MessageBox.Show("撤销门诊结算失败 错误提示" + ex.Message + " 是否重新撤销", "提示", MessageBoxButtons.YesNo) == DialogResult.No) { throw new Exception("操作员取消撤销结算"); } } } #endregion GC.KeepAlive(handelModel); GC.Collect(); }
public void OutNetworkRegister(OutPayParameter para) { outReimPara = para; NetworkReadCard(); //当姓名不一致时提示 if (outReimPara.PatInfo.PatName != networkPatInfo.PatName) { if (MessageBox.Show(" 低保卡姓名为:【" + networkPatInfo.PatName.ToString() + "】 HIS患者姓名为:【" + outReimPara.PatInfo.PatName + "】 是否继续 ", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) != DialogResult.Yes) { throw new Exception("姓名不一致,操作员取消操作!"); } } outReimPara.RegInfo.CardNo = networkPatInfo.ICNo; outReimPara.RegInfo.NetPatType = networkPatInfo.MedicalType; outReimPara.RegInfo.CantonCode = ""; outReimPara.RegInfo.MemberNo = networkPatInfo.MedicalNo; outReimPara.RegInfo.CompanyName = networkPatInfo.CompanyName; outReimPara.RegInfo.PatAddress = networkPatInfo.CompanyNo; outReimPara.RegInfo.IdNo = networkPatInfo.IDNo; //outReimPara.RegInfo.Balance =0 ; outReimPara.RegInfo.NetPatName = networkPatInfo.PatName; outReimPara.RegInfo.NetDiagnosCode = ""; outReimPara.RegInfo.NetType = ""; }
/// <summary> /// 门诊联网结算 /// </summary> /// <param name="inPara">门诊接口入参</param> /// <returns></returns> public void OutNetworkSettle(OutPayParameter para) { try { InterfaceInit(); outReimPara = para; //当姓名不一致时提示 if (outReimPara.PatInfo.PatName != dicPatInfo["xm"]) { if (MessageBox.Show(" 医保登记姓名为:【" + dicPatInfo["xm"].ToString() + "】 患者姓名为:【" + outReimPara.PatInfo.PatName + "】 是否继续 ", "提示", MessageBoxButtons.YesNo) == DialogResult.No) { throw new Exception("姓名不一致,操作员取消操作!"); } } string notMatchedCharge = ""; foreach (var item in outReimPara.Details) { if (item.NetworkItemCode.ToString().Trim().Length == 0 || "0000".Equals(item.NetworkItemCode)) { notMatchedCharge += "编码:" + item.ChargeCode + "," + "名称:" + item.ChargeName + ";"; } } if (notMatchedCharge.Trim().Length > 0) { throw new Exception("有以下项目未对应:\n" + notMatchedCharge + "取消上传费用"); } //门诊初始化 handelModel.InitMZMG(outReimPara.RegInfo.CantonCode, outReimPara.CommPara.OutNetworkSettleId.ToString(), outReimPara.PatInfo.PatName, dicPatInfo["xb"], outReimPara.RegInfo.MemberNo, outReimPara.CommPara.OutNetworkSettleId.ToString(), DateTime.Now.ToString("yyyy-MM-dd"), PayAPIConfig.Operator.UserSysId, strDiagnosCode, P_syzhlx); handelModel.SaveOutItems(outReimPara); LogManager.Debug("开始调用门诊结算:" + dicPatInfo["sbjglx"]); //门诊结算 dicSettleInfo = handelModel.SettleMG(dicPatInfo["sbjglx"]); //---------------------------------------------低保结算 if (Convert.ToDecimal(dicSettleInfo["brfdje"]) - Convert.ToDecimal(dicSettleInfo["grzhzf"]) > 0) //如果自负金额大于0弹出是否低保结算提示 { if (outReimPara.RegInfo.Memo2 == "低保") { dicSettleInfoDibao.Clear(); PayAPIInstance.Dareway.JiNan.Dialog.DiBaoJS_Confirm diBaoJS = new PayAPIInstance.Dareway.JiNan.Dialog.DiBaoJS_Confirm(outReimPara, dicSettleInfo, dicSettleInfoDibao, hosId); diBaoJS.ShowDialog(); } } //------------------------------------------------ //保存门诊结算明细 SaveOutSettleMain(); GC.KeepAlive(handelModel); GC.Collect(); } catch (Exception e) { throw new Exception(e.Message); } }
/// <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(); }
/// <summary> /// 门诊联网预结算 /// </summary> /// <param name="inPara">门诊接口入参</param> /// <returns></returns> public void OutNetworkPreSettle(OutPayParameter para) { InterfaceInit(); //门诊初始化 //handelModel.InitMZMG(outReimPara.RegInfo.CantonCode, "6", outReimPara.PatInfo.PatName, dicPatInfo["xb"], // outReimPara.RegInfo.MemberNo, outReimPara.CommPara.OutNetworkSettleId.ToString(), // DateTime.Now.ToString("yyyy-MM-dd"), PayAPIConfig.Operator.UserSysId, "", P_syzhlx); }
public void CancelOutNetworkSettle(OutPayParameter para) { outReimPara = para; frmQXJS frmqxjs = new frmQXJS(this); frmqxjs.TopMost = true; frmqxjs.ShowDialog(); }
public DiBaoJS(OutPayParameter _outReimPara, Dictionary <string, string> _dicSettleInfo, Dictionary <string, string> _dicSettleInfoDibao, string hosID) { InitializeComponent(); outReimPara = _outReimPara; dicSettleInfo = _dicSettleInfo; dicSettleInfoDibao = _dicSettleInfoDibao; this.hosid = hosID; }
public DiBaoJS_Confirm(OutPayParameter _outReimPara, Dictionary <string, string> _dicSettleInfo, Dictionary <string, string> _dicSettleInfoDibao, string hosID) { InitializeComponent(); outReimPara = _outReimPara; dicSettleInfo = _dicSettleInfo; dicSettleInfoDibao = _dicSettleInfoDibao; this.hosid = hosID; lblTs.Text = "医保结算完成,病人还需要支付" + Math.Round(Convert.ToDecimal(dicSettleInfo["brfdje"]) - Convert.ToDecimal(dicSettleInfo["grzhzf"]), 2) + "元,请选择是否进行低保结算?"; }
/// <summary> /// 构造函数 /// </summary> /// <param name="isOut">true门诊false住院</param> public InfoDiagnosis(bool IsOut, NetworkPatInfo patInfo, OutPayParameter _outPayPara, InPayParameter _inPayPara) { InitializeComponent(); this.isOut = IsOut; this.netPatInfo = patInfo; outPayPara = _outPayPara; inPayPara = _inPayPara; }
public void OutNetworkPreSettle(OutPayParameter para) { OutPayPara = para; InterfaceInit(); handelModel.InitMZ(p_sbjbm, OutPayPara.RegInfo.NetType, OutPayPara.RegInfo.MemberNo, OutPayPara.RegInfo.NetPatName, patInfo["xb"], OutPayPara.CommPara.OutNetworkSettleId.ToString(), DateTime.Now.ToString("yyyy-MM-dd"), getMzysbh(), strDiagnosCode, p_syzhlx, OutPayPara.RegInfo.CardNo, "C", ""); //4 门诊大病,5 意外伤害,6普通门诊 handelModel.SaveOutItems(OutPayPara.Details); }
/// <summary> /// 门诊联网预结算 /// </summary> /// <returns></returns> public void OutNetworkPreSettle(OutPayParameter para) { //InterfaceInit(); ////MessageBox.Show("INIT1"); //handelModel.InitMZMG(outReimPara.RegInfo.CantonCode, "4", outReimPara.RegInfo.MemberNo, outReimPara.RegInfo.NetPatName, // "1", outReimPara.RegInfo.OutNetworkSettleId.ToString(), DateTime.Now.ToString("yyyy-MM-dd"),//"001", // outReimPara.RegInfo.OperatorId,strDiagnosCode, P_syzhlx, outReimPara.RegInfo.CardNo, "C", ""); outReimPara = para; }
/// <summary> /// 门诊联网预结算 /// </summary> /// <returns></returns> public void OutNetworkPreSettle(OutPayParameter para) { outReimPara = para; //outReimPara.CommPara.NetworkPatClassId; //判断费用限额 string reStr = handelModel.MZfysh(outReimPara.RegInfo.IdNo, outReimPara.CommPara.NetworkPatClassId, outReimPara.CommPara.TradeId.ToString()); if (reStr != "1") { throw new Exception(reStr); } }
/// <summary> /// 门诊登记 /// </summary> /// <returns></returns> public void OutNetworkRegister(OutPayParameter para) { InterfaceInit(); NetworkReadCard(); //显示个人信息 JiNan.Dialog.PersonInfoDialog perDialog = new JiNan.Dialog.PersonInfoDialog(patInfo); perDialog.ShowDialog(); strDiagnosCode = perDialog.strDiagnosCode; if (perDialog.isCancel) { throw new Exception("取消操作"); } //outReimPara.RegInfo.CardNo = patInfo["shbzhm"]; //医疗卡号 //outReimPara.RegInfo.NetPatType = patInfo["ylzbh"]; //卡序列号 //outReimPara.RegInfo.CantonCode = patInfo["sbjbm"]; //行政区号 //outReimPara.RegInfo.MemberNo = patInfo["shbzhm"]; //成员编码 //outReimPara.RegInfo.CompanyName = patInfo["dwmc"]; //单位名称 //outReimPara.RegInfo.PatAddress = patInfo["dwmc"]; //住址 //outReimPara.RegInfo.IdNo = patInfo["shbzhm"]; //身份证号 //outReimPara.RegInfo.Balance = Convert.ToDecimal(patInfo["ye"]);//账户余额 //outReimPara.RegInfo.NetPatName = patInfo["xm"]; //姓名 //outReimPara.RegInfo.NetDiagnosCode = patInfo["mzdbjbs"]; // para.RegInfo.CardNo = patInfo["ylzbh"]; //医疗卡号 para.RegInfo.NetRegSerial = patInfo["sbjglx"]; //卡序列号 para.RegInfo.CantonCode = patInfo["sbjbm"]; //行政区号 para.RegInfo.MemberNo = patInfo["shbzhm"]; //成员编码 para.RegInfo.CompanyName = patInfo["dwmc"]; //单位名称 para.RegInfo.PatAddress = patInfo["dwmc"]; //住址 para.RegInfo.IdNo = patInfo["shbzhm"]; //身份证号 para.RegInfo.NetPatType = patInfo["ylrylb"]; //人员类别 para.RegInfo.Balance = Convert.ToDecimal(patInfo["ye"]); //账户余额 para.RegInfo.NetPatName = patInfo["xm"]; //姓名 para.RegInfo.Memo1 = patInfo["xb"] == "1" ? "男" : "女"; //性别 para.RegInfo.Memo2 = perDialog.reDiBao; //是否低保 para.RegInfo.NetDiagnosCode = patInfo["mzdbjbs"]; //性别 string rqlb = ""; if (patInfo["sbjglx"] == "A") { rqlb = "职工"; } else if (patInfo["sbjglx"] == "B") { rqlb = "居民"; } para.RegInfo.NetDiagnosName = perDialog.strDiagnosName; para.RegInfo.NetPatType = rqlb; para.RegInfo.NetType = "4";/// }
public void OutNetworkSettle(OutPayParameter para) { OutPayPara = para; //门诊结算 dicSettleInfo = handelModel.SettleMZ(false); //保存门诊结算明细 SaveOutSettleMain(); handelModel.PrintDJ(dicSettleInfo["brjsh"], "FP"); isInit = false; GC.Collect(); //释放对象 handelModel.ReleaseComObj(); }
public NetworkPatInfo NetworkReadCard(OutPayParameter para) { InterfaceInit(); NetworkPatInfo networkPatInfo = new NetworkPatInfo(); P_syzhlx = "3"; //strPayTypeId = "5"; IsInReadCard = false; string quickIDnumber = ""; if (para != null) { quickIDnumber = para.PatInfo.IDNo; } frmCARD frmCard = new frmCARD(quickIDnumber); frmCard.ShowDialog(); if (frmCard.iscard == "1") { CARD_Y_N = "1"; patInfo = handelModel.ReadCardMZ(); } else if (frmCard.iscard == "0") { CARD_Y_N = "0"; patInfo = handelModel.QueryBasicInfo(frmCard.IDNo, "", "6", "");//*医疗统筹类别(1,住院,4 门规) } else { throw new Exception("操作员取消本次操作"); } IsInReadCard = true; dicPatInfo = patInfo; networkPatInfo.MedicalNo = patInfo["ylzbh"]; //医疗卡号 networkPatInfo.PatName = patInfo["xm"]; //姓名 networkPatInfo.Sex = patInfo["xb"] == "1" ? "男" : "女"; //性别 networkPatInfo.IDNo = patInfo["shbzhm"]; //patInfo["sfzhm"]; //身份证号码shbzhm networkPatInfo.MedicalTypeName = patInfo["ylrylb"]; networkPatInfo.MedicalType = patInfo["ylrylb"]; //医疗人员类别 networkPatInfo.ICAmount = Convert.ToDecimal(patInfo["ye"]); //账户余额 networkPatInfo.ICNo = ""; //patInfo["kh"]; //社会保障卡卡号 networkPatInfo.CompanyNo = ""; //patInfo["sbjgbh"]; //单位编号sbjbm networkPatInfo.CompanyName = patInfo["dwmc"]; //单位名称 //networkPatInfo.Birthday = Convert.ToDateTime(patInfo["csrq"].Substring(0, 4) + "-" + patInfo["csrq"].Substring(4, 2) + "-" + patInfo["csrq"].Substring(6, 2)); //出生日期 networkPatInfo.MedicalType = patInfo["ylrylb"]; return(networkPatInfo); }
/// <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(); }
public void OutNetworkRegister(OutPayParameter para) { OutPayPara = para; isOut = true; ReadCard(); //读卡 Dialog.PersonInfoDialog perDialog = new Dialog.PersonInfoDialog(patInfo); perDialog.ShowDialog(); if (perDialog.isCancel) { throw new Exception("取消操作"); } strDiagnosCode = perDialog.strDiagnosCode; strDiagnosName = perDialog.strDiagnosName; string HisPatName = OutPayPara.PatInfo.PatName; OutPayPara.RegInfo = new PayAPIInterface.Model.Out.OutNetworkRegisters { NetPatName = networkPatInfo.PatName, Balance = networkPatInfo.ICAmount, CardNo = networkPatInfo.ICNo, MemberNo = networkPatInfo.MedicalNo, NetType = p_yltclb, CantonCode = patInfo["cbdsbh"], PatAddress = networkPatInfo.CompanyName, CompanyName = networkPatInfo.CompanyName, NetPatType = networkPatInfo.MedicalType, IdNo = networkPatInfo.IDNo, Memo1 = "", Memo2 = "", NetRegSerial = "", OperatorId = PayAPIConfig.Operator.UserSysId, OutNetworkSettleId = OutPayPara.CommPara.OutNetworkSettleId, RegTimes = 0, NetDiagnosCode = strDiagnosCode, NetDiagnosName = strDiagnosName, IsInvalid = true, IsReg = true, OutPatId = OutPayPara.PatInfo.OutPatId, PatSerial = "" }; if (networkPatInfo.PatName.Trim() != HisPatName.Trim()) { throw new Exception("HIS登记姓名:" + HisPatName.Trim() + ",医保读卡姓名:" + networkPatInfo.PatName.Trim() + ",两者不一致,请核对!"); } }
/// <summary> /// 门诊登记 /// </summary> /// <returns></returns> public void OutNetworkRegister(OutPayParameter para) { outReimPara = para; InterfaceInit(); NetworkReadCard(); //显示个人信息 PersonInfoDialog perDialog = new PersonInfoDialog(patInfo, this); perDialog.ShowDialog(); strDiagnosCode = perDialog.strDiagnosCode; if (perDialog.isCancel) { throw new Exception("取消操作"); } outReimPara.RegInfo.CardNo = patInfo["ylzbh"]; //医疗卡号 outReimPara.RegInfo.NetPatType = patInfo["sbjglx"]; //卡序列号 outReimPara.RegInfo.CantonCode = patInfo["sbjbm"]; //行政区号 outReimPara.RegInfo.MemberNo = patInfo["shbzhm"]; //成员编码 outReimPara.RegInfo.CompanyName = patInfo["dwmc"]; //单位名称 outReimPara.RegInfo.PatAddress = patInfo["dwmc"]; //住址 outReimPara.RegInfo.IdNo = patInfo["shbzhm"]; //身份证号 outReimPara.RegInfo.Balance = Convert.ToDecimal(patInfo["ye"]); //账户余额 outReimPara.RegInfo.NetPatName = patInfo["xm"]; //姓名 outReimPara.RegInfo.Memo1 = patInfo["xb"] == "1" ? "男" : "女"; //性别 outReimPara.RegInfo.Memo2 = perDialog.reDiBao; //是否低保 outReimPara.RegInfo.NetDiagnosCode = patInfo["mzdbjbs"]; string rqlb = ""; if (patInfo["sbjglx"] == "A") { rqlb = "职工"; } else if (patInfo["sbjglx"] == "B") { rqlb = "居民"; } outReimPara.RegInfo.NetPatType = rqlb; outReimPara.RegInfo.NetType = "4"; }
/// <summary> /// 门诊结算 /// </summary> /// <param name="para"></param> public void OutNetworkSettle(OutPayParameter para) { outReimPara = para; //门诊结算 try { OutPatSettle(); } catch (Exception ex) { if (ex.Message.Contains("不允许消费账户")) { MessageBox.Show("医保提示:不允许消费账户,将按自费收取"); //SaveOutSettleMainWithoutSettle(); } else { throw ex; } } }
/// <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.InitMZ(); handelModel.SaveOutItemsMZ(outReimPara.Details); //门诊结算 dicSettleInfo = handelModel.SettleMZ(dicPatInfo["sbjbm"], dicPatInfo["ylzbh"]); //---------------------------------------------低保结算 if (Convert.ToDecimal(dicSettleInfo["xj"]) > 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(); }
public void OutNetworkPreSettle(OutPayParameter para) { outReimPara = para; string strSql = ""; DataSet ds = new DataSet(); strSql = "SELECT id FROM REPORT.dbo.yb_MzXlb WHERE NETWORKING_PAT_CLASS_ID='" + outReimPara.CommPara.NetworkPatClassId + "'" + " UNION ALL " + "SELECT id FROM REPORT.dbo.yb_MzXeb WHERE NETWORKING_PAT_CLASS_ID='" + outReimPara.CommPara.NetworkPatClassId + "'"; ds = sqlHelper.ExecSqlReDs(strSql); if (ds.Tables[0].Rows.Count > 0) { InterfaceInit(); //outReimPara.CommPara.NetworkPatClassId; //判断费用限额 string reStr = handelModel.MZfysh(outReimPara.RegInfo.IdNo, outReimPara.CommPara.NetworkPatClassId, outReimPara.CommPara.TradeId.ToString()); if (reStr != "1") { throw new Exception(reStr); } } }
/// <summary> /// 门诊登记 /// </summary> /// <param name="para"></param> public void OutNetworkRegister(OutPayParameter para) { NetworkReadCard(); //显示个人基本信息 PersonInfoDialog perDialog = new PersonInfoDialog(patInfo); perDialog.ShowDialog(); strDiagnosCode = perDialog.strDiagnosCode; if (perDialog.isCancel) { throw new Exception("取消操作"); } para.RegInfo.CardNo = patInfo["ylzbh"]; //医疗卡号 para.RegInfo.NetRegSerial = patInfo["sbjglx"]; //卡序列号 para.RegInfo.CantonCode = patInfo["sbjbm"]; //行政区号 para.RegInfo.MemberNo = patInfo["shbzhm"]; //成员编码 para.RegInfo.CompanyName = patInfo["dwmc"]; //单位名称 para.RegInfo.PatAddress = patInfo["dwmc"]; //住址 para.RegInfo.IdNo = patInfo["shbzhm"]; //身份证号 para.RegInfo.NetPatType = patInfo["ylrylb"]; //人员类别 para.RegInfo.Balance = Convert.ToDecimal(patInfo["ye"]); //账户余额 para.RegInfo.NetPatName = patInfo["xm"]; //姓名 para.RegInfo.Memo1 = patInfo["xb"] == "1" ? "男" : "女"; //性别 string rqlb = ""; if (patInfo["sbjglx"] == "A") { rqlb = "职工"; } else if (patInfo["sbjglx"] == "B") { rqlb = "居民"; } para.RegInfo.NetPatType = rqlb; para.RegInfo.NetType = "6"; }
/// <summary> /// 门诊预结算 /// </summary> /// <param name="para"></param> public void OutNetworkPreSettle(OutPayParameter para) { outReimPara = para; }
public void CancelOutNetworkSettle(OutPayParameter para) { throw new NotImplementedException(); }
/// <summary> /// 门诊登记第一调用 /// </summary> /// <param name="para"></param> public void OutNetworkRegister(OutPayParameter para) { outReimPara = para; OutNeworkReadCard(); }