Beispiel #1
0
        /// <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();
        }