Merge remote-tracking branch 'origin/hkj1003'
This commit is contained in:
@@ -66,6 +66,7 @@ public class guadanGuestQueryController: ApiController
|
||||
checkoutdate = a.CheckOutAt,
|
||||
guadanorderno = a.GuaDanOrderNo,
|
||||
roomName = GetRoomAndBedString(a.RegionRoomBed),
|
||||
statusName = a.RegionRoomBedStatus.Name
|
||||
}).ToList();
|
||||
return Ok(new
|
||||
{
|
||||
|
||||
@@ -20,10 +20,19 @@ public class guadanOrderController : ApiController
|
||||
[Route("api/guadan/list")]
|
||||
public async Task<IHttpActionResult> 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);
|
||||
if(!string.IsNullOrEmpty(search.guaDanOrderNo))
|
||||
{
|
||||
query = query.Where(order => order.GuaDanOrderNo == search.guaDanOrderNo);
|
||||
}
|
||||
if (search.guadanUser != null)
|
||||
{
|
||||
query = query.Where(order => order.BookerName == search.guadanUser);
|
||||
@@ -45,7 +54,8 @@ public class guadanOrderController : ApiController
|
||||
}
|
||||
}
|
||||
var total = query.Count();
|
||||
var data = await query
|
||||
var data1 = await query.ToListAsync();
|
||||
var data = data1
|
||||
.OrderByDescending(b => b.CreatedAt)
|
||||
.Select(a => new
|
||||
{
|
||||
@@ -56,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
|
||||
@@ -68,23 +86,23 @@ public class guadanOrderController : ApiController
|
||||
.Where(c => c.GuaDanOrderNo == a.GuaDanOrderNo && c.IsDeleted == false)
|
||||
.Where(c => c.RegionRoomBedStatus.Code != GuaDanOrderGuest.STATUS_CANCELLED)
|
||||
.Count(),
|
||||
statusName = _db.GuaDanOrderGuest
|
||||
guadan_status = _db.GuaDanOrderGuest
|
||||
.Where(g => g.GuaDanOrderNo == a.GuaDanOrderNo && a.IsDeleted == false)
|
||||
.Where(g => g.StatusCode != GuaDanOrderGuest.STATUS_CANCELLED)
|
||||
.All(g => g.StatusCode == "401") ? "預約" :
|
||||
.All(g => g.StatusCode == "401") ? new { code=501, name="預約" }:
|
||||
_db.GuaDanOrderGuest
|
||||
.Where(g => g.GuaDanOrderNo == a.GuaDanOrderNo && a.IsDeleted == false)
|
||||
.Where(g => g.StatusCode != GuaDanOrderGuest.STATUS_CANCELLED)
|
||||
.All(g => g.StatusCode == "403") ? "全部退房" :
|
||||
.All(g => g.StatusCode == "403") ? new { code = 502, name = "全部退房" } :
|
||||
_db.GuaDanOrderGuest
|
||||
.Where(g => g.GuaDanOrderNo == a.GuaDanOrderNo && a.IsDeleted == false)
|
||||
.Where(g => g.StatusCode != GuaDanOrderGuest.STATUS_CANCELLED)
|
||||
.Any(g => g.StatusCode == "402" && a.IsCancel == false) ? "正在入住" :
|
||||
"部分退房"
|
||||
.Any(g => g.StatusCode == "402" && a.IsCancel == false) ? new { code = 503, name = "正在入住" } :
|
||||
new { code = 504, name = "部分退房" }
|
||||
})
|
||||
.Skip((search.page - 1) * search.pageSize)
|
||||
.Take(search.pageSize)
|
||||
.ToListAsync();
|
||||
.ToList();
|
||||
return Ok(new
|
||||
{
|
||||
total,
|
||||
@@ -214,7 +232,7 @@ public class guadanOrderController : ApiController
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
if (_db.GuaDanOrderGuest.Any(a => a.GuaDanOrderNo == guadan.GuaDanOrderNo))
|
||||
if (_db.GuaDanOrderGuest.Any(a => (a.GuaDanOrderNo == guadan.GuaDanOrderNo) && a.StatusCode != "404"))
|
||||
{
|
||||
return BadRequest($"該掛單已經存在掛單蓮友,不能取消!");
|
||||
}
|
||||
@@ -280,6 +298,7 @@ public class guadanOrderController : ApiController
|
||||
public string guadanUser { get; set; }
|
||||
public int page { get; set; } = 1;
|
||||
public int pageSize { get; set; } = 10;
|
||||
public string guaDanOrderNo { get; set; } = null;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user