diff --git a/Src/Dlhis.Basic.Api/IDisheMenuApi.cs b/Src/Dlhis.Basic.Api/IDisheMenuApi.cs index 04482e6a..96b649da 100644 --- a/Src/Dlhis.Basic.Api/IDisheMenuApi.cs +++ b/Src/Dlhis.Basic.Api/IDisheMenuApi.cs @@ -16,6 +16,6 @@ public interface IDisheMenuApi /// /// [Auth] - [Get("/api/dishesMenus/detail")] + [Get("/api/dishesMenus/checkdetail")] Task> GetBookingDishesDetailAsync(DateTime date, Guid businessPlaceCode, int shiftType, string dishesCode); } \ No newline at end of file diff --git a/Src/Dlhis.Basic/Dishes/Controller/DishesMenusController.cs b/Src/Dlhis.Basic/Dishes/Controller/DishesMenusController.cs index 71137d10..b1eb6e49 100644 --- a/Src/Dlhis.Basic/Dishes/Controller/DishesMenusController.cs +++ b/Src/Dlhis.Basic/Dishes/Controller/DishesMenusController.cs @@ -7,6 +7,7 @@ using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop; using Kurisu.Core.DataAccess.Dto; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using Org.BouncyCastle.Asn1.Ocsp; namespace Dlhis.Basic.Dishes.Controller; @@ -38,6 +39,19 @@ public class DishesMenusController : ControllerBase return await _dishesMenuService.GetDishesMenuPageAsync(request); } + /// + /// 菜单详情 + /// + /// + /// + /// + /// + [HttpGet("detail")] + public async Task GetDishesMenuDetailAsync(Guid businessPlaceCode, string customCode, DateTime date) + { + return await _dishesMenuService.GetDishesMenuDetailAsync(businessPlaceCode, customCode, date); + } + /// /// 菜单保存/更改 /// @@ -51,14 +65,14 @@ public class DishesMenusController : ControllerBase } /// - /// 菜单信息明细 + /// 检查明细 /// /// /// /// /// /// - [HttpGet("detail")] + [HttpGet("checkdetail")] public async Task GetBookingDishesDetailAsync(DateTime date, Guid businessPlaceCode, ShiftEnumType shiftType, string dishesCode) { return await _dishesMenuService.GetBookingDishesDetailAsync(date, businessPlaceCode, shiftType, dishesCode); diff --git a/Src/Dlhis.Basic/Dishes/Request/DisheMenuPageRequest.cs b/Src/Dlhis.Basic/Dishes/Request/DisheMenuPageRequest.cs index 4494f433..9050763f 100644 --- a/Src/Dlhis.Basic/Dishes/Request/DisheMenuPageRequest.cs +++ b/Src/Dlhis.Basic/Dishes/Request/DisheMenuPageRequest.cs @@ -1,5 +1,4 @@ -using Dlhis.Entity.Canteen.Enums; -using Kurisu.Core.DataAccess.Dto; +using Kurisu.Core.DataAccess.Dto; namespace Dlhis.Basic.Dishes.Request; @@ -9,14 +8,4 @@ public class DisheMenuPageRequest : PageDto /// 营业点code /// public Guid BusinessPlaceCode { get; set; } - - /// - /// 餐次 - /// - public List ShiftTypes { get; set; } - - /// - /// 分类 - /// - public Guid? CategoryCode { get; set; } } diff --git a/Src/Dlhis.Basic/Dishes/Response/DishesMenuPageResponse.cs b/Src/Dlhis.Basic/Dishes/Response/DishesMenuPageResponse.cs index 3ccf7192..c59836cb 100644 --- a/Src/Dlhis.Basic/Dishes/Response/DishesMenuPageResponse.cs +++ b/Src/Dlhis.Basic/Dishes/Response/DishesMenuPageResponse.cs @@ -1,11 +1,7 @@ -using Dlhis.Entity.Canteen.Enums; - -namespace Dlhis.Basic.Dishes.Response; +namespace Dlhis.Basic.Dishes.Response; public class DishesMenuPageResponse { - public long? Id { get; set; } - /// /// 菜单编码 /// @@ -20,32 +16,4 @@ public class DishesMenuPageResponse /// 营业日期 /// public DateTime Date { get; set; } - - - /// - /// 餐次 - /// - public ShiftEnumType ShiftType { get; set; } - - - /// - /// 菜品编码 - /// - public string DishesCode { get; set; } - - /// - /// 剩余数量 - /// - public int Number { get; set; } - - - /// - /// 单价 - /// - public decimal? Price { get; set; } - - /// - /// 是否启用 - /// - public bool Enable { get; set; } } diff --git a/Src/Dlhis.Basic/Dishes/Services/IDishesMenuService.cs b/Src/Dlhis.Basic/Dishes/Services/IDishesMenuService.cs index 87c38925..00984ab5 100644 --- a/Src/Dlhis.Basic/Dishes/Services/IDishesMenuService.cs +++ b/Src/Dlhis.Basic/Dishes/Services/IDishesMenuService.cs @@ -10,6 +10,8 @@ public interface IDishesMenuService : IScopeDependency { Task> GetDishesMenuPageAsync(DisheMenuPageRequest request); + Task GetDishesMenuDetailAsync(Guid businessPlaceCode, string customCode, DateTime date); + Task SaveDishesMenuAsync(DishesMenuSaveRequest request); Task GetBookingDishesDetailAsync(DateTime date, Guid businessPlaceCode, ShiftEnumType shiftType, string dishesCode); diff --git a/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs b/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs index 69ef56fb..c93fd62a 100644 --- a/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs +++ b/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs @@ -9,6 +9,7 @@ using Dlhis.Basic.Dishes.Request; using Dlhis.Basic.Dishes.Response; using Dlhis.Basic.BusinessPlace.Services; using Dlhis.Basic.Dishes.Dto; +using Org.BouncyCastle.Asn1.Ocsp; namespace Dlhis.Basic.Dishes.Services.Implements; @@ -26,10 +27,53 @@ public class DishesMenuService : IDishesMenuService public async Task> GetDishesMenuPageAsync(DisheMenuPageRequest request) { return await _dbContext.Queryable() - .Select() + .Where(x => x.BusinessPlaceCode == request.BusinessPlaceCode) + .GroupBy(x => new { x.BusinessPlaceCode, x.CustomCode, x.Date }) + .Select(x => new DishesMenuPageResponse + { + BusinessPlaceCode = x.BusinessPlaceCode, + CustomCode = x.CustomCode, + Date = x.Date, + }) .ToPageListAsync(request); } + public async Task GetDishesMenuDetailAsync(Guid businessPlaceCode, string customCode, DateTime date) + { + var data = await _dbContext.Queryable() + .Where(x => x.BusinessPlaceCode == businessPlaceCode) + .ToListAsync(); + + return new DishesMenuSaveRequest + { + BusinessPlaceCode = businessPlaceCode, + Items = new List + { + new() + { + CustomCode = customCode, + Date = date, + ShiftTypes = data.GroupBy(x => x.ShiftType).Select(item => + { + var shiftType = item.Key; + + return new DishesMenuShiftTypeSaveRequest + { + ShiftType = shiftType, + Dishes = item.Select(x => new MenuDishesSaveRequest + { + DishesCode = x.DishesCode, + Number = x.Number, + Price = x.Price, + }).ToList() + }; + + }).ToList() + } + } + }; + } + public async Task SaveDishesMenuAsync(DishesMenuSaveRequest request) { //检验数据 @@ -68,7 +112,6 @@ public class DishesMenuService : IDishesMenuService Type = CanteenApplicaitonTypeEnumType.Booking, Version = 0, - Enable = true, }; }); }); diff --git a/Src/Dlhis.Entity/Canteen/Entities/DishesMenuEntity.cs b/Src/Dlhis.Entity/Canteen/Entities/DishesMenuEntity.cs index 928c9040..52dffbc0 100644 --- a/Src/Dlhis.Entity/Canteen/Entities/DishesMenuEntity.cs +++ b/Src/Dlhis.Entity/Canteen/Entities/DishesMenuEntity.cs @@ -54,25 +54,18 @@ public class DishesMenuEntity : SugarBaseEntity, ITenantId, IVersion /// public int Number { get; set; } - /// /// 单价 /// public decimal? Price { get; set; } - /// - /// 是否启用 - /// - [SugarColumn(ColumnDataType = "bit", ColumnDescription = "是否启用")] - public bool Enable { get; set; } - - - public string TenantId { get; set; } - /// /// 并发控制 /// public int Version { get; set; } + + + public string TenantId { get; set; } }