diff --git a/Src/Dlhis.Canteen/EMealVoucher/Controllers/EMealVoucherController.cs b/Src/Dlhis.Canteen/EMealVoucher/Controllers/EMealVoucherController.cs index ab0f2f76..6a961cbb 100644 --- a/Src/Dlhis.Canteen/EMealVoucher/Controllers/EMealVoucherController.cs +++ b/Src/Dlhis.Canteen/EMealVoucher/Controllers/EMealVoucherController.cs @@ -22,13 +22,24 @@ public class EMealVoucherController : ControllerBase _eMealVoucherService = eMealVoucherService; } + /// + /// 分页数据 + /// + /// + /// + [HttpGet("page")] + public async Task> GetPageAsync([FromQuery] EMealVoucherPageRequest request) + { + return await _eMealVoucherService.GetPageAsync(request); + } + /// /// 获取我的电子餐券申请 /// /// /// [HttpGet("my")] - public async Task> GetMyEMealVoucherPageAsync([FromQuery] EMealVoucherPageRequest request) + public async Task> GetMyEMealVoucherPageAsync([FromQuery] EMealVoucherPageRequest request) { return await _eMealVoucherService.GetMyEMealVoucherPageAsync(request); } diff --git a/Src/Dlhis.Canteen/EMealVoucher/Response/EMealVoucherDetailResponse.cs b/Src/Dlhis.Canteen/EMealVoucher/Response/EMealVoucherDetailResponse.cs index 03656071..c185c7b2 100644 --- a/Src/Dlhis.Canteen/EMealVoucher/Response/EMealVoucherDetailResponse.cs +++ b/Src/Dlhis.Canteen/EMealVoucher/Response/EMealVoucherDetailResponse.cs @@ -3,7 +3,7 @@ namespace Dlhis.Canteen.EMealVoucher.Response; public class EMealVoucherDetailResponse { public long Id { get; set; } - + /// /// 用餐人 /// @@ -25,7 +25,12 @@ public class EMealVoucherDetailResponse public DateTime End { get; set; } /// - /// 金额 + /// 剩余金额 /// - public decimal Balance { get; set; } + public decimal Balance { get; set; } + + /// + /// 原始金额 + /// + public decimal OriginBalance { get; set; } } \ No newline at end of file diff --git a/Src/Dlhis.Canteen/EMealVoucher/Response/EMealVoucherMyPageResponse.cs b/Src/Dlhis.Canteen/EMealVoucher/Response/EMealVoucherMyPageResponse.cs new file mode 100644 index 00000000..5769bbc0 --- /dev/null +++ b/Src/Dlhis.Canteen/EMealVoucher/Response/EMealVoucherMyPageResponse.cs @@ -0,0 +1,12 @@ +namespace Dlhis.Canteen.EMealVoucher.Response; + +public class EMealVoucherMyPageResponse +{ + public long Id { get; set; } + + public string No { get; set; } + + public string Title { get; set; } + + public DateTime Date { get; set; } +} \ No newline at end of file diff --git a/Src/Dlhis.Canteen/EMealVoucher/Response/EMealVoucherPageResponse.cs b/Src/Dlhis.Canteen/EMealVoucher/Response/EMealVoucherPageResponse.cs index c35caac3..5fa5290d 100644 --- a/Src/Dlhis.Canteen/EMealVoucher/Response/EMealVoucherPageResponse.cs +++ b/Src/Dlhis.Canteen/EMealVoucher/Response/EMealVoucherPageResponse.cs @@ -1,12 +1,19 @@ +using Dlhis.Entity.Canteen.Enums; + namespace Dlhis.Canteen.EMealVoucher.Response; public class EMealVoucherPageResponse { - public long Id { get; set; } - public string No { get; set; } - public string Title { get; set; } - - public DateTime Date { get; set; } + public string Code { get; set; } + public string Phone { get; set; } + public List Factories { get; set; } + public DateTime Date { get; set; } + public string CostId { get; set; } + public string Source { get; set; } + public string Reason { get; set; } + public List Shifts { get; set; } + + public List Details { get; set; } } \ No newline at end of file diff --git a/Src/Dlhis.Canteen/EMealVoucher/Services/IEMealVoucherService.cs b/Src/Dlhis.Canteen/EMealVoucher/Services/IEMealVoucherService.cs index 3ef1ae4f..3c4fc174 100644 --- a/Src/Dlhis.Canteen/EMealVoucher/Services/IEMealVoucherService.cs +++ b/Src/Dlhis.Canteen/EMealVoucher/Services/IEMealVoucherService.cs @@ -9,7 +9,9 @@ namespace Dlhis.Canteen.EMealVoucher.Services; public interface IEMealVoucherService : IScopeDependency { - Task> GetMyEMealVoucherPageAsync(EMealVoucherPageRequest request); + Task> GetPageAsync([FromQuery] EMealVoucherPageRequest request); + + Task> GetMyEMealVoucherPageAsync(EMealVoucherPageRequest request); Task> GetDetailsByNoAsync(string no); diff --git a/Src/Dlhis.Canteen/EMealVoucher/Services/Implements/EMealVoucherService.cs b/Src/Dlhis.Canteen/EMealVoucher/Services/Implements/EMealVoucherService.cs index 4b562870..a429dfd1 100644 --- a/Src/Dlhis.Canteen/EMealVoucher/Services/Implements/EMealVoucherService.cs +++ b/Src/Dlhis.Canteen/EMealVoucher/Services/Implements/EMealVoucherService.cs @@ -28,13 +28,44 @@ public class EMealVoucherService : IEMealVoucherService } - public async Task> GetMyEMealVoucherPageAsync(EMealVoucherPageRequest request) + /// + public async Task> GetPageAsync(EMealVoucherPageRequest request) + { + return await _dbContext.Queryable() + .OrderBy(x => x.Date, OrderByType.Desc) + .Select(x => new EMealVoucherPageResponse + { + No = x.No, + Title = x.Title, + Code = x.Code, + Phone = x.Phone, + Factories = x.Factories, + Date = x.Date, + CostId = x.CostId, + Source = x.Source, + Reason = x.Reason, + Shifts = x.Shifts, + Details = SqlFunc.Subqueryable().Where(p => p.No == x.No).ToList(p => new EMealVoucherDetailResponse + { + Id = p.Id, + Name = p.Name, + Phone = p.Phone, + Start = p.Start, + End = p.End, + Balance = p.Balance, + OriginBalance = p.OriginBalance, + }) + }) + .ToPageListAsync(request); + } + + public async Task> GetMyEMealVoucherPageAsync(EMealVoucherPageRequest request) { var code = _currentUser.GetUserClaim("jinko-code"); return await _dbContext.Queryable() .Where(x => x.Code == code) .OrderBy(x => x.Id, OrderByType.Desc) - .Select() + .Select() .ToPageListAsync(request); }