96 lines
3.6 KiB
C#
96 lines
3.6 KiB
C#
using Dlhis.Canteen.Order.Request;
|
|
using Dlhis.Canteen.Order.Request.Common;
|
|
using Dlhis.Canteen.Order.Response;
|
|
using Dlhis.Canteen.Order.Services;
|
|
using Kurisu.AspNetCore.DataAccess.Dto;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace Dlhis.Canteen.Order.Controllers;
|
|
|
|
/// <summary>
|
|
/// 消费统计
|
|
/// </summary>
|
|
[Authorize]
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class BalanceSummaryController : ControllerBase
|
|
{
|
|
private readonly IBalanceSummaryService _balanceSummaryService;
|
|
|
|
public BalanceSummaryController(IBalanceSummaryService balanceSummaryService)
|
|
{
|
|
_balanceSummaryService = balanceSummaryService;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 用餐分析
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("analysis")]
|
|
public async Task<BalanceRecordAnalysisSummaryResponse> BalanceRecordAnalysisAsync([FromQuery] BalanceRecordAnalysisRequest request)
|
|
{
|
|
return await _balanceSummaryService.BalanceRecordAnalysisAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 部门用餐分析,统计部门金额和消费人数
|
|
/// </summary>
|
|
[HttpGet("department/analysis/amountAndCount")]
|
|
public async Task<Pagination<BalanceRecordAnalysisDResponse>> BalanceRecordAnalysisByDepartmentAsync([FromQuery] SummaryCommonDto request)
|
|
{
|
|
return await _balanceSummaryService.BalanceRecordAnalysisByDepartmentAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 成本中心用餐分析,统计成本中心金额和消费人数
|
|
/// </summary>
|
|
[HttpGet("costId/analysis/amountAndCount")]
|
|
public async Task<Pagination<BalanceRecordAnalysisDResponse>> BalanceRecordAnalysisByCostAsync([FromQuery] SummaryCommonDto request)
|
|
{
|
|
return await _balanceSummaryService.BalanceRecordAnalysisByCostAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 餐次用餐分析,统计金额
|
|
/// </summary>
|
|
[HttpGet("shift/analysis/amount")]
|
|
public async Task<BalanceRecordAnalysisShiftAmountResponse> BalanceRecordShiftAnalysisAmountAsync([FromQuery] BalanceRecordAnalysisByShiftRequest request)
|
|
{
|
|
return await _balanceSummaryService.BalanceRecordShiftAnalysisAmountAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 餐次用餐分析,统计金额和人数
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("shift/analysis/amountAndCount")]
|
|
public async Task<BalanceRecordAnalysisShiftAmountAndCountResponse> BalanceRecordShiftAnalysisAmountAndCountAsync([FromQuery] BalanceRecordAnalysisByShiftRequest request)
|
|
{
|
|
return await _balanceSummaryService.BalanceRecordShiftAnalysisAmountAndCountAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 厂区就餐分析,统计金额和人数
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("factory/analysis/amountAndUserCount")]
|
|
public async Task<Pagination<BalanceRecordAnalysisFactoryAmountAndCountResponse>> BalanceRecordAnalysisByFactoryAsync([FromQuery] SummaryCommonDto request)
|
|
{
|
|
return await _balanceSummaryService.BalanceRecordAnalysisByFactoryAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 餐次和营业点就餐分析,统计金额和人数/人次
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("shiftAndBusinessPlace/analysis/amountAndUserCountAndCostCount")]
|
|
public async Task<ShiftAndBusinessPlaceAnalysisResponse> ShiftAndBusinessPlaceAnalysisAsync([FromQuery] BalanceRecordPageDetailRequest request)
|
|
{
|
|
return await _balanceSummaryService.ShiftAndBusinessPlaceAnalysisAsync(request);
|
|
}
|
|
} |