Beispiel #1
0
        public new ApplyOut Clone()
        {
            ApplyOut applyOut = base.Clone() as ApplyOut;

            applyOut.PatientDept = this.PatientDept.Clone();
            applyOut.Usage       = this.Usage.Clone();
            applyOut.Frequency   = this.Frequency.Clone();
            applyOut.OrderType   = this.OrderType.Clone();
            applyOut.RecipeInfo  = this.recipeInfo.Clone();
            applyOut.Compound    = this.compound.Clone();
            applyOut.item        = this.item.Clone();
            applyOut.NostrumDrug = this.NostrumDrug.Clone();

            return(applyOut);
        }
Beispiel #2
0
        /// <summary>
        /// 获取摆药单列表显示时患者节点
        /// </summary>
        /// <param name="nodeBill">父级节点</param>
        /// <param name="info">摆药明细信息</param>
        /// <returns>成功返回摆药单显示时的患者节点</returns>
        private TreeNode GetNodePatient(Neusoft.HISFC.Models.Pharmacy.ApplyOut info, TreeNode parentNode)
        {
            TreeNode nodePatient;

            nodePatient                    = new TreeNode();
            nodePatient.Text               = "【" + info.User01 + "】" + info.User02; //【床号】姓名
            nodePatient.ImageIndex         = 2;
            nodePatient.SelectedImageIndex = 2;
            nodePatient.Tag                = info;
            if (parentNode == null)
            {
                this.Nodes.Add(nodePatient);
            }
            else
            {
                parentNode.Nodes.Add(nodePatient);
            }

            return(nodePatient);
        }
Beispiel #3
0
        /// <summary>
        /// 获取摆药单列表显示科室节点
        /// </summary>
        /// <param name="info">摆药明细信息</param>
        /// <returns>成功返回摆药单列表显示时的科室节点</returns>
        private TreeNode GetNodeDept(Neusoft.HISFC.Models.Pharmacy.ApplyOut info, TreeNode parentNode)
        {
            TreeNode nodeDept = new TreeNode();

            if (info.ApplyDept.Name == "")
            {
                info.ApplyDept.Name = objHelper.GetName(info.ApplyDept.ID);
            }

            nodeDept.Text               = info.ApplyDept.Name;
            nodeDept.ImageIndex         = 1;
            nodeDept.SelectedImageIndex = 1;
            nodeDept.Tag = info;
            if (parentNode == null)
            {
                this.Nodes.Add(nodeDept);
            }
            else
            {
                parentNode.Nodes.Add(nodeDept);
            }

            return(nodeDept);
        }
Beispiel #4
0
        /// <summary>
        /// 获取选中的节点的摆药申请信息
        /// </summary>
        /// <param name="selectNode">当前选中节点</param>
        /// <param name="al">摆药明细信息</param>
        protected virtual void GetSelectData(TreeNode selectNode, ref ArrayList al)
        {
            #region 获取原始批次信息

            al = null;

            if (selectNode == null)
            {
                return;
            }

            Neusoft.HISFC.Models.Pharmacy.ApplyOut info = selectNode.Tag as Neusoft.HISFC.Models.Pharmacy.ApplyOut;
            if (info == null)
            {
                return;
            }

            //判断父节点是否为空,如父节点为空 说明此时点击的为科室节点
            if (selectNode.Parent == null)
            {
                //根据当前库存药房、当前申请科室获取所有申请明细信息
                al = this.itemManager.QueryCompoundApplyOut(info.StockDept.ID, info.ApplyDept.ID, this.GroupCode, null, this.state, this.isExec);
            }
            else
            {
                //根据当前库存药房 当前申请科室 当前申请患者获取所有申请明细信息
                al = this.itemManager.QueryCompoundApplyOut(info.StockDept.ID, info.ApplyDept.ID, this.GroupCode, info.PatientNO, this.state, this.isExec);
            }

            if (al == null)
            {
                MessageBox.Show(Language.Msg("获取申请明细信息发生错误") + this.itemManager.Err);
                return;
            }

            #endregion

            #region 更新原始配置批次号为流水号

            string privCompoundGroup      = "-1";
            string privNewCompoundGroupNO = "";
            foreach (Neusoft.HISFC.Models.Pharmacy.ApplyOut compound in al)
            {
                if (compound.CompoundGroup.IndexOf("C") != -1)      //该批次流水号未更新过
                {
                    if (privCompoundGroup == compound.CompoundGroup)
                    {
                        compound.CompoundGroup = privNewCompoundGroupNO;
                        continue;
                    }
                    else
                    {
                        string newCompoundGroupNO = "";
                        if (this.itemManager.UpdateCompoundGroupNO(compound.CompoundGroup, ref newCompoundGroupNO) == -1)
                        {
                            MessageBox.Show(Language.Msg("更新原始配置批次号为流水号时发生错误"));
                            return;
                        }

                        privCompoundGroup      = compound.CompoundGroup;
                        compound.CompoundGroup = newCompoundGroupNO;
                        privNewCompoundGroupNO = newCompoundGroupNO;
                    }
                }
            }

            #endregion

            #region 药柜管理的处理 暂时屏蔽此处

            /*
             * if (stockMark != null && stockMark.ID != "")
             * {
             *  //获取科室库存药品信息
             *  if (this.hsStockData == null)
             *  {
             *      this.hsStockData = new Hashtable();
             *
             *      Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm(Language.Msg("正在加载科室库存信息 请稍候..."));
             *      Application.DoEvents();
             *
             *      ArrayList alStorage = this.itemManager.QueryStockinfoList(stockMark.ID);
             *
             *      foreach (Neusoft.HISFC.Models.Pharmacy.Storage storage in alStorage)
             *      {
             *          if (storage.IsArkManager)
             *          {
             *              continue;
             *          }
             *          this.hsStockData.Add(storage.Item.ID, null);
             *      }
             *
             *      Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();
             *  }
             * }
             *
             * if (this.hsStockData == null)
             * {
             *  al = alTotal;
             * }
             * else
             * {
             *  //屏蔽药柜管理的药品
             *  if (alTotal.Count > 0)
             *  {
             *      if (alTotal[0] is Neusoft.HISFC.Models.Pharmacy.ApplyOut)
             *      {
             *          foreach (Neusoft.HISFC.Models.Pharmacy.ApplyOut info in alTotal)
             *          {
             *              if (this.hsStockData.ContainsKey(info.Item.ID))
             *              {
             *                  al.Add(info);
             *              }
             *          }
             *      }
             *      else
             *      {
             *          al = alTotal;
             *      }
             *  }
             * }
             *
             *
             */

            #endregion
        }