fix 修复查询
This commit is contained in:
@@ -84,11 +84,9 @@ public class VouchersController : ControllerBase
|
|||||||
/// <param name="request"></param>
|
/// <param name="request"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpGet("balance/page")]
|
[HttpGet("balance/page")]
|
||||||
[IgnoreTenant]
|
|
||||||
public async Task<Pagination<VoucherBalancePageResponse>> GetVoucherBalancePageAsync([FromQuery] VoucherBalancePageRequest request)
|
public async Task<Pagination<VoucherBalancePageResponse>> GetVoucherBalancePageAsync([FromQuery] VoucherBalancePageRequest request)
|
||||||
{
|
{
|
||||||
var srv = _namedResolver.GetService<IVoucherService>(request.Type.ToString() + "VoucherService");
|
var srv = _namedResolver.GetService<IVoucherService>(request.Type.ToString() + "VoucherService");
|
||||||
|
|
||||||
return await srv.GetVoucherBalancePageAsync(request);
|
return await srv.GetVoucherBalancePageAsync(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,7 +99,9 @@ public class VouchersController : ControllerBase
|
|||||||
[IgnoreTenant]
|
[IgnoreTenant]
|
||||||
public async Task<Pagination<VoucherBalancePageResponse>> GetMyVoucherBalancePageAsync([FromQuery] VoucherBalancePageRequest request)
|
public async Task<Pagination<VoucherBalancePageResponse>> GetMyVoucherBalancePageAsync([FromQuery] VoucherBalancePageRequest request)
|
||||||
{
|
{
|
||||||
|
var userCode = _currentUser.GetUserClaim(UserClaimConstants.JinkoCode);
|
||||||
var srv = _namedResolver.GetService<IVoucherService>(request.Type.ToString() + "VoucherService");
|
var srv = _namedResolver.GetService<IVoucherService>(request.Type.ToString() + "VoucherService");
|
||||||
|
request.UserCode = userCode;
|
||||||
return await srv.GetVoucherBalancePageAsync(request);
|
return await srv.GetVoucherBalancePageAsync(request);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,7 @@ using Dlhis.Canteen.Voucher.Requests;
|
|||||||
using Dlhis.Canteen.Voucher.Response;
|
using Dlhis.Canteen.Voucher.Response;
|
||||||
using Dlhis.Entity.Basic.Entity;
|
using Dlhis.Entity.Basic.Entity;
|
||||||
using Dlhis.Entity.Canteen.Entities.Voucher;
|
using Dlhis.Entity.Canteen.Entities.Voucher;
|
||||||
|
using Kurisu.AspNetCore.Authentication.Abstractions;
|
||||||
using Kurisu.AspNetCore.CustomClass;
|
using Kurisu.AspNetCore.CustomClass;
|
||||||
using Kurisu.AspNetCore.DataAccess.Dto;
|
using Kurisu.AspNetCore.DataAccess.Dto;
|
||||||
using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions;
|
using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions;
|
||||||
@@ -13,19 +14,24 @@ namespace Dlhis.Canteen.Tickets.Services.Implements;
|
|||||||
|
|
||||||
public abstract class BaseVoucherService : IVoucherService
|
public abstract class BaseVoucherService : IVoucherService
|
||||||
{
|
{
|
||||||
|
private readonly ICurrentUser _currentUser;
|
||||||
|
|
||||||
protected IDbContext DbContext { get; set; }
|
protected IDbContext DbContext { get; set; }
|
||||||
|
|
||||||
protected BaseVoucherService(IDbContext dbContext)
|
protected BaseVoucherService(IServiceProvider serviceProvider)
|
||||||
{
|
{
|
||||||
DbContext = dbContext;
|
DbContext = serviceProvider.GetService<IDbContext>();
|
||||||
|
_currentUser = serviceProvider.GetService<ICurrentUser>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<Pagination<VoucherPageResponse>> GetPageAsync(VoucherPageRequest request)
|
public async Task<Pagination<VoucherPageResponse>> GetPageAsync(VoucherPageRequest request)
|
||||||
{
|
{
|
||||||
|
var tenantId = _currentUser.GetStringTenantId();
|
||||||
|
|
||||||
var pagination = await DbContext.Queryable<VoucherEntity>()
|
var pagination = await DbContext.Queryable<VoucherEntity>()
|
||||||
.LeftJoin<VoucherUserInfoEntity>((x, u) => x.No == u.VoucherNo)
|
.LeftJoin<VoucherUserInfoEntity>((x, u) => x.No == u.VoucherNo)
|
||||||
.LeftJoin<GainfoEntity>((x, u, ga) => u.UserCode == ga.Code)
|
.LeftJoin<GainfoEntity>((x, u, ga) => u.UserCode == ga.Code)
|
||||||
.Where(x => x.Type == request.Type)
|
.Where((x, u) => x.Type == request.Type && u.Factory == tenantId)
|
||||||
.WhereIF(request.UserCode.IsPresent(), (x, u, ga) => u.UserCode == request.UserCode)
|
.WhereIF(request.UserCode.IsPresent(), (x, u, ga) => u.UserCode == request.UserCode)
|
||||||
.WhereIF(request.SearchDateTimePeriod.HasValue(),
|
.WhereIF(request.SearchDateTimePeriod.HasValue(),
|
||||||
(x, u, ga) => x.CreateTime >= request.SearchDateTimePeriod.Start &&
|
(x, u, ga) => x.CreateTime >= request.SearchDateTimePeriod.Start &&
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Dlhis.Basic.Api;
|
using Dlhis.Basic.Api;
|
||||||
using Dlhis.Canteen.Tickets.Services;
|
using Dlhis.Canteen.Tickets.Services;
|
||||||
@@ -15,7 +14,6 @@ using Kurisu.AspNetCore.CustomClass;
|
|||||||
using Kurisu.AspNetCore.DataAccess.Dto;
|
using Kurisu.AspNetCore.DataAccess.Dto;
|
||||||
using Kurisu.AspNetCore.DataAccess.Entity;
|
using Kurisu.AspNetCore.DataAccess.Entity;
|
||||||
using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions;
|
using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions;
|
||||||
using Kurisu.AspNetCore.DataAccess.SqlSugar.Services;
|
|
||||||
using Kurisu.AspNetCore.Utils.Extensions;
|
using Kurisu.AspNetCore.Utils.Extensions;
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
|
|
||||||
@@ -27,9 +25,9 @@ public class BirthdayVoucherService : BaseVoucherService, IVoucherService
|
|||||||
private readonly IFactorySettingApi _factorySettingApi;
|
private readonly IFactorySettingApi _factorySettingApi;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public BirthdayVoucherService(IDbContext dbContext, IFactorySettingApi factorySettingApi) : base(dbContext)
|
public BirthdayVoucherService(IServiceProvider serviceProvider) : base(serviceProvider)
|
||||||
{
|
{
|
||||||
_factorySettingApi = factorySettingApi;
|
_factorySettingApi = serviceProvider.GetService<IFactorySettingApi>();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
@@ -164,6 +162,7 @@ public class BirthdayVoucherService : BaseVoucherService, IVoucherService
|
|||||||
//var limit = end.Date.AddHours(9);//9点入职
|
//var limit = end.Date.AddHours(9);//9点入职
|
||||||
return await DbContext.Queryable<GainfoEntity>()
|
return await DbContext.Queryable<GainfoEntity>()
|
||||||
.WhereIF(userCodes.IsPresent(), x => userCodes.Contains(x.Code))
|
.WhereIF(userCodes.IsPresent(), x => userCodes.Contains(x.Code))
|
||||||
|
.Where(x => !SqlFunc.IsNullOrEmpty(x.DepartmentNo))
|
||||||
.Where(x => x.Type == GainfoUserTypeEnumType.Normal || x.Type == GainfoUserTypeEnumType.SecurityWhite)
|
.Where(x => x.Type == GainfoUserTypeEnumType.Normal || x.Type == GainfoUserTypeEnumType.SecurityWhite)
|
||||||
.Where(x => x.Birthday.HasValue && !string.IsNullOrEmpty(x.CostId))
|
.Where(x => x.Birthday.HasValue && !string.IsNullOrEmpty(x.CostId))
|
||||||
.WhereIF(isToday, x => SqlFunc.DateValue(x.Birthday.Value, DateType.Month) == begin.Month && SqlFunc.DateValue(x.Birthday.Value, DateType.Day) == begin.Day)
|
.WhereIF(isToday, x => SqlFunc.DateValue(x.Birthday.Value, DateType.Month) == begin.Month && SqlFunc.DateValue(x.Birthday.Value, DateType.Day) == begin.Day)
|
||||||
@@ -222,7 +221,7 @@ public class BirthdayVoucherService : BaseVoucherService, IVoucherService
|
|||||||
return await DbContext.Queryable<BalanceRecordEntity>()
|
return await DbContext.Queryable<BalanceRecordEntity>()
|
||||||
.LeftJoin<BusinessPlaceEntity>((x, bPlace) => x.BusinessPlaceCode == bPlace.Code)
|
.LeftJoin<BusinessPlaceEntity>((x, bPlace) => x.BusinessPlaceCode == bPlace.Code)
|
||||||
.LeftJoin<DepartmentEntity>((x, bPlace, department) => x.DepartmentNo == department.No)
|
.LeftJoin<DepartmentEntity>((x, bPlace, department) => x.DepartmentNo == department.No)
|
||||||
.Where(x => x.UserCode == request.UserCode)
|
.WhereIF(request.UserCode.IsPresent(), x => x.UserCode == request.UserCode)
|
||||||
.WhereIF(request.SearchDateTimePeriod.HasValue(), x => x.CostDate >= request.SearchDateTimePeriod.Start && x.CostDate <= request.SearchDateTimePeriod.End) //成本日期
|
.WhereIF(request.SearchDateTimePeriod.HasValue(), x => x.CostDate >= request.SearchDateTimePeriod.Start && x.CostDate <= request.SearchDateTimePeriod.End) //成本日期
|
||||||
.Where(x => x.Status == BalanceRecordStatusEnumType.Valid && x.Type == BalanceRecordTypeEnumType.Out) //有效,消费数据
|
.Where(x => x.Status == BalanceRecordStatusEnumType.Valid && x.Type == BalanceRecordTypeEnumType.Out) //有效,消费数据
|
||||||
.Where(x => x.Source == BalanceRecordSourceEnumType.Birthday)
|
.Where(x => x.Source == BalanceRecordSourceEnumType.Birthday)
|
||||||
|
|||||||
Reference in New Issue
Block a user