/// <summary> /// 按公司获取员工列表 /// </summary> /// <param name="userInfo">用户</param> /// <param name="organizationId">组织主键</param> /// <param name="containChildren">含子部门</param> /// <returns>数据表</returns> public DataTable GetDataTableByOrganization(BaseUserInfo userInfo, string organizationId, bool containChildren) { var dt = new DataTable(BaseStaffEntity.CurrentTableName); var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterWriteDb(userInfo, parameter, (dbHelper) => { // 用户已经不存在的需要整理干净,防止数据不完整。 var sql = "UPDATE BaseStaff SET UserId = NULL WHERE (UserId NOT IN (SELECT Id FROM BaseUser))"; dbHelper.ExecuteNonQuery(sql); dbHelper.Close(); // 这里是读取的服务器连接 dbHelper.Open(BaseSystemInfo.UserCenterReadDbConnection); var manager = new BaseStaffManager(dbHelper, userInfo); if (containChildren) { dt = manager.GetChildrenStaffs(organizationId); } else { dt = manager.GetDataTableByOrganization(organizationId); } dt.TableName = BaseStaffEntity.CurrentTableName; }); return(dt); }