Esempio n. 1
0
        /// <summary>
        /// 更新查询显示
        /// </summary>
        /// <returns></returns>
        protected int RefreshQuery()
        {
            if (this.cmbDept.Tag == null || this.cmbDept.Tag.ToString() == "")
            {
                MessageBox.Show("请先选择科室!");
                return(0);
            }

            Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在查询,请稍候...");
            Application.DoEvents();
            ArrayList alOrders = null;

            this.fpOrderExecBrowser1.fpSpread.Sheets[0].RowCount = 0;

            alOrders = orderManager.QureyExecOrderNeedSendDrug(this.cmbDept.Tag.ToString());//查询未发药的
            if (alOrders == null)
            {
                MessageBox.Show(orderManagement.Err);
                return(-1);
            }
            string pid = "";

            Neusoft.HISFC.Models.RADT.PatientInfo p = new Neusoft.HISFC.Models.RADT.PatientInfo();
            for (int j = 0; j < alOrders.Count; j++)
            {
                Neusoft.HISFC.Models.Order.ExecOrder order = alOrders[j] as Neusoft.HISFC.Models.Order.ExecOrder;

                #region
                //"每次重新取患者信息 只记录患者姓名、床号 否则 在原科室分解后发生转科的时候,药应该发送到原科室 ,取科室后发送到新科室去了"
                if (pid != order.Order.Patient.ID)
                {
                    pid = order.Order.Patient.ID;
                    p   = radtManager.GetPatientInfomation(pid);
                    if (p == null)
                    {
                        MessageBox.Show("获得患者住院号出错!\n" + radtManager.Err);
                        return(-1);
                    }
                    order.Order.Patient.Name = p.Name;
                    order.Order.Patient.PVisit.PatientLocation.Bed.ID = p.PVisit.PatientLocation.Bed.ID;
                }
                else
                {
                    order.Order.Patient.Name = p.Name;
                    order.Order.Patient.PVisit.PatientLocation.Bed.ID = p.PVisit.PatientLocation.Bed.ID;
                }
                #endregion

                if (order.IsCharge)
                { //显示已经收费的
                    if (this.rdoTemp.Checked)
                    {
                        if (order.Order.OrderType.Type == Neusoft.HISFC.Models.Order.EnumType.SHORT)
                        {
                            this.fpOrderExecBrowser1.AddRow(order);
                        }
                    }
                    else
                    {
                        this.fpOrderExecBrowser1.AddRow(order);
                    }
                }
            }
            this.fpOrderExecBrowser1.RefreshComboNo();
            Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();
            bool b = true;//全选
            for (int i = 0; i < this.fpOrderExecBrowser1.fpSpread.Sheets[0].Rows.Count; i++)
            {
                this.fpOrderExecBrowser1.fpSpread.Sheets[0].Cells[i, this.fpOrderExecBrowser1.ColumnIndexSelection].Value = b;
            }
            return(0);
        }