Ejemplo n.º 1
0
        private void butok_Click(object sender, EventArgs e)
        {
            try
            {
                string  Newkh = Fun.returnKh(Convert.ToInt32(Convertor.IsNull(cmbklx.SelectedValue, "0")), txtxkh.Text, InstanceForm.BDatabase);
                string  djsj  = DateManager.ServerDateTimeByDBType(InstanceForm.BDatabase).ToString();
                decimal kye   = Convert.ToDecimal(Convertor.IsNull(txtyj.Text, "0"));
                _xklx = Convert.ToInt32(Convertor.IsNull(cmbklx.SelectedValue, "0"));
                string kxym = "";

                if (String.IsNullOrEmpty(txtxkh.Text))
                {
                    MessageBox.Show("请录入新卡信息", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                //实例化新卡,看卡是否存在
                ReadCard newCard = new ReadCard(_xklx, Newkh, InstanceForm.BDatabase);
                if (newCard.kdjid != Guid.Empty)
                {
                    MessageBox.Show(Newkh + "这个卡号已被其他用户使用,请您确认", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                //自动读射频卡
                if (newCard.kdjid == Guid.Empty)
                {
                    string sbxh = ApiFunction.GetIniString("医院健康卡", "设备型号", Constant.ApplicationDirectory + "//ClientWindow.ini");
                    ts_Read_hospitalCard.Icall ReadCard = ts_Read_hospitalCard.CardFactory.NewCall(sbxh);
                    if (ReadCard != null)
                    {
                        kxym = ReadCard.CreateKxym();
                        bool bok = ReadCard.WriterCard(Newkh, kxym, "", kxym);
                        if (bok == false)
                        {
                            throw new Exception("写卡没有成功");
                        }
                    }
                }
                //换卡操作
                ParameterEx[] parameters = new ParameterEx[11];

                parameters[0].Text  = "@kdjid";
                parameters[0].Value = _kdjid.ToString();

                parameters[1].Text  = "@XKLX";
                parameters[1].Value = _xklx;

                parameters[2].Text  = "@XKH";
                parameters[2].Value = Newkh;

                parameters[3].Text  = "@BZ";
                parameters[3].Value = txtbz.Text.Trim();

                parameters[4].Text  = "@XKXYM";
                parameters[4].Value = kxym;

                parameters[5].Text  = "@XKXLH";
                parameters[5].Value = "";

                parameters[6].Text  = "@DJY";
                parameters[6].Value = TrasenFrame.Forms.FrmMdiMain.CurrentUser.EmployeeId;

                parameters[7].Text  = "@JGBM";
                parameters[7].Value = TrasenFrame.Forms.FrmMdiMain.Jgbm;

                parameters[8].Text          = "@XKDJID";
                parameters[8].ParaDirection = ParameterDirection.Output;
                parameters[8].DataType      = System.Data.DbType.String;
                parameters[8].ParaSize      = 50;

                parameters[9].Text          = "@err_code";
                parameters[9].ParaDirection = ParameterDirection.Output;
                parameters[9].DataType      = System.Data.DbType.Int32;

                parameters[10].Text          = "@err_text";
                parameters[10].ParaDirection = ParameterDirection.Output;
                parameters[10].DataType      = System.Data.DbType.String;
                parameters[10].ParaSize      = 100;

                InstanceForm.BDatabase.DoCommand("SP_MZGH_KDJ_HK", parameters, 30);
                _xkdjid = new Guid(parameters[8].Value.ToString());
                int    err_code = Convert.ToInt32(parameters[9].Value);
                string err_text = Convert.ToString(parameters[10].Value);
                if (err_code == -1)
                {
                    throw new Exception(err_text);
                }
                else
                {
                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
            }
            catch (System.Exception err)
            {
                MessageBox.Show(err.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
        }
Ejemplo n.º 2
0
        private void Jhk(int lx)
        {
            DataTable tb = (DataTable)this.dataGridView2.DataSource;

            if (this.dataGridView2.CurrentCell == null)
            {
                return;
            }
            int nrow = this.dataGridView2.CurrentCell.RowIndex;

            Guid brxxid = new Guid(Convertor.IsNull(tb.Rows[nrow]["brxxid"], Guid.Empty.ToString()));
            Guid kdjid  = new Guid(Convertor.IsNull(tb.Rows[nrow]["kdjid"], Guid.Empty.ToString()));

            //实例化老卡
            ReadCard oldCard = new ReadCard(kdjid, InstanceForm.BDatabase);
            //Add By Zj 2013-01-10 不允许多次临时借卡 尤其是临时卡 再借临时卡
            string    ssql  = "select * from YY_jhk where XKH='" + oldCard.kh + "' and hksj is null and hkdjy=0 and lx=1"; //add by wangzhi 2015-03-02,增加 lx=1的查询条件
            DataTable oldtb = InstanceForm.BDatabase.GetDataTable(ssql);

            if (oldtb.Rows.Count > 0)
            {
                MessageBox.Show("卡号:" + oldCard.kh + " 属于临时借卡,请先还卡 才能借卡!");
                return;
            }
            Frmjhkqr f = new Frmjhkqr();

            if (oldCard.kdjid != Guid.Empty)
            {
                f.cmbklx.SelectedValue = oldCard.klx.ToString();
                f.cmbklx.Enabled       = false;
            }
            f.lblykh.Text = tb.Rows[nrow]["卡号"].ToString();
            f.lblxm.Text  = tb.Rows[nrow]["姓名"].ToString();
            f.lblxb.Text  = tb.Rows[nrow]["性别"].ToString();

            if (lx == 0)
            {
                f.txtyj.Enabled = false;
                f.Text          = "老卡换新卡";
                f.lbltitle.Text = "更新新卡";
            }
            if (lx == 1)
            {
                f.txtyj.Enabled = true;
                f.Text          = "临时借卡";
                f.lbltitle.Text = "临时借卡";
            }
            if (lx == 2)
            {
                f.txtyj.Enabled = false;
                f.Text          = "办理新卡";
                f.lbltitle.Text = "办理新卡";
                f.lblykh.Text   = "无卡";
            }
            f.ShowDialog();
            f.txtxkh.Focus();
            if (f.Bok == false)
            {
                return;
            }

            string  Newkh = f.txtxkh.Text;
            string  djsj  = DateManager.ServerDateTimeByDBType(InstanceForm.BDatabase).ToString();
            decimal yj    = Convert.ToDecimal(Convertor.IsNull(f.txtyj.Text, "0"));
            int     klx   = Convert.ToInt32(Convertor.IsNull(f.cmbklx.SelectedValue, "0"));



            //实例化新卡,看卡是否存在
            ReadCard newCard = new ReadCard(klx, Newkh, InstanceForm.BDatabase);

            if (newCard.kdjid != Guid.Empty)
            {
                MessageBox.Show(Newkh + "这个卡号已被别他用户使用,请您确认", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            //自动读射频卡
            string kxym = "";

            try
            {
                if (newCard.kdjid == Guid.Empty)
                {
                    string sbxh = ApiFunction.GetIniString("医院健康卡", "设备型号", Constant.ApplicationDirectory + "//ClientWindow.ini");
                    ts_Read_hospitalCard.Icall ReadCard = ts_Read_hospitalCard.CardFactory.NewCall(sbxh);
                    if (ReadCard != null)
                    {
                        kxym = ReadCard.CreateKxym();
                        bool bok = ReadCard.WriterCard(Newkh, kxym, "", kxym);
                        if (bok == false)
                        {
                            throw new Exception("写卡没有成功");
                        }
                    }
                }
            }
            catch (System.Exception err)
            {
                MessageBox.Show(err.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            Guid   NewJhkId = Guid.Empty;
            Guid   NewKdjid = Guid.Empty;
            int    err_code = 0;
            string err_text = "";

            try
            {
                InstanceForm.BDatabase.BeginTransaction();
                if (lx == 0 || lx == 1)
                {
                    mz_kdj.SaveJkh(Guid.Empty, TrasenFrame.Forms.FrmMdiMain.Jgbm, brxxid, tb.Rows[nrow]["姓名"].ToString(), klx, tb.Rows[nrow]["卡号"].ToString(), Newkh, djsj,
                                   InstanceForm.BCurrentUser.EmployeeId, lx, yj, f.txtbz.Text.Trim(), out NewJhkId,
                                   out err_code, out err_text, kxym, "", oldCard.kxym, oldCard.kxlh, InstanceForm.BDatabase);
                    if (NewJhkId == Guid.Empty || err_code != 0)
                    {
                        throw new Exception(err_text);
                    }
                }
                else
                {
                    mz_kdj.Kdj(Guid.Empty, brxxid, klx, Newkh, tb.Rows[nrow]["姓名"].ToString(), 0, 0, 0, 0, djsj, InstanceForm.BCurrentUser.EmployeeId, "", kxym, "", out NewKdjid, out err_code, out err_text, Fun.GetNewGrzhbh(InstanceForm.BDatabase), _menuTag.Function_Name, InstanceForm.BDatabase);
                    if (NewKdjid == Guid.Empty || err_code != 0)
                    {
                        throw new Exception(err_text);
                    }
                }
                InstanceForm.BDatabase.CommitTransaction();
            }
            catch (System.Exception err)
            {
                InstanceForm.BDatabase.RollbackTransaction();
                MessageBox.Show(err.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            MessageBox.Show("操作成功");
            GetJhkJl(brxxid);
        }