Ejemplo n.º 1
0
        /// <summary>
        /// 申请信息显示
        /// </summary>
        /// <param name="drugRecipe">门诊处方调剂信息</param>
        /// <param name="state">门诊处方状态</param>
        public virtual void ShowData(Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe)
        {
            if (drugRecipe == null)
            {
                return;
            }

            this.tempDrugRecipe = drugRecipe;

            this.ShowPatientInfo(drugRecipe);

            string state = "";

            switch (drugRecipe.RecipeState)
            {
            case "0":
            case "1":
                state = "0";
                break;

            case "2":
                state = "1";
                break;

            case "3":
                state = "2";
                break;
            }

            Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item();
            ArrayList al = itemManager.QueryApplyOutListForClinic(this.OperDept.ID, "M1", state, drugRecipe.RecipeNO);

            if (al == null)
            {
                MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("根据调剂信息获取申请明细信息发生错误") + itemManager.Err);
                return;
            }

            this.ShowData(al);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 科室发药保存
        /// </summary>
        /// <returns>成功返回1 失败返回-1</returns>
        protected int SavePatient()
        {
            List <Neusoft.HISFC.Models.Pharmacy.DrugRecipe> alPatient = this.GetCheckPatient();

            if (alPatient == null || alPatient.Count == 0)
            {
                return(1);
            }

            Neusoft.FrameWork.Models.NeuObject sentTerminal = new Neusoft.FrameWork.Models.NeuObject();
            if (this.cmbSendTerminal.Tag == null || this.cmbSendTerminal.Tag.ToString() == "")
            {
                MessageBox.Show(Language.Msg("请选择发药终端"));
                return(-1);
            }
            sentTerminal.ID = this.cmbSendTerminal.Tag.ToString();

            Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item();
            string state = "1";

            foreach (Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe in alPatient)
            {
                if (drugRecipe.RecipeState == "0" || drugRecipe.RecipeState == "1")
                {
                    state = "0";
                }
                else
                {
                    state = "1";
                }

                #region 更新处方状态

                int parm = this.drugStoreManager.UpdateDrugRecipeState(this.privDept.ID, drugRecipe.RecipeNO, "M1", "0", "1");
                if (parm == -1)
                {
                    MessageBox.Show(Language.Msg("更新未打印状态为已打印状态失败!") + this.drugStoreManager.Err);

                    this.QueryPatientList();

                    return(-1);
                }

                #endregion

                ArrayList al = itemManager.QueryApplyOutListForClinic(this.privDept.ID, "M1", state, drugRecipe.RecipeNO);
                if (al == null)
                {
                    MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("根据调剂信息获取申请明细信息发生错误") + itemManager.Err);

                    this.QueryPatientList();

                    return(-1);
                }

                if (Function.OutpatientSend(this.ConvertApplyOutToList(al), sentTerminal, this.privDept, this.privOper, true, true) == -1)
                {
                    MessageBox.Show(Language.Msg("对 " + drugRecipe.PatientName + " 进行发药处理时发生错误"));

                    this.QueryPatientList();

                    return(-1);
                }
            }

            MessageBox.Show(Language.Msg("保存成功"));

            this.QueryPatientList();

            return(1);
        }