From e9f17a50374d536873265b723392a2a9370bc67f Mon Sep 17 00:00:00 2001 From: HUANGBANGLIN Date: Wed, 29 Oct 2025 13:48:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A5=9E=E7=A5=96=E7=89=8C=E4=BD=8D=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A8=A1=E7=B5=84=EF=BC=8C=E6=8E=9B=E5=96=AE=E6=A8=A1?= =?UTF-8?q?=E7=B5=84=E5=89=8D=E7=AB=AFURL=E6=B7=BB=E5=8A=A0HTTP=5FHOST?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/SQL/AncestralTabletStatus_script.sql | Bin 0 -> 14798 bytes data/memo/新增 文字文件.md | 11 + ...主牌管理系統資料字典設計.docx | Bin 0 -> 17666 bytes web/App_Code/Model/Model.Context.cs | 5 + web/App_Code/Model/Model.cs | 143 +++ web/App_Code/Model/Model.edmx | 426 ++++++++ web/App_Code/Model/Model.edmx.diagram | 11 + .../api/AncestralTabletAreaController.cs | 180 ++++ .../api/AncestralTabletPositionController.cs | 184 ++++ .../api/AncestralTabletRecordController.cs | 361 +++++++ .../AncestralTabletStatisticsController.cs | 38 + .../api/AncestralTabletStatusController.cs | 29 + web/App_Code/api/guadanOrderController.cs | 2 - .../ancestraltabletarea/index.aspx | 908 ++++++++++++++++++ .../ancestraltabletarea/index.aspx.cs | 14 + .../ancestraltabletposition/index.aspx | 569 +++++++++++ .../ancestraltabletposition/index.aspx.cs | 14 + .../ancestraltabletstatistics/index.aspx | 126 +++ .../ancestraltabletstatistics/index.aspx.cs | 14 + .../ancestraltabletuselist/create.aspx | 15 + .../ancestraltabletuselist/create.aspx.cs | 14 + .../ancestraltabletuselist/detail.aspx | 99 ++ .../ancestraltabletuselist/detail.aspx.cs | 14 + .../ancestraltabletuselist/edit.aspx | 419 ++++++++ .../ancestraltabletuselist/edit.aspx.cs | 14 + .../ancestraltabletuselist/index.aspx | 192 ++++ .../ancestraltabletuselist/index.aspx.cs | 14 + web/admin/guadan/create.aspx | 40 +- web/admin/guadan/guest/index.aspx | 2 +- web/admin/guadan/index.aspx | 72 +- web/admin/guadan/statistics_table.aspx | 2 +- web/admin/guadan/view.aspx | 6 +- web/admin/region/bed/bedstatus/index.aspx | 4 +- web/admin/region/bed/index.aspx | 4 +- web/admin/region/index.aspx | 16 +- web/admin/regiontype/index.aspx | 4 +- 36 files changed, 3889 insertions(+), 77 deletions(-) create mode 100644 data/SQL/AncestralTabletStatus_script.sql create mode 100644 data/memo/新增 文字文件.md create mode 100644 data/神主牌管理系統資料字典設計.docx create mode 100644 web/App_Code/api/AncestralTabletAreaController.cs create mode 100644 web/App_Code/api/AncestralTabletPositionController.cs create mode 100644 web/App_Code/api/AncestralTabletRecordController.cs create mode 100644 web/App_Code/api/AncestralTabletStatisticsController.cs create mode 100644 web/App_Code/api/AncestralTabletStatusController.cs create mode 100644 web/admin/ancestraltablet/ancestraltabletarea/index.aspx create mode 100644 web/admin/ancestraltablet/ancestraltabletarea/index.aspx.cs create mode 100644 web/admin/ancestraltablet/ancestraltabletposition/index.aspx create mode 100644 web/admin/ancestraltablet/ancestraltabletposition/index.aspx.cs create mode 100644 web/admin/ancestraltablet/ancestraltabletstatistics/index.aspx create mode 100644 web/admin/ancestraltablet/ancestraltabletstatistics/index.aspx.cs create mode 100644 web/admin/ancestraltablet/ancestraltabletuselist/create.aspx create mode 100644 web/admin/ancestraltablet/ancestraltabletuselist/create.aspx.cs create mode 100644 web/admin/ancestraltablet/ancestraltabletuselist/detail.aspx create mode 100644 web/admin/ancestraltablet/ancestraltabletuselist/detail.aspx.cs create mode 100644 web/admin/ancestraltablet/ancestraltabletuselist/edit.aspx create mode 100644 web/admin/ancestraltablet/ancestraltabletuselist/edit.aspx.cs create mode 100644 web/admin/ancestraltablet/ancestraltabletuselist/index.aspx create mode 100644 web/admin/ancestraltablet/ancestraltabletuselist/index.aspx.cs diff --git a/data/SQL/AncestralTabletStatus_script.sql b/data/SQL/AncestralTabletStatus_script.sql new file mode 100644 index 0000000000000000000000000000000000000000..86204e4f2fc6e9152a52bd72e34c1d43ab426fe9 GIT binary patch literal 14798 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 Fe*hue>em1O literal 0 HcmV?d00001 diff --git a/web/App_Code/Model/Model.Context.cs b/web/App_Code/Model/Model.Context.cs index b3af8b4..55693ea 100644 --- a/web/App_Code/Model/Model.Context.cs +++ b/web/App_Code/Model/Model.Context.cs @@ -89,6 +89,11 @@ namespace Model public virtual DbSet RegionRoomBedStatus { get; set; } public virtual DbSet RegionType { get; set; } public virtual DbSet Room { get; set; } + public virtual DbSet AncestralTabletArea { get; set; } + public virtual DbSet AncestralTabletPosition { get; set; } + public virtual DbSet AncestralTabletPositionRecord { get; set; } + public virtual DbSet AncestralTabletRegistrant { get; set; } + public virtual DbSet AncestralTabletStatus { get; set; } public virtual int pager_eztrust(Nullable startRowIndex, Nullable pageSize, string tableName, string columnName, string sqlWhere, string orderBy, ObjectParameter rowCount) { diff --git a/web/App_Code/Model/Model.cs b/web/App_Code/Model/Model.cs index 1f090d4..450d467 100644 --- a/web/App_Code/Model/Model.cs +++ b/web/App_Code/Model/Model.cs @@ -523,6 +523,139 @@ namespace Model using System; using System.Collections.Generic; + public partial class AncestralTabletArea + { + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] + public AncestralTabletArea() + { + this.AncestralTabletArea1 = new HashSet(); + this.AncestralTabletPosition = new HashSet(); + } + + public int AreaId { get; set; } + public string AreaName { get; set; } + public string AreaCode { get; set; } + public Nullable ParentAreaId { get; set; } + public string AreaType { get; set; } + public Nullable Price { get; set; } + public Nullable SortOrder { get; set; } + public bool IsDisabled { get; set; } + public string Description { get; set; } + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + public virtual ICollection AncestralTabletArea1 { get; set; } + public virtual AncestralTabletArea AncestralTabletArea2 { get; set; } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + public virtual ICollection AncestralTabletPosition { get; set; } + } +} +namespace Model +{ + using System; + using System.Collections.Generic; + + public partial class AncestralTabletPosition + { + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] + public AncestralTabletPosition() + { + this.AncestralTabletRegistrant = new HashSet(); + } + + public int PositionId { get; set; } + public int AreaId { get; set; } + public string PositionCode { get; set; } + public string PositionName { get; set; } + public Nullable Price { get; set; } + public string StatusCode { get; set; } + public string Description { get; set; } + public Nullable RowNo { get; set; } + public Nullable ColumnNo { get; set; } + + public virtual AncestralTabletArea AncestralTabletArea { get; set; } + public virtual AncestralTabletStatus AncestralTabletStatus { get; set; } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + public virtual ICollection AncestralTabletRegistrant { get; set; } + } +} +namespace Model +{ + using System; + using System.Collections.Generic; + + public partial class AncestralTabletPositionRecord + { + public int RecordId { get; set; } + public string RegistrantCode { get; set; } + public string NPTitle { get; set; } + public System.DateTime NPStandDate { get; set; } + public string NPYangShang { get; set; } + public string WPContent { get; set; } + public System.DateTime CreatedAt { get; set; } + public Nullable UpdatedAt { get; set; } + + public virtual AncestralTabletRegistrant AncestralTabletRegistrant { get; set; } + } +} +namespace Model +{ + using System; + using System.Collections.Generic; + + public partial class AncestralTabletRegistrant + { + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] + public AncestralTabletRegistrant() + { + this.AncestralTabletPositionRecord = new HashSet(); + } + + public string RegistrantCode { get; set; } + public string Name { get; set; } + public string Phone { get; set; } + public string Address { get; set; } + public System.DateTime RegisterDate { get; set; } + public Nullable Price { get; set; } + public Nullable PositionId { get; set; } + public System.DateTime StartDate { get; set; } + public Nullable EndDate { get; set; } + public bool IsLongTerm { get; set; } + public bool IsActive { get; set; } + public System.DateTime CreatedAt { get; set; } + public Nullable UpdatedAt { get; set; } + public bool IsEnd { get; set; } + + public virtual AncestralTabletPosition AncestralTabletPosition { get; set; } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + public virtual ICollection AncestralTabletPositionRecord { get; set; } + } +} +namespace Model +{ + using System; + using System.Collections.Generic; + + public partial class AncestralTabletStatus + { + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] + public AncestralTabletStatus() + { + this.AncestralTabletPosition = new HashSet(); + } + + public string StatusCode { get; set; } + public string StatusName { get; set; } + public string StatusType { get; set; } + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + public virtual ICollection AncestralTabletPosition { get; set; } + } +} +namespace Model +{ + using System; + using System.Collections.Generic; + public partial class appellation { [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] @@ -857,6 +990,12 @@ namespace Model public partial class GuaDanOrder { + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] + public GuaDanOrder() + { + this.GuaDanOrderGuest = new HashSet(); + } + public Nullable StartDate { get; set; } public Nullable EndDate { get; set; } public Nullable CreateUser { get; set; } @@ -874,6 +1013,8 @@ namespace Model public virtual admin admin { get; set; } public virtual follower followers { get; set; } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + public virtual ICollection GuaDanOrderGuest { get; set; } } } namespace Model @@ -898,6 +1039,7 @@ namespace Model public Nullable CheckInAt { get; set; } public Nullable CheckOutAt { get; set; } public string StatusCode { get; set; } + public Nullable OrderUuid { get; set; } public virtual follower followers { get; set; } public virtual RegionRoomBed RegionRoomBed { get; set; } @@ -905,6 +1047,7 @@ namespace Model public virtual RegionRoomBedStatus RegionRoomBedStatus { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public virtual ICollection RegionAndRoomAndBedSchedule { get; set; } + public virtual GuaDanOrder GuaDanOrder { get; set; } } } namespace Model diff --git a/web/App_Code/Model/Model.edmx b/web/App_Code/Model/Model.edmx index 8e40781..e887b85 100644 --- a/web/App_Code/Model/Model.edmx +++ b/web/App_Code/Model/Model.edmx @@ -254,6 +254,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -454,6 +522,7 @@ + @@ -910,6 +979,18 @@ + + + + + + + + + + + + @@ -1178,6 +1259,18 @@ + + + + + + + + + + + + @@ -1372,6 +1465,18 @@ + + + + + + + + + + + + @@ -1506,6 +1611,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -1718,6 +1847,18 @@ + + + + + + + + + + + + @@ -1966,6 +2107,11 @@ + + + + + @@ -2010,6 +2156,10 @@ + + + + @@ -2094,6 +2244,10 @@ + + + + @@ -2158,6 +2312,10 @@ + + + + @@ -2202,6 +2360,14 @@ + + + + + + + + @@ -2270,6 +2436,10 @@ + + + + @@ -4348,6 +4518,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4641,6 +4840,7 @@ + @@ -4660,6 +4860,8 @@ + + @@ -4912,6 +5114,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5773,6 +6125,7 @@ + @@ -5885,6 +6238,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/App_Code/Model/Model.edmx.diagram b/web/App_Code/Model/Model.edmx.diagram index c1722e4..4de4ec0 100644 --- a/web/App_Code/Model/Model.edmx.diagram +++ b/web/App_Code/Model/Model.edmx.diagram @@ -151,6 +151,17 @@ + + + + + + + + + + + diff --git a/web/App_Code/api/AncestralTabletAreaController.cs b/web/App_Code/api/AncestralTabletAreaController.cs new file mode 100644 index 0000000..614f134 --- /dev/null +++ b/web/App_Code/api/AncestralTabletAreaController.cs @@ -0,0 +1,180 @@ +using Model; +using PagedList; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Data.Entity; +using System.Linq; +using System.Threading.Tasks; +using System.Web; +using System.Web.Http; +using static AncestralTabletPositionController; +using static regionController; + +/// +/// AncestralTabletController 的摘要描述 +/// +public class AncestralTabletAreaController: ApiController +{ + private Model.ezEntities _db = new Model.ezEntities(); + public class AreaViewModel + { + public int? AreaId { get; set; } + public string AreaName { get; set; } + + [Required(ErrorMessage = "區域編號為必填")] + public string AreaCode { get; set; } + public int? ParentAreaId { get; set; } + public string AreaType { get; set; } + public int? Price { get; set; } + public int? SortOrder { get; set; } + public bool IsDisabled { get; set; } = false; + public string Description { get; set; } + } + public class RegionDto + { + public int AreaId { get; set; } + public string AreaName { get; set; } + public string AreaCode { get; set; } + public int? SortOrder { get; set; } + public int? ParentAreaId { get; set; } + public string AreaType { get; set; } + public bool IsDisabled { get; set; } + public string Description { get; set; } + public int? Price { set; get; } + + public List Children { get; set; } = new List(); + } + [HttpGet] + [Route("api/ancestraltablet/area/getlist")] + public IHttpActionResult GetList() + { + var allArea = _db.AncestralTabletArea.ToList(); + + var rootRegions = allArea + .Where(r => r.ParentAreaId == null) + .OrderBy(r => r.SortOrder) + .ToList(); + + var tree = rootRegions + .Select(r => BuildRegionDto(r, allArea)) + .ToList(); + return Ok(tree); + + } + [HttpGet] + [Route("api/ancestraltablet/area/getereawithposition")] + public IHttpActionResult GetEreaWithPosition() + { + //获取有神位位置的区域 + var allArea = _db.AncestralTabletArea + .Where(a => a.AncestralTabletPosition.Count()>0) + .Select(a => new + { + a.AreaId, + a.AreaName, + }) + .ToList(); + return Ok(allArea); + + } + private RegionDto BuildRegionDto(AncestralTabletArea area, List allArea) + { + return new RegionDto + { + AreaId = area.AreaId, + AreaName = area.AreaName, + AreaCode = area.AreaCode, + SortOrder = area.SortOrder, + ParentAreaId = area.ParentAreaId, + AreaType = area.AreaType, + IsDisabled = area.IsDisabled, + Description = area.Description, + Price = area.Price, + Children = allArea + .Where(r => r.ParentAreaId == area.AreaId) + .OrderBy(r => r.SortOrder) + .Select(child => BuildRegionDto(child, allArea)) + .ToList(), + }; + } + [HttpPost] + [Route("api/ancestraltablet/area/create")] + public async Task CreateArea([FromBody] AreaViewModel tabletArea) + { + if (!ModelState.IsValid) + return BadRequest(ModelState); + try + { + var area = new AncestralTabletArea + { + AreaName = tabletArea.AreaName, + AreaCode = tabletArea.AreaCode, + ParentAreaId = tabletArea.ParentAreaId, + AreaType = tabletArea.AreaType, + Price = tabletArea.Price, + SortOrder = tabletArea.SortOrder, + IsDisabled = tabletArea.IsDisabled, + Description = tabletArea.Description + }; + _db.AncestralTabletArea.Add(area); + await _db.SaveChangesAsync(); + tabletArea.AreaId = area.AreaId; + return Ok(new { message = "區域建立成功", area = tabletArea }); + } + catch (Exception ex) + { + return InternalServerError(ex); + } + } + [HttpPost] + [Route("api/ancestraltablet/area/edit")] + public async Task EditArea([FromBody] AreaViewModel tabletArea) + { + if (!ModelState.IsValid) + return BadRequest(ModelState); + try + { + var oldArea = _db.AncestralTabletArea.Find(tabletArea.AreaId); + if (oldArea == null) + { + return NotFound(); + } + oldArea.AreaName = tabletArea.AreaName; + oldArea.AreaCode = tabletArea.AreaCode; + oldArea.ParentAreaId = tabletArea.ParentAreaId; + oldArea.Price = tabletArea.Price; + oldArea.SortOrder = tabletArea.SortOrder; + oldArea.Description = tabletArea.Description; + oldArea.IsDisabled = tabletArea.IsDisabled; + await _db.SaveChangesAsync(); + return Ok(new { message = "區域修改成功", area = tabletArea }); + } + catch (Exception ex) + { + return InternalServerError(ex); + } + } + [HttpGet] + [Route("api/ancestraltablet/area/position/getlist")] + public IHttpActionResult GetPositionList([FromUri] int areaId) + { + var positions = _db.AncestralTabletPosition + .Where(p => p.AreaId == areaId) + .Select(p => new AncestralTabletPositionDto + { + PositionId = p.PositionId, + AreaId = p.AreaId, + PositionCode = p.PositionCode, + PositionName = p.PositionName, + Price = p.Price, + StatusCode = p.StatusCode, + Description = p.Description, + RowNo = p.RowNo, + ColumnNo = p.ColumnNo + }) + .ToList(); + + return Ok(positions); + } +} \ No newline at end of file diff --git a/web/App_Code/api/AncestralTabletPositionController.cs b/web/App_Code/api/AncestralTabletPositionController.cs new file mode 100644 index 0000000..c4e8316 --- /dev/null +++ b/web/App_Code/api/AncestralTabletPositionController.cs @@ -0,0 +1,184 @@ +using Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Web; +using System.Web.Http; + +/// +/// AncestralTabletPositionController 的摘要描述 +/// +public class AncestralTabletPositionController: ApiController +{ + private Model.ezEntities _db = new Model.ezEntities(); + + [HttpGet] + [Route("api/ancestraltablet/position/getlist")] + public IHttpActionResult GetList([FromUri] int areaId) + { + var positions = _db.AncestralTabletPosition + .Where(p => p.AreaId == areaId) + .Select(p => new + { + PositionId = p.PositionId, + AreaId = p.AreaId, + PositionCode = p.PositionCode, + PositionName = p.PositionName, + Price = p.Price, + StatusCode = p.StatusCode, + Description = p.Description, + RowNo = p.RowNo, + ColumnNo = p.ColumnNo, + AncestralTabletRegistrant = _db.AncestralTabletRegistrant + .Where(r => r.PositionId == p.PositionId && r.IsActive == true) + .Select(r => new + { + r.RegistrantCode, + r.Name, + r.Phone, + r.Address, + r.RegisterDate, + r.Price, + r.StartDate, + r.EndDate, + r.IsLongTerm, + r.IsActive, + + // 嵌套查询牌位记录(PositionRecord) + TabletRecord = r.AncestralTabletPositionRecord + .Select(pr => new + { + pr.RecordId, + pr.RegistrantCode, + pr.NPTitle, + pr.NPStandDate, + pr.NPYangShang, + pr.WPContent + }) + .FirstOrDefault() + }) + .FirstOrDefault() + }) + .ToList(); + + return Ok(positions); + } + [HttpGet] + [Route("api/ancestraltablet/position/shortlist")] + public IHttpActionResult GetListWithShort([FromUri] int areaId) + { + //获取位置列表,简单信息 + var positions = _db.AncestralTabletPosition + .Where(p => p.AreaId == areaId) + .Select(p => new + { + PositionId = p.PositionId, + AreaId = p.AreaId, + PositionCode = p.PositionCode, + PositionName = p.PositionName, + Price = p.Price, + StatusCode = p.StatusCode, + Description = p.Description, + RowNo = p.RowNo, + ColumnNo = p.ColumnNo, + isCanUse = p.StatusCode == "available" ? true : false, + }) + .ToList(); + + return Ok(positions); + } + [HttpPost] + [Route("api/ancestraltablet/position/batchcreate")] + public IHttpActionResult BatchCreatePosition([FromBody] List positions) + { + if (positions == null || positions.Count == 0) + return BadRequest("未接收到任何位置数据"); + + try + { + foreach (var dto in positions) + { + var entity = new AncestralTabletPosition + { + AreaId = dto.AreaId, + PositionCode = dto.PositionCode, + PositionName = dto.PositionName, + Price = dto.Price, + StatusCode = dto.StatusCode, + Description = dto.Description, + RowNo = dto.RowNo, + ColumnNo = dto.ColumnNo + }; + + _db.AncestralTabletPosition.Add(entity); + } + + _db.SaveChanges(); + + return Ok(new { message = "批量新增成功", count = positions.Count }); + } + catch (Exception ex) + { + string message = ex.InnerException?.InnerException?.Message ?? ex.Message; + + return Content(HttpStatusCode.InternalServerError, new + { + message = "批量新增失败", + exceptionMessage = message + }); + } + } + + [HttpPost] + [Route("api/ancestraltablet/position/edit")] + public IHttpActionResult EditPosition([FromBody] AncestralTabletPositionDto pos) + { + var oldPos = _db.AncestralTabletPosition + .FirstOrDefault(p => p.AreaId == pos.AreaId && p.PositionCode == pos.PositionCode); + if(oldPos == null) return NotFound(); + try + { + oldPos.PositionName = pos.PositionName; + oldPos.Price = pos.Price; + oldPos.StatusCode = pos.StatusCode; + + // 保存到数据库 + _db.SaveChanges(); + } + catch (Exception ex) + { + return InternalServerError(ex); + } + return Ok(new { message="更新成功", code=200}); + } + [HttpDelete] + [Route("api/ancestraltablet/position/delete/{positionId}")] + public IHttpActionResult DeletePosition(int positionId) + { + var pos = _db.AncestralTabletPosition.FirstOrDefault(p => p.PositionId == positionId); + + if (pos == null) + { + return NotFound(); + } + + _db.AncestralTabletPosition.Remove(pos); + _db.SaveChanges(); + + return Ok("删除成功"); + } + public class AncestralTabletPositionDto + { + public int PositionId { get; set; } + public int AreaId { get; set; } + public string PositionCode { get; set; } + public string PositionName { get; set; } + public int? Price { get; set; } + public string StatusCode { get; set; } + public string Description { get; set; } + public int? RowNo { get; set; } + public int? ColumnNo { get; set; } + } + +} \ No newline at end of file diff --git a/web/App_Code/api/AncestralTabletRecordController.cs b/web/App_Code/api/AncestralTabletRecordController.cs new file mode 100644 index 0000000..22c3e15 --- /dev/null +++ b/web/App_Code/api/AncestralTabletRecordController.cs @@ -0,0 +1,361 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Http; +using System.Web.UI.WebControls; + +/// +/// AncestralTabletRecordController 的摘要描述 +/// +public class AncestralTabletRecordController: ApiController +{ + private Model.ezEntities _db = new Model.ezEntities(); + [HttpGet] + [Route("api/ancestraltablet/registrant/getlist")] + public IHttpActionResult GetRegistrantList() + { + //获取登记人列表 + var data = _db.AncestralTabletRegistrant.Select(x => new + { + x.RegistrantCode, + x.Name, + x.Phone, + x.Address, + x.RegisterDate, + x.Price, + x.PositionId, + x.StartDate, + x.EndDate, + x.IsLongTerm, + x.IsActive, + x.CreatedAt, + x.UpdatedAt + }) + .Take(1000) // 取前1000条 + .ToList(); ; + return Ok(data); + } + [HttpPost] + [Route("api/ancestraltablet/registrant/getlistbypage")] + public IHttpActionResult GetRegistrantListByPage([FromBody] RegistrantSearchDto searchDto) + { + //获取登记人列表 + var query = _db.AncestralTabletRegistrant.AsQueryable(); + if( !string.IsNullOrEmpty(searchDto.searchName)) + { + query = query.Where(r => r.Name == searchDto.searchName); + } + var tatol = query.Count(); + var data = query.Select(x => new + { + x.RegistrantCode, + x.Name, + x.Phone, + x.Address, + x.RegisterDate, + x.Price, + x.PositionId, + x.StartDate, + x.EndDate, + x.IsLongTerm, + x.IsActive, + x.CreatedAt, + x.UpdatedAt + }) + .OrderByDescending(a => a.CreatedAt) + .Skip((searchDto.page - 1) * searchDto.pageSize) + .Take(searchDto.pageSize) // 取前1000条 + .ToList(); + return Ok(new + { + data = data, + total = tatol + + }); + } + + [HttpGet] + [Route("api/ancestraltablet/registrant/getbycode")] + public IHttpActionResult GetRegistrantByCode([FromUri] string registrantCode) + { + var r = _db.AncestralTabletRegistrant.Find(registrantCode); + if (r == null) + { + return NotFound(); + } + var rDto = new + { + r.RegistrantCode, + r.Name, + r.Phone, + r.Address, + r.RegisterDate, + r.Price, + r.StartDate, + r.EndDate, + r.IsLongTerm, + r.IsActive, + r.PositionId, + positionName = r.AncestralTabletPosition?.PositionName, + + + // 嵌套查询牌位记录(PositionRecord) + TabletRecord = r.AncestralTabletPositionRecord + .Select(pr => new + { + pr.RecordId, + pr.RegistrantCode, + pr.NPTitle, + pr.NPStandDate, + pr.NPYangShang, + pr.WPContent, + }) + .FirstOrDefault() + }; + return Ok(rDto); + } + + [HttpPost] + [Route("api/ancestraltablet/registrant/create")] + public IHttpActionResult CreateRegistrant([FromBody] AncestralTabletRegistrantDto dto) + { + //新增登记人api + if (dto == null) + { + return BadRequest("请求体不能为空"); + } + if(!string.IsNullOrEmpty(dto.RegistrantCode)) + { + return BadRequest("RegistrantCode 应传递空"); + } + try + { + dto.RegistrantCode = GenerateRegistrantCode(); + + // 设置默认创建时间 + dto.CreatedAt = DateTime.Now; + var entity = new Model.AncestralTabletRegistrant + { + RegistrantCode = dto.RegistrantCode, + Name = dto.Name, + Phone = dto.Phone, + Address = dto.Address, + RegisterDate = dto.RegisterDate, + Price = dto.Price, + PositionId = dto.PositionId, + StartDate = dto.startDate, + EndDate = dto.endDate, + IsLongTerm = dto.isLongTerm, + IsActive = dto.isActive, + CreatedAt = dto.CreatedAt, + UpdatedAt = dto.UpdatedAt + }; + + // 假设你有一个 EF DbContext(如 _db) + _db.AncestralTabletRegistrant.Add(entity); + if (dto.PositionId != null) + { + var position = _db.AncestralTabletPosition + .FirstOrDefault(p => p.PositionId == dto.PositionId); + + if (position != null) + { + position.StatusCode = "used"; // 或者根据你的枚举/字段设置 + } + } + + _db.SaveChanges(); + + return Ok(new { message = "登记成功", registrantCode = entity.RegistrantCode }); + } + catch (Exception ex) + { + return InternalServerError(ex); + } + } + [HttpPost] + [Route("api/ancestraltablet/registrant/update")] + public IHttpActionResult UpdateRegistrant([FromBody] AncestralTabletRegistrantDto dto) + { + if (dto == null) + { + return BadRequest("请求体不能为空"); + } + + if (string.IsNullOrWhiteSpace(dto.RegistrantCode)) + { + return BadRequest("缺少 RegistrantCode,无法进行更新操作"); + } + + try + { + // 查找原始资料 + var entity = _db.AncestralTabletRegistrant + .FirstOrDefault(r => r.RegistrantCode == dto.RegistrantCode); + + if (entity == null) + { + return NotFound(); // 没有对应记录 + } + + // ===== 处理安位状态 ===== + if (entity.PositionId != dto.PositionId) + { + // 1. 原来的安位设置为可用 + if (entity.PositionId != null) + { + var oldPosition = _db.AncestralTabletPosition + .FirstOrDefault(p => p.PositionId == entity.PositionId); + + if (oldPosition != null) + { + oldPosition.StatusCode = "available"; // 可用 + } + } + + // 2. 新的安位设置为已使用 + if (dto.PositionId != null) + { + var newPosition = _db.AncestralTabletPosition + .FirstOrDefault(p => p.PositionId == dto.PositionId); + + if (newPosition != null) + { + newPosition.StatusCode = "used"; // 已使用 + } + } + + // 更新登记人安位 + entity.PositionId = dto.PositionId; + } + + // 更新其它字段 + entity.Name = dto.Name; + entity.Phone = dto.Phone; + entity.Address = dto.Address; + entity.RegisterDate = dto.RegisterDate; + entity.Price = dto.Price; + entity.StartDate = dto.startDate; + entity.EndDate = dto.endDate; + entity.IsLongTerm = dto.isLongTerm; + entity.IsActive = dto.isActive; + entity.UpdatedAt = DateTime.Now; + + _db.SaveChanges(); + + return Ok(new { message = "登记人更新成功", registrantCode = entity.RegistrantCode }); + } + catch (Exception ex) + { + return InternalServerError(ex); + } + } + + [HttpPost] + [Route("api/ancestraltablet/pw/create")] + public IHttpActionResult CreatePW([FromBody] AncestralTabletPositionRecordDto dto) + { + if (dto == null) + return BadRequest("请求体不能为空"); + + if (string.IsNullOrEmpty(dto.RegistrantCode)) + return BadRequest("登记人编号(RegistrantCode)不能为空"); + + try + { + // 映射到数据库实体 + var entity = new Model.AncestralTabletPositionRecord + { + RegistrantCode = dto.RegistrantCode, + NPTitle = dto.NPTitle, + NPStandDate = dto.NPStandDate, + NPYangShang = dto.NPYangShang, + WPContent = dto.WPContent, + CreatedAt = DateTime.Now, + UpdatedAt = null + }; + + _db.AncestralTabletPositionRecord.Add(entity); + _db.SaveChanges(); + + return Ok(new { message = "牌位登记成功", recordId = entity.RecordId }); + } + catch (Exception ex) + { + return InternalServerError(ex); + } + } + [HttpPost] + [Route("api/ancestraltablet/pw/update")] + public IHttpActionResult UpdatePW([FromBody] AncestralTabletPositionRecordDto dto) + { + if (dto == null) + return BadRequest("请求体不能为空"); + try + { + var entity = _db.AncestralTabletPositionRecord.Find(dto.RecordId); + // 映射到数据库实体 + if (entity == null) + return BadRequest("牌位不存在,更新失败"); + entity.RegistrantCode = dto.RegistrantCode; + entity.NPTitle = dto.NPTitle; + entity.NPStandDate = dto.NPStandDate; + entity.NPYangShang = dto.NPYangShang; + entity.WPContent = dto.WPContent; + entity.UpdatedAt = DateTime.Now; + _db.SaveChanges(); + + return Ok(new { message = "牌位更新成功", recordId = entity.RecordId }); + } + catch (Exception ex) + { + return InternalServerError(ex); + } + } + + public string GenerateRegistrantCode(string prefix = "REG", int randomLength = 6) + { + string datePart = DateTime.Now.ToString("yyyyMMdd"); + + string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + var random = new Random(); + var suffix = new string(Enumerable.Repeat(chars, randomLength) + .Select(s => s[random.Next(s.Length)]).ToArray()); + + return $"{prefix}{datePart}{suffix}"; + } + public class AncestralTabletRegistrantDto + { + public string RegistrantCode { get; set; } + public string Name { get; set; } + public string Phone { get; set; } + public string Address { get; set; } + public DateTime RegisterDate { get; set; } + public int? Price { get; set; } + public int? PositionId { get; set; } + public DateTime startDate { get; set; } + public DateTime? endDate { get; set; } + public bool isLongTerm { get; set; } = false; + public bool isActive { get; set; } = true; + public DateTime CreatedAt { get; set; } + public DateTime? UpdatedAt { get; set; } + } + public class AncestralTabletPositionRecordDto + { + public int? RecordId { get; set; } + public string RegistrantCode { get; set; } + public string NPTitle { get; set; } + public DateTime NPStandDate { get; set; } + public string NPYangShang { get; set; } + public string WPContent { get; set; } + } + public class RegistrantSearchDto + { + public int page { get; set; } = 1; + public int pageSize { get; set; } = 10; + public string searchName { get; set; } + } + + +} \ No newline at end of file diff --git a/web/App_Code/api/AncestralTabletStatisticsController.cs b/web/App_Code/api/AncestralTabletStatisticsController.cs new file mode 100644 index 0000000..7d5f18f --- /dev/null +++ b/web/App_Code/api/AncestralTabletStatisticsController.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Http; + +/// +/// AncestralTabletStatisticsController 的摘要描述 +/// +public class AncestralTabletStatisticsController:ApiController +{ + private Model.ezEntities db = new Model.ezEntities(); + [HttpGet] + [Route("api/ancestraltablet/statistics/positions/availablepositions")] + public IHttpActionResult GetAvailablePositions() + { + var query = + from a in db.AncestralTabletArea // 区域表 + join p in db.AncestralTabletPosition + on a.AreaId equals p.AreaId into ap + from p in ap.DefaultIfEmpty() + join r in db.AncestralTabletRegistrant + on p.PositionId equals r.PositionId into pr + from r in pr.DefaultIfEmpty() + group new { a, p, r } by new { a.AreaId, a.AreaName } into g + select new + { + AreaId = g.Key.AreaId, + AreaName = g.Key.AreaName, + TotalPositions = g.Count(x => x.p != null), // 总位置数 + AvailableCount = g.Count(x => x.p != null && x.r == null) // 可用位置数(未登记) + }; + + var result = query.ToList(); + return Ok(result); + } + +} \ No newline at end of file diff --git a/web/App_Code/api/AncestralTabletStatusController.cs b/web/App_Code/api/AncestralTabletStatusController.cs new file mode 100644 index 0000000..8221830 --- /dev/null +++ b/web/App_Code/api/AncestralTabletStatusController.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Http; + +/// +/// AncestralTabletStatusController 的摘要描述 +/// +public class AncestralTabletStatusController:ApiController +{ + private Model.ezEntities _db = new Model.ezEntities(); + [HttpGet] + [Route("api/ancestraltablet/status/list")] + public IHttpActionResult GetStatusList() + { + var statusList = _db.AncestralTabletStatus + .Select(s => new + { + s.StatusCode, + s.StatusName, + s.StatusType + }) + .ToList(); + + return Ok(statusList); + } + +} \ No newline at end of file diff --git a/web/App_Code/api/guadanOrderController.cs b/web/App_Code/api/guadanOrderController.cs index 7cb068f..f35f755 100644 --- a/web/App_Code/api/guadanOrderController.cs +++ b/web/App_Code/api/guadanOrderController.cs @@ -7,8 +7,6 @@ using System.Linq; using System.Threading.Tasks; using System.Web; using System.Web.Http; -using static regionController; - /// /// guadanOderController 的摘要描述 /// diff --git a/web/admin/ancestraltablet/ancestraltabletarea/index.aspx b/web/admin/ancestraltablet/ancestraltabletarea/index.aspx new file mode 100644 index 0000000..e00e9a8 --- /dev/null +++ b/web/admin/ancestraltablet/ancestraltabletarea/index.aspx @@ -0,0 +1,908 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="admin_ancestraltablet_ancestraltabletarea_index" %> + + + + + + + + +
+
+
+
+
神主牌區域列表
+
+
    +
  • + +
  • +
