fix 优化查询余额

This commit is contained in:
2024-11-14 14:59:12 +08:00
parent dc9a160e05
commit cdd3e73636
2 changed files with 10 additions and 4 deletions

View File

@@ -1,5 +1,6 @@
using Dlhis.Entity.Basic.Enums;
using Kurisu.AspNetCore.Utils.Extensions;
using Newtonsoft.Json;
namespace Dlhis.Basic.Organization.Response;
@@ -20,7 +21,10 @@ public class GainfoMealResponse
/// <summary>
/// 余额
/// </summary>
public decimal Balance { get; set; }
public string Balance => CurrentBalance.ToString("F2");
[JsonIgnore]
public decimal CurrentBalance { get; set; }
// /// <summary>
// /// 余额(充值)
@@ -41,7 +45,9 @@ public class GainfoMealResponse
/// <summary>
/// 餐补总额
/// </summary>
public decimal MealSupplementAmount { get; set; }
public string MealSupplementAmount => CurrentMealSupplementAmount.ToString("F2");
public decimal CurrentMealSupplementAmount { get; set; }
/// <summary>
/// 档案状态

View File

@@ -45,12 +45,12 @@ public class GainfoMealService : IGainfoMealService
Status = request.IsLeave
? GainfoStatusEnumType.Leave
: GainfoStatusEnumType.Working,
MealSupplementAmount = SqlFunc.Subqueryable<MealSupplementRecordEntity>()
CurrentMealSupplementAmount = SqlFunc.Subqueryable<MealSupplementRecordEntity>()
.Where(p => p.Code == x.Code)
.Where(p => factories.Contains(p.Factory))
.WhereIF(request.SearchDateTimePeriod.HasValue(), p => p.Date >= request.SearchDateTimePeriod.Start && p.Date <= request.SearchDateTimePeriod.End)
.Sum(p => p.Amount),
Balance = SqlFunc.Subqueryable<BalanceRecordEntity>()
CurrentBalance = SqlFunc.Subqueryable<BalanceRecordEntity>()
.Where(p => factories.Contains(p.TenantId))
.Where(p => p.UserCode == x.Code && p.Status == BalanceRecordStatusEnumType.Valid && p.IsDeleted == false)
.Where(p => p.Source != BalanceRecordSourceEnumType.EMealVoucher)