Example #1
0
        /// <summary>
        /// 住院结算
        /// </summary>
        /// <param name="para"></param>
        public void InNetworkSettle(InPayParameter para)
        {
            InPayPara = para;

            if (MessageBox.Show("请确认是否已经审批", "提示", MessageBoxButtons.YesNo) == DialogResult.No)
            {
                throw new Exception("取消结算,如果要结算请重新进行下预结算");
            }
            string RecCode     = InPayPara.RegInfo.MemberNo;                     //就诊号
            int    InpatType   = 2;                                              //就诊类型
            int    ExpenseType = Convert.ToInt32(form2.Jslx);                    //结算类型
            String Operator    = PayAPIConfig.Operator.UserName;                 //登记人
            String ExpenseDate = DateTime.Now.ToString();
            String RegDate     = InPayPara.RegInfo.CreateTime.ToString();        //入院时间
            String LeaveDate   = DateTime.Now.ToString();
            String DiseaseNo1  = InPayPara.RegInfo.NetDiagnosName;               //入院主诊断
            String LDiseaseNo1 = form2.Cyzdmc;                                   //出院主诊断
            String BillNo      = Convert.ToString(InPayPara.RegInfo.PatInHosId); //医院单据号
            Double HomePay     = 0;                                              //递减金额
            int    CalcType    = 2;



            StringBuilder DataBuffer1 = new StringBuilder(3000);
            int           a1          = jingQiHandle.expenseCalc(RecCode, InpatType, ExpenseType, Operator, ExpenseDate, RegDate, LeaveDate, DiseaseNo1, LDiseaseNo1, BillNo, HomePay, CalcType, DataBuffer1);

            if (a1 != 0)
            {
                throw new Exception("接口调用失败:" + DataBuffer1.ToString());
            }
            JS = DataBuffer1.ToString().Split('|');

            MessageBox.Show("报补单号:" + JS[12]);
            SaveInSettleMain();
        }
Example #2
0
 public void CancelInNetworkRegister(InPayParameter para)
 {
     InPayPara = para;
     InterfaceInit();
     handelModel.CancelZY(InPayPara.PatInfo.PatInHosCode);
     isInit = false;
 }
        /// <summary>
        /// 取消住院结算
        /// </summary>
        /// <param name="inPara">住院接口入参</param>
        /// <returns></returns>
        public void CancelInNetworkSettle(InPayParameter para)
        {
            inReimPara = para;
            //if (MessageBox.Show("请确保医保是否已经撤销,已经撤销则点【是】,未撤销则点【否】!", "提示", MessageBoxButtons.YesNo) == DialogResult.No)
            //{
            //    throw new Exception("未撤销医保");
            //}
            //else
            //{
            #region 撤销结算时获取住院号
            string            sql       = "SELECT SETTLE_BACK_NO  FROM  ZY.[IN].IN_NETWORK_SETTLE_MAIN WHERE SETTLE_BACK_NO!='' AND  SETTLE_NO='" + inReimPara.SettleInfo.SettleNo + "'";
            MSSQLHelper       sqlhelper = new MSSQLHelper("Data Source=172.18.0.25;Initial Catalog=COMM;User ID=sa;Password=m@ssunsoft009");
            DataRowCollection drc       = sqlhelper.ExecSqlReDs(sql).Tables[0].Rows;
            if (drc.Count > 0)
            {
                string SETTLE_BACK_NO = drc[0][0].ToString();
                // inReimPara.SettleInfo.MedAmountTotal = Convert.ToDecimal(Amount);
                inReimPara.SettleInfo.SettleBackNo = SETTLE_BACK_NO;
            }
            #endregion
            string patInHosCode = inReimPara.SettleInfo.SettleBackNo;
            string settleNo     = inReimPara.SettleInfo.SettleNo;

            InterfaceInit();

            handelModel.CancleZYSettle(patInHosCode, settleNo);//, inReimPara.SettleInfo.InNetworkSettleId.ToString());

            //}
        }
