private void tvDrugMessage1_SelectDataEvent(Neusoft.HISFC.Models.Pharmacy.DrugMessage drugMessage, ArrayList alData, bool isShowDetail)
        {
            if (this.IDrugManager != null)
            {
                this.drugMessage = drugMessage;

                this.IsShowDetail = isShowDetail;       //设置接口 控件显示

                this.IDrugManager.ShowData(alData);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 显示摆药通知信息
        /// </summary>
        /// <param name="drugMessage">摆药通知信心</param>
        private void AddDataToFp(Neusoft.HISFC.Models.Pharmacy.DrugMessage drugMessage)
        {
            this.neuSpread1_Sheet1.Rows.Add(this.neuSpread1_Sheet1.Rows.Count, 1);

            int iIndex = this.neuSpread1_Sheet1.Rows.Count - 1;

            if (drugMessage.ApplyDept.Name == "")
            {
                drugMessage.ApplyDept.Name = this.deptHelper.GetName(drugMessage.ApplyDept.ID);
            }

            if (this.autoCheck)
            {
                this.neuSpread1_Sheet1.Cells[iIndex, (int)ColumnSet.ColCheck].Value = true;
            }
            this.neuSpread1_Sheet1.Cells[iIndex, (int)ColumnSet.ColPrintType].Value = "打印";
            this.neuSpread1_Sheet1.Cells[iIndex, (int)ColumnSet.ColSendDept].Value  = drugMessage.ApplyDept.Name;
            this.neuSpread1_Sheet1.Cells[iIndex, (int)ColumnSet.ColBillType].Value  = drugMessage.DrugBillClass.Name;
            this.neuSpread1_Sheet1.Cells[iIndex, (int)ColumnSet.ColSendTime].Value  = drugMessage.SendTime.ToString();
            this.neuSpread1_Sheet1.Cells[iIndex, (int)ColumnSet.ColSendOper].Value  = drugMessage.Name;
            this.neuSpread1_Sheet1.Rows[iIndex].Tag = drugMessage;
        }
Esempio n. 3
0
        /// <summary>
        /// 摆药保存
        /// </summary>
        /// <param name="drugMessage">摆药通知信息</param>
        public int Save(Neusoft.HISFC.Models.Pharmacy.DrugMessage drugMessage)
        {
            if (this.neuSpread1_Sheet1.Rows.Count == 0)
            {
                MessageBox.Show(Language.Msg("没有可以核准的数据。"));
                return(-1);
            }

            if (this.BeginSaveEvent != null)
            {
                this.BeginSaveEvent(drugMessage, null);
            }

            ArrayList alCheckData = this.GetCheckData();

            if (alCheckData.Count <= 0)
            {
                MessageBox.Show(Language.Msg("请选择要核准的数据。"));
                return(-1);
            }
            //提示是否摆药 {152EF737-99B9-410f-BE97-B11C02B6F330} wbo 2010-09-22
            if (MessageBox.Show("是否确定摆药?", "提示", MessageBoxButtons.YesNo) == DialogResult.No)
            {
                return(-1);
            }
            //提示正在摆药 {43593D0F-C93E-4a59-9037-F1FF3E0D5381} wbo 2010-09-22
            Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在摆药,请稍后... ...");
            Application.DoEvents();
            int iIndex = 0;

            foreach (Neusoft.HISFC.Models.Pharmacy.DrugMessage message in alCheckData)
            {
                #region 对选中的申请数据进行保存

                message.SendFlag = 1;                    //摆药通知中的数据全部被核准SendFlag=1,更新摆药通知信息。
                message.SendType = drugMessage.SendType; //处理此摆药通知中的摆药申请数据时,取摆药台的发送类型。

                //检索科室摆药申请明细数据
                ArrayList al = this.itemManager.QueryApplyOutList(message);
                if (al == null)
                {
                    //提示正在摆药 {43593D0F-C93E-4a59-9037-F1FF3E0D5381} wbo 2010-09-22
                    Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();
                    MessageBox.Show(Language.Msg("根据摆药通知信息获取摆药申请明细信息发生错误 ") + this.itemManager.Err);
                    return(-1);
                }
                //提示正在摆药 {43593D0F-C93E-4a59-9037-F1FF3E0D5381} wbo 2010-09-22
                Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在摆药,请稍后... ...");
                if (message.DrugBillClass.ID == "R")
                {
                    if (DrugStore.Function.DrugReturnConfirm(al, message, this.ArkDept, this.ApproveDept) != 1)
                    {
                        //提示正在摆药 {43593D0F-C93E-4a59-9037-F1FF3E0D5381} wbo 2010-09-22
                        Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();
                        return(-1);
                    }
                }
                else
                {
                    if (DrugStore.Function.DrugConfirm(al, message, this.ArkDept, this.ApproveDept) != 1)
                    {
                        //提示正在摆药 {43593D0F-C93E-4a59-9037-F1FF3E0D5381} wbo 2010-09-22
                        Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();
                        return(-1);
                    }
                }

                //提示打印进度 {C9ADA757-AA2D-4674-8BEE-F647EE683A59} wbo 2010-09-22
                //Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在打印... ...");
                Neusoft.HISFC.Models.Pharmacy.DrugBillClass drugBillClass = this.drugstoreManager.GetDrugBillClass(message.DrugBillClass.ID);

                //保存摆药单号
                drugBillClass.Memo       = message.DrugBillClass.Memo;//摆药单号
                drugBillClass.DrugBillNO = message.DrugBillClass.Memo;

                Function.Print(al, drugBillClass, this.IsAutoPrint, this.IsPrintLabel, this.IsSelectPreview(iIndex));
                iIndex++;

                #endregion
            }
            if (this.EndSaveEvent != null)
            {
                this.EndSaveEvent(drugMessage, null);
            }

            //提示打印进度 {C9ADA757-AA2D-4674-8BEE-F647EE683A59} wbo 2010-09-22
            //Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();
            //MessageBox.Show("打印完毕!");

            return(1);
        }
Esempio n. 4
0
        /// <summary>
        /// 根据传入的摆药通知进行退药处理
        /// </summary>
        /// <param name="drugMessage">摆药通知</param>
        /// <returns>1成功,-1失败</returns>
        public virtual int Save(Neusoft.HISFC.Models.Pharmacy.DrugMessage drugMessage)
        {
            if (drugMessage == null || drugMessage.ApplyDept.ID == "" || this.neuSpread1_DetailSheet.Rows.Count <= 0)
            {
                return(-1);
            }

            if (this.BeginSaveEvent != null)
            {
                this.BeginSaveEvent(drugMessage, null);
            }

            #region 对于特殊药品自动进行待摆药计算

            if (this.IsAutoCheck && this.tbDrugDetail.SelectedTab == this.tpDeptMerge)
            {
                if (!this.AutoSetCheck())
                {
                    MessageBox.Show(Language.Msg("对于您所输入的摆药量,未能正确算出需摆哪些申请记录 \n 请根据剩余数量进行手工调整"));
                    return(-1);
                }
            }

            #endregion

            #region 对用户选择的数据进行摆药处理

            ArrayList al = this.GetCheckData();

            if (al.Count == 0)
            {
                MessageBox.Show(Language.Msg("请选择需核准发药的数据"));
                return(-1);
            }

            //提示是否摆药 {152EF737-99B9-410f-BE97-B11C02B6F330} wbo 2010-09-22
            if (MessageBox.Show("是否确定摆药?", "提示", MessageBoxButtons.YesNo) == DialogResult.No)
            {
                return(-1);
            }
            //提示正在摆药 {43593D0F-C93E-4a59-9037-F1FF3E0D5381} wbo 2010-09-22
            Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在摆药,请稍后... ...");
            Application.DoEvents();

            if (drugMessage.DrugBillClass.ID == "R")
            {
                if (DrugStore.Function.DrugReturnConfirm(al, drugMessage, this.ArkDept, this.ApproveDept) == -1)
                {
                    //提示正在摆药 {43593D0F-C93E-4a59-9037-F1FF3E0D5381} wbo 2010-09-22
                    Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();
                    return(-1);
                }
            }
            else
            {
                if (DrugStore.Function.DrugConfirm(al, drugMessage, this.ArkDept, this.ApproveDept) == -1)
                {
                    //提示正在摆药 {43593D0F-C93E-4a59-9037-F1FF3E0D5381} wbo 2010-09-22
                    Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();
                    return(-1);
                }
            }

            #endregion
            Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();

            if (this.EndSaveEvent != null)
            {
                this.EndSaveEvent(drugMessage, null);
            }

            if (MessageBox.Show("是否打印?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                //提示打印进度 {C9ADA757-AA2D-4674-8BEE-F647EE683A59} wbo 2010-09-22
                Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在打印... ...");
                Application.DoEvents();

                //保存摆药单号
                this.myDrugBillClass.DrugBillNO = drugMessage.DrugBillClass.Memo;

                if (this.hsDrugBillClass.ContainsKey(drugMessage.DrugBillClass.ID))
                {
                    this.myDrugBillClass.PrintType = this.hsDrugBillClass[drugMessage.DrugBillClass.ID] as Neusoft.HISFC.Models.Pharmacy.BillPrintType;
                    this.myDrugBillClass.Name      = drugMessage.DrugBillClass.Name;
                }

                Function.Print(al, this.myDrugBillClass, this.IsAutoPrint, this.IsPrintLabel, this.IsNeedPreview);

                //提示打印进度 {C9ADA757-AA2D-4674-8BEE-F647EE683A59} wbo 2010-09-22
                Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();
                MessageBox.Show("打印完毕!");
            }
            return(1);
        }