///// <summary> ///// 无用户使用磁卡插入数据 ///// </summary> ///// <param name="accountCard"></param> ///// <returns></returns> //private int BulidAccountCard() //{ // Neusoft.NFC.Management.Transaction trans = new Neusoft.NFC.Management.Transaction(accountManager.Connection); // trans.BeginTransaction(); // accountManager.SetTrans(trans.Trans); // accountCard=GetAccountCard(); // if(accountCard==null) // { // MessageBox.Show("提取磁卡数据失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); // return -1; // } // if (accountManager.InsertAccountCard(accountCard) == -1) // { // trans.RollBack(); // MessageBox.Show("保存卡使用记录失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); // return -1; // } // accountCardRecord.MarkNO = accountCard.MarkNO; // accountCardRecord.CardNO = accountCard.CardNO; // accountCardRecord.MarkType.ID = this.cardType; // accountCardRecord.OperateTypes.ID = (int)Neusoft.HISFC.Object.Account.MarkOperateTypes.Begin; // accountCardRecord.Oper.ID = (this.accountManager.Operator as Neusoft.HISFC.Object.Base.Employee).ID; // if (accountManager.InsertAccountCardRecord(accountCardRecord) == -1) // { // trans.RollBack(); // MessageBox.Show("保存卡操作记录失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); // return -1; // } // trans.Commit(); // return 1; //} ///// <summary> ///// 建立新的病理卡号 ///// </summary> //private void GetNewCard() //{ // accountCard = GetAccountCard(); // Neusoft.NFC.Management.Transaction trans = new Neusoft.NFC.Management.Transaction(accountManager.Connection); // trans.BeginTransaction(); // accountManager.SetTrans(trans.Trans); // try // { // if (accountManager.InsertAccountCard(accountCard) == -1) // { // trans.RollBack(); // MessageBox.Show("保存卡使用记录失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); // return; // } // //插入卡的操作记录 // accountCardRecord.MarkNO = accountCard.MarkNO; // accountCardRecord.MarkType.ID = accountCard.MarkType.ID; // accountCardRecord.CardNO = accountCard.CardNO; // accountCardRecord.OperateTypes.ID = (int)Neusoft.HISFC.Object.Account.MarkOperateTypes.Begin; // accountCardRecord.Oper.ID = (this.accountManager.Operator as Neusoft.HISFC.Object.Base.Employee).ID; // if (accountManager.InsertAccountCardRecord(accountCardRecord) == -1) // { // MessageBox.Show("保存卡操作记录失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); // trans.RollBack(); // return ; // } // trans.Commit(); // this.CardNO = accountCard.CardNO; // this.DialogResult = DialogResult.Yes; // } // catch (Exception ex) // { // trans.RollBack(); // MessageBox.Show(ex.Message); // } //} /// <summary> /// 替换磁卡数据 /// </summary> /// <param name="accountCard"></param> /// <returns></returns> #endregion /// <summary> /// 取卡实体 /// </summary> /// <returns></returns> private Neusoft.HISFC.Object.Account.AccountCard GetAccountCard() { try { accountCard = new Neusoft.HISFC.Object.Account.AccountCard(); //if (this.rdbnew.Checked) //{ // //自动获取门诊号 // string cardNo = feeIntegrate.GetAutoCardNO(); // cardNo = cardNo.PadLeft(10, '0'); // accountCard.CardNO = cardNo; //} //else //{ accountCard.CardNO = txtCardNo.Text.Trim(); //} accountCard.MarkNO = this.MarkNO; accountCard.MarkType.ID = this.CardType; accountCard.IsValid = true; return(accountCard); } catch { return(null); } }
/// <summary> /// 使用已有病历卡号 /// </summary> private void GetOldCard() { if (txtCardNo.Text.Trim() == null) { MessageBox.Show("请输入患者卡号!", "提示"); return; } string cardNO = txtCardNo.Text.Trim(); cardNO = cardNO.PadLeft(10, '0'); this.txtCardNo.Text = cardNO; accountCard = accountManager.GetMarkByCardNo(cardNO, this.CardType); if (accountManager.Err != null) { MessageBox.Show("查找卡信息失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //该病历号已有磁卡 if (accountCard != null) { DialogResult result = MessageBox.Show("输入的病历号" + cardNO + "已用在磁卡" + accountCard.MarkNO + ",否要替换该?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); if (result == DialogResult.OK) { if (this.ReplaceAccountCard(accountCard) == -1) { return; } else { this.CardNO = cardNO; this.DialogResult = DialogResult.Yes; } } else { txtCardNo.Focus(); txtCardNo.SelectAll(); } } //无用户使用 else { //if (BulidAccountCard() == -1) return; this.CardNO = cardNO; this.DialogResult = DialogResult.Yes; } }
/// <summary> /// 确认原卡 /// </summary> protected virtual void confirmOldMark() { string cardNo = string.Empty; string markNo = string.Empty; //判断卡号 if (accountManager.ValidMarkNO(this.txtOld.Text.Trim(), ref markNo) == -1) { //不是卡号则通过门诊卡号查找卡号判断 cardNo = this.txtOld.Text.Trim().PadLeft(10, '0'); accountCard = this.accountManager.GetMarkByCardNo(cardNo, ((int)Neusoft.HISFC.Object.Account.MarkTypes.Magcard).ToString()); if (accountCard == null) { MessageBox.Show("该门诊卡号不存在帐户!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.txtOld.Focus(); this.txtOld.SelectAll(); return; } this.ucRegPatientInfo1.CardNO = accountCard.CardNO; this.txtOld.Tag = accountCard.MarkNO; this.txtOld.Text = cardNo; this.txtNew.Focus(); } else { txtOld.Tag = markNo; txtOld.Text = markNo; //得到门诊卡号 bool bl = accountManager.GetCardNoByMarkNo(markNo, Neusoft.HISFC.Object.Account.MarkTypes.Magcard, ref cardNo); if (bl) { this.ucRegPatientInfo1.CardNO = cardNo; this.txtNew.Focus(); } else { MessageBox.Show(this.accountManager.Err, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); this.txtOld.Focus(); this.txtOld.SelectAll(); } } }
/// <summary> ///确认新卡 /// </summary> protected virtual void confirmNewMark() { string markNo = string.Empty; //判断卡号 if (accountManager.ValidMarkNO(this.txtNew.Text.Trim(), ref markNo) == -1) { MessageBox.Show(accountManager.Err); txtNew.Focus(); txtNew.SelectAll(); return; } txtNew.Text = markNo; Neusoft.HISFC.Object.Account.AccountCard accountCard = null; accountCard = accountManager.GetAccountCard(markNo, ((int)Neusoft.HISFC.Object.Account.MarkTypes.Magcard).ToString()); if (accountCard != null) { MessageBox.Show("本磁卡号数据库已有,请重新建卡", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); txtNew.Focus(); txtNew.SelectAll(); return; } }
/// <summary> /// 换卡 /// </summary> /// <param name="oldMarkno">旧卡</param> /// <param name="newMarkno">新卡</param> private string ChangeCard(string oldMarkno, string newMarkno) { account = accountManager.GetAccountByMarkNo(oldMarkno); string errText = string.Empty; if (account == null) { errText = accountManager.Err; return(errText); } //取设置参数判断换卡是否停用帐户 bool isStopAccount = controlParamIntegrate.GetControlParam <bool>(Neusoft.HISFC.Integrate.AccountConstant.ChangeCardIsStopAccount, true, true); if (isStopAccount) { if (account.IsValid) { errText = "请停用原卡帐户!"; return(errText); } } #region 设置事物 Neusoft.NFC.Management.PublicTrans.BeginTransaction(); //Neusoft.NFC.Management.Transaction trans = new Neusoft.NFC.Management.Transaction(this.accountManager.Connection); //trans.BeginTransaction(); this.accountManager.SetTrans(Neusoft.NFC.Management.PublicTrans.Trans); #endregion #region 停用原卡 //停用原卡 if (accountManager.UpdateAccountCardState(oldMarkno, ((int)Neusoft.HISFC.Object.Account.MarkTypes.Magcard).ToString(), Neusoft.NFC.Function.NConvert.ToInt32(false).ToString()) == -1) { Neusoft.NFC.Management.PublicTrans.RollBack(); errText = "停用原卡失败"; return(errText); } #endregion #region 插入原卡的操作记录 Neusoft.HISFC.Object.Account.AccountCardRecord accountCardRecord = new Neusoft.HISFC.Object.Account.AccountCardRecord(); accountCardRecord.MarkNO = oldMarkno; accountCardRecord.MarkType.ID = ((int)Neusoft.HISFC.Object.Account.MarkTypes.Magcard).ToString(); accountCardRecord.CardNO = this.ucRegPatientInfo1.CardNO; accountCardRecord.OperateTypes.ID = (int)Neusoft.HISFC.Object.Account.MarkOperateTypes.Stop; accountCardRecord.Oper.ID = (this.accountManager.Operator as Neusoft.HISFC.Object.Base.Employee).ID; if (accountManager.InsertAccountCardRecord(accountCardRecord) == -1) { errText = "保存原卡操作记录失败"; Neusoft.NFC.Management.PublicTrans.RollBack(); return(errText); } #endregion #region 插入新卡的操作记录 //插入新卡的操作记录 accountCardRecord = new Neusoft.HISFC.Object.Account.AccountCardRecord(); accountCardRecord.MarkNO = newMarkno; accountCardRecord.MarkType.ID = ((int)Neusoft.HISFC.Object.Account.MarkTypes.Magcard).ToString(); accountCardRecord.CardNO = this.ucRegPatientInfo1.CardNO; accountCardRecord.OperateTypes.ID = (int)Neusoft.HISFC.Object.Account.MarkOperateTypes.Begin; accountCardRecord.Oper.ID = (this.accountManager.Operator as Neusoft.HISFC.Object.Base.Employee).ID; //换卡是否收取成本费 if (controlParamIntegrate.GetControlParam <bool>(AccountConstant.IsAcceptChangeCardFee, true, false)) { accountCardRecord.CardMoney = controlParamIntegrate.GetControlParam <decimal>(AccountConstant.AcceptChangeCardFee, true, 0); } if (accountManager.InsertAccountCardRecord(accountCardRecord) == -1) { errText = "保存新卡操作记录失败!"; Neusoft.NFC.Management.PublicTrans.RollBack(); return(errText); } #endregion #region 换卡 accountCard = new Neusoft.HISFC.Object.Account.AccountCard(); accountCard.CardNO = this.ucRegPatientInfo1.CardNO; accountCard.MarkNO = newMarkno; accountCard.MarkType.ID = ((int)Neusoft.HISFC.Object.Account.MarkTypes.Magcard).ToString(); accountCard.IsValid = true; if (accountCard == null) { Neusoft.NFC.Management.PublicTrans.RollBack(); errText = "获取磁卡记录失败!"; return(errText); } if (accountManager.InsertAccountCard(accountCard) == -1) { MessageBox.Show("保存卡使用记录失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); Neusoft.NFC.Management.PublicTrans.RollBack(); errText = "保存卡使用记录失败!"; return(errText); } Neusoft.NFC.Management.PublicTrans.Commit(); return(string.Empty); //if (accountManager.UpdateAccountCardMark(newMarkno, oldMarkno) < 0) //{ // trans.RollBack(); // MessageBox.Show("帐户换卡失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); // return; //} #endregion }
private int ReplaceAccountCard(Neusoft.HISFC.Object.Account.AccountCard accountCard) { Neusoft.NFC.Management.PublicTrans.BeginTransaction(); //Neusoft.NFC.Management.Transaction trans = new Neusoft.NFC.Management.Transaction(accountManager.Connection); //trans.BeginTransaction(); accountManager.SetTrans(Neusoft.NFC.Management.PublicTrans.Trans); try { //停用该卡 accountCard.IsValid = false; if (accountManager.UpdateAccountCardState(accountCard.MarkNO, accountCard.MarkType, Neusoft.NFC.Function.NConvert.ToInt32(accountCard.IsValid).ToString()) == -1) { Neusoft.NFC.Management.PublicTrans.RollBack(); MessageBox.Show("更改原卡状态失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return(-1); } //插入原卡的操作记录 accountCardRecord.MarkNO = accountCard.MarkNO; accountCardRecord.MarkType.ID = accountCard.MarkType.ID; accountCardRecord.CardNO = accountCard.CardNO; accountCardRecord.OperateTypes.ID = (int)Neusoft.HISFC.Object.Account.MarkOperateTypes.Stop; accountCardRecord.Oper.ID = (this.accountManager.Operator as Neusoft.HISFC.Object.Base.Employee).ID; if (accountManager.InsertAccountCardRecord(accountCardRecord) == -1) { MessageBox.Show("保存卡操作记录失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); Neusoft.NFC.Management.PublicTrans.RollBack(); return(-1); } #region 废弃 ////新插入一条数据 //accountCard = this.GetAccountCard(); //if (accountCard == null) //{ // MessageBox.Show("获取磁卡记录失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //} //if (accountManager.InsertAccountCard(accountCard) == -1) //{ // MessageBox.Show("保存卡使用记录失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); // trans.RollBack(); // return -1; //} ////插入卡操作记录 //accountCardRecord.MarkNO = accountCard.MarkNO; //accountCardRecord.MarkType.ID = accountCard.MarkType.ID; //accountCardRecord.CardNO = accountCard.CardNO; //accountCardRecord.OperateTypes.ID = (int)Neusoft.HISFC.Object.Account.MarkOperateTypes.Begin; //accountCardRecord.Oper.ID = this.accountManager.Operator.ID; //if (accountManager.InsertAccountCardRecord(accountCardRecord) == -1) //{ // MessageBox.Show("保存卡操作记录失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); // trans.RollBack(); // return -1; //} #endregion Neusoft.NFC.Management.PublicTrans.Commit(); return(1); } catch { return(-1); } }