Example #4
0
 public void CancelInNetworkSettle(InPayParameter para)
 {
     InterfaceInit();
     //初始化
     InPayPara = para;
     handelModel.CancleZYSettle(InPayPara.RegInfo.PatInHosSerial, InPayPara.SettleInfo.SettleNo);
 }
        /// <summary>
        /// 住院登记
        /// </summary>
        /// <param name="inPara">住院接口入参</param>
        /// <returns></returns>
        public void InNetworkRegister(InPayParameter para)
        {
            throw new Exception("该类别是普通门诊");

            //InterfaceInit();
            //inReimPara = para;
            //InNetWorkReadCard(inReimPara);
            //try
            //{
            //    handelModel.SaveZYDJ(inReimPara.PatInfo.PatInHosCode,
            //                        dicPatInfo["shbzhm"],
            //                        dicPatInfo["ylzbh"],
            //                        dicPatInfo["xm"],
            //                        dicPatInfo["xb"],
            //                        "1",//   string            *住院类别 1:住院 2:家床
            //                        dicPatInfo["sbjbm"],
            //                        "3",//(CARD_Y_N == "0" ? "0" : "3"),     //  *使用医保卡类型(0:不使用医保卡 ,1银行卡,2 cpu 卡,3,济南医保卡) string
            //                        inReimPara.PatInfo.InDeptCode.ToString(),               //需修改//varchar2(20)       *科室编码
            //                        inReimPara.PatInfo.InDateTime.ToString("yyyy-MM-dd"),//datetime           *住院日期
            //                        "",//string              确诊医师
            //                        "",//  varchar2(20)        门诊科室
            //                        "1",
            //                        "C",
            //                        "");

            //}
            //catch (Exception ex)
            //{
            //    MessageBox.Show(ex.Message);
            //    MessageBox.Show(ex.InnerException.Message);
            //    throw ex;
            //}
            //IsInReadCard = false;
        }
        /// <summary>
        /// 住院登记
        /// </summary>
        /// <param name="inPara">住院接口入参</param>
        /// <returns></returns>
        public void InNetworkRegister(InPayParameter para)
        {
            InterfaceInit();
            inReimPara = para;
            InNetWorkReadCard(inReimPara);

            try
            {
                handelModel.SaveZYDJ(inReimPara.PatInfo.PatInHosCode,
                                     dicPatInfo["shbzhm"],
                                     dicPatInfo["ylzbh"],
                                     dicPatInfo["xm"],
                                     dicPatInfo["xb"],
                                     "1",                                                  //   string            *住院类别 1:住院 2:家床
                                     dicPatInfo["sbjbm"],
                                     CARD_Y_N == "0" ? "5" : "3",                          //  string            *使用医保卡类型(0:不使用医保卡 ,1银行卡,2 cpu 卡,3,济南医保卡)
                                     inReimPara.PatInfo.InDeptCode.ToString(),             //需修改//varchar2(20)       *科室编码
                                     inReimPara.PatInfo.InDateTime.ToString("yyyy-MM-dd"), //datetime           *住院日期
                                     "",                                                   //string              确诊医师
                                     "",                                                   //  varchar2(20)        门诊科室
                                     "1",
                                     "C",
                                     "");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                MessageBox.Show(ex.InnerException.Message);
                throw ex;
            }
            IsInReadCard = false;
        }
Example #7
0
        public void InNetworkPreSettle(InPayParameter para)
        {
            InPayPara = para;


            //在 住院预结算 和 住院结算的时候 在函数最开始   加入一下判断
            if (InPayPara.SettleInfo != null && InPayPara.SettleInfo.MedAmountTotal != 0)
            {
                PayType _payType = new PayType();
                _payType.PayTypeId    = 4;
                _payType.PayTypeName  = "医保";
                _payType.PayAmount    = InPayPara.SettleInfo.MedAmountTotal;
                InPayPara.PayTypeList = new List <PayType>();
                InPayPara.PayTypeList.Add(_payType);
                return;
            }



            if (InPayPara.RegInfo.MemberNo == null)
            {
                throw new Exception("没有找到联网登记信息,请确认是否联网登记!");
            }

            InterfaceInit();
            InReimUpItems();
            dicSettleInfo = handelModel.SettleZY();

            SaveInSettleMain();


            isInit = false;
        }
