服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2025-01-01 fcee1ab17f2cca5c1b058304a987cce43d0e7672
Tiger.IBusiness/Extensions/DbExtension.cs
@@ -29,17 +29,17 @@
            //组织机构授权验证
            if (options.HasFlag(DbAuth.Org) && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(o => o.USER_ID == userId && o.ORG_CODE == q.AUTH_ORG).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(authorization => authorization.USER_ID == userId && authorization.ORG_CODE == q.AUTH_ORG).Any());
            }
            //生产单元授权验证
            if (options.HasFlag(DbAuth.Prod) && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(o => o.USER_ID == userId && o.PROD_CODE == q.AUTH_PROD).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(authorization => authorization.USER_ID == userId && authorization.PROD_CODE == q.AUTH_PROD).Any());
            }
            //仓库单元授权验证
            if (options.HasFlag(DbAuth.Wh) && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(o => o.USER_ID == userId && o.WH_CODE == q.AUTH_WH).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(authorization => authorization.USER_ID == userId && authorization.WH_CODE == q.AUTH_WH).Any());
            }
            return queryable;
@@ -59,25 +59,26 @@
            if (!options.OrgCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                var orgList = options.OrgCode.Split(",", StringSplitOptions.RemoveEmptyEntries);
                queryable = queryable.Where(q => orgList.Any(o => o == q.AUTH_ORG));
                queryable = queryable.Where(q => orgList.Any(authorization => authorization == q.AUTH_ORG));
            }
            //生产单元授权验证
            if (!options.ProdCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                var prodList = options.ProdCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => prodList.Any(o => o == q.AUTH_PROD));
                queryable = queryable.Where(q => prodList.Any(authorization => authorization == q.AUTH_PROD));
            }
            //仓库单元授权验证
            if (!options.WhCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                var whList = options.WhCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => whList.Any(o => o == q.AUTH_WH));
                queryable = queryable.Where(q => whList.Any(authorization => authorization == q.AUTH_WH));
            }
            return queryable.ByAuth(options.UserId, options.GetOptions());
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <typeparam name="T2"></typeparam>
@@ -90,24 +91,25 @@
            //组织机构授权验证
            if (options.HasFlag(DbAuth.Org) && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(o => o.USER_ID == userId && o.ORG_CODE == q.AUTH_ORG).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(authorization => authorization.USER_ID == userId && authorization.ORG_CODE == q.AUTH_ORG).Any());
            }
            //生产单元授权验证
            if (options.HasFlag(DbAuth.Prod) && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(o => o.USER_ID == userId && o.PROD_CODE == q.AUTH_PROD).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(authorization => authorization.USER_ID == userId && authorization.PROD_CODE == q.AUTH_PROD).Any());
            }
            //仓库单元授权验证
            if (options.HasFlag(DbAuth.Wh) && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(o => o.USER_ID == userId && o.WH_CODE == q.AUTH_WH).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(authorization => authorization.USER_ID == userId && authorization.WH_CODE == q.AUTH_WH).Any());
            }
            return queryable;
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <typeparam name="T2"></typeparam>
@@ -120,25 +122,26 @@
            if (!options.OrgCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                var orgList = options.OrgCode.Split(",", StringSplitOptions.RemoveEmptyEntries);
                queryable = queryable.Where(q => orgList.Any(o => o == q.AUTH_ORG));
                queryable = queryable.Where(q => orgList.Any(authorization => authorization == q.AUTH_ORG));
            }
            //生产单元授权验证
            if (!options.ProdCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                var prodList = options.ProdCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => prodList.Any(o => o == q.AUTH_PROD));
                queryable = queryable.Where(q => prodList.Any(authorization => authorization == q.AUTH_PROD));
            }
            //仓库单元授权验证
            if (!options.WhCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                var whList = options.WhCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => whList.Any(o => o == q.AUTH_WH));
                queryable = queryable.Where(q => whList.Any(authorization => authorization == q.AUTH_WH));
            }
            return queryable.ByAuth(options.UserId, options.GetOptions());
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -150,24 +153,25 @@
            //组织机构授权验证
            if (options.HasFlag(DbAuth.Org) && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(o => o.USER_ID == userId && o.ORG_CODE == q.AUTH_ORG).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(authorization => authorization.USER_ID == userId && authorization.ORG_CODE == q.AUTH_ORG).Any());
            }
            //生产单元授权验证
            if (options.HasFlag(DbAuth.Prod) && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(o => o.USER_ID == userId && o.PROD_CODE == q.AUTH_PROD).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(authorization => authorization.USER_ID == userId && authorization.PROD_CODE == q.AUTH_PROD).Any());
            }
            //仓库单元授权验证
            if (options.HasFlag(DbAuth.Wh) && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(o => o.USER_ID == userId && o.WH_CODE == q.AUTH_WH).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(authorization => authorization.USER_ID == userId && authorization.WH_CODE == q.AUTH_WH).Any());
            }
            return queryable;
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -179,25 +183,26 @@
            if (!options.OrgCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                var orgList = options.OrgCode.Split(",", StringSplitOptions.RemoveEmptyEntries);
                queryable = queryable.Where(q => orgList.Any(o => o == q.AUTH_ORG));
                queryable = queryable.Where(q => orgList.Any(authorization => authorization == q.AUTH_ORG));
            }
            //生产单元授权验证
            if (!options.ProdCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                var prodList = options.ProdCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => prodList.Any(o => o == q.AUTH_PROD));
                queryable = queryable.Where(q => prodList.Any(authorization => authorization == q.AUTH_PROD));
            }
            //仓库单元授权验证
            if (!options.WhCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                var whList = options.WhCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => whList.Any(o => o == q.AUTH_WH));
                queryable = queryable.Where(q => whList.Any(authorization => authorization == q.AUTH_WH));
            }
            return queryable.ByAuth(options.UserId, options.GetOptions());
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -209,24 +214,25 @@
            //组织机构授权验证
            if (options.HasFlag(DbAuth.Org) && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(o => o.USER_ID == userId && o.ORG_CODE == q.AUTH_ORG).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(authorization => authorization.USER_ID == userId && authorization.ORG_CODE == q.AUTH_ORG).Any());
            }
            //生产单元授权验证
            if (options.HasFlag(DbAuth.Prod) && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(o => o.USER_ID == userId && o.PROD_CODE == q.AUTH_PROD).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(authorization => authorization.USER_ID == userId && authorization.PROD_CODE == q.AUTH_PROD).Any());
            }
            //仓库单元授权验证
            if (options.HasFlag(DbAuth.Wh) && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(o => o.USER_ID == userId && o.WH_CODE == q.AUTH_WH).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(authorization => authorization.USER_ID == userId && authorization.WH_CODE == q.AUTH_WH).Any());
            }
            return queryable;
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -238,25 +244,26 @@
            if (!options.OrgCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                var orgList = options.OrgCode.Split(",", StringSplitOptions.RemoveEmptyEntries);
                queryable = queryable.Where(q => orgList.Any(o => o == q.AUTH_ORG));
                queryable = queryable.Where(q => orgList.Any(authorization => authorization == q.AUTH_ORG));
            }
            //生产单元授权验证
            if (!options.ProdCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                var prodList = options.ProdCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => prodList.Any(o => o == q.AUTH_PROD));
                queryable = queryable.Where(q => prodList.Any(authorization => authorization == q.AUTH_PROD));
            }
            //仓库单元授权验证
            if (!options.WhCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                var whList = options.WhCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => whList.Any(o => o == q.AUTH_WH));
                queryable = queryable.Where(q => whList.Any(authorization => authorization == q.AUTH_WH));
            }
            return queryable.ByAuth(options.UserId, options.GetOptions());
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -268,24 +275,25 @@
            //组织机构授权验证
            if (options.HasFlag(DbAuth.Org) && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(o => o.USER_ID == userId && o.ORG_CODE == q.AUTH_ORG).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(authorization => authorization.USER_ID == userId && authorization.ORG_CODE == q.AUTH_ORG).Any());
            }
            //生产单元授权验证
            if (options.HasFlag(DbAuth.Prod) && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(o => o.USER_ID == userId && o.PROD_CODE == q.AUTH_PROD).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(authorization => authorization.USER_ID == userId && authorization.PROD_CODE == q.AUTH_PROD).Any());
            }
            //仓库单元授权验证
            if (options.HasFlag(DbAuth.Wh) && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(o => o.USER_ID == userId && o.WH_CODE == q.AUTH_WH).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(authorization => authorization.USER_ID == userId && authorization.WH_CODE == q.AUTH_WH).Any());
            }
            return queryable;
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -297,25 +305,26 @@
            if (!options.OrgCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                var orgList = options.OrgCode.Split(",", StringSplitOptions.RemoveEmptyEntries);
                queryable = queryable.Where(q => orgList.Any(o => o == q.AUTH_ORG));
                queryable = queryable.Where(q => orgList.Any(authorization => authorization == q.AUTH_ORG));
            }
            //生产单元授权验证
            if (!options.ProdCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                var prodList = options.ProdCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => prodList.Any(o => o == q.AUTH_PROD));
                queryable = queryable.Where(q => prodList.Any(authorization => authorization == q.AUTH_PROD));
            }
            //仓库单元授权验证
            if (!options.WhCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                var whList = options.WhCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => whList.Any(o => o == q.AUTH_WH));
                queryable = queryable.Where(q => whList.Any(authorization => authorization == q.AUTH_WH));
            }
            return queryable.ByAuth(options.UserId, options.GetOptions());
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -327,24 +336,25 @@
            //组织机构授权验证
            if (options.HasFlag(DbAuth.Org) && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(o => o.USER_ID == userId && o.ORG_CODE == q.AUTH_ORG).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(authorization => authorization.USER_ID == userId && authorization.ORG_CODE == q.AUTH_ORG).Any());
            }
            //生产单元授权验证
            if (options.HasFlag(DbAuth.Prod) && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(o => o.USER_ID == userId && o.PROD_CODE == q.AUTH_PROD).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(authorization => authorization.USER_ID == userId && authorization.PROD_CODE == q.AUTH_PROD).Any());
            }
            //仓库单元授权验证
            if (options.HasFlag(DbAuth.Wh) && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(o => o.USER_ID == userId && o.WH_CODE == q.AUTH_WH).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(authorization => authorization.USER_ID == userId && authorization.WH_CODE == q.AUTH_WH).Any());
            }
            return queryable;
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -356,25 +366,26 @@
            if (!options.OrgCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                var orgList = options.OrgCode.Split(",", StringSplitOptions.RemoveEmptyEntries);
                queryable = queryable.Where(q => orgList.Any(o => o == q.AUTH_ORG));
                queryable = queryable.Where(q => orgList.Any(authorization => authorization == q.AUTH_ORG));
            }
            //生产单元授权验证
            if (!options.ProdCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                var prodList = options.ProdCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => prodList.Any(o => o == q.AUTH_PROD));
                queryable = queryable.Where(q => prodList.Any(authorization => authorization == q.AUTH_PROD));
            }
            //仓库单元授权验证
            if (!options.WhCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                var whList = options.WhCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => whList.Any(o => o == q.AUTH_WH));
                queryable = queryable.Where(q => whList.Any(authorization => authorization == q.AUTH_WH));
            }
            return queryable.ByAuth(options.UserId, options.GetOptions());
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -386,24 +397,25 @@
            //组织机构授权验证
            if (options.HasFlag(DbAuth.Org) && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(o => o.USER_ID == userId && o.ORG_CODE == q.AUTH_ORG).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(authorization => authorization.USER_ID == userId && authorization.ORG_CODE == q.AUTH_ORG).Any());
            }
            //生产单元授权验证
            if (options.HasFlag(DbAuth.Prod) && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(o => o.USER_ID == userId && o.PROD_CODE == q.AUTH_PROD).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(authorization => authorization.USER_ID == userId && authorization.PROD_CODE == q.AUTH_PROD).Any());
            }
            //仓库单元授权验证
            if (options.HasFlag(DbAuth.Wh) && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(o => o.USER_ID == userId && o.WH_CODE == q.AUTH_WH).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(authorization => authorization.USER_ID == userId && authorization.WH_CODE == q.AUTH_WH).Any());
            }
            return queryable;
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -415,25 +427,26 @@
            if (!options.OrgCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                var orgList = options.OrgCode.Split(",", StringSplitOptions.RemoveEmptyEntries);
                queryable = queryable.Where(q => orgList.Any(o => o == q.AUTH_ORG));
                queryable = queryable.Where(q => orgList.Any(authorization => authorization == q.AUTH_ORG));
            }
            //生产单元授权验证
            if (!options.ProdCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                var prodList = options.ProdCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => prodList.Any(o => o == q.AUTH_PROD));
                queryable = queryable.Where(q => prodList.Any(authorization => authorization == q.AUTH_PROD));
            }
            //仓库单元授权验证
            if (!options.WhCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                var whList = options.WhCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => whList.Any(o => o == q.AUTH_WH));
                queryable = queryable.Where(q => whList.Any(authorization => authorization == q.AUTH_WH));
            }
            return queryable.ByAuth(options.UserId, options.GetOptions());
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -445,24 +458,25 @@
            //组织机构授权验证
            if (options.HasFlag(DbAuth.Org) && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(o => o.USER_ID == userId && o.ORG_CODE == q.AUTH_ORG).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(authorization => authorization.USER_ID == userId && authorization.ORG_CODE == q.AUTH_ORG).Any());
            }
            //生产单元授权验证
            if (options.HasFlag(DbAuth.Prod) && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(o => o.USER_ID == userId && o.PROD_CODE == q.AUTH_PROD).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(authorization => authorization.USER_ID == userId && authorization.PROD_CODE == q.AUTH_PROD).Any());
            }
            //仓库单元授权验证
            if (options.HasFlag(DbAuth.Wh) && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(o => o.USER_ID == userId && o.WH_CODE == q.AUTH_WH).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(authorization => authorization.USER_ID == userId && authorization.WH_CODE == q.AUTH_WH).Any());
            }
            return queryable;
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -474,25 +488,26 @@
            if (!options.OrgCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                var orgList = options.OrgCode.Split(",", StringSplitOptions.RemoveEmptyEntries);
                queryable = queryable.Where(q => orgList.Any(o => o == q.AUTH_ORG));
                queryable = queryable.Where(q => orgList.Any(authorization => authorization == q.AUTH_ORG));
            }
            //生产单元授权验证
            if (!options.ProdCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                var prodList = options.ProdCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => prodList.Any(o => o == q.AUTH_PROD));
                queryable = queryable.Where(q => prodList.Any(authorization => authorization == q.AUTH_PROD));
            }
            //仓库单元授权验证
            if (!options.WhCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                var whList = options.WhCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => whList.Any(o => o == q.AUTH_WH));
                queryable = queryable.Where(q => whList.Any(authorization => authorization == q.AUTH_WH));
            }
            return queryable.ByAuth(options.UserId, options.GetOptions());
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -504,24 +519,25 @@
            //组织机构授权验证
            if (options.HasFlag(DbAuth.Org) && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(o => o.USER_ID == userId && o.ORG_CODE == q.AUTH_ORG).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(authorization => authorization.USER_ID == userId && authorization.ORG_CODE == q.AUTH_ORG).Any());
            }
            //生产单元授权验证
            if (options.HasFlag(DbAuth.Prod) && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(o => o.USER_ID == userId && o.PROD_CODE == q.AUTH_PROD).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(authorization => authorization.USER_ID == userId && authorization.PROD_CODE == q.AUTH_PROD).Any());
            }
            //仓库单元授权验证
            if (options.HasFlag(DbAuth.Wh) && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(o => o.USER_ID == userId && o.WH_CODE == q.AUTH_WH).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(authorization => authorization.USER_ID == userId && authorization.WH_CODE == q.AUTH_WH).Any());
            }
            return queryable;
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -533,25 +549,26 @@
            if (!options.OrgCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                var orgList = options.OrgCode.Split(",", StringSplitOptions.RemoveEmptyEntries);
                queryable = queryable.Where(q => orgList.Any(o => o == q.AUTH_ORG));
                queryable = queryable.Where(q => orgList.Any(authorization => authorization == q.AUTH_ORG));
            }
            //生产单元授权验证
            if (!options.ProdCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                var prodList = options.ProdCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => prodList.Any(o => o == q.AUTH_PROD));
                queryable = queryable.Where(q => prodList.Any(authorization => authorization == q.AUTH_PROD));
            }
            //仓库单元授权验证
            if (!options.WhCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                var whList = options.WhCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => whList.Any(o => o == q.AUTH_WH));
                queryable = queryable.Where(q => whList.Any(authorization => authorization == q.AUTH_WH));
            }
            return queryable.ByAuth(options.UserId, options.GetOptions());
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -563,24 +580,25 @@
            //组织机构授权验证
            if (options.HasFlag(DbAuth.Org) && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(o => o.USER_ID == userId && o.ORG_CODE == q.AUTH_ORG).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(authorization => authorization.USER_ID == userId && authorization.ORG_CODE == q.AUTH_ORG).Any());
            }
            //生产单元授权验证
            if (options.HasFlag(DbAuth.Prod) && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(o => o.USER_ID == userId && o.PROD_CODE == q.AUTH_PROD).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(authorization => authorization.USER_ID == userId && authorization.PROD_CODE == q.AUTH_PROD).Any());
            }
            //仓库单元授权验证
            if (options.HasFlag(DbAuth.Wh) && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(o => o.USER_ID == userId && o.WH_CODE == q.AUTH_WH).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(authorization => authorization.USER_ID == userId && authorization.WH_CODE == q.AUTH_WH).Any());
            }
            return queryable;
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -592,25 +610,26 @@
            if (!options.OrgCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                var orgList = options.OrgCode.Split(",", StringSplitOptions.RemoveEmptyEntries);
                queryable = queryable.Where(q => orgList.Any(o => o == q.AUTH_ORG));
                queryable = queryable.Where(q => orgList.Any(authorization => authorization == q.AUTH_ORG));
            }
            //生产单元授权验证
            if (!options.ProdCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                var prodList = options.ProdCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => prodList.Any(o => o == q.AUTH_PROD));
                queryable = queryable.Where(q => prodList.Any(authorization => authorization == q.AUTH_PROD));
            }
            //仓库单元授权验证
            if (!options.WhCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                var whList = options.WhCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => whList.Any(o => o == q.AUTH_WH));
                queryable = queryable.Where(q => whList.Any(authorization => authorization == q.AUTH_WH));
            }
            return queryable.ByAuth(options.UserId, options.GetOptions());
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -622,24 +641,25 @@
            //组织机构授权验证
            if (options.HasFlag(DbAuth.Org) && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(o => o.USER_ID == userId && o.ORG_CODE == q.AUTH_ORG).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(authorization => authorization.USER_ID == userId && authorization.ORG_CODE == q.AUTH_ORG).Any());
            }
            //生产单元授权验证
            if (options.HasFlag(DbAuth.Prod) && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(o => o.USER_ID == userId && o.PROD_CODE == q.AUTH_PROD).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(authorization => authorization.USER_ID == userId && authorization.PROD_CODE == q.AUTH_PROD).Any());
            }
            //仓库单元授权验证
            if (options.HasFlag(DbAuth.Wh) && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(o => o.USER_ID == userId && o.WH_CODE == q.AUTH_WH).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(authorization => authorization.USER_ID == userId && authorization.WH_CODE == q.AUTH_WH).Any());
            }
            return queryable;
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -651,25 +671,26 @@
            if (!options.OrgCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                var orgList = options.OrgCode.Split(",", StringSplitOptions.RemoveEmptyEntries);
                queryable = queryable.Where(q => orgList.Any(o => o == q.AUTH_ORG));
                queryable = queryable.Where(q => orgList.Any(authorization => authorization == q.AUTH_ORG));
            }
            //生产单元授权验证
            if (!options.ProdCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                var prodList = options.ProdCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => prodList.Any(o => o == q.AUTH_PROD));
                queryable = queryable.Where(q => prodList.Any(authorization => authorization == q.AUTH_PROD));
            }
            //仓库单元授权验证
            if (!options.WhCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                var whList = options.WhCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => whList.Any(o => o == q.AUTH_WH));
                queryable = queryable.Where(q => whList.Any(authorization => authorization == q.AUTH_WH));
            }
            return queryable.ByAuth(options.UserId, options.GetOptions());
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -681,24 +702,25 @@
            //组织机构授权验证
            if (options.HasFlag(DbAuth.Org) && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(o => o.USER_ID == userId && o.ORG_CODE == q.AUTH_ORG).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_ORG>().Where(authorization => authorization.USER_ID == userId && authorization.ORG_CODE == q.AUTH_ORG).Any());
            }
            //生产单元授权验证
            if (options.HasFlag(DbAuth.Prod) && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(o => o.USER_ID == userId && o.PROD_CODE == q.AUTH_PROD).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_PROD>().Where(authorization => authorization.USER_ID == userId && authorization.PROD_CODE == q.AUTH_PROD).Any());
            }
            //仓库单元授权验证
            if (options.HasFlag(DbAuth.Wh) && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(o => o.USER_ID == userId && o.WH_CODE == q.AUTH_WH).Any());
                queryable = queryable.Where(q => SqlFunc.Subqueryable<V_USER_WH>().Where(authorization => authorization.USER_ID == userId && authorization.WH_CODE == q.AUTH_WH).Any());
            }
            return queryable;
        }
        /// <summary>
        /// 通过授权查询数据
        /// 通过授权查询数据<br/>
        /// 注意:联表授权查询时,主表的别名必须为q,不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="queryable"></param>
@@ -710,19 +732,19 @@
            if (!options.OrgCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_ORG").IsNullOrEmpty())
            {
                var orgList = options.OrgCode.Split(",", StringSplitOptions.RemoveEmptyEntries);
                queryable = queryable.Where(q => orgList.Any(o => o == q.AUTH_ORG));
                queryable = queryable.Where(q => orgList.Any(authorization => authorization == q.AUTH_ORG));
            }
            //生产单元授权验证
            if (!options.ProdCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_PROD").IsNullOrEmpty())
            {
                var prodList = options.ProdCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => prodList.Any(o => o == q.AUTH_PROD));
                queryable = queryable.Where(q => prodList.Any(authorization => authorization == q.AUTH_PROD));
            }
            //仓库单元授权验证
            if (!options.WhCode.IsNullOrEmpty() && !typeof(T).GetProperty("AUTH_WH").IsNullOrEmpty())
            {
                var whList = options.WhCode.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
                queryable = queryable.Where(q => whList.Any(o => o == q.AUTH_WH));
                queryable = queryable.Where(q => whList.Any(authorization => authorization == q.AUTH_WH));
            }
            return queryable.ByAuth(options.UserId, options.GetOptions());
        }