示例#1
0
        /// <summary>
        /// 根据物理卡号查找门诊卡号
        /// </summary>
        protected virtual void QueryByMarkNO()
        {
            string txtinput = this.Text.Trim();

            this.markNO = string.Empty;
            //根据卡号规则判断是否是卡,并取出卡号
            //{E24EF7EC-94EE-45b2-B717-E722A2D10068}
            Neusoft.HISFC.Models.Account.AccountCard accountCard = new Neusoft.HISFC.Models.Account.AccountCard();
            //if (feeIntegrate.ValidMarkNO(txtinput, ref markNO) < 0) return;
            if (feeIntegrate.ValidMarkNO(txtinput, ref accountCard) < 0)
            {
                return;
            }
            markNO = accountCard.MarkNO;
            cardNO = string.Empty;
            //查找卡号所对应的
            //bool bl = feeIntegrate.GetCardNoByMarkNo(markNO, Neusoft.HISFC.Models.Account.MarkTypes.Magcard, ref cardNO);
            bool bl = feeIntegrate.GetCardNoByMarkNo(markNO, ref cardNO);

            if (!bl)
            {
                MessageBox.Show(this.feeIntegrate.Err, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            isMarkNo = true;
            this.QueryByCardNO(cardNO);
        }
        /// <summary>
        /// 在患者病历号回车检索明细
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void ucPatientInformation_KeyDownInQureyCode(object sender, KeyEventArgs e)
        {
            // 检索码
            string queryCode = "";

            // 患者信息

            Neusoft.HISFC.Models.Registration.Register queryRegister = new Register();
            // 患者姓名确认

            Terminal.Confirm.frmPatientName frmPatient = new frmPatientName();
            // 操作结果
            Neusoft.HISFC.BizProcess.Integrate.Terminal.Result result = new Result();
            // 执行检索

            #region 门诊病历号

            //{6FC43DF1-86E1-4720-BA3F-356C25C74F16}
            #region 账户新增
            queryCode = this.ucPatientInformation.textBoxCode.Text.Trim();
            Neusoft.HISFC.Models.Account.AccountCard accountCard = new Neusoft.HISFC.Models.Account.AccountCard();
            if (feeIntegrate.ValidMarkNO(queryCode, ref accountCard) > 0)
            {
                queryCode = accountCard.Patient.PID.CardNO;
            }
            else
            {
                queryCode = this.ucPatientInformation.textBoxCode.Text.PadLeft(10, '0');
                // 显示填充后的病历号
            }

            #endregion

            //queryCode = this.ucPatientInformation.textBoxCode.Text.PadLeft(10, '0');
            // 显示填充后的病历号

            this.ucPatientInformation.textBoxCode.Text = queryCode;
            // 根据病历号从申请单获取患者基本信息
            result = confirmIntegrate.GetOutpatientByCardNOFromRegister(ref queryRegister, queryCode);
            if (result == Neusoft.HISFC.BizProcess.Integrate.Terminal.Result.Success)
            {
                this.ucPatientInformation.Register = queryRegister;
                //查询患者终端已确认信息并插入到sheet1
                this.QueryConfirmInfo(queryRegister.PID.CardNO);
            }
            else
            {
                MessageBox.Show("查找患者挂号信息失败!");
                this.ucPatientInformation.Focus();
            }
            #endregion
        }
示例#3
0
        public int ReadMarkNOByRule(string markNO, ref Neusoft.HISFC.Models.Account.AccountCard accountCard)
        {
            string validedMarkNo = string.Empty;

            Neusoft.FrameWork.Models.NeuObject markType = null;
            if (markNO == string.Empty)
            {
                this.error = "请输入就诊卡号!";
                return(-1);
            }

            //取卡规则 0 表示用病历号做卡号
            string returnValue = this.ctlParam.QueryControlerInfo("800006");

            if (string.IsNullOrEmpty(returnValue))
            {
                returnValue = "0";
            }

            if (returnValue != "0")
            {
                if (markNO.Length < 3)
                {
                    this.error = "输入的卡号不正确,请重新输入!";
                    return(-1);
                }

                string firstleter = markNO.Substring(0, 1);
                if (firstleter != ";")
                {
                    this.error = "输入的卡号不正确,请重新输入!";
                    return(-1);
                }
                string lastleter = markNO.Substring(markNO.Length - 1, 1);
                if (lastleter != "?")
                {
                    this.error = "输入的卡号不正确,请重新输入!";
                    return(-1);
                }

                validedMarkNo = markNO.Substring(1, markNO.Length - 2);
                foreach (char c in validedMarkNo)
                {
                    if (!char.IsNumber(c))
                    {
                        this.error = "输入的卡号不正确,请重新输入!";
                        return(-1);
                    }
                }

                accountCard = new Neusoft.HISFC.Models.Account.AccountCard();
                //卡类型根据在常数维护中维护的编码和名称要对照上
                markType      = new Neusoft.FrameWork.Models.NeuObject();
                markType.ID   = "1";
                markType.Name = "条码卡";
            }
            else
            {
                validedMarkNo = markNO.PadLeft(10, '0');
                markType      = new Neusoft.FrameWork.Models.NeuObject();
                markType.ID   = "0";
                markType.Name = "就诊卡";
            }
            accountCard = accountManager.GetAccountCard(validedMarkNo, markType.ID);
            //卡未发放
            if (accountCard == null || !accountCard.IsValid)
            {
                accountCard          = new Neusoft.HISFC.Models.Account.AccountCard();
                accountCard.MarkNO   = validedMarkNo;
                accountCard.MarkType = markType;
                this.error           = "该卡还未发放或该卡已停用!";
                return(0);
            }


            Neusoft.HISFC.Models.RADT.PatientInfo patient = radtIntegrate.QueryComPatientInfo(accountCard.Patient.PID.CardNO);
            accountCard.Patient = patient;
            return(1);
        }
        protected void query()
        {
            this.Err = "";
            this.alSeeNo.Clear();
            #region 门诊号查
            if (this.inputtype == 0)
            {
                if (isICCard)//{18DEBFA3-0364-4730-8416-ECA87F3235FF}
                {
                    Neusoft.HISFC.Models.Account.AccountCard acObj = new Neusoft.HISFC.Models.Account.AccountCard();
                    if (this.feeIntegrate.ValidMarkNO(this.Text.ToString(), ref acObj) != -1)
                    {
                        if (acObj != null)
                        {
                            this.Text = acObj.Patient.PID.CardNO;
                        }
                        else
                        {
                            MessageBox.Show("没有查找到该患者的挂号信息");
                            return;
                        }
                    }
                }
                else
                {
                    this.Text = this.formatInputCode(this.Text).Trim(); //格式化
                }
                try
                {
                    //this.alSeeNo = this.orderManagement.QuerySeeNoListByCardNo(this.Text);

                    DateTime  dtNow = this.orderManagement.GetDateTimeFromSysDateTime();
                    ArrayList alReg = patient.Query(this.Text, dtNow.AddDays(-this.validDays));

                    if (alReg == null || alReg.Count <= 0)
                    {
                        MessageBox.Show("没有查找到该患者在有效时间内的挂号信息");
                        return;
                    }

                    else
                    {
                        for (int i = 0; i < alReg.Count; i++)
                        {
                            Neusoft.HISFC.Models.Registration.Register obj = alReg[i] as Neusoft.HISFC.Models.Registration.Register;
                            this.myRegister = obj;//在控件外面重新获得挂号信息
                            Neusoft.FrameWork.Models.NeuObject o = new Neusoft.FrameWork.Models.NeuObject();
                            if (obj.DoctorInfo.SeeDate.Date == dtNow.Date)
                            {
                                o.ID   = "新";
                                o.Memo = "今天";
                            }
                            else
                            {
                                o.ID   = "";
                                o.Memo = obj.DoctorInfo.SeeDate.ToString("yyyy年MM月dd日");
                            }
                            o.Name   = obj.Name + "(" + obj.InvoiceNO + ")"; //添加了处方号,方便医生确认
                            o.User02 = obj.DoctorInfo.Templet.Dept.Name;
                            o.User03 = obj.ID;                               //门诊流水号

                            o.User01 = ((Neusoft.HISFC.Models.Base.Employee) this.orderManagement.Operator).Dept.ID;
                            this.alSeeNo.Insert(0, o);
                        }
                    }
                    if (this.alSeeNo == null)
                    {
                        this.Err = "未查找到该门诊号!";
                        return;
                    }
                    if (this.alSeeNo.Count == 1)
                    {
                        this.strSeeNo = ((Neusoft.FrameWork.Models.NeuObject) this.alSeeNo[0]).ID;

                        this.clinicCode  = ((Neusoft.FrameWork.Models.NeuObject) this.alSeeNo[0]).User03;
                        this.Register.ID = ((Neusoft.FrameWork.Models.NeuObject) this.alSeeNo[0]).User03;
                    }
                    else if (this.alSeeNo.Count <= 0)
                    {
                        this.Err      = "未查找到该门诊号!";
                        this.strSeeNo = "";
                        NoInfo();
                    }
                    else
                    {
                        this.strSeeNo = ((Neusoft.FrameWork.Models.NeuObject) this.alSeeNo[0]).ID;
                        this.SelectPatient();
                        return;
                    }
                }
                catch (Exception ex)
                {
                    this.Err = ex.Message;
                    NoInfo();
                }
                try
                {
                    if (this.listform != null)
                    {
                        this.listform.Close();
                    }
                }
                catch { }
                try
                {
                    this.myEvents();
                }
                catch { }
            }
            #endregion
        }