Exemplo n.º 1
0
        /// <summary>
        /// 跨省异地卡交易
        /// </summary>
        internal void Ksydkjy()
        {
            #region get
            clsDGZydyxs_VO objDgzydyxsVo = null;
            clsDGZyjsfh_VO objDgzyjsfhVo = null;
            string         strName       = string.Empty;
            string         strZyh        = string.Empty;
            string         strStatus     = string.Empty;
            decimal        decZyfyze     = 0;
            decimal        decGrzfeije   = 0;
            long           lngRes        = this.objDomain.m_lngGetZYYBDyxs(this.m_objViewer.strJslx, this.m_objViewer.strRegisterId, ref strName, ref strZyh, ref strStatus, out objDgzydyxsVo, out objDgzyjsfhVo, out decZyfyze, out decGrzfeije);
            if (objDgzydyxsVo == null)
            {
                MessageBox.Show("该病人没有医保登记信息,请注意!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
                return;
            }
            #endregion

            string       uri = string.Empty;
            string       JBR = this.m_objViewer.LoginInfo.m_strEmpNo;
            clsDGZydj_VO vo  = new clsDGZydj_VO();
            vo.GMSFHM   = objDgzydyxsVo.GMSFHM;
            vo.JZLB     = objDgzydyxsVo.JZLB;
            vo.RYRQ     = this.objDomain.GetFeeMaxDate(this.m_objViewer.strRegisterId); // 费用日期: 结算终止日期
            vo.CBDTCQBM = objDgzydyxsVo.CBDTCQBM;
            vo.YYBH     = clsYBPublic_cs.m_strReadXML("DGCSZYYB", "YYBHZY", "AnyOne");  // 住院医院编号
            clsYBPublic_cs.SP3_5003(vo, JBR, objDgzydyxsVo.JZJLH, out uri);
            if (!string.IsNullOrEmpty(uri))
            {
                frmUri frm = new frmUri("跨省异地卡交易", uri);
                frm.ShowDialog();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 保存住院医保结算返回信息
        /// </summary>
        /// <param name="strRegID"></param>
        /// <param name="objDgzyjsfhVo"></param>
        /// <returns></returns>
        public long m_lngSaveYBChargeReturnZY(string strRegID, string strInvNo, clsDGZyjsfh_VO objDgzyjsfhVo, string strJSDYZDBY)
        {
            com.digitalwave.iCare.middletier.HIS.clsYBCSRequiredSVC objSvc =
                (com.digitalwave.iCare.middletier.HIS.clsYBCSRequiredSVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.HIS.clsYBCSRequiredSVC));
            long lngRes = objSvc.m_lngSaveYBChargeReturnZY(strRegID, strInvNo, objDgzyjsfhVo, strJSDYZDBY);

            objSvc.Dispose();
            return(lngRes);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 住院待遇享受条件判断、初始化界面
        /// </summary>
        public void m_mthZydyxs()
        {
            clsDGZydyxs_VO objDgzydyxsVo = null;
            clsDGZyjsfh_VO objDgzyjsfhVo = null;
            string         strName       = string.Empty;
            string         strZyh        = string.Empty;
            string         strStatus     = string.Empty;
            decimal        decZyfyze     = 0;
            decimal        decGrzfeije   = 0;
            long           lngRes        = this.objDomain.m_lngGetZYYBDyxs(this.m_objViewer.strJslx, this.m_objViewer.strRegisterId, ref strName, ref strZyh, ref strStatus, out objDgzydyxsVo, out objDgzyjsfhVo, out decZyfyze, out decGrzfeije);

            if (objDgzydyxsVo == null)
            {
                MessageBox.Show("该病人没有医保登记信息,请注意!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
                return;
            }
            this.strRYDYZDBY = objDgzydyxsVo.RYDYZDBY;
            this.strJSDYZDBY = objDgzydyxsVo.JSDYZDBY;

            #region 补全全局病人VO
            objDgextraVo.JZJLH = objDgzydyxsVo.JZJLH;
            objDgextraVo.ZYH   = strZyh;

            DataTable dtTmp = null;
            this.objDomain.m_lngGetPatientInfo(objDgextraVo.ZYH, "0", out dtTmp);
            if (dtTmp != null && dtTmp.Rows.Count > 0)
            {
                objDgextraVo.CBDTCQBM = dtTmp.Rows[dtTmp.Rows.Count - 1]["CBDTCQBM_VCHR"].ToString();
            }
            if (string.IsNullOrEmpty(objDgextraVo.CBDTCQBM))
            {
                objDgextraVo.CBDTCQBM = "441925";                                               // 茶山
            }
            #endregion
            if (objDgzyjsfhVo != null)
            {
                if (objDgzyjsfhVo.SDYWH != "0")
                {
                    this.m_objViewer.lblSdywh.Text = objDgzyjsfhVo.SDYWH;
                }
            }
            this.m_objViewer.lblName.Text = strName;
            this.m_objViewer.lblZyh.Text  = strZyh;
            if (objDgzydyxsVo.ZYLB == "1" || objDgzydyxsVo.ZYLB == "4")
            {
                if (objDgzydyxsVo.ZYLB == "1")
                {
                    this.m_objViewer.lblzylb.Text = "医疗住院";
                }
                else if (objDgzydyxsVo.ZYLB == "4")
                {
                    this.m_objViewer.lblzylb.Text = "生育住院";
                }

                if (this.strJSDYZDBY != "")
                {
                    foreach (string key in dicJSDYZDBY.Keys)
                    {
                        if (dicJSDYZDBY[key] == this.strJSDYZDBY)
                        {
                            this.m_objViewer.cobJSDYZDBY.Enabled      = false;
                            this.m_objViewer.cobJSDYZDBY.SelectedItem = key;
                        }
                    }
                }
                else if (this.strRYDYZDBY != "5" && this.strRYDYZDBY != "6" && !string.IsNullOrEmpty(this.strRYDYZDBY))
                {
                    this.m_objViewer.cobJSDYZDBY.Enabled = false;
                    string strDefault = Convert.ToString(Convert.ToInt32(this.strRYDYZDBY) + 10);
                    foreach (string key in dicJSDYZDBY.Keys)
                    {
                        if (dicJSDYZDBY[key] == strDefault)
                        {
                            this.m_objViewer.cobJSDYZDBY.SelectedItem = key;
                        }
                    }
                }
                else
                {
                    this.m_objViewer.cobJSDYZDBY.SelectedIndex = 0;
                }
            }
            else if (objDgzydyxsVo.ZYLB == "2")
            {
                this.m_objViewer.lblzylb.Text = "工伤住院";

                if (this.strJSDYZDBY != "")
                {
                    foreach (string key in dicJSDYZDBY.Keys)
                    {
                        if (dicJSDYZDBY[key] == this.strJSDYZDBY)
                        {
                            this.m_objViewer.cobJSDYZDBY.Enabled      = false;
                            this.m_objViewer.cobJSDYZDBY.SelectedItem = key;
                        }
                    }
                }
                else
                {
                    this.m_objViewer.cobJSDYZDBY.Enabled = false;
                    if (this.strRYDYZDBY != "")
                    {
                        string strDefault = Convert.ToString(Convert.ToInt32(this.strRYDYZDBY) + 10);
                        foreach (string key in dicJSDYZDBY.Keys)
                        {
                            if (dicJSDYZDBY[key] == strDefault)
                            {
                                this.m_objViewer.cobJSDYZDBY.SelectedItem = key;
                            }
                        }
                    }
                }
            }

            this.m_objViewer.lbljzjlh.Text = objDgzydyxsVo.JZJLH;
            this.m_objViewer.lblTotal.Text = decZyfyze.ToString();
            this.m_objViewer.lblSub.Text   = decGrzfeije.ToString();
            this.m_objViewer.lblAcc.Text   = Convert.ToString(decZyfyze - decGrzfeije);
            string strYYTemp     = string.Empty;
            string strDyxsbzTemp = string.Empty;

            lngRes = clsYBPublic_cs.m_lngFunSP1003(objDgzydyxsVo, objDgextraVo, ref strYYTemp, ref strDyxsbzTemp);
            if (lngRes > 0)
            {
                this.m_objViewer.txtReason.Text = strYYTemp;
                if (strDyxsbzTemp == "0")
                {
                    this.m_objViewer.lbldyxsdz.Text = "不能享受医保待遇";
                    MessageBox.Show("社保系统提示:该病人目前不能享受医保待遇,请注意!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
                    this.m_objViewer.btnUpload.Enabled = false;
                    this.m_objViewer.btnCharge.Enabled = false;
                    this.m_objViewer.btnOk.Enabled     = false;
                    return;
                }
                else if (strDyxsbzTemp == "1")
                {
                    this.m_objViewer.lbldyxsdz.Text = "享受医保待遇";
                    if (strStatus != null)
                    {
                        switch (strStatus)
                        {
                        case "0":
                            this.m_objViewer.btnUpload.Enabled = true;
                            break;

                        case "1":
                            this.m_objViewer.btnCharge.Enabled = true;
                            break;
                        }
                        this.m_objViewer.btnOk.Enabled = true;
                    }
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 医保结算
        /// </summary>
        /// <param name="blYBss">是否医保结算</param>
        public void m_mthYBCharge(bool blYBss)
        {
            if (string.IsNullOrEmpty(this.m_objViewer.txtZDZMHM.Text))
            {
                MessageBox.Show("诊断证明号码不能为空!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
                this.m_objViewer.txtZDZMHM.Focus();
                return;
            }

            clsDGZyjs_VO objDgzyjsVo = null;
            long         lngRes      = this.objDomain.m_lngGetZYYBjs(this.m_objViewer.strJslx, this.m_objViewer.strInvNo, this.m_objViewer.txtZDZMHM.Text.Trim(), this.m_objViewer.decTotal, this.m_objViewer.strRegisterId, out objDgzyjsVo, this.m_blnDiffCostOn);

            if (lngRes < 0 || objDgzyjsVo == null)
            {
                return;
            }
            if (this.m_objViewer.strJslx.Equals("2"))            //中途结算
            {
                objDgzyjsVo.JSQSRQ = this.m_objViewer.strJSQSRQ; //结算起始日期
                objDgzyjsVo.JSZZRQ = this.m_objViewer.strJSZZRQ; //结算终止日期
                int intJSTS = 0;
                try
                {
                    intJSTS  = Convert.ToInt32(objDgzyjsVo.JSZZRQ) - Convert.ToInt32(objDgzyjsVo.JSQSRQ);
                    intJSTS += 1;
                    if (intJSTS <= 0)
                    {
                        MessageBox.Show("结算终止日期不能小于结算起始日期!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("请勾选正确的日期进行中途结算!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
                }
                objDgzyjsVo.JSTS = intJSTS;
            }
            if (!blYBss)//是否医保结算
            {
                objDgzyjsVo.JSLX = "3";
            }
            string strZDZMHM = this.m_objViewer.txtZDZMHM.Text.Trim();

            //need modify 补全医保结算Vo
            objDgzyjsVo.JBR    = this.m_objViewer.strEmpNo;                      //经办人
            objDgzyjsVo.ZDZMHM = strZDZMHM.Length > 30 ? strZDZMHM.Substring(0, 30) : strZDZMHM;
            objDgzyjsVo.JDZFBL = decimal.Parse(this.m_objViewer.txtJdzfbl.Text); //降低支付比例
            //objDgzyjsVo.ZYFYZE = this.m_objViewer.decTotal;//改成由后台合计总额
            objDgzyjsVo.FPHM     = this.m_objViewer.strInvNo;                    //发票号
            objDgzyjsVo.JSDYZDBY = dicJSDYZDBY[this.m_objViewer.cobJSDYZDBY.SelectedItem.ToString()];
            clsDGZyjsfh_VO objDgzyjsfhVo = null;

            if (!string.IsNullOrEmpty(strCYZD))
            {
                objDgzyjsVo.CYZD = strCYZD;
            }
            else
            {
                objDgzyjsVo.CYZD = "出院诊断";
            }
            if (blnIfDefaultCYZD)
            {
                if (this.m_objViewer.strJslx == "1")
                {
                    objDgzyjsVo.CYZD = "出院结算";
                }
                else if (this.m_objViewer.strJslx == "2")
                {
                    objDgzyjsVo.CYZD = "中途结算";
                }
                blnIfDefaultCYZD = false;
            }

            lngRes = clsYBPublic_cs.m_lngFunSP3004(objDgzyjsVo, objDgextraVo, out objDgzyjsfhVo);
            if (lngRes > 0)
            {
                if (objDgzyjsfhVo != null)
                {
                    if (blYBss)
                    {
                        //need add 保存objDgzyjsfhVo到HIS库 //need add 此处可update t_ins_cszyreg.status=2,控制不能再修改医保登记信息
                        lngRes = this.objDomain.m_lngSaveYBChargeReturnZY(this.m_objViewer.strRegisterId, this.m_objViewer.strInvNo, objDgzyjsfhVo, dicJSDYZDBY[this.m_objViewer.cobJSDYZDBY.SelectedItem.ToString()]);
                        //移到上面的方法里面
                        //lngRes = this.objDomain.m_lngUpdateYBRegisterStatusZY(this.m_objViewer.strRegisterId, "2");
                        if (this.m_objViewer.decTotal != objDgzyjsfhVo.ZYFYZE)
                        {
                            MessageBox.Show("医院上传总金额与社保返回总金额不一致,试算失败,请查清原因后再重试。", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
                            return;
                        }
                        this.m_objViewer.lblTotal.Text = objDgzyjsfhVo.ZYFYZE.ToString();
                        this.m_objViewer.decTotal      = objDgzyjsfhVo.ZYFYZE;
                        this.m_objViewer.lblSub.Text   = objDgzyjsfhVo.GRZFEIJE.ToString();
                        this.m_objViewer.lblAcc.Text   = Convert.ToString(objDgzyjsfhVo.ZYFYZE - objDgzyjsfhVo.GRZFEIJE);
                        this.m_objViewer.decYBSub      = Convert.ToDecimal(objDgzyjsfhVo.GRZFEIJE.ToString().Trim());

                        this.m_objViewer.btnUpload.Enabled = false;
                        this.m_objViewer.btnCYDJ.Enabled   = false;
                        this.m_objViewer.btnCharge.Enabled = false;
                        this.m_objViewer.btnOk.Enabled     = true;
                        this.m_objViewer.btnClose.Enabled  = true;
                        this.m_objViewer.lblSdywh.Text     = objDgzyjsfhVo.SDYWH;
                        MessageBox.Show("医保结算成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
                    }
                    else
                    {
                        this.m_objViewer.lblTotal.Text = objDgzyjsfhVo.ZYFYZE.ToString();
                        this.m_objViewer.decTotal      = objDgzyjsfhVo.ZYFYZE;
                        this.m_objViewer.lblSub.Text   = objDgzyjsfhVo.GRZFEIJE.ToString();
                        this.m_objViewer.lblAcc.Text   = Convert.ToString(objDgzyjsfhVo.ZYFYZE - objDgzyjsfhVo.GRZFEIJE);
                        this.m_objViewer.decYBSub      = Convert.ToDecimal(objDgzyjsfhVo.GRZFEIJE.ToString().Trim());

                        this.m_objViewer.btnUpload.Enabled = false;
                        //this.m_objViewer.btnCYDJ.Enabled = false;
                        this.m_objViewer.btnCharge.Enabled = true;
                        this.m_objViewer.btnOk.Enabled     = true;
                        MessageBox.Show("医保试算成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
                    }
                }
            }
            else
            {
                this.m_objViewer.btnOk.Enabled = false;
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 获取住院医保待遇享受所需数据
        /// </summary>
        /// <param name="strRegisterId"></param>
        /// <param name="objDgzydyxsVo"></param>
        /// <returns></returns>
        public long m_lngGetZYYBDyxs(string strJslx, string strRegisterId, ref string strName, ref string strZyh, ref string strStatus, out clsDGZydyxs_VO objDgzydyxsVo, out clsDGZyjsfh_VO objDgzyjsfhVo, out decimal decZyfyze, out decimal decGrzfeije)
        {
            com.digitalwave.iCare.middletier.HIS.clsYBCSQuerySVC objSvc =
                (com.digitalwave.iCare.middletier.HIS.clsYBCSQuerySVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.HIS.clsYBCSQuerySVC));

            long l = objSvc.m_lngGetZYYBDyxs(strJslx, strRegisterId, ref strName, ref strZyh, ref strStatus, out objDgzydyxsVo, out objDgzyjsfhVo, out decZyfyze, out decGrzfeije);

            objSvc.Dispose();
            return(l);
        }