+
+
+
+
+
+
+
+ + {{ ' ' + currentSelectArea?.areaName + ' ' }} + + + 資料 + +
+ +
+ +
+
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+ +
+ + +
+
+
+
+
+
+
+
+
+
+ {{currentSelectArea.areaName + ' - ' + '神主牌位置'}} +
+
+ 批次新增神主牌位置 +
+
+
+
+
+
{{ pos.positionName }}
+
+ + + 修改 + 刪除 +
+
+
+
+
+
+
+
+ +
+ + + + 新增區域 + + + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+ +
+ + +
+
+
+
+ + + + 取消 + 確定新增 + +
+
+
+ +
+ + + + 編輯區域 + + + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+ +
+ + +
+
+
+
+ + + + 取消 + 送出修改 + +
+
+
+ +
+ + + + + 批次新增神主牌位置 + + + mdi-close + + + + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+
+
+

預覽新增位置

+
    +
  • + {{ pos.PositionCode }} - {{ pos.PositionName }} (行: {{ pos.RowNo }}, 列: {{ pos.ColumnNo }}) +
  • +
+
+
+ + + 生成預覽 + 清除預覽 + 確認新增 + +
+
+
+ +
+ + + + 編輯位置:{{ currentEditPosition?.positionName || '未選擇' }} + + + +
+ + +
+ +
+ + +
+ +
+ + +
+
+ + + + 保存 + 取消 + +
+
+ +
+
+ + + + + + \ No newline at end of file diff --git a/web/admin/ancestraltablet/ancestraltabletarea/index.aspx.cs b/web/admin/ancestraltablet/ancestraltabletarea/index.aspx.cs new file mode 100644 index 0000000..b2843c3 --- /dev/null +++ b/web/admin/ancestraltablet/ancestraltabletarea/index.aspx.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +public partial class admin_ancestraltablet_ancestraltabletarea_index : MyWeb.config +{ + protected void Page_Load(object sender, EventArgs e) + { + + } +} \ No newline at end of file diff --git a/web/admin/ancestraltablet/ancestraltabletposition/index.aspx b/web/admin/ancestraltablet/ancestraltabletposition/index.aspx new file mode 100644 index 0000000..ce85de6 --- /dev/null +++ b/web/admin/ancestraltablet/ancestraltabletposition/index.aspx @@ -0,0 +1,569 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="admin_ancestraltablet_ancestraltabletposition_index" %> + + + + + + +
+
+
+
+
神主牌區域列表
+
+
    +
  • + +
  • +
