private long m_lngLoadAddBills() { trvAddBills.Nodes.Clear(); clsBIHOrderInputDomain.clsOtherBillInfo.s_objPatient = this.m_frmParent.m_ctlPatient.m_objPatient; for (int i = 0; i < m_frmParent.m_objDomain.m_arlOtherBillInfo.Count; i++) { clsBIHOrderInputDomain.clsOtherBillInfo objBillInfo = m_frmParent.m_objDomain.m_arlOtherBillInfo[i] as clsBIHOrderInputDomain.clsOtherBillInfo; TreeNode tn = new TreeNode(objBillInfo.ToString().Trim()); tn.Tag = objBillInfo; if (objBillInfo.AttachOrderCount > 0) { #region 获得申请单ID DataTable dtbRes = new DataTable(); long lngAttach = objBillInfo.m_lngGetAddBillByOrderID(objBillInfo.m_objOrder.m_strOrderID.Trim(), out dtbRes); if (lngAttach >= 0 && dtbRes.Rows.Count > 0) { objBillInfo.m_objART.m_StrRecordID = dtbRes.Rows[0]["ATTACHID_VCHR"].ToString().Trim(); } #endregion try { iCareData.clsApplyReportList_VO p_objApply = new iCareData.clsApplyReportList_VO(); long lngApply = m_lngGetArRecord(objBillInfo.m_objART.m_StrRecordID.Trim(), out p_objApply); if (p_objApply != null && p_objApply.m_objRelaFormArr != null && p_objApply.m_objRelaFormArr.Length > 0) { tn.ImageIndex = 1; tn.SelectedImageIndex = 1; } else { tn.ImageIndex = 2; tn.SelectedImageIndex = 2; } } catch { } } else { tn.ImageIndex = 0; tn.SelectedImageIndex = 0; } //待加入报告单数据 trvAddBills.Nodes.Add(tn); } return(0); }
private void trvAddBills_DoubleClick(object sender, System.EventArgs e) { if (trvAddBills.SelectedNode != null) { if (trvAddBills.SelectedNode.Parent == null) { if (m_intOpenbType == 0) //从医嘱录入打开 { clsBIHOrderInputDomain.clsOtherBillInfo objCurrentBillInfo = (clsBIHOrderInputDomain.clsOtherBillInfo)(trvAddBills.SelectedNode.Tag); objCurrentBillInfo.m_ParentForm = this.m_frmParent; objCurrentBillInfo.m_ParentForm.objController = this.m_frmParent.objController; objCurrentBillInfo.m_mthShowUI(m_frmParent.LoginInfo); m_lngLoadAddBills(); } else if (m_intOpenbType == 1) //从医嘱执行打开 { clsBIHCanExecOrder objOrders = (clsBIHCanExecOrder)(trvAddBills.SelectedNode.Tag); //医嘱类型ID string strOrderCateID = objOrders.m_strOrderDicCateID.Trim(); //医嘱ID string strOrderID = objOrders.m_strOrderID.Trim(); //附加单据ID string strAttachID = GetAttachID(strOrderID); //关系表ID clsRelation_VOArr objRelation = new clsRelation_VOArr(); long lngR = objRelation.m_lngGetRelation("sourceitemid_vchr='" + strOrderID.Trim() + "'"); string strRelationID = objRelation.m_objValues[0].m_strATTARELAID_CHR.Trim(); DataTable dtbAddBills = null; long lngRes = m_lngGetAddBillByOrderID(strOrderID.Trim(), out dtbAddBills); clsT_aid_bih_ordercate_VO objResult = null; clsDcl_InputOrder objTem = new clsDcl_InputOrder(); lngRes = objTem.m_lngGetAidOrderCateByID(strOrderCateID, out objResult); if (lngRes <= 0 || objResult == null) { return; } string strDllName = objResult.m_strDLLNAME_VCHR; string strClassName = objResult.m_strCLASSNAME_VCHR; string strInsertName = objResult.m_strOPRADD_VCHR; string strUpdateName = objResult.m_strOPRUPD_VCHR; System.Reflection.Assembly objAsm = System.Reflection.Assembly.LoadFrom(strDllName); if (objAsm == null) { return; } object[] objParams = new object[1]; objParams[0] = strAttachID.Trim(); object obj; try { obj = objAsm.CreateInstance(strClassName, true, System.Reflection.BindingFlags.Default, null, objParams, null, new object[0] { }); } catch (System.Exception err) { string strMsg = err.Message.ToString(); MessageBox.Show(strMsg); return; } if (obj == null) { return; } //打开窗体 ((Form)obj).ShowDialog(); Type objType = obj.GetType(); System.Reflection.PropertyInfo objMi = objType.GetProperty("m_StrRecordID"); string strAddBillRecordID = objMi.GetValue(obj, null).ToString(); if (strAddBillRecordID.Trim() != "") { m_lngSaveAddBill(strAddBillRecordID.Trim(), strRelationID, strOrderID); } return; } } } }