diff --git a/Src/Dlhis.Basic/BusinessShift/Request/BusinessPlaceShiftSaveRequest.cs b/Src/Dlhis.Basic/BusinessShift/Request/BusinessPlaceShiftSaveRequest.cs index 6ffb8105..0dc1b4cf 100644 --- a/Src/Dlhis.Basic/BusinessShift/Request/BusinessPlaceShiftSaveRequest.cs +++ b/Src/Dlhis.Basic/BusinessShift/Request/BusinessPlaceShiftSaveRequest.cs @@ -18,12 +18,6 @@ public class BusinessPlaceShiftSaveRequest : IValidatableObject /// public string CustomCode { get; set; } - /// - /// 餐次名称 - /// - [Required(ErrorMessage = "餐次名称不能为空")] - public string Name { get; set; } - /// /// 序号 /// diff --git a/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs b/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs index 7286e3b2..56d3ecec 100644 --- a/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs +++ b/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs @@ -30,9 +30,10 @@ public class BusinessPlaceShiftService : IBusinessPlaceShiftService { var page = await _dbContext.Queryable() .LeftJoin((shift, place) => shift.BusinessPlaceCode == place.Code) - .WhereIF(request.Search.IsPresent(), (shift, place) => shift.CustomCode.Contains(request.Search) || shift.Name.Contains(request.Search)) + .LeftJoin((shift, place,type)=>shift.Code.ToString() == type.Code) + .WhereIF(request.Search.IsPresent(), (shift, place) => shift.CustomCode.Contains(request.Search) ) .WhereIF(request.BusinessPlaceCode.HasValue, (shift, place) => shift.BusinessPlaceCode == request.BusinessPlaceCode) - .Select((shift, place) => new BusinessPlaceShiftResponse + .Select((shift, place, type) => new BusinessPlaceShiftResponse { Id = shift.Id, BusinessPlaceCode = place.Code, @@ -40,7 +41,7 @@ public class BusinessPlaceShiftService : IBusinessPlaceShiftService BusinessPlace = place.Name, Code = shift.Code, CustomCode = shift.CustomCode, - Name = shift.Name, + Name = type.Display, Start = shift.Start, End = shift.End }) @@ -55,6 +56,7 @@ public class BusinessPlaceShiftService : IBusinessPlaceShiftService await DuplicateTimePeriodAsync(request); await CheckPlaceExistsAsync(request.BusinessPlaceCode); + if (!request.Id.HasValue) { var entity = request.Adapt(); @@ -95,20 +97,29 @@ public class BusinessPlaceShiftService : IBusinessPlaceShiftService (tenantResult.Code == ApiStateCode.Success).ThrowIfFalse(tenantResult.Msg); var tenantInfo = tenantResult.Data; + var list = new List(); + foreach (var shiftinfo in shifts) + { + var name = _dbContext.Queryable() + .Where(x => x.Code == shiftinfo.Code.ToString()) + .Select(x => x.Display) + .First(); + var shift = new BusinessPlaceShiftTinyResponse + { + CustomCode = shiftinfo.CustomCode, + Name = name, + Start = shiftinfo.Start, + End = shiftinfo.End + }; + list.Add(shift); + } return new BusinessPlaceWithShiftResponse { CustomCode = placeCustomCode, Name = place.Name, TenantCode = tenantInfo.Code, TenantName = tenantInfo.Name, - Shifts = shifts.Select(shift => new BusinessPlaceShiftTinyResponse - { - CustomCode = shift.CustomCode, - Name = shift.Name, - Start = shift.Start, - End = shift.End - }) - .ToList() + Shifts = list }; } @@ -159,4 +170,5 @@ public class BusinessPlaceShiftService : IBusinessPlaceShiftService existsSameCustomCode.ThrowIfTrue($"自定义手工号[{request.CustomCode}]存在重复,请检查."); } + } diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs index b373fa60..eb2b96a1 100644 --- a/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs +++ b/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs @@ -38,10 +38,11 @@ public class BalanceService : IBalanceService .LeftJoin((record, ga, department) => ga.DepartmentNo == department.No) .LeftJoin((record, ga, department, bplace) => record.BusinessPlaceCode == bplace.Code) .LeftJoin((record, ga, department, bplace, bshift) => record.BusinessShiftCode == bshift.Code) + .LeftJoin((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) .OrderBy(record => record.CreateTime, OrderByType.Desc) - .Select((record, ga, department, bplace, bshift) => new BalanceRecordResponse + .Select((record, ga, department, bplace, bshift,type) => new BalanceRecordResponse { Id = record.Id, Amount = record.Amount, @@ -64,7 +65,7 @@ public class BalanceService : IBalanceService Name = record.Name, DepartmentName = department.Name, BusinessPlaceName = bplace.Name, - BusinessShiftName = bshift.Name, + BusinessShiftName = type.Display, CostDateTime = record.CreateTime // todo }) .ToPageListAsync(request); @@ -82,9 +83,10 @@ public class BalanceService : IBalanceService .LeftJoin((record, department) => record.DepartmentNo == department.No) .LeftJoin((record, department, bplace) => record.BusinessPlaceCode == bplace.Code) .LeftJoin((record, department, bplace, bshift) => record.BusinessShiftCode == bshift.Code) + .LeftJoin((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) => new BalanceRecordResponse + .Select((record, department, bplace, bshift,type) => new BalanceRecordResponse { Id = record.Id, Amount = record.Amount, @@ -107,7 +109,7 @@ public class BalanceService : IBalanceService Name = record.Name, DepartmentName = department.Name, BusinessPlaceName = bplace.Name, - BusinessShiftName = bshift.Name, + BusinessShiftName = type.Display, CostDateTime = record.CreateTime // todo }) .ToPageListAsync(request); @@ -125,6 +127,7 @@ public class BalanceService : IBalanceService .LeftJoin((record, department) => record.DepartmentNo == department.No) .LeftJoin((record, department, bplace) => record.BusinessPlaceCode == bplace.Code) .LeftJoin((record, department, bplace, bshift) => record.BusinessShiftCode == bshift.Code) + .LeftJoin((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) @@ -134,7 +137,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) => new BalanceRecordResponse + .Select((record, department, bplace, bshift,type) => new BalanceRecordResponse { Id = record.Id, Amount = record.Amount, @@ -157,7 +160,7 @@ public class BalanceService : IBalanceService Name = record.Name, DepartmentName = department.Name, BusinessPlaceName = bplace.Name, - BusinessShiftName = bshift.Name, + BusinessShiftName = type.Display, CostDateTime = record.CreateTime // todo }) .ToPageListAsync(request); @@ -297,14 +300,14 @@ public class BalanceService : IBalanceService private async Task> GetShiftCode() { - var list = await _dbContext.Queryable().ToListAsync(); + var list = await _dbContext.Queryable().ToListAsync(); var shiftCodeDict = new Dictionary(); - var breakfastCode = list.FirstOrDefault(x => x.Name == "早餐")?.Code.ToString(); - var lunchCode = list.FirstOrDefault(x => x.Name == "午餐")?.Code.ToString(); - var dinnerCode = list.FirstOrDefault(x => x.Name == "晚餐")?.Code.ToString(); - var lateNightCode = list.FirstOrDefault(x => x.Name == "宵夜")?.Code.ToString(); + 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); @@ -384,12 +387,13 @@ public class BalanceService : IBalanceService .LeftJoin((record, ga, department) => ga.DepartmentNo == department.No) .LeftJoin((record, ga, department, bplace) => record.BusinessPlaceCode == bplace.Code) .LeftJoin((record, ga, department, bplace, bshift) => record.BusinessShiftCode == bshift.Code) + .LeftJoin((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.Type == BalanceRecordTypeEnumType.Out && record.Status == BalanceRecordStatusEnumType.Valid) .OrderBy(record => record.CreateTime, OrderByType.Desc) - .Select((record, ga, department, bplace, bshift) => new BalanceRecordResponse + .Select((record, ga, department, bplace, bshift,type) => new BalanceRecordResponse { Id = record.Id, Amount = record.Amount, @@ -412,7 +416,7 @@ public class BalanceService : IBalanceService Name = record.Name, DepartmentName = department.Name, BusinessPlaceName = bplace.Name, - BusinessShiftName = bshift.Name, + BusinessShiftName = type.Display, CostDateTime = record.CostDateTime }).ToPageListAsync(request); @@ -439,11 +443,12 @@ public class BalanceService : IBalanceService .LeftJoin((record, ga, department) => ga.DepartmentNo == department.No) .LeftJoin((record, ga, department, bplace) => record.BusinessPlaceCode == bplace.Code) .LeftJoin((record, ga, department, bplace, bshift) => record.BusinessShiftCode == bshift.Code) + .LeftJoin((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) => new BalanceRecordUserResponse + .Select((record, ga, department, bplace, bshift,type) => new BalanceRecordUserResponse { Id = record.Id, Amount = record.Amount, @@ -452,7 +457,7 @@ public class BalanceService : IBalanceService Source = record.Source, No = record.No, BusinessPlaceName = bplace.Name, - BusinessShiftName = bshift.Name, + BusinessShiftName = type.Display, CostDateTime = record.CreateTime // todo }) .ToPageListAsync(request); diff --git a/Src/Dlhis.Entity/Basic/Entity/CanteenBusinessShiftEntity.cs b/Src/Dlhis.Entity/Basic/Entity/CanteenBusinessShiftEntity.cs index e70150ab..be1316ee 100644 --- a/Src/Dlhis.Entity/Basic/Entity/CanteenBusinessShiftEntity.cs +++ b/Src/Dlhis.Entity/Basic/Entity/CanteenBusinessShiftEntity.cs @@ -28,12 +28,6 @@ public class CanteenBusinessShiftEntity : SugarBaseEntity, ITenantId [SugarColumn(ColumnDescription = "自定义手工号")] public string CustomCode { get; set; } - /// - /// 餐次名称 - /// - [SugarColumn(ColumnDescription = "餐次名称")] - public string Name { get; set; } - /// /// 经营开始时间 ///