public void m_mthLoadNodes(string ID) { try { this.m_objViewer.Cursor = Cursors.WaitCursor; this.m_objViewer.treeView1.Nodes.Clear(); ArrayList objclsArr = new ArrayList(); string cardNo = this.m_objViewer.txtCardID.Text.Trim(); if (cardNo == string.Empty) { return; } //挂号 clsParameter_VO objPV = new clsParameter_VO(); objPV.strPatientID = ID; objPV.strCardID = cardNo; clsLIS objLis = new clsLIS(); clsCARDIOGRAM objCARDIOGRAM = new clsCARDIOGRAM(); //心电图 objLis.SubClassOBJ = objCARDIOGRAM; clsDCARDIOGRAM objDCARDIOGRAM = new clsDCARDIOGRAM(); //动态心电图 objCARDIOGRAM.SubClassOBJ = objDCARDIOGRAM; clsTCD objTCD = new clsTCD(); objDCARDIOGRAM.SubClassOBJ = objTCD; clsEEG objEEG = new clsEEG(); objTCD.SubClassOBJ = objEEG; //clsPacssReport objPacs = new clsPacssReport(); //objEEG.SubClassOBJ = objPacs; clsSeeDoctor objSeeDoc = new clsSeeDoctor(); objEEG.SubClassOBJ = objSeeDoc; //objPacs.SubClassOBJ = objSeeDoc; clsCaseHistory objCH = new clsCaseHistory(); objSeeDoc.SubClassOBJ = objCH; //增加入数组 objclsArr.Add(objLis); objclsArr.Add(objCARDIOGRAM); objclsArr.Add(objDCARDIOGRAM); objclsArr.Add(objTCD); objclsArr.Add(objEEG); //objclsArr.Add(objPacs); objclsArr.Add(objSeeDoc); objclsArr.Add(objCH); DataTable dtPacs = null; DataTable dtBL = null; if (GlobalParm.IsChaShan) { #region 添加电子病历 clsInitEMRModule objEmrModule = new clsInitEMRModule(); objEmrModule.ObjParam = objPV; objEmrModule.m_mthAddToNodes(ref objclsArr, objCH, objCH.UseFlag); #endregion 添加电子病历 #region 添加新pacs // 数据源 clsDcl_ShowReports dcl = new clsDcl_ShowReports(); dtPacs = dcl.GetNewPacsView(cardNo); #endregion #region 添加新病理 if (this.IsUseBLReport) { string appId = dcl.GetNewBLAppId(cardNo); if (!string.IsNullOrEmpty(appId)) { dtBL = dcl.GetNewBLView(appId); } } dcl = null; #endregion } objLis.m_mthGetMainData(objPV); foreach (clsDataBase objTemp in objclsArr) { TreeNode tn = new TreeNode(objTemp.ToString()); tn.Tag = objTemp; clsMainData_VO[] objDMArr = objTemp.MainData; if (objDMArr != null) { for (int i = 0; i < objDMArr.Length; i++) { TreeNode subTN = new TreeNode(objDMArr[i].strCreatDate); subTN.Tag = objDMArr[i]; if (objDMArr[i].strRemark == "2" || objDMArr[i].strRemark == "3" || objDMArr[i].strRemark == "5") { subTN.ForeColor = System.Drawing.Color.Red; } else if (objDMArr[i].strRemark == "6") { subTN.ForeColor = System.Drawing.Color.Orange; } tn.Nodes.Add(subTN); } } else { if ((dtPacs == null || dtPacs.Rows.Count == 0) && (dtBL == null || dtBL.Rows.Count == 0)) { TreeNode subTN = new TreeNode("无记录"); subTN.ForeColor = System.Drawing.Color.Gray; tn.Nodes.Add(subTN); } } if (m_mthGetParentNode(tn)) { this.m_objViewer.treeView1.Nodes.Add(tn); } } #region 新PACS节点 string groupName = string.Empty; TreeNode tnParent = null; TreeNode tnChild = null; clsMainData_VO dataVo = null; Dictionary <string, List <DataRow> > dicGroupName = new Dictionary <string, List <DataRow> >(); if (dtPacs != null && dtPacs.Rows.Count > 0) { foreach (DataRow dr in dtPacs.Rows) { groupName = dr["jclx"].ToString(); if (groupName == null) { groupName = string.Empty; } if (dicGroupName.ContainsKey(groupName)) { dicGroupName[groupName].Add(dr); } else { dicGroupName.Add(groupName, new List <DataRow>() { dr }); } } foreach (string key in dicGroupName.Keys) { tnParent = new TreeNode(key == string.Empty ? "PACS" : key); foreach (DataRow dr1 in dicGroupName[key]) { if (dr1["bgsj"] == DBNull.Value) { tnChild = new TreeNode(dr1["jczt"].ToString()); } else { tnChild = new TreeNode(Convert.ToDateTime(dr1["bgsj"]).ToString("yyyy-MM-dd HH:mm:ss")); } dataVo = new clsMainData_VO(); dataVo.strRemark = "pacs"; dataVo.strID = dr1["exid"].ToString(); dataVo.strName = dr1["bgdz"].ToString(); tnChild.Tag = dataVo; tnParent.Nodes.Add(tnChild); } this.m_objViewer.treeView1.Nodes.Add(tnParent); } } #endregion #region 新病理节点 dicGroupName.Clear(); dicBL = null; dicBL = new Dictionary <string, Image>(); if (this.IsUseBLReport && dtBL != null && dtBL.Rows.Count > 0) { groupName = "病理"; foreach (DataRow dr in dtBL.Rows) { dicGroupName.Add(groupName, new List <DataRow>() { dr }); } tnParent = new TreeNode("病理报告"); foreach (DataRow dr1 in dicGroupName[groupName]) { tnChild = new TreeNode(Convert.ToDateTime(dr1["ExamTime"]).ToString("yyyy-MM-dd HH:mm:ss")); dataVo = new clsMainData_VO(); dataVo.strRemark = "病理"; dataVo.strID = dr1["Applyid"].ToString(); if (dr1["ReportImage"] != DBNull.Value) { if (!dicBL.ContainsKey(dataVo.strID)) { System.IO.MemoryStream objTempStream = new System.IO.MemoryStream((byte[])dr1["ReportImage"]); dicBL.Add(dataVo.strID, System.Drawing.Image.FromStream(objTempStream)); } } tnChild.Tag = dataVo; tnParent.Nodes.Add(tnChild); } this.m_objViewer.treeView1.Nodes.Add(tnParent); } #endregion } finally { this.m_objViewer.Cursor = Cursors.Default; } }
public void m_mthDoubleClick() { try { this.m_objViewer.Cursor = Cursors.WaitCursor; this.m_objViewer.btOpenImage.Tag = null; if (this.m_objViewer.treeView1.SelectedNode.Parent == null && this.m_objViewer.treeView1.SelectedNode.Parent.Tag == null) { return; } if (this.m_objViewer.treeView1.SelectedNode.Tag == null) { return; } objMain = this.m_objViewer.treeView1.SelectedNode.Parent.Tag as clsDataBase; objMD = this.m_objViewer.treeView1.SelectedNode.Tag as clsMainData_VO; if (objMain is clsPacssReport) { clsPacssReport objPacss = (clsPacssReport)objMain; this.m_objViewer.btOpenImage.Tag = objPacss.objItem; this.m_objViewer.printPreviewControl.Document = objPacss.m_mthGetPrintDocument(objMD); return; } if (objMain is clsLIS) { clsLIS objLis = (clsLIS)objMain; objLis.Document = this.m_objViewer.printDocument1; objLis.m_mthBeginPrint(objMD, null); } if (objMD != null && objMD.strRemark == "pacs" && !string.IsNullOrEmpty(objMD.strID)) { this.m_objViewer.webBrowser.Visible = true; this.m_objViewer.webBrowser.Dock = DockStyle.Fill; this.m_objViewer.printPreviewControl.Visible = false; this.m_objViewer.fpnlBL.Visible = false; if (string.IsNullOrEmpty(objMD.strName)) { this.m_objViewer.webBrowser.Navigate(string.Empty); this.m_objViewer.lblPacsHint.Visible = true; } else { this.m_objViewer.webBrowser.Navigate(objMD.strName); this.m_objViewer.lblPacsHint.Visible = false; } this.m_objViewer.webBrowser.Tag = objMD.strID; } else if (objMD != null && objMD.strRemark == "病理" && !string.IsNullOrEmpty(objMD.strID)) { if (dicBL.ContainsKey(objMD.strID)) { this.m_objViewer.webBrowser.Visible = false; this.m_objViewer.printPreviewControl.Visible = false; this.m_objViewer.fpnlBL.Dock = DockStyle.Fill; this.m_objViewer.fpnlBL.Visible = true; Image img = dicBL[objMD.strID]; this.m_objViewer.picBL.Image = img; this.m_objViewer.picBL.Width = img.Width; this.m_objViewer.picBL.Height = img.Height; } } else { this.m_objViewer.printPreviewControl.Visible = true; this.m_objViewer.printPreviewControl.Dock = DockStyle.Fill; this.m_objViewer.webBrowser.Visible = false; this.m_objViewer.lblPacsHint.Visible = false; this.m_objViewer.fpnlBL.Visible = false; this.m_objViewer.printPreviewControl.Document = this.m_objViewer.printDocument1; } } catch { } finally { this.m_objViewer.Cursor = Cursors.Default; } }