From 6fc82510ccd588b5a87a44811b0eae60398127f0 Mon Sep 17 00:00:00 2001 From: HUANGBANGLIN Date: Thu, 9 Oct 2025 16:49:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E6=8E=9B=E5=96=AE=E8=B3=87=E6=96=99?= =?UTF-8?q?=E9=A0=81=E9=9D=A2=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=88=A4=E6=96=B7?= =?UTF-8?q?=E6=8E=9B=E5=96=AE=E6=98=AF=E5=90=A6=E8=B6=85=E6=99=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/App_Code/api/guadanOrderController.cs | 20 +++++++++++++++++--- web/admin/guadan/index.aspx | 12 +++++++++++- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/web/App_Code/api/guadanOrderController.cs b/web/App_Code/api/guadanOrderController.cs index cad6711..51cb399 100644 --- a/web/App_Code/api/guadanOrderController.cs +++ b/web/App_Code/api/guadanOrderController.cs @@ -20,7 +20,12 @@ public class guadanOrderController : ApiController [Route("api/guadan/list")] public async Task getGuadanList([FromBody] guadan_order_search_dto search) { - + var lastCheckoutTime = _db.GuadanTimeSetting.FirstOrDefault(); + string lastCheckoutTimeStr = null; + if (lastCheckoutTime != null) + { + lastCheckoutTimeStr = lastCheckoutTime.LatestCheckOut; + } var query = _db.GuaDanOrder .Where(a => a.IsCancel == false) .Where(a => a.IsDeleted == false); @@ -49,7 +54,8 @@ public class guadanOrderController : ApiController } } var total = query.Count(); - var data = await query + var data1 = query.ToList(); + var data = data1 .OrderByDescending(b => b.CreatedAt) .Select(a => new { @@ -60,6 +66,14 @@ public class guadanOrderController : ApiController created_at = a.CreatedAt, updated_at = a.UpdatedAt, notes = a.Notes, + is_timeout = !string.IsNullOrEmpty(lastCheckoutTimeStr) && + _db.GuaDanOrderGuest + .Where(g => g.GuaDanOrderNo == a.GuaDanOrderNo && !g.IsDeleted && g.StatusCode == GuaDanOrderGuest.STATUS_CHECKED_IN) + .ToList() + .Any(g => + g.CheckOutAt.HasValue && + DateTime.Parse(g.CheckOutAt.Value.ToString("yyyy-MM-dd") + " " + lastCheckoutTimeStr) < DateTime.Now + ), activity = _db.activities .Where(act => act.num == a.ActivityNum) .Select(act => new @@ -88,7 +102,7 @@ public class guadanOrderController : ApiController }) .Skip((search.page - 1) * search.pageSize) .Take(search.pageSize) - .ToListAsync(); + .ToList(); return Ok(new { total, diff --git a/web/admin/guadan/index.aspx b/web/admin/guadan/index.aspx index de33440..2163ddb 100644 --- a/web/admin/guadan/index.aspx +++ b/web/admin/guadan/index.aspx @@ -30,6 +30,7 @@