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

View File

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