/// <summary> /// 获取当前的特殊病程记录信息 /// </summary> /// <returns></returns> public override clsDiseaseTrackInfo m_objGetDiseaseTrackInfo() { clsConveyInfo_XJ objTrackInfo = new clsConveyInfo_XJ(m_objCurrentPatient); objTrackInfo.m_ObjRecordContent = m_objCurrentRecordContent;//m_objGetContentFromGUI(); objTrackInfo.m_DtmRecordTime = m_dtpCreateDate.Value; objTrackInfo.m_StrTitle = "转出记录"; //设置m_strTitle和m_dtmRecordTime if (objTrackInfo.m_ObjRecordContent != null) { m_dtpCreateDate.Value = objTrackInfo.m_ObjRecordContent.m_dtmCreateDate; } return(objTrackInfo); }
// 获取添加到DataTable的数据 protected override object[][] m_objGetRecordsValueArr(clsTransDataInfo p_objTransDataInfo) { //根据不同的表单类型,获取对应的clsDiseaseTrackInfo clsDiseaseTrackInfo objTrackInfo = null; #region switch ((enmDiseaseTrackType)p_objTransDataInfo.m_intFlag) { case enmDiseaseTrackType.FirstIllnessNote: if (com.digitalwave.Emr.StaticObject.clsEMR_StaticObject.s_StrCurrentHospitalNO == "450101001") //佛二 { objTrackInfo = new clsFirstIllnessNoteInfo(); } else { objTrackInfo = new clsFirstIllnessNoteInfo_F2(); p_objTransDataInfo.m_intFlag = (int)enmDiseaseTrackType.FirstIllnessNote_F2; } break; case enmDiseaseTrackType.GeneralDisease: objTrackInfo = new clsGeneralDiseaseInfo(); break; case enmDiseaseTrackType.HandOver: objTrackInfo = new clsHandOverInfo(m_objCurrentPatient); break; case enmDiseaseTrackType.HandOver_XJ: objTrackInfo = new clsHandOverInfo_XJ(m_objCurrentPatient); break; case enmDiseaseTrackType.TakeOver: objTrackInfo = new clsTakeOverInfo(m_objCurrentPatient); break; case enmDiseaseTrackType.TakeOver_XJ: objTrackInfo = new clsTakeOverInfo_XJ(m_objCurrentPatient); break; case enmDiseaseTrackType.Consultation: objTrackInfo = new clsConsultationInfo(); break; case enmDiseaseTrackType.Convey: objTrackInfo = new clsConveyInfo(m_objCurrentPatient); break; case enmDiseaseTrackType.Convey_XJ: objTrackInfo = new clsConveyInfo_XJ(m_objCurrentPatient); break; case enmDiseaseTrackType.TurnIn: objTrackInfo = new clsTurnInInfo(m_objCurrentPatient); break; case enmDiseaseTrackType.TurnIn_XJ: objTrackInfo = new clsTurnInInfo_XJ(m_objCurrentPatient); break; case enmDiseaseTrackType.DiseaseSummary: objTrackInfo = new clsDiseaseSummaryInfo(); break; case enmDiseaseTrackType.DiseaseSummary_XJ: objTrackInfo = new clsDiseaseSummaryInfo_XJ(m_objCurrentPatient); break; case enmDiseaseTrackType.CheckRoom: objTrackInfo = new clsCheckRoomInfo(); break; case enmDiseaseTrackType.CaseDiscuss: objTrackInfo = new clsCaseDiscussInfo(); break; case enmDiseaseTrackType.BeforeOperationDiscuss: objTrackInfo = new clsBeforeOperationDiscussInfo(); break; case enmDiseaseTrackType.DeadCaseDiscuss: objTrackInfo = new clsDeadCaseDiscussInfo(); break; case enmDiseaseTrackType.DeathCaseDiscuss: objTrackInfo = new clsDeathCaseDiscussInfo(); break; case enmDiseaseTrackType.AfterOperation: objTrackInfo = new clsAfterOperationInfo(); break; case enmDiseaseTrackType.Dead: objTrackInfo = new clsDeadRecordInfo(m_objCurrentPatient); break; case enmDiseaseTrackType.Death: objTrackInfo = new clsDeathRecordInfo(); break; case enmDiseaseTrackType.OutHospital: objTrackInfo = new clsOutHospitalInfo(); break; case enmDiseaseTrackType.Save: objTrackInfo = new clsSaveRecordInfo(); break; case enmDiseaseTrackType.FirstIllnessNote_ZY: objTrackInfo = new clsFirstIllnessNote_ZYInfo(); break; case enmDiseaseTrackType.EMR_SummaryBeforeOP: objTrackInfo = new clsEMR_SummaryBeforeOPInfo(); break; case enmDiseaseTrackType.FirstIllnessNote_F2: objTrackInfo = new clsFirstIllnessNoteInfo_F2(); break; case enmDiseaseTrackType.FirstIllnessNote_XJ: objTrackInfo = new clsFirstIllnessNoteInfo_XJ(); break; } #endregion //设置clsDiseaseTrackInfo的内容 objTrackInfo.m_ObjRecordContent = p_objTransDataInfo.m_objRecordContent; int intCharPerLine = clmContent.Width / 14 - 4; int intBytesPerLine = 100; //根据 clsDiseaseTrackInfo 获得的文本和Xml string strText = ""; string strXML = ""; if ((enmDiseaseTrackType)p_objTransDataInfo.m_intFlag == enmDiseaseTrackType.CaseDiscuss) { ((clsCaseDiscussInfo)objTrackInfo).m_mthGetFormatTrackInfo(((int)(clmContent.Width / 17.5)) - 5, out strText, out strXML); } else if ((enmDiseaseTrackType)p_objTransDataInfo.m_intFlag == enmDiseaseTrackType.DeadCaseDiscuss) { ((clsDeadCaseDiscussInfo)objTrackInfo).m_mthGetFormatTrackInfo(((int)(clmContent.Width / 17.5)) - 5, out strText, out strXML); } else { strText = objTrackInfo.m_strGetTrackText(); strXML = objTrackInfo.m_strGetTrackXml(); } string strSignText = objTrackInfo.m_strGetSignText(); string strSignXml = objTrackInfo.m_strGetSignXml(); string strBlanks = ""; for (int j2 = 0; j2 < intCharPerLine - strSignText.Length; j2++) { strBlanks += " "; //注意:此处填充的空格是全角占一个汉字的空格 } strSignText = strBlanks + strSignText; //结合DataGrid每行的显示数目 //生成每行内容的文本和Xml数组 string[] strTextArr, strXmlArr; com.digitalwave.controls.ctlRichTextBox.m_mthSplitXmlByBytes(strText, strXML, intBytesPerLine, out strTextArr, out strXmlArr); object[][] objData = new object[strTextArr.Length + 1][]; for (int i = 0; i < objData.Length - 1; i++) { objData[i] = new object[7]; //设置值 if (i == 0) { //只在第一行记录才由以下信息 objData[i][0] = objTrackInfo.m_ObjRecordContent.m_dtmCreateDate.ToString(MDIParent.s_ObjRecordDateTimeInfo.m_strGetRecordTimeFormat(this.Name)); //存放记录时间的字符串 objData[i][1] = (int)objTrackInfo.m_enmGetTrackType(); //存放记录类型的int值 objData[i][2] = objTrackInfo.m_ObjRecordContent.m_dtmOpenDate.ToString("yyyy-MM-dd HH:mm:ss"); //存放记录的OpenDate字符串 objData[i][3] = objTrackInfo.m_ObjRecordContent.m_dtmModifyDate.ToString("yyyy-MM-dd HH:mm:ss"); //存放记录的ModifyDate字符串 objData[i][5] = objTrackInfo.m_ObjRecordContent.m_StrPagination; //存放分页 objData[i][6] = objTrackInfo.m_ObjRecordContent.m_strCreateUserID; //存放记录的createuserid字符串 } clsDSTRichTextBoxValue objclsDSTRichTextBoxValue = new clsDSTRichTextBoxValue(); objclsDSTRichTextBoxValue.m_strText = strTextArr[i]; objclsDSTRichTextBoxValue.m_strDSTXml = strXmlArr[i]; objData[i][4] = objclsDSTRichTextBoxValue;//存放显示内容 } objData[objData.Length - 1] = new object[5]; // objData[objData.Length - 1] = new object[6]; clsDSTRichTextBoxValue objclsDSTRichTextBoxValueSign = new clsDSTRichTextBoxValue(); objclsDSTRichTextBoxValueSign.m_strText = strSignText; objclsDSTRichTextBoxValueSign.m_strDSTXml = strSignXml; objData[objData.Length - 1][4] = objclsDSTRichTextBoxValueSign;//存放显示内容 // objData[objData.Length - 1][5] = objclsDSTRichTextBoxValueSign;//存放显示内容 return(objData); }