示例#1
0
        /// <summary>
        /// 作废用药申请
        /// </summary>
        /// <returns>成功返回1 失败返回-1</returns>
        public int CancelApply()
        {
            if (this.fpApplyList.RowCount <= 0)
            {
                return(0);
            }

            Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();

            for (int i = 0; i < this.fpApplyList.RowCount; i++)
            {
                if (this.fpApplyList.Cells[i, 0].Text == "False")
                {
                    continue;
                }
                Neusoft.HISFC.Models.Pharmacy.ApplyOut applyOut = this.fpApplyList.Rows[i].Tag as Neusoft.HISFC.Models.Pharmacy.ApplyOut;

                Neusoft.HISFC.Models.RADT.PatientInfo patientObj = radtIntegrate.QueryPatientInfoByInpatientNO(applyOut.PatientNO);
                bool isInState = true;
                if (patientObj.PVisit.InState.ID.ToString() != Neusoft.HISFC.Models.Base.EnumInState.I.ToString())
                {
                    isInState = false;
                }

                //还原发送申请
                if (itemManager.CancelApplyDrug(applyOut.ID, isInState) == -1)
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();
                    MessageBox.Show("取消发药申请失败");
                    return(-1);
                }

                //对已经无效的数据 不重复保存
                //if (applyOut.ValidState == Neusoft.HISFC.Models.Base.EnumValidState.Invalid)
                //{
                //    continue;
                //}

                ////作废摆药申请
                //if (itemManager.CancelApplyOutByID(applyOut.ID, false) == -1)
                //{
                //    Neusoft.NFC.Management.PublicTrans.RollBack();
                //    MessageBox.Show("作废摆药申请失败");
                //    return -1;
                //}

                ////作废医嘱执行档
                //Neusoft.HISFC.Models.Base.Employee empl = Neusoft.NFC.Management.Connection.Operator as Neusoft.HISFC.Models.Base.Employee;
                //Neusoft.NFC.Object.NeuObject operObj = Neusoft.NFC.Management.Connection.Operator;
                //if (orderManager.DcExecImmediateUnNormal(applyOut.ExecNO, true, operObj) == -1)
                //{
                //    Neusoft.NFC.Management.PublicTrans.RollBack();
                //    MessageBox.Show("作废医嘱执行档失败");
                //    return -1;
                //}
            }

            Neusoft.FrameWork.Management.PublicTrans.Commit();

            MessageBox.Show("取消发药申请成功");
            this.QueryData();

            return(1);
        }