+
+
+
+
+
+
+
+ {{currentSelectArea.areaName + ' - ' + '神主牌位置'}} +
+
+
+
+
+
{{ pos.positionName }}
+
+ 維護中 + 登記 + +
+
登記人:{{ pos.ancestralTabletRegistrant?.name }}
+
登記日期:{{ pos.ancestralTabletRegistrant?.registerDate|timeString('YYYY/MM/DD') }}
+ + 詳細資訊 + + + +
+ + +
+
已使用
+
使用人:{{ pos.usedBy }}
+
使用日期:{{ pos.usedDate|timeString('YYYY/MM/DD') }}
+
+
+
+
+
+
+
+
+
+ +
+ + + 登記資料({{'位置: ' + selectedPos?.positionName}}) + + +
+
登記人資料
+
+
+
+
+
+
+
+
+
+
+ + +
+ + +
+
牌位資料
+
+
+
+ +
+
+ + +
+
+ + + + +
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/web/admin/ancestraltablet/ancestraltabletposition/index.aspx.cs b/web/admin/ancestraltablet/ancestraltabletposition/index.aspx.cs new file mode 100644 index 0000000..73dc75b --- /dev/null +++ b/web/admin/ancestraltablet/ancestraltabletposition/index.aspx.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +public partial class admin_ancestraltablet_ancestraltabletposition_index : MyWeb.config +{ + protected void Page_Load(object sender, EventArgs e) + { + + } +} \ No newline at end of file diff --git a/web/admin/ancestraltablet/ancestraltabletstatistics/index.aspx b/web/admin/ancestraltablet/ancestraltabletstatistics/index.aspx new file mode 100644 index 0000000..e3e92fa --- /dev/null +++ b/web/admin/ancestraltablet/ancestraltabletstatistics/index.aspx @@ -0,0 +1,126 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="admin_ancestraltablet_ancestraltabletstatistics_index" %> + + + + + + +
+

