Ejemplo n.º 1
0
        /// <summary>
        /// 保存门诊结算数据
        /// </summary>
        public void SaveOutSettleMain(int _payTypeId)
        {
            #region 保存农合中心返回值参数列表
            //保存农合中心返回值参数列表
            try
            {
                OutNetworkSettleList outNetworkSettleList;
                foreach (var item in dicSettleInfo)
                {
                    //if (dicSettleInfo["report"]=="report")

                    if (item.Key.ToString() == "report")
                    {
                        continue;
                    }
                    outNetworkSettleList                    = new OutNetworkSettleList();
                    outNetworkSettleList.OutPatId           = outReimPara.PatInfo.OutPatId;
                    outNetworkSettleList.OutNetworkSettleId = outReimPara.CommPara.OutNetworkSettleId;
                    outNetworkSettleList.ParaName           = item.Key.ToString();
                    outNetworkSettleList.ParaValue          = item.Value;
                    outNetworkSettleList.Memo               = "";
                    outReimPara.SettleParaList.Add(outNetworkSettleList);
                }
            }
            catch (Exception ex)
            {
                LogManager.Error("保存农合中心返回值参数列表 插入值 失败" + ex.Message, ex);
            }
            #endregion

            OutNetworkSettleMain outSettleMain = new OutNetworkSettleMain();
            outSettleMain.SettleNo             = dicSettleInfo["jshid"];                                                                  //医保中心交易流水号
            outSettleMain.Amount               = Convert.ToDecimal(dicSettleInfo["zje"]);                                                 //本次医疗费用
            outSettleMain.GetAmount            = Convert.ToDecimal(dicSettleInfo["brfdje"]) - Convert.ToDecimal(dicSettleInfo["grzhzf"]); //本次现金支出
            outSettleMain.MedAmountZhzf        = Convert.ToDecimal(dicSettleInfo["grzhzf"]);                                              //本次帐户支出
            outSettleMain.MedAmountTc          = Convert.ToDecimal(dicSettleInfo["ybfdje"]);                                              //本次统筹支出
            outSettleMain.MedAmountDb          = 0;                                                                                       //本次大病支出
            outSettleMain.MedAmountBz          = Convert.ToDecimal(dicSettleInfo["ylbzje"]);                                              //本次大病支出
            outSettleMain.MedAmountTotal       = Convert.ToDecimal(outSettleMain.Amount) - Convert.ToDecimal(outSettleMain.GetAmount);
            outSettleMain.NetworkingPatClassId = Convert.ToInt32(outReimPara.CommPara.NetworkPatClassId);
            outSettleMain.NetworkPatName       = outReimPara.PatInfo.PatName;
            outSettleMain.NetworkPatType       = "0";
            outSettleMain.OutNetworkSettleId   = Convert.ToDecimal(outReimPara.CommPara.OutNetworkSettleId);
            outSettleMain.SettleBackNo         = outReimPara.CommPara.OutNetworkSettleId.ToString("0");
            outSettleMain.SettleType           = "1";

            outReimPara.SettleInfo = outSettleMain;

            //门诊付费方式 本接口 4 医保 6农合
            PayAPIInterface.Model.Comm.PayType payType;
            outReimPara.PayTypeList = new List <PayType>();
            payType             = new PayAPIInterface.Model.Comm.PayType();
            payType.PayTypeId   = _payTypeId;
            payType.PayTypeName = "医保";
            payType.PayAmount   = outReimPara.SettleInfo.MedAmountTotal;
            outReimPara.PayTypeList.Add(payType);
        }
        /// <summary>
        /// 保存门诊结算数据
        /// </summary>
        public void SaveOutSettleMain()
        {
            #region 保存中心返回值参数列表
            //保存中心返回值参数列表
            try
            {
                OutNetworkSettleList outNetworkSettleList;
                foreach (var item in dicSettleInfo)
                {
                    outNetworkSettleList                    = new OutNetworkSettleList();
                    outNetworkSettleList.OutPatId           = outReimPara.PatInfo.OutPatId;
                    outNetworkSettleList.OutNetworkSettleId = outReimPara.CommPara.OutNetworkSettleId;
                    outNetworkSettleList.ParaName           = item.Key.ToString();
                    outNetworkSettleList.ParaValue          = item.Value;
                    outNetworkSettleList.Memo               = "";
                    outReimPara.SettleParaList.Add(outNetworkSettleList);
                }
            }
            catch (Exception ex)
            {
                LogManager.Info("保存中心返回值参数列表 插入值 失败" + ex.Message);
            }
            #endregion

            OutNetworkSettleMain outSettleMain = new OutNetworkSettleMain();
            outSettleMain.OutPatId             = outReimPara.RegInfo.OutPatId;
            outSettleMain.SettleNo             = dicSettleInfo["brjsh"];                                                                                                                           //医保中心交易流水号
            outSettleMain.Amount               = Convert.ToDecimal(dicSettleInfo["brfdje"]) + Convert.ToDecimal(dicSettleInfo["ybfdje"]) + Convert.ToDecimal(dicSettleInfo["yljmje"]);             //本次医疗费用
            outSettleMain.MedAmountZhzf        = Convert.ToDecimal(dicSettleInfo["grzhzf"]);                                                                                                       //本次帐户支出
            outSettleMain.MedAmountTc          = Convert.ToDecimal(dicSettleInfo["ybfdje"]);                                                                                                       //本次统筹支出
            outSettleMain.MedAmountDb          = dicSettleInfoDibao.Count > 0 ? Convert.ToDecimal(dicSettleInfoDibao["AidPayment"]) + Convert.ToDecimal(dicSettleInfoDibao["AidCardPayment"]) : 0; //低保支付
            outSettleMain.MedAmountBz          = Convert.ToDecimal(dicSettleInfo["ylbzje"]);                                                                                                       //补助金额
            outSettleMain.MedAmountJm          = Convert.ToDecimal(dicSettleInfo["yljmje"]);                                                                                                       //减免金额
            outSettleMain.GetAmount            = Convert.ToDecimal(dicSettleInfo["brfdje"]) - Convert.ToDecimal(dicSettleInfo["grzhzf"]) - outSettleMain.MedAmountDb;                              //本次现金支出
            outSettleMain.CreateTime           = DateTime.Now;
            outSettleMain.InvoiceId            = -1;
            outSettleMain.IsCash               = true;
            outSettleMain.IsInvalid            = false;
            outSettleMain.IsNeedRefund         = false;
            outSettleMain.IsRefundDo           = false;
            outSettleMain.IsSettle             = true;
            outSettleMain.MedAmountTotal       = Convert.ToDecimal(outSettleMain.Amount) - Convert.ToDecimal(outSettleMain.GetAmount);
            outSettleMain.NetworkingPatClassId = Convert.ToInt32(outReimPara.SettleInfo.NetworkingPatClassId);
            outSettleMain.NetworkPatName       = dicPatInfo["xm"];
            outSettleMain.NetworkPatType       = dicSettleInfoDibao.Count > 0 ? "低保" : ""; //低保病人结算
            outSettleMain.SettleType           = dicSettleInfoDibao.Count > 0 ? "1" : "0"; //低保结算标志
            outSettleMain.NetworkRefundTime    = Convert.ToDateTime("2000-01-01");
            outSettleMain.NetworkSettleTime    = DateTime.Now;
            outSettleMain.OperatorId           = PayAPIConfig.Operator.UserSysId; //operatorInfo.UserSysId;
            outSettleMain.OutNetworkSettleId   = Convert.ToDecimal(outReimPara.SettleInfo.OutNetworkSettleId);
            outSettleMain.SettleBackNo         = "";

            outReimPara.SettleInfo = outSettleMain;

            PayAPIInterface.Model.Comm.PayType payType;
            outReimPara.PayTypeList = new List <PayType>();
            payType             = new PayAPIInterface.Model.Comm.PayType();
            payType.PayTypeId   = 4;
            payType.PayTypeName = "医保";
            payType.PayAmount   = outReimPara.SettleInfo.MedAmountTotal - Convert.ToDecimal(outReimPara.SettleInfo.MedAmountDb);
            outReimPara.PayTypeList.Add(payType);

            if (dicSettleInfoDibao.Count > 0)
            {
                payType             = new PayAPIInterface.Model.Comm.PayType();
                payType.PayTypeId   = 8;
                payType.PayTypeName = "低保";
                payType.PayAmount   = Convert.ToDecimal(outReimPara.SettleInfo.MedAmountDb);
                outReimPara.PayTypeList.Add(payType);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 保存门诊结算数据
        /// </summary>
        public void SaveOutSettleMain_ZHZF()
        {
            #region 保存中心返回值参数列表
            //保存中心返回值参数列表
            try
            {
                OutNetworkSettleList outNetworkSettleList;
                foreach (var item in dicSettleInfo)
                {
                    outNetworkSettleList                    = new OutNetworkSettleList();
                    outNetworkSettleList.OutPatId           = outReimPara.PatInfo.OutPatId;
                    outNetworkSettleList.OutNetworkSettleId = outReimPara.CommPara.OutNetworkSettleId;
                    outNetworkSettleList.ParaName           = item.Key.ToString();
                    outNetworkSettleList.ParaValue          = item.Value;
                    outNetworkSettleList.Memo               = "";
                    outReimPara.SettleParaList.Add(outNetworkSettleList);
                }
            }
            catch (Exception ex)
            {
                LogManager.Info("保存中心返回值参数列表 插入值 失败" + ex.Message);
            }
            #endregion

            OutNetworkSettleMain outSettleMain = new OutNetworkSettleMain();
            outSettleMain.OutPatId             = outReimPara.PatInfo.OutPatId;
            outSettleMain.SettleNo             = dicSettleInfo["mzzdlsh"];                                                             //医保中心交易流水号
            outSettleMain.Amount               = Convert.ToDecimal(dicSettleInfo["zje"]);                                              //本次医疗费用
            outSettleMain.GetAmount            = Convert.ToDecimal(dicSettleInfo["zje"]) - Convert.ToDecimal(dicSettleInfo["grzhzf"]); //本次现金支出
            outSettleMain.MedAmountZhzf        = Convert.ToDecimal(dicSettleInfo["grzhzf"]);                                           //本次帐户支出
            outSettleMain.MedAmountTc          = 0;                                                                                    //本次统筹支出
            outSettleMain.MedAmountDb          = 0;                                                                                    //本次大病支出
            outSettleMain.MedAmountBz          = 0;                                                                                    //本次大病支出
            outSettleMain.CreateTime           = DateTime.Now;
            outSettleMain.InvoiceId            = -1;
            outSettleMain.IsCash               = true;
            outSettleMain.IsInvalid            = false;
            outSettleMain.IsNeedRefund         = false;
            outSettleMain.IsRefundDo           = false;
            outSettleMain.IsSettle             = true;
            outSettleMain.MedAmountTotal       = Convert.ToDecimal(outSettleMain.Amount) - Convert.ToDecimal(outSettleMain.GetAmount);
            outSettleMain.NetworkingPatClassId = Convert.ToInt32(outReimPara.SettleInfo.NetworkingPatClassId);
            outSettleMain.NetworkPatName       = dicPatInfo["xm"];
            outSettleMain.NetworkPatType       = "0";
            outSettleMain.NetworkRefundTime    = Convert.ToDateTime("2000-01-01");
            outSettleMain.NetworkSettleTime    = DateTime.Now;
            outSettleMain.OperatorId           = operatorInfo.UserSysId;
            outSettleMain.OutNetworkSettleId   = Convert.ToDecimal(outReimPara.SettleInfo.OutNetworkSettleId);
            outSettleMain.SettleBackNo         = "";
            outSettleMain.SettleType           = "2";

            PayAPIInterface.Model.Comm.PayType payType;
            outReimPara.PayTypeList = new List <PayType>();
            payType             = new PayAPIInterface.Model.Comm.PayType();
            payType.PayTypeId   = 4;
            payType.PayTypeName = "医保";
            payType.PayAmount   = Convert.ToDecimal(outSettleMain.MedAmountTotal);
            outReimPara.PayTypeList.Add(payType);

            payType.PayTypeId   = 5;
            payType.PayTypeName = "医保卡";
            payType.PayAmount   = Convert.ToDecimal(outReimPara.SettleInfo.MedAmountZhzf);
            outReimPara.PayTypeList.Add(payType);;
        }
        /// <summary>
        /// 保存门诊结算数据
        /// </summary>
        public void SaveOutSettleMain(string bz)
        {
            string[] arr = new string[6];
            arr[0] = "病人结算号";
            arr[1] = "病人负担金额";
            arr[2] = "医保负担金额";
            arr[3] = "个人账户支付";
            arr[4] = "统筹支付";
            arr[5] = "账户支付";

            #region 保存中心返回值参数列表
            //保存中心返回值参数列表
            try
            {
                int a = 0;
                OutNetworkSettleList outNetworkSettleList;
                foreach (var item in dicSettleInfo)
                {
                    outNetworkSettleList                    = new OutNetworkSettleList();
                    outNetworkSettleList.OutPatId           = outReimPara.PatInfo.OutPatId;
                    outNetworkSettleList.OutNetworkSettleId = outReimPara.CommPara.OutNetworkSettleId;
                    outNetworkSettleList.ParaName           = item.Key.ToString();
                    outNetworkSettleList.ParaValue          = item.Value;
                    if (a < 6)
                    {
                        outNetworkSettleList.Memo = arr[a];
                    }
                    else
                    {
                        outNetworkSettleList.Memo = "索引出界请查询文档";
                    }
                    a++;
                    outReimPara.SettleParaList.Add(outNetworkSettleList);
                }
            }
            catch (Exception ex)
            {
                LogManager.Info("保存中心返回值参数列表 插入值 失败" + ex.Message);
            }
            #endregion

            OutNetworkSettleMain outSettleMain = new OutNetworkSettleMain();
            outSettleMain.OutPatId             = outReimPara.PatInfo.OutPatId;
            outSettleMain.SettleNo             = dicSettleInfo["mzzdlsh"];                                                                                                        //医保中心交易流水号
            outSettleMain.Amount               = Convert.ToDecimal(dicSettleInfo["zje"]);                                                                                         //本次医疗费用
            outSettleMain.GetAmount            = Convert.ToDecimal(dicSettleInfo["zje"]) - Convert.ToDecimal(dicSettleInfo["grzhzf"]) - Convert.ToDecimal(dicSettleInfo["jmje"]); //本次现金支出
            outSettleMain.MedAmountZhzf        = Convert.ToDecimal(dicSettleInfo["grzhzf"]);                                                                                      //本次帐户支出
            outSettleMain.MedAmountTc          = 0;                                                                                                                               //本次统筹支出
            outSettleMain.MedAmountDb          = 0;                                                                                                                               //本次大病支出
            outSettleMain.MedAmountBz          = Convert.ToDecimal(dicSettleInfo["jmje"]);                                                                                        //本次大病支出
            outSettleMain.CreateTime           = DateTime.Now;
            outSettleMain.InvoiceId            = -1;
            outSettleMain.IsCash               = true;
            outSettleMain.IsInvalid            = false;
            outSettleMain.IsNeedRefund         = false;
            outSettleMain.IsRefundDo           = false;
            outSettleMain.IsSettle             = true;
            outSettleMain.MedAmountTotal       = Convert.ToDecimal(outSettleMain.Amount) - Convert.ToDecimal(outSettleMain.GetAmount);
            outSettleMain.NetworkingPatClassId = Convert.ToInt32(outReimPara.SettleInfo.NetworkingPatClassId);
            outSettleMain.NetworkPatName       = dicPatInfo["xm"];
            outSettleMain.NetworkPatType       = "0";
            outSettleMain.NetworkRefundTime    = Convert.ToDateTime("2000-01-01");
            outSettleMain.NetworkSettleTime    = DateTime.Now;
            outSettleMain.OperatorId           = PayAPIConfig.Operator.UserSysId; //operatorInfo.UserSysId;
            outSettleMain.OutNetworkSettleId   = Convert.ToDecimal(outReimPara.SettleInfo.OutNetworkSettleId);
            outSettleMain.SettleBackNo         = "";

            outSettleMain.SettleType = (bz == "Deduct" ? "10" : (bz == "JZ" ? "9" : "1")); //自定义暂存款SettleType为10,急诊的SettleType为9
            outReimPara.SettleInfo   = outSettleMain;

            PayAPIInterface.Model.Comm.PayType payType;
            outReimPara.PayTypeList = new List <PayType>();
            payType             = new PayAPIInterface.Model.Comm.PayType();
            payType.PayTypeId   = 4;
            payType.PayTypeName = "医保";
            payType.PayAmount   = Convert.ToDecimal(outSettleMain.MedAmountTotal);
            outReimPara.PayTypeList.Add(payType);

            //payType = new PayAPIInterface.Model.Comm.PayType();
            //payType.PayTypeId = 5;
            //payType.PayTypeName = "医保卡";
            //payType.PayAmount = Convert.ToDecimal(outReimPara.SettleInfo.MedAmountZhzf);
            //outReimPara.PayTypeList.Add(payType);
        }