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 public class BalanceRecordPageRequest : PageDto, IValidatableObject
{ {
/// <summary>
/// 营业点codes
/// </summary>
public List<Guid?> BusinessplaceCodes { get; set; }
/// <summary>
/// 餐次
/// </summary>
public List<string> ShiftTypes { get; set; }
/// <summary> /// <summary>
/// 查询日期范围类型 DateTimeSearchEnumType /// 查询日期范围类型 DateTimeSearchEnumType
/// </summary> /// </summary>

View File

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

View File

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

View File

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

View File

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