區域牌位統計

+ + + + + + + + + + + + + + + + + +
區域編號區域名稱總位置數可用位置數
{{ area.areaId }}{{ area.areaName }}{{ area.totalPositions }}{{ area.availableCount }}
+
+ +
+ + + + + + \ No newline at end of file diff --git a/web/admin/ancestraltablet/ancestraltabletstatistics/index.aspx.cs b/web/admin/ancestraltablet/ancestraltabletstatistics/index.aspx.cs new file mode 100644 index 0000000..67c5212 --- /dev/null +++ b/web/admin/ancestraltablet/ancestraltabletstatistics/index.aspx.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +public partial class admin_ancestraltablet_ancestraltabletstatistics_index : MyWeb.config +{ + protected void Page_Load(object sender, EventArgs e) + { + + } +} \ No newline at end of file diff --git a/web/admin/ancestraltablet/ancestraltabletuselist/create.aspx b/web/admin/ancestraltablet/ancestraltabletuselist/create.aspx new file mode 100644 index 0000000..02894f1 --- /dev/null +++ b/web/admin/ancestraltablet/ancestraltabletuselist/create.aspx @@ -0,0 +1,15 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" CodeFile="create.aspx.cs" Inherits="admin_ancestraltablet_ancestraltabletuselist_create" %> + + + + + + +
+ 這是新增頁面 +
+
+ + + + \ No newline at end of file diff --git a/web/admin/ancestraltablet/ancestraltabletuselist/create.aspx.cs b/web/admin/ancestraltablet/ancestraltabletuselist/create.aspx.cs new file mode 100644 index 0000000..8ff8b66 --- /dev/null +++ b/web/admin/ancestraltablet/ancestraltabletuselist/create.aspx.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +public partial class admin_ancestraltablet_ancestraltabletuselist_create : MyWeb.config +{ + protected void Page_Load(object sender, EventArgs e) + { + + } +} \ No newline at end of file diff --git a/web/admin/ancestraltablet/ancestraltabletuselist/detail.aspx b/web/admin/ancestraltablet/ancestraltabletuselist/detail.aspx new file mode 100644 index 0000000..f2d2927 --- /dev/null +++ b/web/admin/ancestraltablet/ancestraltabletuselist/detail.aspx @@ -0,0 +1,99 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" CodeFile="detail.aspx.cs" Inherits="admin_ancestraltablet_ancestraltabletuselist_detail" %> + + + + + + + +
+ {{registrantCode}} +
+
+
+

