fix 优化查询余额
This commit is contained in:
@@ -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>
|
||||||
/// 档案状态
|
/// 档案状态
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user