fix 优化查询

This commit is contained in:
2024-02-29 10:43:35 +08:00
parent 2fdc4d24f1
commit d3521ec2de
5 changed files with 37 additions and 24 deletions

View File

@@ -7,6 +7,17 @@ namespace Dlhis.Canteen.Order.Request;
public class BalanceRecordPageRequest : PageDto, IValidatableObject
{
/// <summary>
/// 营业点codes
/// </summary>
public List<Guid?> BusinessplaceCodes { get; set; }
/// <summary>
/// 餐次
/// </summary>
public List<string> ShiftTypes { get; set; }
/// <summary>
/// 查询日期范围类型 DateTimeSearchEnumType
/// </summary>

View File

@@ -4,4 +4,5 @@ namespace Dlhis.Canteen.Order.Request;
public class OrderPageRequest : PageDto
{
}

View File

@@ -10,12 +10,9 @@ using Kurisu.AspNetCore.Utils.Extensions;
using Kurisu.Core.DataAccess.Dto;
using Kurisu.Core.DataAccess.Entity;
using Kurisu.Core.User.Abstractions;
using Kurisu.SqlSugar.Attributes;
using Kurisu.SqlSugar.Extensions;
using Kurisu.SqlSugar.Services;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using System.Globalization;
namespace Dlhis.Canteen.Order.Services.Implements;
@@ -42,6 +39,8 @@ public class BalanceService : IBalanceService
.LeftJoin<BasicTypeEntity>((record, ga, department, bplace, bshift, type) => record.BusinessShiftCode.ToString() == type.Code)
.WhereIF(request.SearchDateTimePeriod?.Start.HasValue == true, record => record.CostDate >= request.SearchDateTimePeriod.Start)
.WhereIF(request.SearchDateTimePeriod?.End.HasValue == true, record => record.CostDate <= request.SearchDateTimePeriod.End)
.WhereIF(request.BusinessplaceCodes.IsPresent(), record => request.BusinessplaceCodes.Contains(record.BusinessPlaceCode))
.WhereIF(request.ShiftTypes.IsPresent(), record => request.ShiftTypes.Contains(record.ShiftType))
.OrderBy(record => record.CreateTime, OrderByType.Desc)
.Select((record, ga, department, bplace, bshift, type) => new BalanceRecordResponse
{
@@ -407,7 +406,7 @@ public class BalanceService : IBalanceService
}
public async Task<Pagination<BalanceRecordResponse>> GetPageByDeviceUniqueNoAsync(BalanceRecordPageByDeviceUniqueNoRequest request)
{
var now = DateTime.Now;
@@ -675,11 +674,11 @@ public class BalanceService : IBalanceService
public async Task<Pagination<OaEMealVoucherResponse>> GetOaEMealVoucherAsync(OaEMealVoucherRequest request)
{
var page = await _dbContext.Queryable<OaEMealVoucherEntity>()
.Where(x => x.UserCode == request.UserCode)
.Select<OaEMealVoucherResponse>()
.ToPageListAsync(request);
return page;
var page = await _dbContext.Queryable<OaEMealVoucherEntity>()
.Where(x => x.UserCode == request.UserCode)
.Select<OaEMealVoucherResponse>()
.ToPageListAsync(request);
return page;
}
public async Task<Pagination<OaEMealVoucherDetailResponse>> GetOaEMealVoucherDetailAsync(OaEMealVoucherDetailRequest request)
@@ -793,6 +792,6 @@ public class BalanceService : IBalanceService
{
_dbContext.Client.QueryFilter.Restore();
}
}
}

View File

@@ -32,5 +32,4 @@ public class DeviceTaskAssignmentsController : ControllerBase
{
return await _deviceTaskAssignmentService.GetPageAsync(request);
}
}

View File

@@ -6,6 +6,7 @@ using Kurisu.AspNetCore.Utils.Extensions;
using Kurisu.Core.DataAccess.Dto;
using Kurisu.SqlSugar.Extensions;
using Kurisu.SqlSugar.Services;
using SqlSugar;
namespace Dlhis.ScheduledTask.TaskAssignment.Services.Implements;
@@ -23,19 +24,21 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService
var page = await _dbContext.Queryable<DeviceTaskEntity>()
.LeftJoin<GainfoEntity>((deviceTask, ga) => deviceTask.UserNo == ga.No)
.WhereIF(!request.Search.IsEmpty(), deviceTask => deviceTask.UserNo == request.Search)
.Select((deviceTask, ga) => new DeviceTaskAssignmentResponse
{
DeviceUniqueNo = deviceTask.DeviceUniqueNo,
ResultMessage = deviceTask.ResultMessage,
RetryCount = deviceTask.Version,
Status = deviceTask.Status,
UserNo = deviceTask.UserNo,
UserName = ga.Name,
UserCode = ga.Code,
Type = deviceTask.Type,
LastUpdateTime = deviceTask.ModifiedTime
})
.ToPageListAsync(request);
.OrderBy(deviceTask => deviceTask.CreateTime, OrderByType.Desc)
.Select((deviceTask, ga) => new DeviceTaskAssignmentResponse
{
DeviceUniqueNo = deviceTask.DeviceUniqueNo,
ResultMessage = deviceTask.ResultMessage,
RetryCount = deviceTask.Version,
Status = deviceTask.Status,
UserNo = deviceTask.UserNo,
UserName = ga.Name,
UserCode = ga.Code,
Type = deviceTask.Type,
LastUpdateTime = deviceTask.ModifiedTime
})
.ToPageListAsync(request);
return page;
}
}