fix 查询分页

This commit is contained in:
cheche
2024-01-26 17:40:23 +08:00
parent 40c655c9ff
commit f83afdb4d0
13 changed files with 188 additions and 41 deletions

View File

@@ -82,8 +82,8 @@ public class BalancesController : ControllerBase
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("recordByCostI")]
public async Task<List<BalanceRecordCostIdResponse>> RecordByCostIdAsync([FromQuery] BalanceRecordPageByCostIdRequest request)
[HttpGet("recordByCostId")]
public async Task<Pagination<BalanceRecordCostIdResponse>> RecordByCostIdAsync([FromQuery] BalanceRecordPageByCostIdRequest request)
{
return await _balanceService.RecordByCostIdAsync(request);
}
@@ -105,7 +105,7 @@ public class BalancesController : ControllerBase
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("recordSummaryByNo")]
public async Task<List<BalanceRecordSummaryRespones>> BalanceRecordSummaryByNoAsync([FromQuery] BalanceRecordSummaryRequest request)
public async Task<Pagination<BalanceRecordSummaryRespones>> BalanceRecordSummaryByNoAsync([FromQuery] BalanceRecordSummaryRequest request)
{
return await _balanceService.BalanceRecordSummaryByNoAsync(request);
}
@@ -116,7 +116,7 @@ public class BalancesController : ControllerBase
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("recordSummaryByTid")]
public async Task<List<BalanceRecordSummaryRespones>> BalanceRecordSummaryByTidAsync([FromQuery] BalanceRecordSummaryRequest request)
public async Task<Pagination<BalanceRecordSummaryRespones>> BalanceRecordSummaryByTidAsync([FromQuery] BalanceRecordSummaryRequest request)
{
return await _balanceService.BalanceRecordSummaryByTidAsync(request);
}
@@ -128,7 +128,7 @@ public class BalancesController : ControllerBase
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("BalanceRecordSummaryAsync")]
public async Task<List<BalanceRecordAnalysisRespones>> BalanceRecordAnalysisAsync([FromQuery] BalanceRecordAnalysisRequest request)
public async Task<Pagination<BalanceRecordAnalysisRespones>> BalanceRecordAnalysisAsync([FromQuery] BalanceRecordAnalysisRequest request)
{
return await _balanceService.BalanceRecordAnalysisAsync(request);
}

View File

@@ -1,8 +1,9 @@
using SqlSugar;
using Kurisu.Core.DataAccess.Dto;
using SqlSugar;
namespace Dlhis.Canteen.Order.Request
{
public class BalanceRecordAnalysisRequest
public class BalanceRecordAnalysisRequest : PageDto
{
/// <summary>
/// 开始日期

View File

@@ -14,13 +14,13 @@ public interface IBalanceService : IScopeDependency
Task ObsoluteAsync(BalanceRecordObsoluteRequest request);
Task<List<BalanceRecordCostIdResponse>> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request);
Task<Pagination<BalanceRecordCostIdResponse>> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request);
Task<Pagination<BalanceRecordResponse>> RecordPageDetailsAsync(BalanceRecordPageDetailsRequest request);
Task<List<BalanceRecordSummaryRespones>> BalanceRecordSummaryByNoAsync(BalanceRecordSummaryRequest request);
Task<Pagination<BalanceRecordSummaryRespones>> BalanceRecordSummaryByNoAsync(BalanceRecordSummaryRequest request);
Task<List<BalanceRecordSummaryRespones>> BalanceRecordSummaryByTidAsync(BalanceRecordSummaryRequest request);
Task<Pagination<BalanceRecordSummaryRespones>> BalanceRecordSummaryByTidAsync(BalanceRecordSummaryRequest request);
Task<List<BalanceRecordAnalysisRespones>> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request);
Task<Pagination<BalanceRecordAnalysisRespones>> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request);
}

View File

