diff --git a/FactorySystemBll/MaterialTaskBll.cs b/FactorySystemBll/MaterialTaskBll.cs index 4c955c5..5018f06 100644 --- a/FactorySystemBll/MaterialTaskBll.cs +++ b/FactorySystemBll/MaterialTaskBll.cs @@ -58,10 +58,11 @@ namespace FactorySystemBll try { List funcVal = db.Queryable().Where(s => s.FType == (int)Constant.BasicCode.物料视图编辑 && s.F1 == tType && s.FState == 1).Select(s => s.FValue).ToList(); - List users = db.Queryable((a, b) => new JoinQueryInfos(JoinType.Left, a.FRoleID == b.FRoleID)) - .Where((a, b) => a.FState == 1 && a.FDeleted != 1 && b.FType == funcType && funcVal.Contains(b.FFunctionID.ToString())) - .Where(string.Format("a.FFactoryID in({0})", factoryId)) - .GroupBy("a.FID,a.FFactoryID,a.FName,a.FUser").Select("a.FID,a.FFactoryID,a.FName,a.FUser").ToList(); + List users = db.Queryable((a, b, c) => new JoinQueryInfos(JoinType.Left, a.FRoleID == b.FRoleID, + JoinType.Left, a.FID == int.Parse(c.FUserID))) + .Where((a, b) => a.FState == 1 && a.FDeleted != 1 && b.FType == funcType && funcVal.Contains(b.FFunctionID.ToString())) + .Where(factoryId<=0 ? "1=1" : string.Format("c.FFactoryID in({0})", factoryId)) + .GroupBy("a.FID,c.FFactoryID,a.FName,a.FUser").Select("a.FID,c.FFactoryID,a.FName,a.FUser").ToList(); if (users.Count > 0) {