Example #8
0
 /// <summary>
 /// 撤销住院登记
 /// </summary>
 /// <param name="para"></param>
 public void CancelInNetworkRegister(InPayParameter para)
 {
     init();
     DengJiLeiXing = false;
     //InNetworkRegister(InPayPara);
     getPersonInfo();
     inputreg();
 }
Example #9
0
 public DiBaoQxjsZy(InPayParameter _inReimPara, string _hosId, string _hosOperatorName, string _hosOperatorSysid)
 {
     InitializeComponent();
     this.inReimPara       = _inReimPara;
     this.hosId            = _hosId;
     this.hosOperatorName  = _hosOperatorName;
     this.hosOperatorSysid = _hosOperatorSysid;
 }
Example #10
0
 public MzInvoiceInput(InPayParameter para, NetPatInfo patInfo, string AreaCode)
 {
     InitializeComponent();
     this.model      = new FYNHCityInterfaceModel();
     this.inReimPara = para;
     this.netPatInfo = patInfo;
     this.sAreaCode  = AreaCode;
 }
Example #11
0
 public InfoPreSettle(InPayParameter inpara, bool isOut = false)
 {
     InitializeComponent();
     inReimPara = inpara;
     if (isOut)
     {
         button1.Visible = false;
     }
 }
Example #12
0
        /// <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;
        }
        /// <summary>
        /// 取消住院登记
        /// </summary>
        /// <param name="inPara">住院接口入参</param>
        /// <returns></returns>
        public void CancelInNetworkRegister(InPayParameter para)
        {
            throw new Exception("该类别是普通门诊");

            //InterfaceInit();
            //inReimPara = para;
            //handelModel.DelAllInItems(inReimPara.PatInfo.PatInHosCode);
            //handelModel.CancelZY(inReimPara.PatInfo.PatInHosCode);
            //isInit = false;
        }
Example #14
0
 public DiBaoJS_zy(InPayParameter _inReimPara, Dictionary <string, string> _dicSettleInfo, Dictionary <string, string> _dicSettleInfoDibao, string hosID, string hosOperatorSysid, string hosOperatorName)
 {
     InitializeComponent();
     inReimPara            = _inReimPara;//判断是否可以拿到PatInhosID;
     dicSettleInfo         = _dicSettleInfo;
     dicSettleInfoDibao    = _dicSettleInfoDibao;
     this.hosid            = hosID;
     this.hosOperatorSysid = hosOperatorSysid;
     this.hosOperatorName  = hosOperatorName;
 }
        /// <summary>
        /// 取消住院结算
        /// </summary>
        /// <param name="inPara">住院接口入参</param>
        /// <returns></returns>
        public void CancelInNetworkSettle(InPayParameter para)
        {
            inReimPara = para;

            string patInHosCode = inReimPara.RegInfo.PatInHosSerial;
            string settleNo     = inReimPara.SettleInfo.SettleNo;

            InterfaceInit();

            handelModel.CancleZYSettle(patInHosCode, settleNo);
        }
Example #16
0
        /// <summary>
        /// 撤销住院结算
        /// </summary>
        /// <param name="para"></param>
        public void CancelInNetworkSettle(InPayParameter para)
        {
            InPayPara = para;
            StringBuilder DataBuffer1 = new StringBuilder(3000);
            int           a           = jingQiHandle.cancelSettleFee(para.RegInfo.MemberNo, InPayPara.SettleInfo.SettleType, 1, PayAPIConfig.Operator.UserName, DataBuffer1);

            if (a != 0)
            {
                throw new Exception("接口调用失败:" + DataBuffer1.ToString());
            }
        }
