fix 优化判断

This commit is contained in:
2024-01-22 10:48:18 +08:00
parent e749a6cc14
commit 0fa8cba30a
2 changed files with 30 additions and 25 deletions

View File

@@ -14,8 +14,9 @@ public class BusinessPlaceShiftSaveRequest : IValidatableObject
public Guid BusinessPlaceCode { get; set; }
/// <summary>
/// 自定义代号
/// 自定义代号 mealshift
/// </summary>
[Required(ErrorMessage = "餐次编号不能为空")]
public string CustomCode { get; set; }
/// <summary>

View File

@@ -170,16 +170,15 @@ public class BalanceService : IBalanceService
/// <returns></returns>
public async Task<List<BalanceRecordSummaryRespones>> BalanceRecordSummaryByNoAsync(BalanceRecordSummaryRequest request)
{
var shiftCodeDict = await GetShiftCode();
var paeginfos = await _dbContext.Queryable<BalanceRecordEntity>()
.WhereIF(!request.DepartmentNo.IsEmpty(), record => record.DepartmentNo == request.DepartmentNo)
.WhereIF(!request.UserCode.IsEmpty(), record => record.UserCode == request.UserCode)
.WhereIF(!request.UserCode.IsEmpty(), record => record.UserCode == request.UserCode)
.WhereIF(!request.OriginTenantId.IsEmpty(), record => record.TenantId == request.OriginTenantId)
.WhereIF(request.StartDatetime.HasValue, record => record.CostDateTime >= request.StartDatetime)
.WhereIF(request.EndDatetime.HasValue, record => record.CostDateTime <= request.EndDatetime)
.Where(record => record.CostId == request.CostId && record.Amount < 0)
.WhereIF(request.StartDatetime.HasValue, record => record.CostDateTime >= request.StartDatetime)
.WhereIF(request.EndDatetime.HasValue, record => record.CostDateTime <= request.EndDatetime)
.Where(record => record.CostId == request.CostId && record.Type == BalanceRecordTypeEnumType.Out)
.OrderBy(record => record.CreateTime, OrderByType.Desc)
.ToListAsync();
@@ -246,7 +245,7 @@ public class BalanceService : IBalanceService
.WhereIF(!request.OriginTenantId.IsEmpty(), record => record.TenantId == request.OriginTenantId)
.WhereIF(request.StartDatetime.HasValue, record => record.CostDateTime >= request.StartDatetime)
.WhereIF(request.EndDatetime.HasValue, record => record.CostDateTime <= request.EndDatetime)
.Where(record => record.CostId == request.CostId && record.Amount < 0)
.Where(record => record.CostId == request.CostId && record.Type == BalanceRecordTypeEnumType.Out)
.OrderBy(record => record.CreateTime, OrderByType.Desc)
.ToListAsync();
@@ -294,24 +293,7 @@ public class BalanceService : IBalanceService
return lst;
}
private async Task<Dictionary<string, string>> GetShiftCode()
{
var list = await _dbContext.Queryable<BasicTypeEntity>().ToListAsync();
var shiftCodeDict = new Dictionary<string, string>();
var breakfastCode = list.FirstOrDefault(x => x.Display == "早餐")?.Code;
var lunchCode = list.FirstOrDefault(x => x.Display == "午餐")?.Code;
var dinnerCode = list.FirstOrDefault(x => x.Display == "晚餐")?.Code;
var lateNightCode = list.FirstOrDefault(x => x.Display == "宵夜")?.Code;
shiftCodeDict.Add("Breakfast", breakfastCode);
shiftCodeDict.Add("Lunch", lunchCode);
shiftCodeDict.Add("Dinner", dinnerCode);
shiftCodeDict.Add("LateNight", lateNightCode);
return shiftCodeDict;
}
/// <summary>
@@ -328,7 +310,8 @@ public class BalanceService : IBalanceService
.WhereIF(request.StartDatetime.HasValue, record => record.CostDateTime >= request.StartDatetime)
.WhereIF(request.EndDatetime.HasValue, record => record.CostDateTime <= request.EndDatetime)
.WhereIF(request.BusinessPlaceCode.HasValue, record => record.BusinessPlaceCode == request.BusinessPlaceCode)
.Where(record => record.Amount < 0).ToListAsync();
.Where(record => record.Type == BalanceRecordTypeEnumType.Out)
.ToListAsync();
var lst = new List<BalanceRecordAnalysisRespones>();
foreach (var first in pageinfo.GroupBy(record => record.CostDateTime.ToString("yyyy-MM-dd")))
@@ -491,6 +474,7 @@ public class BalanceService : IBalanceService
if (effect <= 0) throw new VersionExceptions("更新版本冲突");
await _dbContext.UpdateAsync(balanceRecord);
}, 5);
}
@@ -518,4 +502,24 @@ public class BalanceService : IBalanceService
throw new UserFriendlyException("操作失败,请重试");
}
private async Task<Dictionary<string, string>> GetShiftCode()
{
var list = await _dbContext.Queryable<BasicTypeEntity>().Where(x => x.Type == "mealshift").ToListAsync();
var shiftCodeDict = new Dictionary<string, string>();
var breakfastCode = list.FirstOrDefault(x => x.Code == "shift-breakfast")?.Code;
var lunchCode = list.FirstOrDefault(x => x.Code == "shift-lunch")?.Code;
var dinnerCode = list.FirstOrDefault(x => x.Code == "shift-dinner")?.Code;
var lateNightCode = list.FirstOrDefault(x => x.Code == "shift-midnightsnack")?.Code;
shiftCodeDict.Add("Breakfast", breakfastCode);
shiftCodeDict.Add("Lunch", lunchCode);
shiftCodeDict.Add("Dinner", dinnerCode);
shiftCodeDict.Add("LateNight", lateNightCode);
return shiftCodeDict;
}
}