OrderPagedUseful 完善
This commit is contained in:
parent
68d5ab68c6
commit
f557ca72b0
@ -45,6 +45,8 @@ namespace APT.BS.WebApi.Controllers.Api
|
||||
List<int> listMineType = new List<int>();
|
||||
Guid DEPARTMENT_ID_WORKSHOP = Guid.Empty;
|
||||
Guid DEPARTMENT_ID = Guid.Empty;
|
||||
bool isMintype = false;//是否 区分生产单元
|
||||
string MineType = string.Empty;
|
||||
if (pageFilter.FilterGroup.Rules.Count == 2)
|
||||
{
|
||||
foreach (var item in pageFilter.FilterGroup.Rules)
|
||||
@ -59,11 +61,27 @@ namespace APT.BS.WebApi.Controllers.Api
|
||||
}
|
||||
}
|
||||
}
|
||||
bool isMintype = false;//是否 区分生产单元
|
||||
else if (pageFilter.FilterGroup.Rules.Count == 1)
|
||||
{
|
||||
foreach (var item in pageFilter.FilterGroup.Rules)
|
||||
{
|
||||
if (item.Field == "MineType")
|
||||
{
|
||||
isMintype = true;
|
||||
MineType = item.Value.ToString();
|
||||
pageFilter.FilterGroup.Rules.Clear();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(MineType))
|
||||
{
|
||||
listMineType = UserService.GetMineType(MineType);
|
||||
}
|
||||
}
|
||||
if (pageFilter.FilterGroup.Groups != null && pageFilter.FilterGroup.Groups.Any())
|
||||
{
|
||||
var groups = pageFilter.FilterGroup.Groups.ToList();
|
||||
string MineType = string.Empty;
|
||||
if (groups[0].Rules != null && groups[0].Rules.Any())
|
||||
{
|
||||
FilterRule ruleType = null;
|
||||
@ -89,7 +107,39 @@ namespace APT.BS.WebApi.Controllers.Api
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isMintype)
|
||||
|
||||
|
||||
var LoginDepID = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
|
||||
T_FM_DEPARTMENT dep = null;
|
||||
if (LoginDepID.HasValue)
|
||||
{
|
||||
dep = GetEntity<T_FM_DEPARTMENT>(LoginDepID.Value);
|
||||
}
|
||||
if (DataHelper.GetRequestType(HttpContext.Request.Headers) == 2 && LoginDepID.HasValue && dep != null && (dep.DEPARTMENT_TYPE == 1 || dep.DEPARTMENT_TYPE == 2))
|
||||
{
|
||||
//班组或者车间 向下取值 否则取全部
|
||||
//FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3
|
||||
if (dep.DEPARTMENT_TYPE == 2)
|
||||
{
|
||||
return WitOrderPaged(e => e.ENABLE_STATUS == 0 && e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID.Value == LoginDepID.Value && e.CODE != "admin", pageFilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
var listDepID = GetEntities<T_FM_DEPARTMENT>(e => e.PARENT_ID.HasValue && e.PARENT_ID.Value == LoginDepID.Value, null).Select(e => e.ID);
|
||||
if (listDepID != null && listDepID.Any())
|
||||
{
|
||||
var ListDepID = listDepID.ToList();
|
||||
ListDepID.Add(LoginDepID.Value);
|
||||
|
||||
return WitOrderPaged(e => e.ENABLE_STATUS == 0 && e.DEPARTMENT_ID.HasValue && ListDepID.Contains(e.DEPARTMENT_ID.Value) && e.CODE != "admin", pageFilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
return WitOrderPaged(e => e.ENABLE_STATUS == 0 && e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID.Value == LoginDepID.Value && e.CODE != "admin", pageFilter);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (isMintype)
|
||||
{
|
||||
return SafeGetPagedData(delegate (PagedActionResult<T_FM_USER> result)
|
||||
{
|
||||
@ -102,6 +152,12 @@ namespace APT.BS.WebApi.Controllers.Api
|
||||
|
||||
//var resultListUser = GetEntities<T_FM_USER>(expression, pageFilter, "Nav_ProdutionUnit.Nav_Enums");//这样不行
|
||||
pageFilter.SelectField.Add("Nav_ProdutionUnit.Nav_Enums");
|
||||
if (pageFilter.SelectField.Count() == 1)
|
||||
{
|
||||
pageFilter.SelectField.Add("ID");
|
||||
pageFilter.SelectField.Add("NAME");
|
||||
pageFilter.SelectField.Add("CODE");
|
||||
}
|
||||
var resultListUser = GetEntities<T_FM_USER>(expression, pageFilter);
|
||||
|
||||
if (resultListUser != null && resultListUser.Any())
|
||||
@ -109,14 +165,14 @@ namespace APT.BS.WebApi.Controllers.Api
|
||||
IEnumerable<T_FM_USER> resultListUserFilter = null;
|
||||
if (listMineType.Count > 0)
|
||||
{
|
||||
if (listMineType.Count == 1)
|
||||
{
|
||||
resultListUserFilter = resultListUser.Where(e => e.Nav_ProdutionUnit == null || (e.Nav_ProdutionUnit.Any() && e.Nav_ProdutionUnit.Where(x => x.Nav_Enums != null && listMineType[0] == x.Nav_Enums.VALUE).Any()));// != null
|
||||
}
|
||||
else
|
||||
{
|
||||
//if (listMineType.Count == 1)
|
||||
//{
|
||||
// resultListUserFilter = resultListUser.Where(e => e.Nav_ProdutionUnit == null || (e.Nav_ProdutionUnit.Any() && e.Nav_ProdutionUnit.Where(x => x.Nav_Enums != null && listMineType[0] == x.Nav_Enums.VALUE).Any()));// != null
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
resultListUserFilter = resultListUser.Where(e => e.Nav_ProdutionUnit == null || (e.Nav_ProdutionUnit.Any() && e.Nav_ProdutionUnit.Where(x => x.Nav_Enums != null && listMineType.Contains(x.Nav_Enums.VALUE)) != null));
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
if (resultListUserFilter != null && resultListUserFilter.Any())
|
||||
@ -132,9 +188,7 @@ namespace APT.BS.WebApi.Controllers.Api
|
||||
result.TotalCount = 0;
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
else if (DEPARTMENT_ID_WORKSHOP != Guid.Empty && DEPARTMENT_ID != Guid.Empty)
|
||||
{
|
||||
pageFilter.FilterGroup.Rules.Clear();
|
||||
@ -146,9 +200,44 @@ namespace APT.BS.WebApi.Controllers.Api
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
if (DataHelper.GetRequestType(HttpContext.Request.Headers) == 2 && LoginDepID.HasValue)
|
||||
{
|
||||
//班组或者车间 向下取值 否则取全部
|
||||
dep = GetEntity<T_FM_DEPARTMENT>(LoginDepID.Value);
|
||||
if (dep != null && (dep.DEPARTMENT_TYPE == 1 || dep.DEPARTMENT_TYPE == 2))
|
||||
{
|
||||
//FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3
|
||||
if (dep.DEPARTMENT_TYPE == 2)
|
||||
{
|
||||
return WitOrderPaged(e => e.ENABLE_STATUS == 0 && e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID.Value == LoginDepID.Value && e.CODE != "admin", pageFilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
var listDepID = GetEntities<T_FM_DEPARTMENT>(e => e.PARENT_ID.HasValue && e.PARENT_ID.Value == LoginDepID.Value, null).Select(e => e.ID);
|
||||
if (listDepID != null && listDepID.Any())
|
||||
{
|
||||
var ListDepID = listDepID.ToList();
|
||||
ListDepID.Add(LoginDepID.Value);
|
||||
|
||||
return WitOrderPaged(e => e.ENABLE_STATUS == 0 && e.DEPARTMENT_ID.HasValue && ListDepID.Contains(e.DEPARTMENT_ID.Value) && e.CODE != "admin", pageFilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
return WitOrderPaged(e => e.ENABLE_STATUS == 0 && e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID.Value == LoginDepID.Value && e.CODE != "admin", pageFilter);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return WitOrderPaged(e => e.ENABLE_STATUS == 0 && e.CODE != "admin", pageFilter);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return WitOrderPaged(e => e.ENABLE_STATUS == 0 && e.CODE != "admin", pageFilter);
|
||||
}
|
||||
}
|
||||
|
||||
#region 旧
|
||||
//List<string> listMineType = new List<string>();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user