fix 查询调整
This commit is contained in:
@@ -38,7 +38,7 @@ public class BalanceService : IBalanceService
|
||||
.WhereIF(request.SearchDateTimePeriod?.Start.HasValue == true, record => record.CostDate >= request.SearchDateTimePeriod.Start)
|
||||
.WhereIF(request.SearchDateTimePeriod?.End.HasValue == true, record => record.CostDate <= request.SearchDateTimePeriod.End)
|
||||
.OrderBy(record => record.CreateTime, OrderByType.Desc)
|
||||
.Select((record, ga, department, bplace, bshift,type) => new BalanceRecordResponse
|
||||
.Select((record, ga, department, bplace, bshift, type) => new BalanceRecordResponse
|
||||
{
|
||||
Id = record.Id,
|
||||
Amount = record.Amount,
|
||||
@@ -79,10 +79,10 @@ public class BalanceService : IBalanceService
|
||||
.LeftJoin<DepartmentEntity>((record, department) => record.DepartmentNo == department.No)
|
||||
.LeftJoin<CanteenBusinessPlaceEntity>((record, department, bplace) => record.BusinessPlaceCode == bplace.Code)
|
||||
.LeftJoin<CanteenBusinessShiftEntity>((record, department, bplace, bshift) => record.BusinessShiftCode == bshift.Code)
|
||||
.LeftJoin<BasicTypeEntity>((record, department, bplace, bshift,type) =>record.BusinessShiftCode.ToString() == type.Code)
|
||||
.LeftJoin<BasicTypeEntity>((record, department, bplace, bshift, type) => record.BusinessShiftCode.ToString() == type.Code)
|
||||
.Where(record => record.CostId == request.CostId)
|
||||
.OrderBy(record => record.CreateTime, OrderByType.Desc)
|
||||
.Select((record, department, bplace, bshift,type) => new BalanceRecordResponse
|
||||
.Select((record, department, bplace, bshift, type) => new BalanceRecordResponse
|
||||
{
|
||||
Id = record.Id,
|
||||
Amount = record.Amount,
|
||||
@@ -123,7 +123,7 @@ public class BalanceService : IBalanceService
|
||||
.LeftJoin<DepartmentEntity>((record, department) => record.DepartmentNo == department.No)
|
||||
.LeftJoin<CanteenBusinessPlaceEntity>((record, department, bplace) => record.BusinessPlaceCode == bplace.Code)
|
||||
.LeftJoin<CanteenBusinessShiftEntity>((record, department, bplace, bshift) => record.BusinessShiftCode == bshift.Code)
|
||||
.LeftJoin<BasicTypeEntity>((record, department, bplace, bshift, type) => record.BusinessShiftCode.ToString() == type.Code)
|
||||
.LeftJoin<BasicTypeEntity>((record, department, bplace, bshift, type) => record.BusinessShiftCode.ToString() == type.Code)
|
||||
.WhereIF(!request.Name.IsEmpty(), record => record.Name == request.Name)
|
||||
.WhereIF(!request.DepartmentNo.IsEmpty(), record => record.DepartmentNo == request.DepartmentNo)
|
||||
.WhereIF(!request.UserCode.IsEmpty(), record => record.UserCode == request.UserCode)
|
||||
@@ -133,7 +133,7 @@ public class BalanceService : IBalanceService
|
||||
.WhereIF(request.StartDatetime.HasValue, record => record.CostDateTime >= request.StartDatetime)
|
||||
.WhereIF(request.EndDatetime.HasValue, record => record.CostDateTime <= request.EndDatetime)
|
||||
.OrderBy(record => record.CreateTime, OrderByType.Desc)
|
||||
.Select((record, department, bplace, bshift,type) => new BalanceRecordResponse
|
||||
.Select((record, department, bplace, bshift, type) => new BalanceRecordResponse
|
||||
{
|
||||
Id = record.Id,
|
||||
Amount = record.Amount,
|
||||
@@ -179,7 +179,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.Amount < 0)
|
||||
.OrderBy(record => record.CreateTime, OrderByType.Desc)
|
||||
.ToListAsync();
|
||||
|
||||
@@ -194,23 +194,23 @@ public class BalanceService : IBalanceService
|
||||
CostId = request.CostId
|
||||
};
|
||||
|
||||
// 每个餐次人数
|
||||
obj.BreakfastNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
|
||||
// 每个餐次人数
|
||||
obj.BreakfastNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
|
||||
|
||||
obj.LunchNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]);
|
||||
obj.LunchNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]);
|
||||
|
||||
obj.DinnerNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]);
|
||||
obj.DinnerNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]);
|
||||
|
||||
obj.LateNightNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]);
|
||||
obj.LateNightNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]);
|
||||
|
||||
//餐次金额
|
||||
obj.BreakfastAmount = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount);
|
||||
//餐次金额
|
||||
obj.BreakfastAmount = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount);
|
||||
|
||||
obj.LunchAmount = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount);
|
||||
obj.LunchAmount = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount);
|
||||
|
||||
obj.DinnerAmount = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount);
|
||||
obj.DinnerAmount = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount);
|
||||
|
||||
obj.LateNightAmount = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount);
|
||||
obj.LateNightAmount = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount);
|
||||
|
||||
// 每个餐次单价
|
||||
obj.BreakfastPrice = obj.BreakfastNumberOfPeople == 0 ? 0 : obj.BreakfastAmount / obj.BreakfastNumberOfPeople;
|
||||
@@ -218,8 +218,8 @@ public class BalanceService : IBalanceService
|
||||
obj.DinnerPrice = obj.DinnerNumberOfPeople == 0 ? 0 : obj.DinnerAmount / obj.DinnerNumberOfPeople;
|
||||
obj.LateNightPrice = obj.LateNightNumberOfPeople == 0 ? 0 : obj.LateNightAmount / obj.LateNightNumberOfPeople;
|
||||
|
||||
// 每个部门餐次中的 OriginTenantId
|
||||
obj.OriginTenantId = departmentGroup.FirstOrDefault()?.OriginTenantId;
|
||||
// 每个部门餐次中的 OriginTenantId
|
||||
obj.OriginTenantId = departmentGroup.FirstOrDefault()?.OriginTenantId;
|
||||
|
||||
|
||||
// 总人数 总金额
|
||||
@@ -262,23 +262,23 @@ public class BalanceService : IBalanceService
|
||||
DepartmentNo = ""
|
||||
};
|
||||
|
||||
// 每个餐次人数
|
||||
obj.BreakfastNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
|
||||
// 每个餐次人数
|
||||
obj.BreakfastNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
|
||||
|
||||
obj.LunchNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]);
|
||||
obj.LunchNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]);
|
||||
|
||||
obj.DinnerNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]);
|
||||
obj.DinnerNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]);
|
||||
|
||||
obj.LateNightNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]);
|
||||
obj.LateNightNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]);
|
||||
|
||||
//餐次金额
|
||||
obj.BreakfastAmount = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount);
|
||||
//餐次金额
|
||||
obj.BreakfastAmount = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount);
|
||||
|
||||
obj.LunchAmount = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount);
|
||||
obj.LunchAmount = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount);
|
||||
|
||||
obj.DinnerAmount = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount);
|
||||
obj.DinnerAmount = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount);
|
||||
|
||||
obj.LateNightAmount = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount);
|
||||
obj.LateNightAmount = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount);
|
||||
|
||||
// 每个餐次单价
|
||||
obj.BreakfastPrice = obj.BreakfastNumberOfPeople == 0 ? 0 : obj.BreakfastAmount / obj.BreakfastNumberOfPeople;
|
||||
@@ -321,14 +321,14 @@ public class BalanceService : IBalanceService
|
||||
/// <returns></returns>
|
||||
public async Task<List<BalanceRecordAnalysisRespones>> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request)
|
||||
{
|
||||
var shiftCodeDict = await GetShiftCode();
|
||||
var shiftCodeDict = await GetShiftCode();
|
||||
|
||||
|
||||
var pageinfo = await _dbContext.Queryable<BalanceRecordEntity>()
|
||||
.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.Amount < 0).ToListAsync();
|
||||
|
||||
var lst = new List<BalanceRecordAnalysisRespones>();
|
||||
foreach (var first in pageinfo.GroupBy(record => record.CostDateTime.ToString("yyyy-MM-dd")))
|
||||
@@ -337,8 +337,8 @@ public class BalanceService : IBalanceService
|
||||
{
|
||||
CostDate = DateOnly.FromDateTime(Convert.ToDateTime(first.Key)),
|
||||
};
|
||||
|
||||
obj.BreakfastNumberOfPeople= first.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
|
||||
|
||||
obj.BreakfastNumberOfPeople = first.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
|
||||
|
||||
obj.LunchNumberOfPeople = first.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]);
|
||||
|
||||
@@ -387,10 +387,10 @@ public class BalanceService : IBalanceService
|
||||
.LeftJoin<BasicTypeEntity>((record, ga, department, bplace, bshift, type) => record.BusinessShiftCode.ToString() == type.Code)
|
||||
.WhereIF(request.SearchDate.HasValue, record => record.CostDate >= start)
|
||||
.WhereIF(request.SearchDate.HasValue, record => record.CostDate <= end)
|
||||
.Where(record => record.TenantId == device.TenantId || (record.DeviceInfo == device.Code.ToString() || record.DeviceInfo == device.UniqueNo))
|
||||
.Where(record => record.TenantId == device.TenantId && (record.DeviceInfo == device.Code.ToString() || record.DeviceInfo == device.UniqueNo))
|
||||
.Where(record => record.Type == BalanceRecordTypeEnumType.Out && record.Status == BalanceRecordStatusEnumType.Valid)
|
||||
.OrderBy(record => record.CreateTime, OrderByType.Desc)
|
||||
.Select((record, ga, department, bplace, bshift,type) => new BalanceRecordResponse
|
||||
.Select((record, ga, department, bplace, bshift, type) => new BalanceRecordResponse
|
||||
{
|
||||
Id = record.Id,
|
||||
Amount = record.Amount,
|
||||
@@ -440,12 +440,12 @@ public class BalanceService : IBalanceService
|
||||
.LeftJoin<DepartmentEntity>((record, ga, department) => ga.DepartmentNo == department.No)
|
||||
.LeftJoin<CanteenBusinessPlaceEntity>((record, ga, department, bplace) => record.BusinessPlaceCode == bplace.Code)
|
||||
.LeftJoin<CanteenBusinessShiftEntity>((record, ga, department, bplace, bshift) => record.BusinessShiftCode == bshift.Code)
|
||||
.LeftJoin<BasicTypeEntity>((record, ga, department, bplace, bshift,type) =>record.BusinessShiftCode.ToString() == type.Code)
|
||||
.LeftJoin<BasicTypeEntity>((record, ga, department, bplace, bshift, type) => record.BusinessShiftCode.ToString() == type.Code)
|
||||
.WhereIF(request.SearchDateTimePeriod?.Start.HasValue == true, record => record.CostDate >= request.SearchDateTimePeriod.Start)
|
||||
.WhereIF(request.SearchDateTimePeriod?.End.HasValue == true, record => record.CostDate <= request.SearchDateTimePeriod.End)
|
||||
.Where((record, ga) => ga.IdentityUserId == userId)
|
||||
.OrderBy(record => record.CreateTime, OrderByType.Desc)
|
||||
.Select((record, ga, department, bplace, bshift,type) => new BalanceRecordUserResponse
|
||||
.Select((record, ga, department, bplace, bshift, type) => new BalanceRecordUserResponse
|
||||
{
|
||||
Id = record.Id,
|
||||
Amount = record.Amount,
|
||||
|
||||
Reference in New Issue
Block a user