Esempio n. 1
0
        public frmIntensiveTend_FContent(bool blnNew, string p_strInPatientID, string p_strInPatientDate, string p_strCreateDate)
        {
            //
            // Windows 窗体设计器支持所必需的
            //
            InitializeComponent();

            //
            // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
            //
//			m_lblSign.Text=MDIParent.OperatorName;
//			m_mthSetRichTextBoxAttribInControl(this);
            //m_objBorderTool=new clsBorderTool(Color.White);
            //m_objSignTool = new clsEmployeeSignTool(m_lsvEmployee);
            //m_objSignTool.m_mthAddControl(m_txtSign);
            m_objSign = new clsEmrSignToolCollection();
            m_objSign.m_mthBindEmployeeSign(cmdSign, txtSign, 2, true, clsEMRLogin.LoginInfo.m_strEmpID);

            //初始化变量值
            blnNewRecord           = blnNew;
            strRecordInPatientID   = p_strInPatientID;
            strRecordInPatientDate = p_strInPatientDate;
            strRecordCreateDate    = p_strCreateDate;
            m_mthSetRichTextBoxAttribInControl(this);
            //右键菜单
            m_objTempTool  = new clsTemplatesetInvoke();
            objHRPBaseForm = new frmHRPBaseForm();
        }
Esempio n. 2
0
        private void m_lsvDeactiveInfo_DoubleClick(object sender, System.EventArgs e)
        {
            if (m_lsvDeactiveInfo.SelectedItems.Count == 0)
            {
                return;
            }

            clsDeactiveInfo     objDeactiveInfo = (clsDeactiveInfo)m_lsvDeactiveInfo.SelectedItems[0].Tag;
            clsDeactiveFormInfo objFormInfo     = (clsDeactiveFormInfo)m_cboFormType.Tag;

            m_objBaseCurrentPatient.m_DtmSelectedInDate = objDeactiveInfo.m_dtmSelectedInDate;

            frmHRPBaseForm objBaseForm = m_objBaseForm;

            if (objBaseForm == null)
            {
                Type typForm = Type.GetType(objFormInfo.m_strMainFormClassName);
                //如果没有不需参数的构造函数则爆
                objBaseForm = (frmHRPBaseForm)Activator.CreateInstance(typForm);
                objBaseForm.m_BlnIfNewDeletedRecord = true;
                objBaseForm.MdiParent   = clsEMRLogin.s_FrmMDI;
                this.MdiParent          = clsEMRLogin.s_FrmMDI;
                objBaseForm.WindowState = FormWindowState.Maximized;
                objBaseForm.Show();
                objBaseForm.TopMost = true;
            }

            bool           blnIsRecordBase = false;
            frmRecordsBase frmRB           = null;

            if (objBaseForm is frmDiseaseTrackBase)
            {
                for (int i = 0; i < clsEMRLogin.s_FrmMDI.MdiChildren.Length; i++)
                {
                    if (clsEMRLogin.s_FrmMDI.MdiChildren[i] is frmRecordsBase)
                    {
                        if (((frmRecordsBase)clsEMRLogin.s_FrmMDI.MdiChildren[i]).m_FrmCurrentSub != null &&
                            ((frmRecordsBase)clsEMRLogin.s_FrmMDI.MdiChildren[i]).m_FrmCurrentSub.Equals(objBaseForm))
                        {
                            frmRB           = (frmRecordsBase)clsEMRLogin.s_FrmMDI.MdiChildren[i];
                            blnIsRecordBase = true;
                        }
                    }
                }
            }

            if (!blnIsRecordBase)
            {
                objBaseForm.m_mthSetDeactiveContent(m_objBaseCurrentPatient, objDeactiveInfo.m_dtmPrimaryDate, objFormInfo.m_intFormID);
                MDIParent.s_ObjSaveCue.m_mthRemoveForm(objBaseForm);
            }
            else if (frmRB != null)
            {
                frmRB.m_mthSetDeactiveContent(m_objBaseCurrentPatient, objDeactiveInfo.m_dtmPrimaryDate, objFormInfo.m_intFormID);
            }
            //objBaseForm.Close();
            this.Close();
            // this.Dispose();
        }
