diff --git a/MDM/Services/Material/MaterialBomService.cs b/MDM/Services/Material/MaterialBomService.cs index a09c6ed..3bed534 100644 --- a/MDM/Services/Material/MaterialBomService.cs +++ b/MDM/Services/Material/MaterialBomService.cs @@ -52,34 +52,43 @@ namespace MDM.Services.Material { var predicate = Expressionable.Create() .AndIF(!string.IsNullOrEmpty(parm.InvCode), it => it.InvCode.Contains(parm.InvCode)) - .AndIF(!string.IsNullOrEmpty(parm.SubInvCode), it => it.SubInvCode.Contains(parm.SubInvCode)) - ; + .AndIF(!string.IsNullOrEmpty(parm.SubInvCode), it => it.SubInvCode.Contains(parm.SubInvCode)); var query = Context.Queryable() - .Where(predicate.ToExpression()) - .GroupBy(it => it.InvCode) - .Select(it => new MaterialBomDto() - { + .Where(predicate.ToExpression()) + .GroupBy(it => it.InvCode) + .Select(it => new MaterialBomDto() + { + Id = SqlFunc.AggregateMax(it.Id), + InvCode = SqlFunc.AggregateMax(it.InvCode), + InvName = SqlFunc.AggregateMax(it.InvName), + SubInvName = SqlFunc.AggregateMax(it.SubInvName), + Iusequantity = SqlFunc.AggregateMax(it.Iusequantity), + BOMVersion = SqlFunc.AggregateMax(it.BOMVersion), + CreatedBy = SqlFunc.AggregateMax(it.CreatedBy), + // 改动1:注释掉CreatedTime聚合(临时避开) + // CreatedTime = SqlFunc.AggregateMax(it.CreatedTime), + UpdatedBy = SqlFunc.AggregateMax(it.UpdatedBy), + UpdatedTime = SqlFunc.AggregateMax(it.UpdatedTime) + }) + // 改动2:手动指定用UpdatedTime(数据库列updated_time)排序,避开CreatedTime + .OrderBy("MAX(updated_time) DESC"); - //Id = SqlFunc.AggregateMax(it.Id), - InvCode = it.InvCode, - InvName = SqlFunc.AggregateMax(it.InvName), - SubInvName = SqlFunc.AggregateMax(it.SubInvName), - Iusequantity = SqlFunc.AggregateMax(it.Iusequantity), - BOMVersion = SqlFunc.AggregateMax(it.BOMVersion), - CreatedBy = SqlFunc.AggregateMax(it.CreatedBy), - //CreatedTime = SqlFunc.AggregateMax(it.CreatedTime), - UpdatedBy = SqlFunc.AggregateMax(it.UpdatedBy), - UpdatedTime = SqlFunc.AggregateMax(it.UpdatedTime) - - - }).OrderBy(it => SqlFunc.AggregateMax(it.CreatedTime), OrderByType.Desc); - var response = query.ToPage(parm); + // 匹配你的PagedInfo类的分页逻辑 + int pageIndex = 1; + int pageSize = 10; + int totalNum = query.Count(); + var response = new PagedInfo() + { + PageIndex = pageIndex, + PageSize = pageSize, + TotalNum = totalNum, + Result = query.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(), + Extra = new Dictionary() + }; return response; - - } ///