fix 餐补汇总统计
This commit is contained in:
@@ -14,7 +14,7 @@ namespace Dlhis.Canteen.MealSupplementRecord.Controller;
|
|||||||
[Authorize]
|
[Authorize]
|
||||||
[Route("api/[controller]")]
|
[Route("api/[controller]")]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
public class MealSupplementsRecordController
|
public class MealSupplementsRecordController : ControllerBase
|
||||||
{
|
{
|
||||||
private readonly IMealSupplementRecordService _mealSupplementRecordService;
|
private readonly IMealSupplementRecordService _mealSupplementRecordService;
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@ public class MealSupplementsRecordController
|
|||||||
/// <param name="request"></param>
|
/// <param name="request"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpGet("page")]
|
[HttpGet("page")]
|
||||||
public async Task<Pagination<MealSupplementRecordResponse>> MealSupplementRecordPageAsync([FromQuery] MealSupplementRecordRequest request)
|
public async Task<MealSupplementRecordSummaryResponse> MealSupplementRecordPageAsync([FromQuery] MealSupplementRecordRequest request)
|
||||||
{
|
{
|
||||||
return await _mealSupplementRecordService.GetPageAsync(request);
|
return await _mealSupplementRecordService.GetPageAsync(request);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,18 @@
|
|||||||
using Dlhis.Entity.Basic.Enums;
|
using Dlhis.Entity.Basic.Enums;
|
||||||
|
using Kurisu.AspNetCore.DataAccess.Dto;
|
||||||
using Kurisu.AspNetCore.Utils.Converters;
|
using Kurisu.AspNetCore.Utils.Converters;
|
||||||
using Kurisu.AspNetCore.Utils.Extensions;
|
using Kurisu.AspNetCore.Utils.Extensions;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace Dlhis.Canteen.MealSupplementRecord.Response;
|
namespace Dlhis.Canteen.MealSupplementRecord.Response;
|
||||||
|
|
||||||
|
public class MealSupplementRecordSummaryResponse
|
||||||
|
{
|
||||||
|
public decimal Amount { get; set; }
|
||||||
|
|
||||||
|
public Pagination<MealSupplementRecordResponse> Pagination { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
public class MealSupplementRecordResponse
|
public class MealSupplementRecordResponse
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ namespace Dlhis.Canteen.MealSupplementRecord.Services;
|
|||||||
|
|
||||||
public interface IMealSupplementRecordService : IScopeDependency
|
public interface IMealSupplementRecordService : IScopeDependency
|
||||||
{
|
{
|
||||||
Task<Pagination<MealSupplementRecordResponse>> GetPageAsync(MealSupplementRecordRequest request);
|
Task<MealSupplementRecordSummaryResponse> GetPageAsync(MealSupplementRecordRequest request);
|
||||||
|
|
||||||
Task<MealSupplementRecordMyResponse> GetMyMealSupplementRecords(MealSupplementRecordMyRequest request);
|
Task<MealSupplementRecordMyResponse> GetMyMealSupplementRecords(MealSupplementRecordMyRequest request);
|
||||||
|
|
||||||
Task InitImportAsync(List<MealSupplementInitImportRequest> requests);
|
Task InitImportAsync(List<MealSupplementInitImportRequest> requests);
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,6 @@ using Dlhis.Entity.Canteen.Enums;
|
|||||||
using Dlhis.Sys.Api;
|
using Dlhis.Sys.Api;
|
||||||
using Kurisu.AspNetCore.Authentication.Abstractions;
|
using Kurisu.AspNetCore.Authentication.Abstractions;
|
||||||
using Kurisu.AspNetCore.CustomClass;
|
using Kurisu.AspNetCore.CustomClass;
|
||||||
using Kurisu.AspNetCore.DataAccess.Dto;
|
|
||||||
using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions;
|
using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions;
|
||||||
using Kurisu.AspNetCore.DataAccess.SqlSugar.Services;
|
using Kurisu.AspNetCore.DataAccess.SqlSugar.Services;
|
||||||
using Kurisu.AspNetCore.Utils;
|
using Kurisu.AspNetCore.Utils;
|
||||||
@@ -28,9 +27,9 @@ public class MealSupplementRecordService : IMealSupplementRecordService
|
|||||||
_tenantApi = tenantApi;
|
_tenantApi = tenantApi;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<Pagination<MealSupplementRecordResponse>> GetPageAsync(MealSupplementRecordRequest request)
|
public async Task<MealSupplementRecordSummaryResponse> GetPageAsync(MealSupplementRecordRequest request)
|
||||||
{
|
{
|
||||||
var page = await _dbContext.Queryable<MealSupplementRecordEntity>()
|
var queryable = _dbContext.Queryable<MealSupplementRecordEntity>()
|
||||||
.LeftJoin<GainfoEntity>((x, ga) => x.Code == ga.Code)
|
.LeftJoin<GainfoEntity>((x, ga) => x.Code == ga.Code)
|
||||||
.LeftJoin<DepartmentEntity>((x, ga, department) => ga.DepartmentNo == department.No)
|
.LeftJoin<DepartmentEntity>((x, ga, department) => ga.DepartmentNo == department.No)
|
||||||
.WhereIF(request.Status.HasValue, x => x.Status == request.Status)
|
.WhereIF(request.Status.HasValue, x => x.Status == request.Status)
|
||||||
@@ -40,7 +39,9 @@ public class MealSupplementRecordService : IMealSupplementRecordService
|
|||||||
.WhereIF(request.DepartmentNo.IsPresent(), (x, ga) => ga.DepartmentNo == request.DepartmentNo)
|
.WhereIF(request.DepartmentNo.IsPresent(), (x, ga) => ga.DepartmentNo == request.DepartmentNo)
|
||||||
.WhereIF(request.Werks.IsPresent(), (x, ga) => ga.Werks == request.Werks)
|
.WhereIF(request.Werks.IsPresent(), (x, ga) => ga.Werks == request.Werks)
|
||||||
.WhereIF(request.DateTimePeriod.HasValue(), x => x.Date >= request.DateTimePeriod.Start && x.Date <= request.DateTimePeriod.End)
|
.WhereIF(request.DateTimePeriod.HasValue(), x => x.Date >= request.DateTimePeriod.Start && x.Date <= request.DateTimePeriod.End)
|
||||||
.WhereIF(request.Search.IsPresent(), (x, ga) => x.Code == request.Search || ga.Name == request.Search)
|
.WhereIF(request.Search.IsPresent(), (x, ga) => x.Code == request.Search || ga.Name == request.Search);
|
||||||
|
|
||||||
|
var page = await queryable
|
||||||
.Select((x, ga, department) => new MealSupplementRecordResponse
|
.Select((x, ga, department) => new MealSupplementRecordResponse
|
||||||
{
|
{
|
||||||
Amount = x.Amount,
|
Amount = x.Amount,
|
||||||
@@ -74,10 +75,15 @@ public class MealSupplementRecordService : IMealSupplementRecordService
|
|||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
|
//ignore
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return page;
|
return new MealSupplementRecordSummaryResponse
|
||||||
|
{
|
||||||
|
Amount = await queryable.SumAsync(x => x.Amount),
|
||||||
|
Pagination = page
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<MealSupplementRecordMyResponse> GetMyMealSupplementRecords(MealSupplementRecordMyRequest request)
|
public async Task<MealSupplementRecordMyResponse> GetMyMealSupplementRecords(MealSupplementRecordMyRequest request)
|
||||||
|
|||||||
Reference in New Issue
Block a user