Example #17
0
 public dibao_zy_continue_js(InPayParameter inReimPara, Dictionary <string, string> dicSettleInfo, Dictionary <string, string> dicSettleInfoDibao, string hosid, string hosOperatorSysid, string hosOperatorName, DibaoSdaCash dsc)
 {
     InitializeComponent();
     this.dsc = dsc;
     // TODO: Complete member initialization
     this.inReimPara         = inReimPara;
     this.dicSettleInfo      = dicSettleInfo;
     this.dicSettleInfoDibao = dicSettleInfoDibao;
     this.hosid            = hosid;
     this.hosOperatorSysid = hosOperatorSysid;
     this.hosOperatorName  = hosOperatorName;
 }
Example #18
0
        public DiBaoJS_Confirm_zy(InPayParameter _inReimPara, Dictionary <string, string> _dicSettleInfo, Dictionary <string, string> _dicSettleInfoDibao, string hosID, string hosOperatorName, string hosOperatorSysid)
        {
            isCancel = false;

            InitializeComponent();
            inReimPara            = _inReimPara;
            dicSettleInfo         = _dicSettleInfo;
            dicSettleInfoDibao    = _dicSettleInfoDibao;
            this.hosid            = hosID;
            this.hosOperatorName  = hosOperatorName;
            this.hosOperatorSysid = hosOperatorSysid;
            lblTs.Text            = "医保结算完成,病人还需要支付" + Math.Round(Convert.ToDecimal(dicSettleInfo["brfdje"]) - Convert.ToDecimal(dicSettleInfo["grzhzf"]), 2) + "元,请选择是否进行低保结算?";
        }
        /// <summary>
        /// 住院登记
        /// </summary>
        /// <param name="inPara">住院接口入参</param>
        /// <returns></returns>
        public void InNetworkRegister(InPayParameter para)
        {
            InterfaceInit();
            inReimPara = para;
            InNetWorkReadCard(inReimPara);
            try
            {
                handelModel.SaveZYDJ(inReimPara.PatInfo.PatInHosCode,
                                     dicPatInfo["shbzhm"],
                                     dicPatInfo["ylzbh"],
                                     dicPatInfo["xm"],
                                     dicPatInfo["xb"],
                                     p_yltclb,                                                                 //   string            *住院类别 1:住院 2:家床
                                     dicPatInfo["sbjbm"],
                                     P_syzhlx,                                                                 //(CARD_Y_N == "0" ? "0" : "3"),     //  *使用医保卡类型(0:不使用医保卡 ,1银行卡,2 cpu 卡,3,济南医保卡,5,普通人员无卡住院登记。) string
                                     handelModel.GetNetWorkDeptCode(inReimPara.PatInfo.InDeptCode.ToString()), //需修改//varchar2(20)       *科室编码
                                     inReimPara.PatInfo.InDateTime.ToString("yyyy-MM-dd"),                     //datetime           *住院日期
                                     "",                                                                       //string              确诊医师
                                     "",                                                                       //  varchar2(20)        门诊科室
                                     "1",
                                     "C",
                                     "");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                MessageBox.Show(ex.InnerException.Message);
                throw ex;
            }

            //-----------------------更新费别
            try
            {
                string Charge_class_id = "";
                if (inReimPara.RegInfo.NetPatType == "职工")
                {
                    Charge_class_id = "10002";
                }
                else
                {
                    Charge_class_id = "5";
                }
                change_chargeclass(Charge_class_id, inReimPara.PatInfo.PatInHosId.ToString());
            }
            catch (Exception ex)
            {
                PayAPIUtilities.Log.LogManager.Info("更新费别失败:PAT_IN_HOS_ID" + inReimPara.PatInfo.PatInHosId.ToString() + "\n\r" + ex.Message);
            }
            //--------------------------
        }
Example #20
0
        /// <summary>
        /// 住院预结算包括住院上传费用
        /// </summary>
        /// <param name="para"></param>
        public void InNetworkPreSettle(InPayParameter para)


        {
            InPayPara = para;
            init();
            StringBuilder b1 = new StringBuilder(3000);
            //删除费用上传
            int a = jingQiHandle.cancelFee(InPayPara.RegInfo.MemberNo, 1, b1);

            //上传费用
            InReimUpItems();
            //预结算
            expensecalc();
        }
