/// <summary>
        /// 获取分页列表数据
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ActionResult GetGridJson(ValuationDeclareRequest request)
        {
            var data = _valuationDeclare.GetDataListForPage(request);

            return(Content(data.ToJson()));
        }
示例#2
0
        /// <summary>
        /// 获取数据列表(分页)
        /// </summary>
        public PageModel GetDataListForPage(ValuationDeclareRequest request)
        {
            #region 模糊搜索条件
            var where = new Where <TbValuationDeclare>();
            if (!string.IsNullOrWhiteSpace(request.ValuationDeclareCode))
            {
                where.And(d => d.ValuationDeclareCode == request.ValuationDeclareCode);
            }
            if (!string.IsNullOrWhiteSpace(request.ProcessFactoryCode))
            {
                where.And(d => d.ProcessFactoryCode == request.ProcessFactoryCode);
            }
            #endregion

            #region 数据权限

            //数据权限
            var authorizaModel = new AuthorizeLogic().CheckAuthoriza(new AuthorizationParameterModel("ValuationDeclare"));
            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 <TbValuationDeclare>()
                           .Select(
                    TbValuationDeclare._.ID
                    , TbValuationDeclare._.Examinestatus
                    , TbValuationDeclare._.ValuationDeclareCode
                    , TbValuationDeclare._.ContractName
                    , TbValuationDeclare._.DeclareTime
                    , TbValuationDeclare._.InsertUserCode
                    , TbValuationDeclare._.InsertTime
                    , TbValuationDeclare._.ProjectId
                    , TbUser._.UserName
                    , TbCompany._.CompanyFullName.As("SiteName"))
                           .AddSelect(Db.Context.From <TbCompany>()
                                      .Select(p => p.CompanyFullName)
                                      .Where(TbCompany._.CompanyCode == TbValuationDeclare._.ProcessFactoryCode), "ProcessFactoryName")
                           .AddSelect(Db.Context.From <TbCompany>()
                                      .Select(p => p.CompanyFullName)
                                      .Where(TbCompany._.CompanyCode == TbValuationDeclare._.BranchCode), "BranchName")
                           .AddSelect(Db.Context.From <TbUser>()
                                      .Select(p => p.UserName)
                                      .Where(TbUser._.UserCode == TbValuationDeclare._.DeclareUserCode), "DeclareUserName")
                           .LeftJoin <TbUser>((a, c) => a.InsertUserCode == c.UserCode)
                           .LeftJoin <TbCompany>((a, c) => a.SiteCode == c.CompanyCode)
                           .Where(where)
                           .OrderByDescending(p => p.ID)
                           .ToPageList(request.rows, request.page);
                return(data);
            }
            catch (Exception)
            {
                throw;
            }
        }