コード例 #1
0
        ///// <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);
            }
        }
コード例 #2
0
        /// <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;
            }
        }
コード例 #3
0
        /// <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();
                }
            }
        }
コード例 #4
0
        /// <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;
            }
        }
コード例 #5
0
        /// <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
        }
コード例 #6
0
        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);
            }
        }