Compare commits
4 Commits
1a6731e4c6
...
hkj_guadan
| Author | SHA1 | Date | |
|---|---|---|---|
| 6f5a2e65bd | |||
| 22d283dbe6 | |||
| 3b5d366863 | |||
| c0404b8e70 |
176
data/SQL/執行此文件.sql
Normal file
176
data/SQL/執行此文件.sql
Normal file
@@ -0,0 +1,176 @@
|
||||
USE [17168erp_t2]
|
||||
GO
|
||||
/****** Object: Table [dbo].[AncestralTabletArea] Script Date: 2025/10/29 下午 01:32:57 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE TABLE [dbo].[AncestralTabletArea](
|
||||
[AreaId] [int] IDENTITY(1,1) NOT NULL,
|
||||
[AreaName] [nvarchar](10) NOT NULL,
|
||||
[AreaCode] [nvarchar](20) NOT NULL,
|
||||
[ParentAreaId] [int] NULL,
|
||||
[AreaType] [nvarchar](10) NULL,
|
||||
[Price] [int] NULL,
|
||||
[SortOrder] [int] NULL,
|
||||
[IsDisabled] [bit] NOT NULL,
|
||||
[Description] [nvarchar](200) NULL,
|
||||
PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[AreaId] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
/****** Object: Table [dbo].[AncestralTabletPosition] Script Date: 2025/10/29 下午 01:32:57 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE TABLE [dbo].[AncestralTabletPosition](
|
||||
[PositionId] [int] IDENTITY(1,1) NOT NULL,
|
||||
[AreaId] [int] NOT NULL,
|
||||
[PositionCode] [nvarchar](20) NOT NULL,
|
||||
[PositionName] [nvarchar](50) NULL,
|
||||
[Price] [int] NULL,
|
||||
[StatusCode] [nvarchar](20) NULL,
|
||||
[Description] [nvarchar](200) NULL,
|
||||
[RowNo] [int] NULL,
|
||||
[ColumnNo] [int] NULL,
|
||||
PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[PositionId] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY],
|
||||
CONSTRAINT [UQ_Position_Area_Code] UNIQUE NONCLUSTERED
|
||||
(
|
||||
[AreaId] ASC,
|
||||
[PositionCode] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
/****** Object: Table [dbo].[AncestralTabletPositionRecord] Script Date: 2025/10/29 下午 01:32:57 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE TABLE [dbo].[AncestralTabletPositionRecord](
|
||||
[RecordId] [int] IDENTITY(1,1) NOT NULL,
|
||||
[RegistrantCode] [nvarchar](20) NOT NULL,
|
||||
[NPTitle] [nvarchar](30) NULL,
|
||||
[NPStandDate] [date] NOT NULL,
|
||||
[NPYangShang] [nvarchar](20) NULL,
|
||||
[WPContent] [nvarchar](1000) NULL,
|
||||
[CreatedAt] [datetime] NOT NULL,
|
||||
[UpdatedAt] [datetime] NULL,
|
||||
PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[RecordId] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
/****** Object: Table [dbo].[AncestralTabletRegistrant] Script Date: 2025/10/29 下午 01:32:57 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE TABLE [dbo].[AncestralTabletRegistrant](
|
||||
[RegistrantCode] [nvarchar](20) NOT NULL,
|
||||
[Name] [nvarchar](50) NOT NULL,
|
||||
[Phone] [nvarchar](50) NULL,
|
||||
[Address] [nvarchar](60) NULL,
|
||||
[RegisterDate] [date] NOT NULL,
|
||||
[Price] [int] NULL,
|
||||
[PositionId] [int] NULL,
|
||||
[StartDate] [date] NOT NULL,
|
||||
[EndDate] [date] NULL,
|
||||
[IsLongTerm] [bit] NOT NULL,
|
||||
[IsActive] [bit] NOT NULL,
|
||||
[CreatedAt] [datetime] NOT NULL,
|
||||
[UpdatedAt] [datetime] NULL,
|
||||
[IsEnd] [bit] NOT NULL,
|
||||
PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[RegistrantCode] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
/****** Object: Table [dbo].[AncestralTabletStatus] Script Date: 2025/10/29 下午 01:32:57 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE TABLE [dbo].[AncestralTabletStatus](
|
||||
[StatusCode] [nvarchar](20) NOT NULL,
|
||||
[StatusName] [nvarchar](20) NOT NULL,
|
||||
[StatusType] [nvarchar](20) NOT NULL,
|
||||
PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[StatusCode] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletArea] ADD DEFAULT ((0)) FOR [IsDisabled]
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletPositionRecord] ADD DEFAULT (getdate()) FOR [CreatedAt]
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletRegistrant] ADD DEFAULT ((0)) FOR [IsLongTerm]
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletRegistrant] ADD DEFAULT ((1)) FOR [IsActive]
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletRegistrant] ADD DEFAULT (getdate()) FOR [CreatedAt]
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletRegistrant] ADD DEFAULT ((0)) FOR [IsEnd]
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletArea] WITH CHECK ADD CONSTRAINT [FK_AncestralTabletArea_Parent] FOREIGN KEY([ParentAreaId])
|
||||
REFERENCES [dbo].[AncestralTabletArea] ([AreaId])
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletArea] CHECK CONSTRAINT [FK_AncestralTabletArea_Parent]
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletPosition] WITH CHECK ADD CONSTRAINT [FK_Position_Area] FOREIGN KEY([AreaId])
|
||||
REFERENCES [dbo].[AncestralTabletArea] ([AreaId])
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletPosition] CHECK CONSTRAINT [FK_Position_Area]
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletPosition] WITH CHECK ADD CONSTRAINT [FK_Position_Status] FOREIGN KEY([StatusCode])
|
||||
REFERENCES [dbo].[AncestralTabletStatus] ([StatusCode])
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletPosition] CHECK CONSTRAINT [FK_Position_Status]
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletPositionRecord] WITH CHECK ADD FOREIGN KEY([RegistrantCode])
|
||||
REFERENCES [dbo].[AncestralTabletRegistrant] ([RegistrantCode])
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletRegistrant] WITH CHECK ADD CONSTRAINT [FK_Registrant_Position] FOREIGN KEY([PositionId])
|
||||
REFERENCES [dbo].[AncestralTabletPosition] ([PositionId])
|
||||
GO
|
||||
ALTER TABLE [dbo].[AncestralTabletRegistrant] CHECK CONSTRAINT [FK_Registrant_Position]
|
||||
GO
|
||||
|
||||
INSERT [dbo].[AncestralTabletStatus] ([StatusCode], [StatusName], [StatusType]) VALUES (N'available', N'可用', N'Position')
|
||||
INSERT [dbo].[AncestralTabletStatus] ([StatusCode], [StatusName], [StatusType]) VALUES (N'maintenance', N'維護中', N'Position')
|
||||
INSERT [dbo].[AncestralTabletStatus] ([StatusCode], [StatusName], [StatusType]) VALUES (N'used', N'已使用', N'Position')
|
||||
GO
|
||||
-- 1. 如果不存在 OrderUuid 栏位,则新增
|
||||
IF NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM sys.columns
|
||||
WHERE Name = N'OrderUuid'
|
||||
AND Object_ID = Object_ID(N'dbo.GuaDanOrderGuest')
|
||||
)
|
||||
BEGIN
|
||||
ALTER TABLE [dbo].[GuaDanOrderGuest]
|
||||
ADD [OrderUuid] UNIQUEIDENTIFIER NULL;
|
||||
END
|
||||
GO
|
||||
|
||||
-- 2. 如果不存在 FK_GuaDanOrderGuest_Order 外键,则新增
|
||||
IF NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM sys.foreign_keys
|
||||
WHERE Name = N'FK_GuaDanOrderGuest_Order'
|
||||
AND parent_object_id = OBJECT_ID(N'dbo.GuaDanOrderGuest')
|
||||
)
|
||||
BEGIN
|
||||
ALTER TABLE [dbo].[GuaDanOrderGuest]
|
||||
ADD CONSTRAINT [FK_GuaDanOrderGuest_Order]
|
||||
FOREIGN KEY ([OrderUuid]) REFERENCES [dbo].[GuaDanOrder] ([Uuid]);
|
||||
END
|
||||
GO
|
||||
19
web/App_Code/Model/Partial/family_members.cs
Normal file
19
web/App_Code/Model/Partial/family_members.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using Newtonsoft.Json;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
/// <summary>
|
||||
/// added
|
||||
/// </summary>
|
||||
namespace Model
|
||||
{
|
||||
[MetadataType(typeof(family_membersMetadata))]
|
||||
public partial class family_members
|
||||
{
|
||||
private class family_membersMetadata
|
||||
{
|
||||
[JsonIgnore]
|
||||
public virtual follower follower { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,6 +45,19 @@ namespace Model
|
||||
public virtual ICollection<followers_tablet> followers_tablet { get; set; }
|
||||
[JsonIgnore]
|
||||
public virtual appellation appellation { get; set; }
|
||||
/// <summary>
|
||||
/// added
|
||||
/// </summary>
|
||||
[JsonIgnore]
|
||||
public virtual ICollection<family_members> family_members { get; set; }
|
||||
[JsonIgnore]
|
||||
public virtual ICollection<transfer_register> transfer_register { get; set; }
|
||||
[JsonIgnore]
|
||||
public virtual ICollection<transfer_register> transfer_register1 { get; set; }
|
||||
[JsonIgnore]
|
||||
public virtual ICollection<GuaDanOrder> GuaDanOrder { get; set; }
|
||||
[JsonIgnore]
|
||||
public virtual ICollection<GuaDanOrderGuest> GuaDanOrderGuest { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -98,7 +98,17 @@ public class familyMembersController : ApiController
|
||||
[Route("api/familymembers/follower/{followerId}")]
|
||||
public IHttpActionResult GetByFollower(int followerId)
|
||||
{
|
||||
//var originalLazyLoading = _db.Configuration.LazyLoadingEnabled;
|
||||
//var originalProxyCreation = _db.Configuration.ProxyCreationEnabled;
|
||||
//
|
||||
//_db.Configuration.LazyLoadingEnabled = false;
|
||||
//_db.Configuration.ProxyCreationEnabled = false;
|
||||
|
||||
var familyMembers = _db.family_members.Where(fm => fm.follower_num == followerId).ToList();
|
||||
|
||||
//_db.Configuration.LazyLoadingEnabled = originalLazyLoading;
|
||||
//_db.Configuration.ProxyCreationEnabled = originalProxyCreation;
|
||||
|
||||
return Ok(familyMembers);
|
||||
}
|
||||
|
||||
|
||||
@@ -1393,7 +1393,7 @@
|
||||
message: `確定要將 ${guest.follower.u_name || ''} 退房嗎?`,
|
||||
onConfirm: async () => {
|
||||
try {
|
||||
const response = await axios.post(`/api/guadanorderguest/checkout`, null, {
|
||||
const response = await axios.post(HTTP_HOST + HTTP_HOST + `api/guadanorderguest/checkout`, null, {
|
||||
params: { uuid: guest.uuid }
|
||||
});
|
||||
|
||||
@@ -1594,7 +1594,7 @@
|
||||
onConfirm: async () => {
|
||||
try {
|
||||
// 發送請求到後端 API
|
||||
const response = await axios.post(`/api/guadanorderguest/checkin`, null, {
|
||||
const response = await axios.post(HTTP_HOST + `api/guadanorderguest/checkin`, null, {
|
||||
params: { uuid: guest.uuid }
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user