Example #21
0
 public void InNetworkSettle(InPayParameter para)
 {
     InPayPara = para;
     //在 住院预结算 和 住院结算的时候 在函数最开始   加入一下判断
     if (InPayPara.SettleInfo != null && InPayPara.SettleInfo.MedAmountTotal != 0)
     {
         PayType _payType = new PayType();
         _payType.PayTypeId    = 4;
         _payType.PayTypeName  = "医保";
         _payType.PayAmount    = InPayPara.SettleInfo.MedAmountTotal;
         InPayPara.PayTypeList = new List <PayType>();
         InPayPara.PayTypeList.Add(_payType);
         return;
     }
     else
     {
         SaveInSettleMain();
     }
 }
        /// <summary>
        /// 住院结算
        /// </summary>
        /// <param name="inPara">住院接口入参</param>
        /// <returns></returns>
        public void InNetworkSettle(InPayParameter para)
        {
            throw new Exception("该类别是普通门诊");

            //inReimPara = para;
            //try
            //{
            //    string sql = "select TOP 1 SETTLE_NO from ZY.[IN].IN_NETWORK_SETTLE_MAIN WHERE PAT_IN_HOS_ID=" + inReimPara.PatInfo.PatInHosId.ToString("0") + " AND SETTLE_NO!='' ORDER BY CREATE_TIME DESC";
            //    MSSQLHelper sqlhelper = new MSSQLHelper("Data Source=172.18.0.25;Initial Catalog=COMM;User ID=sa;Password=m@ssunsoft009");
            //    DataRowCollection drc = sqlhelper.ExecSqlReDs(sql).Tables[0].Rows;
            //    if (drc.Count > 0)
            //    {
            //        string SETTLE_NO = drc[0][0].ToString();
            //        // inReimPara.SettleInfo.MedAmountTotal = Convert.ToDecimal(Amount);
            //        inReimPara.SettleInfo.SettleNo = SETTLE_NO;
            //    }

            //    if (inReimPara.SettleInfo != null && inReimPara.SettleInfo.SettleNo != "")//inReimPara.SettleInfo.MedAmountTotal     inReimPara.SettleInfo.SettleNo
            //    {
            //        PayType payType = new PayType();
            //        payType.PayTypeId = 4;
            //        payType.PayTypeName = "医保";
            //        payType.PayAmount = inReimPara.SettleInfo.MedAmountTotal;
            //        inReimPara.PayTypeList = new List<PayType>();
            //        inReimPara.PayTypeList.Add(payType);
            //        return;
            //    }

            //    else
            //    {
            //        throw new Exception("结算失败:找不到该患者的联网结算记录");
            //    }
            //}
            //catch (Exception)
            //{

            //    throw;
            //}
        }
