private void cbTreeDept_SelectionChanged(object sender, DevComponents.AdvTree.AdvTreeNodeEventArgs e) { Maticsoft.Model.SMT_ORG_INFO orgInfo = e.Node.Tag as Maticsoft.Model.SMT_ORG_INFO; if (orgInfo == null) { orgInfo = new Maticsoft.Model.SMT_ORG_INFO(); orgInfo.ID = -1; } if (orgInfo != null) { CtrlWaiting waiting = new CtrlWaiting(() => { try { Maticsoft.BLL.SMT_STAFF_INFO staffBll = new Maticsoft.BLL.SMT_STAFF_INFO(); string strWhere = ""; List <Maticsoft.Model.SMT_STAFF_INFO> staffInfos = null; if (orgInfo.ID == -1) { strWhere += "ORG_ID=-1 or ORG_ID is null"; staffInfos = staffBll.GetModelList("(" + strWhere + ") and IS_DELETE=0"); } else { // Maticsoft.BLL.SMT_ORG_INFO orgBll = new Maticsoft.BLL.SMT_ORG_INFO(); // var orgS = orgBll.GetModelList("PAR_ID=" + orgInfo.ID); // foreach (var org in orgS) // { //var subInfos = staffBll.GetModelList("ORG_ID=" + org.ID + " and IS_DELETE=0"); staffInfos = staffBll.GetModelListByParOrgId(orgInfo.ID); // } } var depts = DeptDataHelper.GetDepts(false); foreach (var item in staffInfos) { var dept = depts.Find(m => m.ID == item.ORG_ID); if (dept != null) { item.ORG_NAME = dept.ORG_NAME; item.ORG_CODE = dept.ORG_CODE; } } this.Invoke(new Action(() => { DoShowInfos(staffInfos); })); } catch (Exception ex) { log.Error("获取人员异常:", ex); WinInfoHelper.ShowInfoWindow(this, "获取人员异常:" + ex.Message); } }); waiting.Show(this); } }