Esempio n. 3
0
        public bool m_blnCheckSamePatientForm(Form p_frmCheck, string p_strInPatientID)
        {
            frmHRPBaseForm p_frmHRP = p_frmCheck as frmHRPBaseForm;

            if (p_frmHRP == null)
            {
                return(false);
            }

            string strInID = p_strInPatientID;

            return(m_blnCheckSameMDIChild(p_frmHRP, strInID));
        }
Esempio n. 4
0
        /// <summary>
        /// 打开新窗体前询问是否保存原有窗体
        /// </summary>
        /// <returns></returns>
        public bool m_blnIsSaveBeforeNewForm()
        {
            bool blnIsCancle = false;

            frmHRPBaseForm hrpForm = clsEMRLogin.s_FrmMDI.ActiveMdiChild as frmHRPBaseForm;

            if (hrpForm == null)
            {
                return(false);
            }

            hrpForm.m_blnNotClickWindows = true;

            if (!hrpForm.m_blnHasClosing && !hrpForm.TopLevel)
            {
                DialogResult dlgResult = DialogResult.None;
                if (!MDIParent.s_ObjSaveCue.m_blnCheckStatusSame(hrpForm))
                {
                    if (MDIParent.s_ObjCurrentPatient != null && MDIParent.s_ObjCurrentPatient.m_IntCharacter == 1)
                    {
                        dlgResult = DialogResult.No;
                    }
                    else
                    {
                        dlgResult = clsPublicFunction.ShowQuestionMessageBox("[" + hrpForm.Text + "]做了改动,是否保存?", MessageBoxButtons.YesNoCancel);

                        //dlgResult = DialogResult.Yes;
                    }

                    if (dlgResult == DialogResult.Yes)
                    {
                        long lngRes = hrpForm.m_lngSave();
                        //保存完成后将该窗体关闭
                        if (lngRes > 0)
                        {
                            hrpForm.Close();
                        }
                    }
                    else if (dlgResult == DialogResult.Cancel)
                    {
                        blnIsCancle = true;
                        hrpForm.m_blnNotClickWindows = false;
                        return(blnIsCancle);
                    }
                }
            }
            return(blnIsCancle);
        }
Esempio n. 5
0
        public void m_mthSetForm(frmHRPBaseForm p_objBaseForm, clsPatient p_objPatient)
        {
            if (p_objPatient != null)
            {
                this.m_mthSetPatient(p_objPatient);

                m_mthSetIfCanSelectPatient(false);
                //m_cboDept.Enabled = false;
                //m_cboArea.Enabled = false;
                //m_txtBedNO.Enabled = false;
                //m_txtPatientName.Enabled = false;
                //txtInPatientID.Enabled = false;
            }

            m_mthSetForm(p_objBaseForm);
        }
Esempio n. 6
0
        public void m_mthSetForm(frmHRPBaseForm p_objBaseForm)
        {
            m_objBaseForm = null;

            for (int i = 0; i < m_cboFormType.GetItemsCount(); i++)
            {
                clsDeactiveFormInfo objFormInfo = (clsDeactiveFormInfo)m_cboFormType.GetItem(i);

                if (objFormInfo.m_intFormID == p_objBaseForm.m_IntFormID)
                {
                    m_cboFormType.SelectedIndex = i;
                    m_objBaseForm = p_objBaseForm;
                    break;
                }
            }

            m_cboFormType.Enabled = false;

            m_mthSearch();
        }
Esempio n. 7
0
        public bool m_blnCheckSamePatientForm(Form p_frmCheck)
        {
            frmHRPBaseForm p_frmHRP = p_frmCheck as frmHRPBaseForm;

            if (p_frmHRP == null)
            {
                return(false);
            }

            string         strInID    = "";
            frmHRPBaseForm frmCurrent = clsEMRLogin.s_FrmMDI.ActiveMdiChild as frmHRPBaseForm;

            if (frmCurrent != null && frmCurrent.m_objBaseCurrentPatient != null)
            {
                strInID = frmCurrent.m_objBaseCurrentPatient.m_StrInPatientID;
            }
            else if (MDIParent.m_objCurrentPatient != null)
            {
                strInID = MDIParent.m_objCurrentPatient.m_strEMRInPatientID.Trim();
            }

            return(m_blnCheckSameMDIChild(p_frmHRP, strInID));
        }
