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
 | 
			
		||||
                                {
 | 
			
		||||
                                    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 (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();
 | 
			
		||||
@ -147,7 +201,42 @@ namespace APT.BS.WebApi.Controllers.Api
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    return WitOrderPaged(e => e.ENABLE_STATUS == 0 && e.CODE != "admin", pageFilter);
 | 
			
		||||
                    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    旧
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user