/// <summary>
        /// 门诊登记
        /// </summary>
        /// <returns></returns>
        public void OutNetworkRegister(OutPayParameter para)
        {
            outReimPara = para;
            InterfaceInit();
            NetworkReadCard();
            //显示个人信息
            PersonInfoDialog perDialog = new PersonInfoDialog(patInfo, this);

            perDialog.ShowDialog();
            strDiagnosCode = perDialog.strDiagnosCode;
            if (perDialog.isCancel)
            {
                throw new Exception("取消操作");
            }
            outReimPara.RegInfo.CardNo         = patInfo["ylzbh"];                 //医疗卡号
            outReimPara.RegInfo.NetPatType     = patInfo["sbjglx"];                //卡序列号
            outReimPara.RegInfo.CantonCode     = patInfo["sbjbm"];                 //行政区号
            outReimPara.RegInfo.MemberNo       = patInfo["shbzhm"];                //成员编码
            outReimPara.RegInfo.CompanyName    = patInfo["dwmc"];                  //单位名称
            outReimPara.RegInfo.PatAddress     = patInfo["dwmc"];                  //住址
            outReimPara.RegInfo.IdNo           = patInfo["shbzhm"];                //身份证号
            outReimPara.RegInfo.Balance        = Convert.ToDecimal(patInfo["ye"]); //账户余额
            outReimPara.RegInfo.NetPatName     = patInfo["xm"];                    //姓名
            outReimPara.RegInfo.Memo1          = patInfo["xb"] == "1" ? "男" : "女"; //性别
            outReimPara.RegInfo.Memo2          = perDialog.reDiBao;                //是否低保
            outReimPara.RegInfo.NetDiagnosCode = patInfo["mzdbjbs"];
            string rqlb = "";

            if (patInfo["sbjglx"] == "A")
            {
                rqlb = "职工";
            }
            else if (patInfo["sbjglx"] == "B")
            {
                rqlb = "居民";
            }

            outReimPara.RegInfo.NetPatType = rqlb;
            outReimPara.RegInfo.NetType    = "4";
        }
        /// <summary>
        /// 门诊登记
        /// </summary>
        /// <param name="para"></param>
        public void OutNetworkRegister(OutPayParameter para)
        {
            NetworkReadCard();
            //显示个人信息
            PersonInfoDialog perDialog = new PersonInfoDialog(patInfo);

            perDialog.ShowDialog();
            strDiagnosCode = perDialog.strDiagnosCode;
            if (perDialog.isCancel)
            {
                throw new Exception("取消操作");
            }

            para.RegInfo.CardNo       = patInfo["ylzbh"];                 //医疗卡号
            para.RegInfo.NetRegSerial = patInfo["sbjglx"];                //卡序列号
            para.RegInfo.CantonCode   = patInfo["sbjbm"];                 //行政区号
            para.RegInfo.MemberNo     = patInfo["shbzhm"];                //成员编码
            para.RegInfo.CompanyName  = patInfo["dwmc"];                  //单位名称
            para.RegInfo.PatAddress   = patInfo["dwmc"];                  //住址
            para.RegInfo.IdNo         = patInfo["shbzhm"];                //身份证号
            para.RegInfo.NetPatType   = patInfo["ylrylb"];                //人员类别
            para.RegInfo.Balance      = Convert.ToDecimal(patInfo["ye"]); //账户余额
            para.RegInfo.NetPatName   = patInfo["xm"];                    //姓名
            para.RegInfo.Memo1        = patInfo["xb"] == "1" ? "男" : "女"; //性别
            para.RegInfo.Memo2        = perDialog.reDiBao;                //是否低保
            string rqlb = "";

            if (patInfo["sbjglx"] == "A")
            {
                rqlb = "职工";
            }
            else if (patInfo["sbjglx"] == "B")
            {
                rqlb = "居民";
            }

            para.RegInfo.NetPatType = rqlb;
            para.RegInfo.NetType    = "6";
        }
        /// <summary>
        /// 住院读卡
        /// </summary>
        /// <returns></returns>
        public void InNetWorkReadCard(InPayParameter para)
        {
            NetworkPatInfo networkPatInfo       = new NetworkPatInfo();
            Dictionary <string, string> patInfo = new Dictionary <string, string>();
            //判断有卡无卡
            frmCARD frmCard = new frmCARD();

            frmCard.ShowDialog();
            if (frmCard.iscard == "1")
            {
                CARD_Y_N = "1";
                patInfo  = handelModel.ReadCardZY();
            }
            else if (frmCard.iscard == "0")
            {
                CARD_Y_N = "0";
                patInfo  = handelModel.QueryBasicInfo(frmCard.IDNo, "", "1", "");//*医疗统筹类别(1,住院,4 门规)
            }
            else
            {
                throw new Exception("操作员取消本次操作");
            }
            dicPatInfo = patInfo;

            if (dicPatInfo["zhzybz"] == "1")
            {
                MessageBox.Show(dicPatInfo["zhzysm"]);
            }

            dicPatInfo = patInfo;
            inReimPara.RegInfo.CardNo       = patInfo["ylzbh"];                 //医疗卡号
            inReimPara.RegInfo.NetRegSerial = patInfo["sbjglx"];                //卡序列号
            inReimPara.RegInfo.CantonCode   = patInfo["sbjbm"];                 //行政区号
            inReimPara.RegInfo.MemberNo     = patInfo["ylzbh"];                 //成员编码
            inReimPara.RegInfo.CompanyName  = patInfo["dwmc"];                  //单位名称
            inReimPara.RegInfo.PatAddress   = patInfo["dwmc"];                  //住址
            inReimPara.RegInfo.IdNo         = patInfo["shbzhm"];                //身份证号
            inReimPara.RegInfo.NetPatType   = patInfo["ylrylb"];                //人员类别
            inReimPara.RegInfo.Memo1        = patInfo["xb"] == "1" ? "男" : "女"; //性别
            string rqlb = "";

            if (dicPatInfo["sbjglx"] == "A")
            {
                rqlb = "职工";
            }
            else if (dicPatInfo["sbjglx"] == "B")
            {
                rqlb = "居民";
            }
            inReimPara.RegInfo.NetPatType = rqlb;            //人员
            inReimPara.RegInfo.NetType    = "1";
            inReimPara.RegInfo.NetPatName = patInfo["xm"];   //姓名
            //return networkPatInfo;
            //当姓名不一致时提示
            if (inReimPara.PatInfo.InPatName != patInfo["xm"])
            {
                if (MessageBox.Show(" 医保登记姓名为:【" + patInfo["xm"].ToString() + "】     患者姓名为:【" + inReimPara.PatInfo.InPatName + "】 是否继续 ", "提示", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    throw new Exception("姓名不一致,操作员取消操作!");
                }
            }

            if (patInfo["ylrylb"].Contains("职工"))
            {
                MessageBox.Show("提示:该患者人员类别属于职工,但住院信息中费别为居民,请取消操作并调整患者费别!");
            }

            //显示个人信息
            PersonInfoDialog perDialog = new PersonInfoDialog(patInfo);

            perDialog.ShowDialog();
        }
        /// <summary>
        /// 住院读卡
        /// </summary>
        /// <returns></returns>
        public void InNetWorkReadCard(InPayParameter para)
        {
            Dictionary <string, string> patInfo = new Dictionary <string, string>();
            //判断有卡无卡
            frmCARD frmCard = new frmCARD();

            frmCard.lblzylb.Visible = true;
            frmCard.cbType.Visible  = true;
            frmCard.ShowDialog();
            if (frmCard.iscard == "1")
            {
                CARD_Y_N = "1";
                P_syzhlx = "3";
                patInfo  = handelModel.ReadCardZY();
            }
            else if (frmCard.iscard == "0")
            {
                CARD_Y_N = "0";
                P_syzhlx = "5";
                patInfo  = handelModel.QueryBasicInfo(frmCard.IDNo, "", "1", "");//*医疗统筹类别(1,住院,4 门规)
            }
            else
            {
                throw new Exception("操作员取消本次操作");
            }
            p_yltclb   = frmCard.cbType.SelectedValue.ToString();
            dicPatInfo = patInfo;

            if (dicPatInfo["zhzybz"] == "1")
            {
                MessageBox.Show(dicPatInfo["zhzysm"]);
            }

            inReimPara.RegInfo.CardNo       = patInfo["ylzbh"];                 //医疗卡号
            inReimPara.RegInfo.NetRegSerial = patInfo["sbjglx"];                //卡序列号
            inReimPara.RegInfo.CantonCode   = patInfo["sbjbm"];                 //行政区号
            inReimPara.RegInfo.MemberNo     = patInfo["ylzbh"];                 //成员编码
            inReimPara.RegInfo.CompanyName  = patInfo["dwmc"];                  //单位名称
            inReimPara.RegInfo.PatAddress   = patInfo["dwmc"];                  //住址
            inReimPara.RegInfo.IdNo         = patInfo["shbzhm"];                //身份证号
            inReimPara.RegInfo.NetPatType   = patInfo["ylrylb"];                //人员类别
            inReimPara.RegInfo.Memo1        = patInfo["xb"] == "1" ? "男" : "女"; //性别
            inReimPara.RegInfo.Memo2        = CARD_Y_N;                         // 有卡,无卡
            inReimPara.RegInfo.NetPatName   = patInfo["xm"];                    //姓名
            string rqlb = "";

            if (dicPatInfo["sbjglx"] == "A")
            {
                rqlb = "职工";
            }
            else if (dicPatInfo["sbjglx"] == "B")
            {
                rqlb = "居民";
            }
            inReimPara.RegInfo.NetPatType     = rqlb;                                          //人员
            inReimPara.RegInfo.NetType        = "1";
            inReimPara.RegInfo.PatInHosSerial = inReimPara.PatInfo.PatInHosCode;
            //当姓名不一致时提示
            if (inReimPara.PatInfo.InPatName != patInfo["xm"])
            {
                if (MessageBox.Show(" 医保卡姓名为:【" + patInfo["xm"].ToString() + "】     HIS患者姓名为:【" + inReimPara.PatInfo.InPatName + "】 是否继续 ", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) != DialogResult.Yes)
                {
                    throw new Exception("姓名不一致,操作员取消操作!");
                }
            }

            //inReimPara.RegInfo.NetPatName = patInfo["xm"];                  //姓名

            //if (patInfo["ylrylb"].Contains("居民"))
            //    MessageBox.Show("提示:该患者人员类别属于居民,但住院信息中费别为职工,请取消操作并调整患者费别!");

            //显示个人信息
            PersonInfoDialog perDialog = new PersonInfoDialog(patInfo);

            perDialog.ShowDialog();
        }