示例#1
0
        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;
            }
        }
示例#2
0
 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;
     }
 }