fix 排除电子券和生日券统计处理

This commit is contained in:
2025-03-06 11:03:27 +08:00
parent 8e1208e80e
commit a64823e15b
5 changed files with 15 additions and 5 deletions

View File

@@ -54,7 +54,9 @@ public class SysDataService : ISysDataService
{
UserCode = x.Code,
Balance = SqlFunc.Subqueryable<BalanceRecordEntity>().Where(p => p.UserCode == x.Code)
.Where(p => p.Source != BalanceRecordSourceEnumType.EMealVoucher && p.Status == BalanceRecordStatusEnumType.Valid && p.IsDeleted == false)
.Where(p => !BalanceRecordSourceConstants.IgnoreSources.Contains(p.Source)
&& p.Status == BalanceRecordStatusEnumType.Valid
&& p.IsDeleted == false)
.Sum(p => p.Amount)
})
.ToListAsync();

View File

@@ -103,7 +103,7 @@ public class BalanceRepository : IBalanceRepository
var balance = await _dbContext.Queryable<BalanceRecordEntity>()
.Where(x => x.UserCode == userCode)
.Where(x => x.Status == BalanceRecordStatusEnumType.Valid)
.Where(x => x.Source != BalanceRecordSourceEnumType.EMealVoucher)
.Where(x => !BalanceRecordSourceConstants.IgnoreSources.Contains(x.Source))
.SumAsync(x => x.Amount);
var version = await _dbContext.Queryable<UserBalanceEntity>()

View File

@@ -346,7 +346,7 @@ public class BalanceService : IBalanceService
.LeftJoin<BusinessPlaceEntity>((record, ga, department, bPlace) => record.BusinessPlaceCode == bPlace.Code)
.Where((record, ga) => record.UserCode == userCode && factories.Contains(record.TenantId))
.Where(record => record.Status == BalanceRecordStatusEnumType.Valid || record.Status == BalanceRecordStatusEnumType.Obsolute)
.Where(record => record.Source != BalanceRecordSourceEnumType.EMealVoucher) //不展示电子餐券信息
.Where(record => !BalanceRecordSourceConstants.IgnoreSources.Contains(record.Source))
.WhereIF(request.SearchDateTimePeriod.HasValue(), record => record.CostDate >= request.SearchDateTimePeriod.Start && record.CostDate <= request.SearchDateTimePeriod.End)
.WhereIF(request.ApplicationType.HasValue, record => record.ApplicationType == request.ApplicationType)
.OrderBy(record => record.CostDateTime)
@@ -372,7 +372,7 @@ public class BalanceService : IBalanceService
.Where(x => x.UserCode == userCode && factories.Contains(x.TenantId))
.Where(x => x.CostDate >= monthStart && x.CostDate <= monthEnd)
.Where(x => x.Status == BalanceRecordStatusEnumType.Valid)
.Where(x => x.Source != BalanceRecordSourceEnumType.EMealVoucher)
.Where(x => !BalanceRecordSourceConstants.IgnoreSources.Contains(x.Source))
.SumAsync(x => x.Amount);
return new BalanceRecordUserResultResponse

View File

@@ -84,4 +84,12 @@ public enum BalanceRecordSourceEnumType
/// </summary>
[Description("余额迁移")]
BalanceMigration,
}
public static class BalanceRecordSourceConstants
{
public static BalanceRecordSourceEnumType[] IgnoreSources
{
get => new[] { BalanceRecordSourceEnumType.EMealVoucher, BalanceRecordSourceEnumType.Birthday };
}
}

View File

@@ -138,7 +138,7 @@ public class MealSupplementHandlerJob : BaseJob
var balance = await DbContext.Queryable<BalanceRecordEntity>()
.Where(x => x.UserCode == gainfo.Code)
.Where(x => x.Status == BalanceRecordStatusEnumType.Valid)
.Where(x => x.Source != BalanceRecordSourceEnumType.EMealVoucher)
.Where(x => !BalanceRecordSourceConstants.IgnoreSources.Contains(x.Source))
.SumAsync(x => x.Amount);
var version = await DbContext.Queryable<UserBalanceEntity>()