Esempio n. 8
0
 private bool m_blnCheckSameMDIChild(frmHRPBaseForm p_frmHRP, string strInID)
 {
     for (int i = 0; i < clsEMRLogin.s_FrmMDI.MdiChildren.Length; i++)
     {
         if (clsEMRLogin.s_FrmMDI.MdiChildren[i] is frmHRPBaseForm &&
             !clsEMRLogin.s_FrmMDI.MdiChildren[i].Equals(p_frmHRP) &&
             clsEMRLogin.s_FrmMDI.MdiChildren[i].Name == p_frmHRP.Name)
         {
             if (((frmHRPBaseForm)clsEMRLogin.s_FrmMDI.MdiChildren[i]).m_objBaseCurrentPatient != null &&
                 ((frmHRPBaseForm)clsEMRLogin.s_FrmMDI.MdiChildren[i]).m_objBaseCurrentPatient.m_StrInPatientID != null &&
                 ((frmHRPBaseForm)clsEMRLogin.s_FrmMDI.MdiChildren[i]).m_objBaseCurrentPatient.m_StrInPatientID.Trim() == strInID.Trim())
             {
                 clsEMRLogin.s_FrmMDI.MdiChildren[i].Activate();
                 return(true);
             }
             else if (((frmHRPBaseForm)clsEMRLogin.s_FrmMDI.MdiChildren[i]).m_objBaseCurrentPatient == null && strInID == "")
             {
                 clsEMRLogin.s_FrmMDI.MdiChildren[i].Activate();
                 return(true);
             }
         }
     }
     return(false);
 }
Esempio n. 9
0
        /// <summary>
        /// 查询已删除记录
        /// </summary>
        public void LoadDeletedRecord()
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;
                if (clsEMRLogin.s_FrmMDI.ActiveMdiChild is frmHRPBaseForm)
                {
                    frmHRPBaseForm frmHrp = (frmHRPBaseForm)clsEMRLogin.s_FrmMDI.ActiveMdiChild;
                    if (frmHrp.m_blnIsNewSetInactiveForm)
                    {
                        m_mthOpenInactiveView(frmHrp.m_ObjCurrentEmrPatientSession, frmHrp);
                    }
                    else
                    {
                        frmRecordsBase frmRecords = clsEMRLogin.s_FrmMDI.ActiveMdiChild as frmRecordsBase;

                        if (frmRecords != null && frmRecords.m_FrmCurrentSub != null && frmRecords.m_FrmCurrentSub is frmHRPBaseForm)
                        {
                            ((frmHRPBaseForm)(frmRecords.m_FrmCurrentSub)).m_mthSearchDeactiveInfo();
                        }
                        else if (clsEMRLogin.s_FrmMDI.ActiveMdiChild is frmHRPBaseForm)
                        {
                            ((frmHRPBaseForm)(clsEMRLogin.s_FrmMDI.ActiveMdiChild)).m_mthSearchDeactiveInfo();
                        }
                    }
                }
                else if (clsEMRLogin.s_FrmMDI.ActiveMdiChild is infInactiveRecord)
                {
                    m_mthOpenInactiveView(((infInactiveRecord)clsEMRLogin.s_FrmMDI.ActiveMdiChild).m_objGetSessionInfo, clsEMRLogin.s_FrmMDI.ActiveMdiChild);
                }
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Esempio n. 10
0
        /// <summary>
        /// 显示体格检查窗体
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void m_cmdBodyCheck_Click(object sender, EventArgs e)
        {
            System.Reflection.Assembly objAsm = System.Reflection.Assembly.LoadFrom(System.Windows.Forms.Application.StartupPath + "\\Emr_InpatMedRec.dll");
            object obj = objAsm.CreateInstance("iCare.frmIMR_intHosptalrecord");

            if (obj != null && obj is frmHRPBaseForm)
            {
                frmHRPBaseForm frmCheck = obj as frmHRPBaseForm;
                frmCheck.MdiParent   = com.digitalwave.Emr.StaticObject.clsEMR_StaticObject.s_FrmMDI;
                frmCheck.WindowState = FormWindowState.Maximized;

                if (clsEMRLogin.LoginInfo != null && obj is com.digitalwave.iCare.ValueObject.iLoginInfo)
                {
                    ((com.digitalwave.iCare.ValueObject.iLoginInfo)obj).LoginInfo = clsEMRLogin.LoginInfo;
                }

                frmCheck.Show();

                if (MDIParent.s_ObjCurrentPatient != null)
                {
                    frmCheck.m_mthSetPatient(MDIParent.s_ObjCurrentPatient);
                }
            }
        }