登記人資訊

+

登記編碼: {{ registrant.registrantCode }}

+

姓名: {{ registrant.name }}

+

電話: {{ registrant.phone }}

+

地址: {{ registrant.address }}

+

登記日期: {{ formatDate(registrant.registerDate) }}

+
+
+ + {{ registrant?.positionName || '未選擇' }} +
+
+

價格: {{ registrant.price }}

+

開始日期: {{ formatDate(registrant.startDate) }}

+

結束日期: {{ formatDate(registrant.endDate) }}

+

是否長期: {{ registrant.isLongTerm ? '是' : '否' }}

+

是否啟用: {{ registrant.isActive ? '是' : '否' }}

+
+ +
+

牌位資料

+

記錄ID: {{ registrant.tabletRecord.recordId }}

+

登記編碼: {{ registrant.tabletRecord.registrantCode }}

+ +

牌位標題: {{ registrant.tabletRecord.npTitle }}

+

立牌日期: {{ formatDate(registrant.tabletRecord.npStandDate) }}

+

陽上: {{ registrant.tabletRecord.npYangShang }}

+

內牌內容: {{ registrant.tabletRecord.wpContent }}

+
+ +
+

牌位資料

+

暫無牌位資料

+
+
+
+ + + + + + \ No newline at end of file diff --git a/web/admin/ancestraltablet/ancestraltabletuselist/detail.aspx.cs b/web/admin/ancestraltablet/ancestraltabletuselist/detail.aspx.cs new file mode 100644 index 0000000..b151511 --- /dev/null +++ b/web/admin/ancestraltablet/ancestraltabletuselist/detail.aspx.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +public partial class admin_ancestraltablet_ancestraltabletuselist_detail : MyWeb.config +{ + protected void Page_Load(object sender, EventArgs e) + { + + } +} \ No newline at end of file diff --git a/web/admin/ancestraltablet/ancestraltabletuselist/edit.aspx b/web/admin/ancestraltablet/ancestraltabletuselist/edit.aspx new file mode 100644 index 0000000..ee471af --- /dev/null +++ b/web/admin/ancestraltablet/ancestraltabletuselist/edit.aspx @@ -0,0 +1,419 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" CodeFile="edit.aspx.cs" Inherits="admin_ancestraltablet_ancestraltabletuselist_edit" %> + + + + + + + +
+ +
+

