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(); }
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(); }
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)); }
/// <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); }
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); }
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(); }
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)); }
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); }
/// <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; } }
/// <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); } } }
/// <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; } }