调整挂单统计,修改删除区域报错

This commit is contained in:
2025-09-16 11:49:02 +08:00
parent f1e3f555e6
commit 40da17b414
11 changed files with 220 additions and 294 deletions

View File

@@ -116,7 +116,7 @@ public class guadanOrderGuestController : ApiController
return BadRequest("床位在該時間段內已被占用");
if (model.followerNum.HasValue)
{
if (_db.GuaDanOrderGuest.Any(a => a.FollowerNum == model.followerNum
if (_db.GuaDanOrderGuest.Any(a => a.FollowerNum == model.followerNum
&& a.GuaDanOrderNo == model.orderNo
&& a.StatusCode != "404"
))
@@ -330,31 +330,31 @@ public class guadanOrderGuestController : ApiController
[Route("api/guadanorderguest/xuzhu")]
public async Task<IHttpActionResult> ExtendStay([FromBody] XuZhuModel model)
{
//住方法
//住方法
if (model == null)
return BadRequest("请求数据为空");
return BadRequest("請求數據為空");
if (model.GuestUuid == Guid.Empty || model.GuestBedUuid == Guid.Empty)
return BadRequest("GuestUuid 或 GuestBedUuid 效");
var guest= await _db.GuaDanOrderGuest.FindAsync(model.GuestUuid);
return BadRequest("GuestUuid 或 GuestBedUuid 效");
var guest = await _db.GuaDanOrderGuest.FindAsync(model.GuestUuid);
if (guest == null)
{
return BadRequest("挂单不存在");
return BadRequest("掛單不存在");
}
if(guest.BedUuid != model.GuestBedUuid)
if (guest.BedUuid != model.GuestBedUuid)
{
return BadRequest("床位不正");
return BadRequest("床位不正");
}
var bedIsCanUse = await RegionAndRoomAndBedSchedule.IsBedAvailableAsync(_db,model.GuestBedUuid, model.CurrentCheckoutDate, model.NewCheckoutDate);
if(!bedIsCanUse)
var bedIsCanUse = await RegionAndRoomAndBedSchedule.IsBedAvailableAsync(_db, model.GuestBedUuid, model.CurrentCheckoutDate, model.NewCheckoutDate);
if (!bedIsCanUse)
{
return BadRequest("床位在续住时间段内被预定,无法续住");
return BadRequest("床位在續住時間段內被預定,無法續住");
}
var newStartDate = model.CurrentCheckoutDate.Date;
var newEndDate = model.NewCheckoutDate.Date.AddDays(-1);
if (newEndDate < newStartDate)
return BadRequest("住日期区间无效");
return BadRequest("住日期區間無效");
for (var date = newStartDate; date <= newEndDate; date = date.AddDays(1))
{
var newSchedule = new RegionAndRoomAndBedSchedule
@@ -364,8 +364,8 @@ public class guadanOrderGuestController : ApiController
TargetUuid = model.GuestBedUuid,
GuaDanOrderGuestUuid = model.GuestUuid,
ScheduleDate = date,
Title = "续住挂单", // 一天一条,开始和束是同一天
Description = "续住挂单",
Title = "續住掛單", // 一天一條,開始和束是同一天
Description = "續住掛單",
UseType = 30,
CreatedAt = DateTime.UtcNow
};
@@ -373,8 +373,8 @@ public class guadanOrderGuestController : ApiController
_db.RegionAndRoomAndBedSchedule.Add(newSchedule);
}
guest.CheckOutAt = model.NewCheckoutDate.Date;
await _db.SaveChangesAsync(); // 保存数据库操作
return Ok(new { message = "住成功" });
await _db.SaveChangesAsync(); // 保存資料庫操作
return Ok(new { message = "住成功" });
}
[HttpPost]
[Route("api/guadanorderguest/cancel")]
@@ -495,13 +495,13 @@ public class guadanOrderGuestController : ApiController
//更新未來排程為取消
var latestCheckoutStr = _db.GuadanTimeSetting
.Select(a => a.LatestCheckOut) // 字串 "HH:mm"
.Select(a => a.LatestCheckOut) // 字串 "HH:mm"
.FirstOrDefault();
TimeSpan? latestCheckoutTime = null;
if (!string.IsNullOrEmpty(latestCheckoutStr))
{
// 尝试解析字
// 嘗試解析字串
if (TimeSpan.TryParse(latestCheckoutStr, out var ts))
{
latestCheckoutTime = ts;
@@ -588,7 +588,7 @@ public class guadanOrderGuestController : ApiController
if (guest.BedUuid != null)
{
var bed = _db.RegionRoomBed.FirstOrDefault(b => b.Uuid == guest.BedUuid);
if(bed == null)
if (bed == null)
{
return BadRequest("入住床位不存在");
}
@@ -598,10 +598,10 @@ public class guadanOrderGuestController : ApiController
}
else
{
return BadRequest($"前床位状态{bed.RegionRoomBedStatus.Name} 不能入住");
return BadRequest($"前床位狀態{bed.RegionRoomBedStatus.Name} 不能入住");
}
}
else if(guest.BedUuid == null)
else if (guest.BedUuid == null)
{
return BadRequest("入住床位不存在");
}
@@ -653,10 +653,10 @@ public class guadanOrderGuestController : ApiController
}
public class XuZhuModel
{
public Guid GuestUuid { get; set; } // 不可
public Guid GuestBedUuid { get; set; } // 不可
public DateTime CurrentCheckoutDate { get; set; } // 前退房时间
public DateTime NewCheckoutDate { get; set; } // 新退房时间
public Guid GuestUuid { get; set; } // 不可
public Guid GuestBedUuid { get; set; } // 不可
public DateTime CurrentCheckoutDate { get; set; } // 前退房時間
public DateTime NewCheckoutDate { get; set; } // 新退房時間
}
}