編輯登記人資訊

+ + + + + + + + + + + + + + +
+
+ + {{ registrant?.positionName || '未選擇' }} +
+
+ + {{ this.newPositionEntity?.positionName }} +
+ +
+ + + + + + + + + +
+ + + +
+ +
+ + + +
+ + +
+ + +
+

編輯牌位資料

+ + + + + + + + + + + + + + + + + + + + +
+ +
+

牌位資料

+

暫無牌位資料

+ + +
+ + + + + + + + + + + + + +
+
+ +
+ + + + 選擇位置: + + + + + +
+
+
{{ pos.positionName }}
+
+ + 已被使用 +
+
+
+
+ + +
新位置:{{newPositionEntity?.positionName}}
+ 確定 + 取消 +
+
+
+
+
+
+ + + + + + \ No newline at end of file diff --git a/web/admin/ancestraltablet/ancestraltabletuselist/edit.aspx.cs b/web/admin/ancestraltablet/ancestraltabletuselist/edit.aspx.cs new file mode 100644 index 0000000..abcb96e --- /dev/null +++ b/web/admin/ancestraltablet/ancestraltabletuselist/edit.aspx.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +public partial class admin_ancestraltablet_ancestraltabletuselist_edit : MyWeb.config +{ + protected void Page_Load(object sender, EventArgs e) + { + + } +} \ No newline at end of file diff --git a/web/admin/ancestraltablet/ancestraltabletuselist/index.aspx b/web/admin/ancestraltablet/ancestraltabletuselist/index.aspx new file mode 100644 index 0000000..13051c4 --- /dev/null +++ b/web/admin/ancestraltablet/ancestraltabletuselist/index.aspx @@ -0,0 +1,192 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="admin_ancestraltablet_ancestraltabletuselist_index" %> + + + + + + + + 神主牌使用記錄 +
+ + + + + + + + + + + + + + + + + 共 {{ total }} 筆, 頁數: + + + + + + + + + + +
+
+ + + + + \ No newline at end of file diff --git a/web/admin/ancestraltablet/ancestraltabletuselist/index.aspx.cs b/web/admin/ancestraltablet/ancestraltabletuselist/index.aspx.cs new file mode 100644 index 0000000..a92db8c --- /dev/null +++ b/web/admin/ancestraltablet/ancestraltabletuselist/index.aspx.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +public partial class admin_ancestraltablet_ancestraltabletuselist_index : MyWeb.config +{ + protected void Page_Load(object sender, EventArgs e) + { + + } +} \ No newline at end of file diff --git a/web/admin/guadan/create.aspx b/web/admin/guadan/create.aspx index d4ee875..e0b8a1b 100644 --- a/web/admin/guadan/create.aspx +++ b/web/admin/guadan/create.aspx @@ -1084,7 +1084,7 @@ newCheckoutDate: this.guadanguest.xuzhu.newCheckoutDate }; - axios.post('/api/guadanorderguest/xuzhu', payload) + axios.post(HTTP_HOST + 'api/guadanorderguest/xuzhu', payload) .then((res) => { this.$refs.messageModal.open({ title: '续住成功', @@ -1113,13 +1113,13 @@ }, //续住相關方法--------------------end getActivityList() { - axios.post('/api/activity/GetList?page=1&pageSize=500', { kind: 0, subject: "" }) + axios.post(HTTP_HOST + 'api/activity/GetList?page=1&pageSize=500', { kind: 0, subject: "" }) .then((res) => { this.activityList = res.data.list }) }, getavailablebedcountbytime(startTime, endTime) { - axios.get('/api/region/bed/getavailablebedcountbytime', { + axios.get(HTTP_HOST + 'api/region/bed/getavailablebedcountbytime', { params: { startTime: startTime, endTime: endTime @@ -1141,7 +1141,7 @@ }, confirmAllocation() { //確認分配 - axios.post('/api/region/bed/confirmallocation', { + axios.post(HTTP_HOST + 'api/region/bed/confirmallocation', { preBeds: this.automaticBedAllocation.preBeds, orderNo: this.guadanorder.order_form.orderNo, checkInAt: this.guadanorder.order_form.startdate, @@ -1169,7 +1169,7 @@ CheckInAt: this.guadanorder.order_form.startdate || new Date(), // 入住時間 CheckOutAt: this.guadanorder.order_form.enddate || null // 退房時間,可為空 }; - axios.post('/api/region/bed/preallocation', payload) + axios.post(HTTP_HOST + 'api/region/bed/preallocation', payload) .then(res => { this.automaticBedAllocation.preBeds = res.data.data; }) @@ -1217,7 +1217,7 @@ getMultiSelectFollowers: function () { var fm = this.automaticBedAllocation.followerModal; var self = this; - axios.post('/api/lianyou/getfollowers', null, { + axios.post(HTTP_HOST + 'api/lianyou/getfollowers', null, { params: { page: fm.page, pageSize: fm.pageSize, @@ -1288,7 +1288,7 @@ }, getGuadanOrderById() { if (this.guadanorder.order_form.uuid) { - axios.get('/api/guadan/getorderbyid', { + axios.get(HTTP_HOST + 'api/guadan/getorderbyid', { params: { orderId: this.guadanorder.order_form.uuid } @@ -1307,7 +1307,7 @@ }, getGuadanOrderGuestByOrderNo() { if (this.guadanorder.order_form.orderNo) { - axios.get('/api/guadanorderguest/getbyorderno', { + axios.get(HTTP_HOST + 'api/guadanorderguest/getbyorderno', { params: { orderNo: this.guadanorder.order_form.orderNo } @@ -1317,7 +1317,7 @@ } }, getGuadanOrderStatus() { - axios.get('/api/region/guadan/status/list') + axios.get(HTTP_HOST + 'api/region/guadan/status/list') .then((res) => { this.guadanorder.status_items = res.data; }) @@ -1326,7 +1326,7 @@ if (!this.validateOrderForm()) { return; } - axios.post('/api/guadan/create', this.guadanorder.order_form) + axios.post(HTTP_HOST + 'api/guadan/create', this.guadanorder.order_form) .then((res => { this.$refs.messageModal.open({ title: '掛單提示', @@ -1350,7 +1350,7 @@ if (!this.validateOrderForm()) { return; } - axios.post('/api/guadan/update', this.guadanorder.order_form) + axios.post(HTTP_HOST + 'api/guadan/update', this.guadanorder.order_form) .then((res => { this.$refs.messageModal.open({ title: '掛單提示', @@ -1495,13 +1495,13 @@ }, createCheckInGuest() { - return axios.post('/api/guadanorderguest/create', this.checkInGuest.inGuest) + return axios.post(HTTP_HOST + 'api/guadanorderguest/create', this.checkInGuest.inGuest) }, checkBedAndFollower() { this.checkInGuest.inGuest }, getGuadanGuestStatus() { - axios.get('/api/region/bed/status/list') + axios.get(HTTP_HOST + 'api/region/bed/status/list') .then((res) => { this.checkInGuest.status = res.data.filter(item => item.category === 4 && item.code != '404'); }) @@ -1524,7 +1524,7 @@ pageSize: itemsPerPage, searchName: this.selectGuestModal.searchNameOrPhone }; - axios.post('/api/lianyou/getfollowers', null, { + axios.post(HTTP_HOST + 'api/lianyou/getfollowers', null, { params: params }).then((res) => { this.selectGuestModal.items = res.data.data @@ -1559,7 +1559,7 @@ }, async saveEditGuadanOrderGuest() { try { - const res = await axios.post('/api/guadanorderguest/update', this.checkInGuest.inGuest) + const res = await axios.post(HTTP_HOST + 'api/guadanorderguest/update', this.checkInGuest.inGuest) this.getGuadanOrderGuestByOrderNo(); this.closeCheckInModal(); } catch (error) { @@ -1570,7 +1570,7 @@ }, deleteGuadanOrderGuest(guest) { - axios.post('/api/guadanorderguest/cancel?uuid=' + guest.uuid) + axios.post(HTTP_HOST + 'api/guadanorderguest/cancel?uuid=' + guest.uuid) .then((res) => { this.guadanguest.items = this.guadanguest.items.filter(i => i.uuid != guest.uuid); }).catch((error) => { @@ -1628,7 +1628,7 @@ //床位選擇相關方法----------------start async loadRegions() { - const res = await axios.post('/api/region/getRegionList'); + const res = await axios.post(HTTP_HOST + 'api/region/getRegionList'); this.region_modal.regions = res.data; }, async loadRegionsByGender() { @@ -1643,7 +1643,7 @@ } } - const res = await axios.post('/api/region/getRegionListByGender', { + const res = await axios.post(HTTP_HOST + 'api/region/getRegionListByGender', { IsMale: isMale }); @@ -1660,7 +1660,7 @@ this.region_modal.selectedType = 'room'; this.region_modal.currentSelectBeds = room.beds; if (this.checkInGuest.inGuest.checkInAt && this.checkInGuest.inGuest.checkOutAt) { - axios.get('/api/region/room/bed/list', { + axios.get(HTTP_HOST + 'api/region/room/bed/list', { params: { roomUuid: room.uuid, StartTime: this.checkInGuest.inGuest.checkInAt, @@ -1678,7 +1678,7 @@ }, GetRegionRoomBedListByRoomId(roomUuid) { if (this.checkInGuest.inGuest.checkInAt && this.checkInGuest.inGuest.checkOutAt) { - axios.get('/api/region/bed/list') + axios.get(HTTP_HOST + 'api/region/bed/list') .then((res) => { }) diff --git a/web/admin/guadan/guest/index.aspx b/web/admin/guadan/guest/index.aspx index 4f8ca6a..943be3b 100644 --- a/web/admin/guadan/guest/index.aspx +++ b/web/admin/guadan/guest/index.aspx @@ -198,7 +198,7 @@ button:hover { } if (this.loading) return; this.loading = true; - axios.post('/api/guadan/guest/query/list', + axios.post(HTTP_HOST + 'api/guadan/guest/query/list', { page: this.options.page, pageSize: this.options.itemsPerPage, diff --git a/web/admin/guadan/index.aspx b/web/admin/guadan/index.aspx index aa28e0d..7ce806d 100644 --- a/web/admin/guadan/index.aspx +++ b/web/admin/guadan/index.aspx @@ -72,40 +72,40 @@ - - - - - - - 共 {{ total }} 筆, 頁數: - - - - - - - - - - + + + + + + + 共 {{ total }} 筆, 頁數: + + + + + + + + + + @@ -198,7 +198,7 @@ }, getGuadanOrder() { if (this.loading) return; - axios.post('/api/guadan/list', { + axios.post(HTTP_HOST + 'api/guadan/list', { startDate: this.search.startDate, endDate: this.search.endDate, guadanUser: this.search.guadanUser, @@ -219,7 +219,7 @@ this.$refs.confirmModal.open({ message: '確認取消掛單?', onConfirm: () => { - axios.post('/api/guadan/cancel', null, { + axios.post(HTTP_HOST + 'api/guadan/cancel', null, { params: { uuid: order.uuid } diff --git a/web/admin/guadan/statistics_table.aspx b/web/admin/guadan/statistics_table.aspx index 699a4d5..f675441 100644 --- a/web/admin/guadan/statistics_table.aspx +++ b/web/admin/guadan/statistics_table.aspx @@ -326,7 +326,7 @@ saveAs(new Blob([wbout], { type: "application/octet-stream" }), "statistics.xlsx"); }, GetGuadanStatistics() { - axios.get('/api/guadanStatistics/GetGuadanStatistics') + axios.get(HTTP_HOST + 'api/guadanStatistics/GetGuadanStatistics') .then((res) => { this.guadanStatistics = res.data.guadanStatistics; }) diff --git a/web/admin/guadan/view.aspx b/web/admin/guadan/view.aspx index 3209306..4c83f22 100644 --- a/web/admin/guadan/view.aspx +++ b/web/admin/guadan/view.aspx @@ -429,7 +429,7 @@ }, methods: { getActivityList() { - axios.post('/api/activity/GetList?page=1&pageSize=500', { kind: 0, subject: "" }) + axios.post(HTTP_HOST + 'api/activity/GetList?page=1&pageSize=500', { kind: 0, subject: "" }) .then((res) => { this.activityList = res.data.list }) @@ -467,7 +467,7 @@ }, getGuadanOrderById() { if (this.guadanorder.order_form.uuid) { - axios.get('/api/guadan/getorderbyid', { + axios.get(HTTP_HOST + 'api/guadan/getorderbyid', { params: { orderId: this.guadanorder.order_form.uuid } @@ -486,7 +486,7 @@ }, getGuadanOrderGuestByOrderNo() { if (this.guadanorder.order_form.orderNo) { - axios.get('/api/guadanorderguest/getbyorderno', { + axios.get(HTTP_HOST + 'api/guadanorderguest/getbyorderno', { params: { orderNo: this.guadanorder.order_form.orderNo } diff --git a/web/admin/region/bed/bedstatus/index.aspx b/web/admin/region/bed/bedstatus/index.aspx index 754acdb..39797a0 100644 --- a/web/admin/region/bed/bedstatus/index.aspx +++ b/web/admin/region/bed/bedstatus/index.aspx @@ -58,7 +58,7 @@ }, methods: { getStatusList() { - axios.get('/api/region/bed/status/list') + axios.get(HTTP_HOST + 'api/region/bed/status/list') .then((res) => { this.items = res.data this.loading = false; @@ -73,7 +73,7 @@ }) }, deleteStatus(item) { - axios.post('/api/region/bed/status/delete', null, { + axios.post(HTTP_HOST + 'api/region/bed/status/delete', null, { params: { code: item.code } }) .then(() => { diff --git a/web/admin/region/bed/index.aspx b/web/admin/region/bed/index.aspx index d514e38..6b38472 100644 --- a/web/admin/region/bed/index.aspx +++ b/web/admin/region/bed/index.aspx @@ -316,7 +316,7 @@ unoccupied: this.filter.unoccupied, gender: this.filter.Gender, }; - axios.post('/api/region/list', payload) + axios.post(HTTP_HOST + 'api/region/list', payload) .then((res) => { this.regions = res.data.regions; this.summary = res.data.summary; // 保存後端統計 @@ -347,7 +347,7 @@ console.log(this.filter.Gender); }, getRegionWithRoom() { - axios.get('/api/region/regionwithroom') + axios.get(HTTP_HOST + 'api/region/regionwithroom') .then((res) => { this.filter.areas = res.data; }) diff --git a/web/admin/region/index.aspx b/web/admin/region/index.aspx index c3f1480..f33d2e9 100644 --- a/web/admin/region/index.aspx +++ b/web/admin/region/index.aspx @@ -578,7 +578,7 @@ this.expandAllFlag = false; }, async loadRegions() { - const res = await axios.post('/api/region/getRegionList'); + const res = await axios.post(HTTP_HOST + 'api/region/getRegionList'); this.regions = res.data; this.flatRegions = this.flatten(res.data); if (this.currentSelectRoom) { @@ -586,7 +586,7 @@ } }, loadRegionType() { - axios.post('/api/region/getRegionType') + axios.post(HTTP_HOST + 'api/region/getRegionType') .then(res => { this.regionTypes = res.data }); @@ -799,7 +799,7 @@ }); }, confirmDeleteBed(bed) { - axios.post('/api/region/bed/delete', null, { + axios.post(HTTP_HOST + 'api/region/bed/delete', null, { params: { uuid: bed.uuid } }) // 假設後端吃的是 id .then(() => { @@ -840,7 +840,7 @@ async saveEditBed() { try { - await axios.post('/api/region/bed/update', this.room_bed.newBedForm); + await axios.post(HTTP_HOST + 'api/region/bed/update', this.room_bed.newBedForm); this.room_bed.showBedModal = false; const updated = this.room_bed.newBedForm; @@ -882,7 +882,7 @@ }, getBedStatus() { //獲取床位狀態 - axios.get('/api/region/bed/status/list') + axios.get(HTTP_HOST + 'api/region/bed/status/list') .then((res) => { this.room_bed.bed_status = res.data; }) @@ -907,7 +907,7 @@ }); return; } - axios.post('/api/region/room/create', this.room.room_form) + axios.post(HTTP_HOST + 'api/region/room/create', this.room.room_form) .then((res) => { this.room.showCreateRoomDialog = false; this.currentSelectRegion.rooms.push(res.data); @@ -924,7 +924,7 @@ }, async roomUpdate() { try { - const res = await axios.post('/api/region/room/update', this.room.room_form); + const res = await axios.post(HTTP_HOST + 'api/region/room/update', this.room.room_form); this.$refs.messageModal.open({ message: '客房資料更新成功' }); @@ -950,7 +950,7 @@ }, roomDelete() { - axios.post('/api/region/room/delete', { uuid: this.currentSelectRoom.uuid }) + axios.post(HTTP_HOST + 'api/region/room/delete', { uuid: this.currentSelectRoom.uuid }) .then((res) => { const region = this.findRegionById(this.regions, this.currentSelectRoom.regionUuid)//當前room所在的region if (region) { diff --git a/web/admin/regiontype/index.aspx b/web/admin/regiontype/index.aspx index 84e0f04..cf90a97 100644 --- a/web/admin/regiontype/index.aspx +++ b/web/admin/regiontype/index.aspx @@ -61,7 +61,7 @@ }, methods: { getRegionTypeList() { - axios.post('/api/regiontype/getreiontypelist') + axios.post(HTTP_HOST + 'api/regiontype/getreiontypelist') .then((res) => { this.items = res.data; }) @@ -71,7 +71,7 @@ 'title': '刪除提示', 'message': `確定要刪除 ${item.name} ?`, onConfirm: () => { - axios.post('/api/regiontype/delete',null, { + axios.post(HTTP_HOST + 'api/regiontype/delete',null, { params: { uuid: item.uuid } }) .then(() => {