/// <summary> /// 显示已删除记录至界面 /// </summary> /// <param name="p_objContent"></param> protected override void m_mthSetDeletedGUIFromContent(iCareData.clsTrackRecordContent p_objContent) { clsEMR_intbloodsugarwatchValue objContent = p_objContent as clsEMR_intbloodsugarwatchValue; if (objContent == null) { return; } this.m_mthClearRecordInfo(); m_dtpCreateDate.Value = objContent.m_dtmRecordDate; //m_txtCheckResult.Text = objContent.m_strCHECKRESULT_RIGHT; //m_cboCheckTime.Text = objContent.m_strCHECKTIME_RIGHT; m_txtnullAbdon.Text = objContent.m_strNULLABDOMEN_RIGHT; m_txttwoBreakfast.Text = objContent.m_strTWOBREAKFAST_RIGTH; m_txtBeforeLunch.Text = objContent.m_strBEFORELUNCH_RIGHT; m_txttwoLunch.Text = objContent.m_strTWOAFTERLUNCH_RIGHT; m_txtBeforeDinner.Text = objContent.m_strBEFOREDINNER_RIGHT; m_txttwoDinner.Text = objContent.m_strTWOAFTERDINNER_RIGHT; m_txtBeforeSleep.Text = objContent.m_strBEFORESLEEP_RIGHT; m_txtBeizhu.Text = objContent.m_strBEIZHU_RIGHT; #region 签名集合 if (objContent.objSignerArr != null) { m_mthAddSignToListView(lsvSign, objContent.objSignerArr); } else { clsEmrEmployeeBase_VO objEMP = null; clsHospitalManagerDomain objDomain = new clsHospitalManagerDomain(); long lngRes = objDomain.m_lngGetEmpByID(objContent.m_strCreateUserID, out objEMP); if (objEMP != null) { ListViewItem lviNewItem = new ListViewItem(objEMP.m_strGetTechnicalRankAndName); lviNewItem.SubItems.Add(objEMP.m_strEMPID_CHR); lviNewItem.SubItems.Add(objEMP.m_StrHistroyLevel); lviNewItem.Tag = objEMP; lsvSign.Items.Add(lviNewItem); } objDomain = null; } #endregion 签名 this.lsvSign.Enabled = false; this.m_cmdSign.Enabled = false; this.m_dtpCreateDate.Enabled = false; }
/// <summary> /// 获取记录的主要信息(必须获取的是CreateDate,LastModifyDate) /// </summary> /// <param name="p_intRecordType"></param> /// <param name="p_objDataArr"></param> /// <returns></returns> protected override clsTrackRecordContent m_objGetRecordMainContent(int p_intRecordType, object[] p_objDataArr) { //根据 p_intRecordType 获取对应的 clsTrackRecordContent clsTrackRecordContent objContent = null; switch ((enmDiseaseTrackType)p_intRecordType) { case enmDiseaseTrackType.EMR_IntBloodSugarWatch: objContent = new clsEMR_intbloodsugarwatchValue(); break; } if (objContent == null) { objContent = new clsEMR_intbloodsugarwatchValue(); } if (m_objCurrentPatient != null) { objContent.m_strInPatientID = m_objCurrentPatient.m_StrInPatientID; } else { clsPublicFunction.ShowInformationMessageBox("当前病人为空!"); return(null); } int intSelectedRecordStartRow = m_dtgRecordDetail.CurrentCell.RowNumber; objContent.m_dtmInPatientDate = m_objCurrentPatient.m_DtmSelectedInDate; objContent.m_dtmCreateDate = DateTime.Parse((string)p_objDataArr[2]); objContent.m_dtmModifyDate = DateTime.Parse((string)p_objDataArr[3]); objContent.m_strCreateUserID = (string)p_objDataArr[14]; if (frmHRPExplorer.objpCurrentPatient == null) { objContent.m_strRegisterID = frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR; } return(objContent); }
/// <summary> /// 把选择时间记录内容重新整理为完全正确的内容 /// </summary> /// <param name="p_objRecordContent"></param> protected override void m_mthReAddNewRecord(clsTrackRecordContent p_objRecordContent) { //把选择时间记录内容重新整理为完全正确的内容,由子窗体重载实现 clsEMR_intbloodsugarwatchValue objContent = (clsEMR_intbloodsugarwatchValue)p_objRecordContent; }
/// <summary> /// 从界面获取记录内容 /// </summary> /// <returns></returns> protected override iCareData.clsTrackRecordContent m_objGetContentFromGUI() { //界面参数校验 if (m_objCurrentPatient == null || m_ObjCurrentEmrPatientSession == null) { return(null); } //从界面获取表单值 clsEMR_intbloodsugarwatchValue objContent = new clsEMR_intbloodsugarwatchValue(); try { string StrNow = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); objContent.m_dtmCreateDate = Convert.ToDateTime(StrNow); objContent.m_strCreateUserID = clsEMRLogin.LoginInfo.m_strEmpID; objContent.m_dtmModifyDate = Convert.ToDateTime(StrNow); objContent.m_strModifyUserID = clsEMRLogin.LoginInfo.m_strEmpID; objContent.m_strRegisterID = frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR; objContent.m_dtmRecordDate = Convert.ToDateTime(m_dtpCreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss")); //objContent.m_strCHECKRESULT_RIGHT = m_txtCheckResult.m_strGetRightText(); //objContent.m_strCHECKRESULT_VCHR = m_txtCheckResult.Text; //objContent.m_strCHECKRESULT_XML = m_txtCheckResult.m_strGetXmlText(); //objContent.m_strCHECKTIME_RIGHT = m_cboCheckTime.Text; //objContent.m_strCHECKTIME_VCHR = m_cboCheckTime.Text; //objContent.m_strCHECKTIME_XML = "<root />"; objContent.m_strNULLABDOMEN_RIGHT = m_txtnullAbdon.m_strGetRightText(); objContent.m_strNULLABDOMEN_VCHR = m_txtnullAbdon.Text; objContent.m_strNULLABDOMEN_XML = m_txtnullAbdon.m_strGetXmlText(); objContent.m_strTWOBREAKFAST_RIGTH = m_txttwoBreakfast.m_strGetRightText(); objContent.m_strTWOBREAKFAST_VCHR = m_txttwoBreakfast.Text; objContent.m_strTWOBREAKFAST_XML = m_txttwoBreakfast.m_strGetXmlText(); objContent.m_strBEFORELUNCH_RIGHT = m_txtBeforeLunch.m_strGetRightText(); objContent.m_strBEFORELUNCH_VCHR = m_txtBeforeLunch.Text; objContent.m_strBEFORELUNCH_XML = m_txtBeforeLunch.m_strGetXmlText(); objContent.m_strTWOAFTERLUNCH_RIGHT = m_txttwoLunch.m_strGetRightText(); objContent.m_strTWOAFTERLUNCH_VCHR = m_txttwoLunch.Text; objContent.m_strTWOAFTERLUNCH_XML = m_txttwoLunch.m_strGetXmlText(); objContent.m_strBEFOREDINNER_RIGHT = m_txtBeforeDinner.m_strGetRightText(); objContent.m_strBEFOREDINNER_VCHR = m_txtBeforeDinner.Text; objContent.m_strBEFOREDINNER_XML = m_txtBeforeDinner.m_strGetXmlText(); objContent.m_strTWOAFTERDINNER_RIGHT = m_txttwoDinner.m_strGetRightText(); objContent.m_strTWOAFTERDINNER_VCHR = m_txttwoDinner.Text; objContent.m_strTWOAFTERDINNER_XML = m_txttwoDinner.m_strGetXmlText(); objContent.m_strBEFORESLEEP_RIGHT = m_txtBeforeSleep.m_strGetRightText(); objContent.m_strBEFORESLEEP_VCHR = m_txtBeforeSleep.Text; objContent.m_strBEFORESLEEP_XML = m_txtBeforeSleep.m_strGetXmlText(); objContent.m_strBEIZHU_RIGHT = m_txtBeizhu.m_strGetRightText(); objContent.m_strBEIZHU_VCHR = m_txtBeizhu.Text; objContent.m_strBEIZHU_XML = m_txtBeizhu.m_strGetXmlText(); #region 获取签名 objContent.objSignerArr = null; strUserIDList = ""; strUserNameList = ""; m_mthGetSignArr(new Control[] { lsvSign }, ref objContent.objSignerArr, ref strUserIDList, ref strUserNameList); objContent.m_strRecordUserID = strUserIDList; #endregion } catch (Exception ex) { MessageBox.Show(ex.Message); return(null); } return(objContent); }
/// <summary> /// 获取显示到DataGrid的数据 /// </summary> /// <param name="p_objTransDataInfo"></param> /// <returns></returns> protected override object[][] m_objGetRecordsValueArr(clsTransDataInfo p_objTransDataInfo) { #region 显示记录到DataGrid try { object[] objData; ArrayList objReturnData = new ArrayList(); clsEMR_intbloodsugarwatchDataInfo objInfo = null; objInfo = p_objTransDataInfo as clsEMR_intbloodsugarwatchDataInfo; if (objInfo == null || objInfo.m_objRecordArr == null) { return(null); } int intRecordCount = objInfo.m_objRecordArr.Length; clsDSTRichTextBoxValue objclsDSTRichTextBoxValue; string strText, strXml; #region 获取修改限定时间 int intCanModifyTime = 0; try { intCanModifyTime = int.Parse(m_strCanModifyTime); } catch { intCanModifyTime = 6; } #endregion for (int i = 0; i < intRecordCount; i++) { objData = new object[15]; clsEMR_intbloodsugarwatchValue objCurrent = objInfo.m_objRecordArr[i]; clsEMR_intbloodsugarwatchValue objNext = new clsEMR_intbloodsugarwatchValue();//下一条记录 if (i < intRecordCount - 1) { objNext = objInfo.m_objRecordArr[i + 1]; } //如果该护理记录是修改前的记录且是在指定时间内修改的,修改者与创建者为同一人,则不显示 if (objNext != null && objNext.m_dtmCreateDate == objCurrent.m_dtmCreateDate && objNext.m_strModifyUserID.Trim() == objCurrent.m_strCreateUserID.Trim()) { TimeSpan tsModify = objNext.m_dtmModifyDate - objCurrent.m_dtmModifyDate; if ((int)tsModify.TotalHours < intCanModifyTime) { continue; } } #region 存放关键字段 if (objCurrent.m_dtmCreateDate != DateTime.MinValue) { objData[0] = objCurrent.m_dtmRecordDate; //存放记录时间的字符串 objData[1] = (int)enmRecordsType.EMR_IntBloodSugarWatch; //存放记录类型的int值 objData[2] = objCurrent.m_dtmCreateDate;//存放记录的OpenDate字符串 objData[3] = objCurrent.m_dtmModifyDate;//存放记录的ModifyDate字符串 //同一个则只在第一行显示日期 if (objCurrent.m_dtmRecordDate.Date.ToString() != m_dtmPreRecordDate.Date.ToString()) { objData[4] = objCurrent.m_dtmRecordDate.Date.ToString("yyyy-MM-dd");//日期字符串 } objData[14] = objCurrent.m_strCreateUserID;//存放记录的createUserid字符串 } m_dtmPreRecordDate = objCurrent.m_dtmRecordDate; #endregion ; #region 存放单项信息 ////监测时间 //strText = objCurrent.m_strCHECKTIME_RIGHT; //strXml = "<root />"; //if (objNext != null && objNext.m_dtmCreateDate == objCurrent.m_dtmCreateDate // && objNext.m_strCHECKTIME_RIGHT != objCurrent.m_strCHECKTIME_RIGHT)/*objNext的记录内容与objCurrent的记录内容不一致,文本需要加双划线*/ //{ // strXml = m_strGetDSTTextXML(objCurrent.m_strCHECKTIME_RIGHT, objCurrent.m_strModifyUserID, objCurrent.m_strModifyUserName); //} //objclsDSTRichTextBoxValue = new clsDSTRichTextBoxValue(); //objclsDSTRichTextBoxValue.m_strText = strText; //objclsDSTRichTextBoxValue.m_strDSTXml = strXml; //objData[5] = objclsDSTRichTextBoxValue; ////监测结果 //strText = objCurrent.m_strCHECKRESULT_RIGHT; //strXml = "<root />"; //if (objNext != null && objNext.m_dtmCreateDate == objCurrent.m_dtmCreateDate // && objNext.m_strCHECKRESULT_RIGHT != objCurrent.m_strCHECKRESULT_RIGHT)/*objNext的记录内容与objCurrent的记录内容不一致,文本需要加双划线*/ //{ // strXml = m_strGetDSTTextXML(objCurrent.m_strCHECKRESULT_RIGHT, objCurrent.m_strModifyUserID, objCurrent.m_strModifyUserName); //} //objclsDSTRichTextBoxValue = new clsDSTRichTextBoxValue(); //objclsDSTRichTextBoxValue.m_strText = strText; //objclsDSTRichTextBoxValue.m_strDSTXml = strXml; //objData[6] = objclsDSTRichTextBoxValue; //空腹 strText = objCurrent.m_strNULLABDOMEN_RIGHT; strXml = "<root />"; if (objNext != null && objNext.m_dtmCreateDate == objCurrent.m_dtmCreateDate && objNext.m_strNULLABDOMEN_RIGHT != objCurrent.m_strNULLABDOMEN_RIGHT) /*objNext的记录内容与objCurrent的记录内容不一致,文本需要加双划线*/ { strXml = m_strGetDSTTextXML(objCurrent.m_strNULLABDOMEN_RIGHT, objCurrent.m_strModifyUserID, objCurrent.m_strModifyUserName); } objclsDSTRichTextBoxValue = new clsDSTRichTextBoxValue(); objclsDSTRichTextBoxValue.m_strText = strText; objclsDSTRichTextBoxValue.m_strDSTXml = strXml; objData[5] = objclsDSTRichTextBoxValue; //早餐后2小时 strText = objCurrent.m_strTWOBREAKFAST_RIGTH; strXml = "<root />"; if (objNext != null && objNext.m_dtmCreateDate == objCurrent.m_dtmCreateDate && objNext.m_strTWOBREAKFAST_RIGTH != objCurrent.m_strTWOBREAKFAST_RIGTH) /*objNext的记录内容与objCurrent的记录内容不一致,文本需要加双划线*/ { strXml = m_strGetDSTTextXML(objCurrent.m_strTWOBREAKFAST_RIGTH, objCurrent.m_strModifyUserID, objCurrent.m_strModifyUserName); } objclsDSTRichTextBoxValue = new clsDSTRichTextBoxValue(); objclsDSTRichTextBoxValue.m_strText = strText; objclsDSTRichTextBoxValue.m_strDSTXml = strXml; objData[6] = objclsDSTRichTextBoxValue; //中餐前 strText = objCurrent.m_strBEFORELUNCH_RIGHT; strXml = "<root />"; if (objNext != null && objNext.m_dtmCreateDate == objCurrent.m_dtmCreateDate && objNext.m_strBEFORELUNCH_RIGHT != objCurrent.m_strBEFORELUNCH_RIGHT) /*objNext的记录内容与objCurrent的记录内容不一致,文本需要加双划线*/ { strXml = m_strGetDSTTextXML(objCurrent.m_strBEFORELUNCH_RIGHT, objCurrent.m_strModifyUserID, objCurrent.m_strModifyUserName); } objclsDSTRichTextBoxValue = new clsDSTRichTextBoxValue(); objclsDSTRichTextBoxValue.m_strText = strText; objclsDSTRichTextBoxValue.m_strDSTXml = strXml; objData[7] = objclsDSTRichTextBoxValue; //中餐2小时 strText = objCurrent.m_strTWOAFTERLUNCH_RIGHT; strXml = "<root />"; if (objNext != null && objNext.m_dtmCreateDate == objCurrent.m_dtmCreateDate && objNext.m_strTWOAFTERLUNCH_RIGHT != objCurrent.m_strTWOAFTERLUNCH_RIGHT) /*objNext的记录内容与objCurrent的记录内容不一致,文本需要加双划线*/ { strXml = m_strGetDSTTextXML(objCurrent.m_strTWOAFTERLUNCH_RIGHT, objCurrent.m_strModifyUserID, objCurrent.m_strModifyUserName); } objclsDSTRichTextBoxValue = new clsDSTRichTextBoxValue(); objclsDSTRichTextBoxValue.m_strText = strText; objclsDSTRichTextBoxValue.m_strDSTXml = strXml; objData[8] = objclsDSTRichTextBoxValue; //晚餐前 strText = objCurrent.m_strBEFOREDINNER_RIGHT; strXml = "<root />"; if (objNext != null && objNext.m_dtmCreateDate == objCurrent.m_dtmCreateDate && objNext.m_strBEFOREDINNER_RIGHT != objCurrent.m_strBEFOREDINNER_RIGHT) /*objNext的记录内容与objCurrent的记录内容不一致,文本需要加双划线*/ { strXml = m_strGetDSTTextXML(objCurrent.m_strBEFOREDINNER_RIGHT, objCurrent.m_strModifyUserID, objCurrent.m_strModifyUserName); } objclsDSTRichTextBoxValue = new clsDSTRichTextBoxValue(); objclsDSTRichTextBoxValue.m_strText = strText; objclsDSTRichTextBoxValue.m_strDSTXml = strXml; objData[9] = objclsDSTRichTextBoxValue; //晚餐后2小时 strText = objCurrent.m_strTWOAFTERDINNER_RIGHT; strXml = "<root />"; if (objNext != null && objNext.m_dtmCreateDate == objCurrent.m_dtmCreateDate && objNext.m_strTWOAFTERDINNER_RIGHT != objCurrent.m_strTWOAFTERDINNER_RIGHT) /*objNext的记录内容与objCurrent的记录内容不一致,文本需要加双划线*/ { strXml = m_strGetDSTTextXML(objCurrent.m_strTWOAFTERDINNER_RIGHT, objCurrent.m_strModifyUserID, objCurrent.m_strModifyUserName); } objclsDSTRichTextBoxValue = new clsDSTRichTextBoxValue(); objclsDSTRichTextBoxValue.m_strText = strText; objclsDSTRichTextBoxValue.m_strDSTXml = strXml; objData[10] = objclsDSTRichTextBoxValue; //睡前 strText = objCurrent.m_strBEFORESLEEP_RIGHT; strXml = "<root />"; if (objNext != null && objNext.m_dtmCreateDate == objCurrent.m_dtmCreateDate && objNext.m_strBEFORESLEEP_RIGHT != objCurrent.m_strBEFORESLEEP_RIGHT) /*objNext的记录内容与objCurrent的记录内容不一致,文本需要加双划线*/ { strXml = m_strGetDSTTextXML(objCurrent.m_strBEFORESLEEP_RIGHT, objCurrent.m_strModifyUserID, objCurrent.m_strModifyUserName); } objclsDSTRichTextBoxValue = new clsDSTRichTextBoxValue(); objclsDSTRichTextBoxValue.m_strText = strText; objclsDSTRichTextBoxValue.m_strDSTXml = strXml; objData[11] = objclsDSTRichTextBoxValue; //备注 strText = objCurrent.m_strBEIZHU_RIGHT; strXml = "<root />"; if (objNext != null && objNext.m_dtmCreateDate == objCurrent.m_dtmCreateDate && objNext.m_strBEIZHU_RIGHT != objCurrent.m_strBEIZHU_RIGHT) /*objNext的记录内容与objCurrent的记录内容不一致,文本需要加双划线*/ { strXml = m_strGetDSTTextXML(objCurrent.m_strBEIZHU_RIGHT, objCurrent.m_strModifyUserID, objCurrent.m_strModifyUserName); } objclsDSTRichTextBoxValue = new clsDSTRichTextBoxValue(); objclsDSTRichTextBoxValue.m_strText = strText; objclsDSTRichTextBoxValue.m_strDSTXml = strXml; objData[12] = objclsDSTRichTextBoxValue; if (objCurrent.objSignerArr != null) { //签名 strText = string.Empty; for (int j = 0; j < objCurrent.objSignerArr.Length; j++) { strText += objCurrent.objSignerArr[j].objEmployee.m_strGetTechnicalRankAndName + " "; } strXml = "<root />"; objclsDSTRichTextBoxValue = new clsDSTRichTextBoxValue(); objclsDSTRichTextBoxValue.m_strText = strText; objclsDSTRichTextBoxValue.m_strDSTXml = strXml; objData[13] = objclsDSTRichTextBoxValue; } else //从旧表导过来的数据没有电子签名 { clsEmrEmployeeBase_VO objEMP = null; clsHospitalManagerDomain objDomain = new clsHospitalManagerDomain(); long lngRes = objDomain.m_lngGetEmpByID(objCurrent.m_strCreateUserID, out objEMP); if (objEMP != null) { strText = objEMP.m_strLASTNAME_VCHR; strXml = "<root />"; objclsDSTRichTextBoxValue = new clsDSTRichTextBoxValue(); objclsDSTRichTextBoxValue.m_strText = strText; objclsDSTRichTextBoxValue.m_strDSTXml = strXml; objData[13] = objclsDSTRichTextBoxValue; } objDomain = null; } #endregion objReturnData.Add(objData); } object[][] m_objRe = new object[objReturnData.Count][]; for (int m = 0; m < objReturnData.Count; m++) { m_objRe[m] = (object[])objReturnData[m]; } return(m_objRe); } catch (Exception ex) { MessageBox.Show(ex.Message); return(null); } #endregion }