Example #23
0
        /// <summary>
        /// 联网住院登记
        /// </summary>
        /// <param name="para"></param>
        public void InNetworkRegister(InPayParameter para)
        {
            DengJiLeiXing = true;
            //1712767
            InPayPara = para;
            NetworkReadCard();
            inputreg();
            InPayPara.RegInfo.NetDiagnosName = form1.JBMC;               //疾病名称
            InPayPara.RegInfo.NetDiagnosCode = form1.JBBM;               //疾病编码
            InPayPara.RegInfo.CardNo         = networkPatInfo.ICNo;
            InPayPara.RegInfo.MemberNo       = networkPatInfo.MedicalNo; //新农合唯一就诊号
            InPayPara.RegInfo.CantonCode     = "1";
            InPayPara.RegInfo.PatAddress     = networkPatInfo.CompanyName;
            InPayPara.RegInfo.CompanyName    = networkPatInfo.CompanyName;
            InPayPara.RegInfo.NetPatType     = networkPatInfo.MedicalType;
            InPayPara.RegInfo.IdNo           = networkPatInfo.IDNo;
            //联网类型 住院门诊 生育住院
            InPayPara.RegInfo.NetType    = form1.DJLX;
            InPayPara.RegInfo.NetPatName = networkPatInfo.PatName;
            InPayPara.RegInfo.PatClassID = "10002";
            //住院登记流水号
            InPayPara.RegInfo.PatInHosSerial = "";
            InPayPara.RegInfo.OperatorId     = PayAPIConfig.Operator.UserSysId;
            //
            InPayPara.RegInfo.PatInHosId      = InPayPara.PatInfo.PatInHosId;
            InPayPara.RegInfo.CreateTime      = DateTime.Now;
            InPayPara.RegInfo.NetRegSerial    = "";
            InPayPara.RegInfo.RegTimes        = 1;
            InPayPara.RegInfo.Memo1           = "";
            InPayPara.RegInfo.Memo2           = "";
            InPayPara.RegInfo.OutDiagnoseCode = "";
            InPayPara.RegInfo.OutDiagnoseName = "";
            InPayPara.RegInfo.Memo2           = "";
            //  InPayPara.RegInfo.InNetworkSettleId = 12;



            //InPayPara.PatOutStatusID = Convert.ToInt32(infoForm.OutHosStatus);//出院状态
        }
        /// <summary>
        /// 住院结算
        /// </summary>
        /// <param name="inPara">住院接口入参</param>
        /// <returns></returns>
        public void InNetworkSettle(InPayParameter para)
        {
            inReimPara = para;
            double ybJE = 0;                                                           //医保金额

            if (inReimPara.SettleInfo != null && inReimPara.SettleInfo.SettleNo != "") //inReimPara.SettleInfo.MedAmountTotal     inReimPara.SettleInfo.SettleNo
            {
                PayType payType = new PayType();
                payType.PayTypeId      = 4;
                payType.PayTypeName    = "医保";
                payType.PayAmount      = inReimPara.SettleInfo.MedAmountTotal;
                inReimPara.PayTypeList = new List <PayType>();
                inReimPara.PayTypeList.Add(payType);

                ybJE = Math.Round(Convert.ToDouble(inReimPara.SettleInfo.Amount.ToString()), 2);
            }

            else
            {
                SaveInSettleMain();
                ybJE = Math.Round(Convert.ToDouble(inSettleMain.Amount.ToString()), 2);
            }

            //---------------------------------------------判断金额是否相等
            DataSet dst  = new DataSet();
            string  strS = "SELECT TOTAL_COSTS FROM ZY.[IN].PAT_IN_HOS_EXTENDED WHERE PAT_IN_HOS_ID='" + inReimPara.PatInfo.PatInHosId + "'";

            dst = JNDWInterfaceModel.handelModel.sqlHelperHis.ExecSqlReDs(strS);
            if (dst.Tables[0].Rows.Count > 0)
            {
                if (Math.Round(ybJE, 2) != Math.Round(Convert.ToDouble(dst.Tables[0].Rows[0]["TOTAL_COSTS"].ToString()), 2))
                {
                    throw new Exception("医保结算费用[" + ybJE.ToString() + "]与HIS发生的费用总额[" + Convert.ToDouble(dst.Tables[0].Rows[0]["TOTAL_COSTS"]).ToString() + "]不符!");
                }
            }
            //-------------------------------------------
        }
 public void InNetworkSettle(InPayParameter para)
 {
     throw new NotImplementedException();
 }
 public void CancelInNetworkRegister(InPayParameter para)
 {
     throw new NotImplementedException();
 }
Example #27
0
 /// <summary>
 /// 取消住院结算
 /// </summary>
 /// <param name="inPara">住院接口入参</param>
 /// <returns></returns>
 public void CancelInNetworkSettle(InPayParameter para)
 {
 }
Example #28
0
 /// <summary>
 /// 住院预结算
 /// </summary>
 /// <param name="inPara">住院接口入参</param>
 /// <returns></returns>
 public void InNetworkPreSettle(InPayParameter para)
 {
 }
Example #29
0
 /// <summary>
 /// 取消住院登记
 /// </summary>
 /// <param name="inPara">住院接口入参</param>
 /// <returns></returns>
 public void CancelInNetworkRegister(InPayParameter para)
 {
 }
Example #30
0
 /// <summary>
 /// 住院读卡
 /// </summary>
 /// <returns></returns>
 public void InNetWorkReadCard(InPayParameter para)
 {
 }