private void m_mthSetPrintContent(clsTransDataInfo[] p_objTransDataArr, DateTime[] p_dtmFirstPrintDate) { try { if (p_objTransDataArr == null || p_dtmFirstPrintDate == null || p_objTransDataArr.Length != p_dtmFirstPrintDate.Length) { // clsPublicFunction.ShowInformationMessageBox("打印数据有误!");E:\icar_fo2\Code\EMR\icare\PrintTool\clsICUNurseRecordPrintTool.cs return; } //根据不同的表单类型,获取对应的clsDiseaseTrackInfo clsDiseaseTrackInfo objTrackInfo = null; m_objPrintDataArr = new clsEMR_intbloodsugarwatchDataInfo[p_objTransDataArr.Length]; // m_objPrintDataArr=(clsIntensiveTendDataInfo[])(p_objTransDataArr.Clone()); ArrayList arlTemp = new ArrayList(); arlTemp.AddRange(p_objTransDataArr); m_objPrintDataArr = (clsEMR_intbloodsugarwatchDataInfo[])arlTemp.ToArray(typeof(clsEMR_intbloodsugarwatchDataInfo)); //System.Data.DataTable dtbBlankRecord = null; //new clsDiseaseTrackAddBlankDomain().m_lngGetBlankRecordContent(m_objPrintInfo.m_strInPatentID,m_objPrintInfo.m_dtmInPatientDate,out dtbBlankRecord); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// 设置打印内容。 /// </summary> /// <param name="p_objTransDataArr"></param> /// <param name="p_dtmFirstPrintDate"></param> private void m_mthSetPrintContent(clsTransDataInfo[] p_objTransDataArr, DateTime[] p_dtmFirstPrintDate) { int intBlankCount = 0; if (p_objTransDataArr == null || p_dtmFirstPrintDate == null || p_objTransDataArr.Length != p_dtmFirstPrintDate.Length) { MDIParent.ShowInformationMessageBox("打印数据有误!"); return; } //根据不同的表单类型,获取对应的clsDiseaseTrackInfo clsDiseaseTrackInfo objTrackInfo = null; m_objPrintDataArr = new clsPrintData_GeneralNurseRecord[p_objTransDataArr.Length]; System.Data.DataTable dtbBlankRecord = null; new clsDiseaseTrackAddBlankDomain().m_lngGetBlankRecordContent(m_objPrintInfo.m_strInPatentID, m_objPrintInfo.m_dtmInPatientDate, out dtbBlankRecord); for (int i = 0; i < p_objTransDataArr.Length; i++) { intBlankCount = 0; objTrackInfo = new clsGeneralNurseRecordInfo(); //设置clsDiseaseTrackInfo的内容 objTrackInfo.m_ObjRecordContent = p_objTransDataArr[i].m_objRecordContent; m_objPrintDataArr[i] = new clsPrintData_GeneralNurseRecord(); //根据 clsDiseaseTrackInfo 获得的文本和Xml m_objPrintDataArr[i].m_strCreateDate = objTrackInfo.m_ObjRecordContent.m_dtmCreateDate.ToString(); m_objPrintDataArr[i].m_strContent = objTrackInfo.m_strGetTrackText(); m_objPrintDataArr[i].m_strContentXml = objTrackInfo.m_strGetTrackXml(); string strSignText = objTrackInfo.m_strGetSignText(); m_objPrintDataArr[i].m_strSign = strSignText; m_objPrintDataArr[i].m_dtmFirstPrintDate = p_dtmFirstPrintDate[i]; //设置分页标志 m_objPrintDataArr[i].m_strPagiNation = objTrackInfo.m_ObjRecordContent.m_StrPagination.ToString(); if (dtbBlankRecord != null && dtbBlankRecord.Rows.Count > 0) { foreach (System.Data.DataRow drtAdd in dtbBlankRecord.Rows) { if (DateTime.Parse(drtAdd[2].ToString()).ToString("yyyy-MM-dd HH:mm:ss") == objTrackInfo.m_ObjRecordContent.m_dtmOpenDate.ToString("yyyy-MM-dd HH:mm:ss")) { int intBlankLine = Int32.Parse(drtAdd[3].ToString()); intBlankCount = intBlankLine; m_objPrintDataArr[i].m_intBlankCount = intBlankLine; for (int j2 = 0; j2 < intBlankLine; j2++) { m_objPrintDataArr[i].m_strContent = "\n" + m_objPrintDataArr[i].m_strContent; } break; } } } m_arlBlockCount.Add(intBlankCount); //保存每条记录实际空行数量 } }
/// <summary> /// 比较参数值与当前实例的大小 /// </summary> /// <param name="p_objValue"></param> /// <returns></returns> public int CompareTo(object p_objValue) { clsDiseaseTrackInfo objDiff = (clsDiseaseTrackInfo)p_objValue; if (this.m_objRecordContent.m_dtmCreateDate == objDiff.m_objRecordContent.m_dtmCreateDate) { return(0); } else if (this.m_objRecordContent.m_dtmCreateDate > objDiff.m_objRecordContent.m_dtmCreateDate) { return(1); } else { return(-1); } }
// 获取添加到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); }