Esempio n. 1
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;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 获取住院医保结算所需数据
        /// </summary>
        /// <param name="strRegisterId"></param>
        /// <param name="objDgzyjsVo"></param>
        /// <returns></returns>
        public long m_lngGetZYYBjs(string strJslb, string strInvNo, string strZDZMHM, decimal decTotal, string strRegisterId, out clsDGZyjs_VO objDgzyjsVo, bool p_blnDiffOn)
        {
            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_lngGetZYYBjs(strJslb, strInvNo, strZDZMHM, decTotal, strRegisterId, out objDgzyjsVo, p_blnDiffOn);

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