/// <summary> /// 获取数据列表(分页) /// </summary> public PageModel GetDataListForPage(DistributionDeclareRequest request) { #region 模糊搜索条件 var where = new Where <TbDistributionDeclare>(); if (!string.IsNullOrWhiteSpace(request.DistributionDeclareCode)) { where.And(d => d.DistributionDeclareCode == request.DistributionDeclareCode); } if (!string.IsNullOrWhiteSpace(request.ProcessFactoryCode)) { where.And(d => d.ProcessFactoryCode == request.ProcessFactoryCode); } #endregion #region 数据权限 //数据权限 var authorizaModel = new AuthorizeLogic().CheckAuthoriza(new AuthorizationParameterModel("DistributionDeclare")); if (authorizaModel.IsAuthorize) { if (authorizaModel.Ids.Count > 0 && authorizaModel.UserCodes.Count > 0) { where.And(d => d.InsertUserCode.In(authorizaModel.UserCodes) || d.ID.In(authorizaModel.Ids)); } else if (authorizaModel.Ids.Count > 0) { where.Or(d => d.ID.In(authorizaModel.Ids)); } else if (authorizaModel.UserCodes.Count > 0) { where.And(d => d.InsertUserCode.In(authorizaModel.UserCodes)); } } if (!string.IsNullOrEmpty(request.ProjectId)) { where.And(p => p.ProjectId == request.ProjectId); } #endregion try { var data = Db.Context.From <TbDistributionDeclare>() .Select( TbDistributionDeclare._.ID , TbDistributionDeclare._.Examinestatus , TbDistributionDeclare._.DistributionDeclareCode , TbDistributionDeclare._.DeclareTime , TbDistributionDeclare._.TotalAmount , TbDistributionDeclare._.InsertUserCode , TbDistributionDeclare._.InsertTime , TbDistributionDeclare._.ProjectId , TbUser._.UserName , TbCompany._.CompanyFullName.As("ProcessFactoryName")) .AddSelect(Db.Context.From <TbUser>() .Select(p => p.UserName) .Where(TbUser._.UserCode == TbDistributionDeclare._.DeclareUserCode), "DeclareUserName") .LeftJoin <TbUser>((a, c) => a.InsertUserCode == c.UserCode) .LeftJoin <TbCompany>((a, c) => a.ProcessFactoryCode == c.CompanyCode) .Where(where) .OrderByDescending(p => p.ID) .ToPageList(request.rows, request.page); return(data); } catch (Exception) { throw; } }
/// <summary> /// 获取分页列表数据 /// </summary> /// <param name="request"></param> /// <returns></returns> public ActionResult GetGridJson(DistributionDeclareRequest request) { var data = _distributionDeclare.GetDataListForPage(request); return(Content(data.ToJson())); }