Esempio n. 11
0
        /// <summary>
        /// 保存窗体记录
        /// </summary>
        /// <param name="p_frmNeedSaveCue">需要保存的窗体</param>
        private void m_mthHandleSaveCue(Form p_frmNeedSaveCue, CancelEventArgs e)
        {
            try
            {
                //取窗体名称+当前住院号,已实现一个病人只能打开同样一个窗体功能
                string strHash = p_frmNeedSaveCue.Name + com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strINPATIENTID_CHR;

                Hashtable hasStatus = (Hashtable)m_hasFormInfo[strHash.GetHashCode()];

                if (hasStatus == null)
                {
                    return;
                }



                //检查窗体状态是否改变
                bool blnIsSame = m_blnCheckStatusSame(p_frmNeedSaveCue, hasStatus);


                //窗体状态改变,提示保存,如需要保存,调用保存功能
                if (!blnIsSame && p_frmNeedSaveCue.DialogResult != DialogResult.Yes)
                {
                    frmHRPBaseForm frmBase = p_frmNeedSaveCue as frmHRPBaseForm;
                    if (frmBase != null)
                    {
                        frmBase.m_blnHasClosing = true;
                    }
                    //if (p_frmNeedSaveCue is frmHRPBaseForm)
                    //{
                    //    ((frmHRPBaseForm)p_frmNeedSaveCue).m_blnHasClosing = true;
                    //}

                    DialogResult dlgResult = DialogResult.None;

                    if (MDIParent.s_ObjCurrentPatient != null && MDIParent.s_ObjCurrentPatient.m_IntCharacter == 1)
                    {
                        dlgResult = DialogResult.No;
                    }
                    else
                    {
                        dlgResult = clsPublicFunction.ShowQuestionMessageBox("[" + p_frmNeedSaveCue.Text + "]做了改动,是否保存?", MessageBoxButtons.YesNoCancel);
                    }

                    if (dlgResult == DialogResult.Yes)
                    {
                        #region yes
                        if (p_frmNeedSaveCue is frmPatientInfoManage)
                        {
                            ((frmPatientInfoManage)p_frmNeedSaveCue).m_mthSave();
                        }
                        else if (p_frmNeedSaveCue is iCareBaseForm.frmPatientRecordForm)
                        {
                            ((iCareBaseForm.frmPatientRecordForm)p_frmNeedSaveCue).m_mthSave();
                        }
                        else if (p_frmNeedSaveCue is frmRecordsBase)
                        {
                            ((frmRecordsBase)p_frmNeedSaveCue).Save();
                        }
                        else
                        {
                            //frmHRPBaseForm frmBase = p_frmNeedSaveCue as frmHRPBaseForm;

                            if (frmBase != null)
                            {
                                if (frmBase.m_lngSave() > 0)
                                {
                                    frmBase.DialogResult = DialogResult.Yes;
                                }
                            }
                            else
                            {
                                PublicFunction objPF = p_frmNeedSaveCue as PublicFunction;

                                if (objPF != null)
                                {
                                    objPF.Save();
                                    if (frmBase != null)
                                    {
                                        frmBase.DialogResult = DialogResult.Yes;
                                    }
                                }
                            }
                        }

                        m_hasFormInfo.Remove(strHash.GetHashCode());
                        #endregion
                    }
                    else if (dlgResult == DialogResult.No)
                    {
                        #region no
                        m_hasFormInfo.Remove(strHash.GetHashCode());
                        #endregion
                    }
                    else if (dlgResult == DialogResult.Cancel)
                    {
                        #region cancel
                        e.Cancel = true;

                        if (frmBase != null)
                        {
                            frmBase.m_blnHasClosing = false;
                        }
                        //if (p_frmNeedSaveCue is frmHRPBaseForm)
                        //{
                        //    ((frmHRPBaseForm)p_frmNeedSaveCue).m_blnHasClosing = false;
                        //}
                        #endregion
                    }
                }
                else
                {
                    m_hasFormInfo.Remove(strHash.GetHashCode());
                }
            }
            catch
            {
                //若没有设置当前病人抛出
                return;
            }
        }