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; } }
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); }