@@ -76,7 +76,7 @@ public class BalanceService : IBalanceService
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<List<BalanceRecordCostIdResponse>> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request)
public async Task<Pagination<BalanceRecordCostIdResponse>> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request)
{
var shiftCodeDict = await GetShiftCode();
@@ -85,10 +85,10 @@ public class BalanceService : IBalanceService
.WhereIF(!request.DepartmentNo.IsEmpty(), record => record.DepartmentNo == request.DepartmentNo)
.WhereIF(!request.OriginTenantId.IsEmpty(), record => record.OriginTenantId == request.OriginTenantId)
.WhereIF(!request.CostId.IsEmpty(), record => record.CostId == request.CostId)
.WhereIF(request.StartDatetime.HasValue, record => record.CostDateTime >= request.StartDatetime)
.WhereIF(request.StartDatetime.HasValue, record => record.CostDateTime >= request.StartDatetime)
.WhereIF(request.EndDatetime.HasValue, record => record.CostDateTime <= request.EndDatetime)
.Where(record => record.Type == BalanceRecordTypeEnumType.Out)
.OrderBy(record => record.CreateTime, OrderByType.Desc)
.OrderBy(record => record.CreateTime, OrderByType.Desc)
.ToListAsync();
var lst = new List<BalanceRecordCostIdResponse>();
@@ -102,20 +102,14 @@ public class BalanceService : IBalanceService
// 每个餐次人数
obj.BreakfastNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
obj.LunchNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]);
obj.DinnerNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]);
obj.LateNightNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]);
//餐次金额
obj.BreakfastAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount);
obj.LunchAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount);
obj.DinnerAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount);
obj.LateNightAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount);
// 每个餐次单价
@@ -127,9 +121,23 @@ public class BalanceService : IBalanceService
// 总人数 总金额
obj.TotalNumberOfPeople = obj.BreakfastNumberOfPeople + obj.LunchNumberOfPeople + obj.DinnerNumberOfPeople + obj.LateNightNumberOfPeople;
obj.TotalAmount = obj.BreakfastAmount + obj.LunchAmount + obj.DinnerAmount + obj.LateNightAmount;
lst.Add(obj);
}
return lst;
// 分页操作
var startIndex = (request.PageIndex - 1) * request.PageSize;
var pagedData = lst.Skip(startIndex).Take(request.PageSize).ToList();
var pagination = new Pagination<BalanceRecordCostIdResponse>
{
PageIndex = request.PageIndex,
PageSize = request.PageSize,
Total = lst.Count, // 使用原始列表的总数进行分页
Data = pagedData
};
return pagination;
}
/// <summary>
@@ -188,7 +196,7 @@ public class BalanceService : IBalanceService
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<List<BalanceRecordSummaryRespones>> BalanceRecordSummaryByNoAsync(BalanceRecordSummaryRequest request)
public async Task<Pagination<BalanceRecordSummaryRespones>> BalanceRecordSummaryByNoAsync(BalanceRecordSummaryRequest request)
{
var shiftCodeDict = await GetShiftCode();
@@ -245,7 +253,19 @@ public class BalanceService : IBalanceService
lst.Add(obj);
}
return lst;
// 分页操作
var startIndex = (request.PageIndex - 1) * request.PageSize;
var pagedData = lst.Skip(startIndex).Take(request.PageSize).ToList();
var pagination = new Pagination<BalanceRecordSummaryRespones>
{
PageIndex = request.PageIndex,
PageSize = request.PageSize,
Total = lst.Count, // 使用原始列表的总数进行分页
Data = pagedData
};
return pagination;
}
/// <summary>
@@ -253,7 +273,7 @@ public class BalanceService : IBalanceService
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<List<BalanceRecordSummaryRespones>> BalanceRecordSummaryByTidAsync(BalanceRecordSummaryRequest request)
public async Task<Pagination<BalanceRecordSummaryRespones>> BalanceRecordSummaryByTidAsync(BalanceRecordSummaryRequest request)
{
var shiftCodeDict = await GetShiftCode();
@@ -309,7 +329,19 @@ public class BalanceService : IBalanceService
obj.TotalAmount = obj.BreakfastAmount + obj.LunchAmount + obj.DinnerAmount + obj.LateNightAmount;
lst.Add(obj);
}
return lst;
// 分页操作
var startIndex = (request.PageIndex - 1) * request.PageSize;
var pagedData = lst.Skip(startIndex).Take(request.PageSize).ToList();
var pagination = new Pagination<BalanceRecordSummaryRespones>
{
PageIndex = request.PageIndex,
PageSize = request.PageSize,
Total = lst.Count, // 使用原始列表的总数进行分页
Data = pagedData
};
return pagination;
}
/// <summary>
@@ -317,7 +349,7 @@ public class BalanceService : IBalanceService
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<List<BalanceRecordAnalysisRespones>> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request)
public async Task<Pagination<BalanceRecordAnalysisRespones>> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request)
{
var shiftCodeDict = await GetShiftCode();
@@ -348,7 +380,19 @@ public class BalanceService : IBalanceService
obj.TotalNumberOfPeople = obj.BreakfastNumberOfPeople + obj.LunchNumberOfPeople + obj.DinnerNumberOfPeople + obj.LateNightNumberOfPeople;
lst.Add(obj);
}
return lst;
// 分页操作
var startIndex = (request.PageIndex - 1) * request.PageSize;
var pagedData = lst.Skip(startIndex).Take(request.PageSize).ToList();
var pagination = new Pagination<BalanceRecordAnalysisRespones>
{
PageIndex = request.PageIndex,
PageSize = request.PageSize,
Total = lst.Count, // 使用原始列表的总数进行分页
Data = pagedData
};
return pagination;
}