· 8 years ago · Jan 08, 2018, 09:08 AM
1USE [LocalServer]
2GO
3/****** Object: User [patcher] Script Date: 01/08/2018 04:04:22 ******/
4CREATE USER [patcher] FOR LOGIN [patcher] WITH DEFAULT_SCHEMA=[dbo]
5GO
6/****** Object: User [ss.ls] Script Date: 01/08/2018 04:04:22 ******/
7CREATE USER [ss.ls] FOR LOGIN [ss.ls] WITH DEFAULT_SCHEMA=[dbo]
8GO
9/****** Object: Table [dbo].[PosUser] Script Date: 01/08/2018 04:04:20 ******/
10SET ANSI_NULLS ON
11GO
12SET QUOTED_IDENTIFIER ON
13GO
14SET ANSI_PADDING ON
15GO
16CREATE TABLE [dbo].[PosUser](
17 [UserID] [int] IDENTITY(1,1) NOT NULL,
18 [UserAccount] [varchar](16) NOT NULL,
19 [UserPassword] [varchar](16) NOT NULL,
20 [RoleID] [int] NOT NULL,
21 [ParentUserID] [int] NOT NULL,
22 [UserAccountClosed] [bit] NOT NULL,
23 CONSTRAINT [PK_PosUser_1] PRIMARY KEY CLUSTERED
24(
25 [UserID] ASC
26)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
27) ON [PRIMARY]
28GO
29SET ANSI_PADDING OFF
30GO
31EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'§Ç¸¹' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosUser', @level2type=N'COLUMN',@level2name=N'UserID'
32GO
33EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'±b¸¹' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosUser', @level2type=N'COLUMN',@level2name=N'UserAccount'
34GO
35EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'±K½X' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosUser', @level2type=N'COLUMN',@level2name=N'UserPassword'
36GO
37EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ã…vÂÂ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosUser', @level2type=N'COLUMN',@level2name=N'RoleID'
38GO
39EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'«Ø¥ßªºUserID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosUser', @level2type=N'COLUMN',@level2name=N'ParentUserID'
40GO
41EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¨Ã¥ÎªÌ±b¤á¬O§_¤wÃö³¬' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosUser', @level2type=N'COLUMN',@level2name=N'UserAccountClosed'
42GO
43/****** Object: Table [dbo].[WebstoreCoupons] Script Date: 01/08/2018 04:04:20 ******/
44SET ANSI_NULLS ON
45GO
46SET QUOTED_IDENTIFIER ON
47GO
48SET ANSI_PADDING ON
49GO
50CREATE TABLE [dbo].[WebstoreCoupons](
51 [ID] [numeric](12, 0) IDENTITY(1,1) NOT NULL,
52 [CouponCode] [nchar](24) NOT NULL,
53 [CustomerID] [varchar](12) NOT NULL,
54 [CouponPoints] [int] NOT NULL,
55 [IssueDate] [datetimeoffset](0) NOT NULL,
56 [ExpirationDate] [datetimeoffset](0) NOT NULL,
57 [TradeID] [int] NOT NULL,
58 [Reversed] [bit] NOT NULL,
59 CONSTRAINT [PK_WebstoreCoupons] PRIMARY KEY CLUSTERED
60(
61 [ID] ASC
62)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
63) ON [PRIMARY]
64GO
65SET ANSI_PADDING OFF
66GO
67/****** Object: Table [dbo].[Version] Script Date: 01/08/2018 04:04:20 ******/
68SET ANSI_NULLS ON
69GO
70SET QUOTED_IDENTIFIER ON
71GO
72SET ANSI_PADDING ON
73GO
74CREATE TABLE [dbo].[Version](
75 [ID] [int] IDENTITY(1,1) NOT NULL,
76 [Currently] [varchar](11) NOT NULL,
77 [Target] [varchar](11) NOT NULL,
78 [Download] [varchar](11) NOT NULL,
79PRIMARY KEY CLUSTERED
80(
81 [ID] ASC
82)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
83) ON [PRIMARY]
84GO
85SET ANSI_PADDING OFF
86GO
87/****** Object: UserDefinedTableType [dbo].[UDT_StringList] Script Date: 01/08/2018 04:04:22 ******/
88CREATE TYPE [dbo].[UDT_StringList] AS TABLE(
89 [Data] [varchar](max) NOT NULL
90)
91GO
92/****** Object: UserDefinedTableType [dbo].[UDT_JackpotRecord_Detail] Script Date: 01/08/2018 04:04:22 ******/
93CREATE TYPE [dbo].[UDT_JackpotRecord_Detail] AS TABLE(
94 [MachineID] [int] NOT NULL,
95 [CustomerID] [varchar](12) NOT NULL,
96 [Win] [int] NOT NULL,
97 [MachineName] [varchar](30) NOT NULL
98)
99GO
100/****** Object: UserDefinedTableType [dbo].[UDT_Cashs] Script Date: 01/08/2018 04:04:22 ******/
101CREATE TYPE [dbo].[UDT_Cashs] AS TABLE(
102 [Type] [int] NOT NULL,
103 [Counts] [int] NOT NULL
104)
105GO
106/****** Object: Table [dbo].[TradeRecord_Pos] Script Date: 01/08/2018 04:04:20 ******/
107SET ANSI_NULLS ON
108GO
109SET QUOTED_IDENTIFIER ON
110GO
111CREATE TABLE [dbo].[TradeRecord_Pos](
112 [ID] [int] IDENTITY(1,1) NOT NULL,
113 [RecordTime] [datetime] NOT NULL,
114 [CustomerID] [int] NOT NULL,
115 [TradeType] [int] NOT NULL,
116 [Amount] [int] NOT NULL,
117 [PosID] [int] NOT NULL,
118 [PosUserID] [int] NOT NULL,
119PRIMARY KEY CLUSTERED
120(
121 [ID] ASC
122)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
123) ON [PRIMARY]
124GO
125/****** Object: Table [dbo].[SystemSetting] Script Date: 01/08/2018 04:04:20 ******/
126SET ANSI_NULLS ON
127GO
128SET QUOTED_IDENTIFIER ON
129GO
130SET ANSI_PADDING ON
131GO
132CREATE TABLE [dbo].[SystemSetting](
133 [SettingKey] [varchar](32) NOT NULL,
134 [SettingValue] [varchar](32) NOT NULL,
135 CONSTRAINT [PK_SystemSetting] PRIMARY KEY CLUSTERED
136(
137 [SettingKey] ASC
138)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
139) ON [PRIMARY]
140GO
141SET ANSI_PADDING OFF
142GO
143EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'³]©w¦WºÙ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SystemSetting', @level2type=N'COLUMN',@level2name=N'SettingKey'
144GO
145EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'³]©w¤º®e' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SystemSetting', @level2type=N'COLUMN',@level2name=N'SettingValue'
146GO
147/****** Object: Table [dbo].[SystemSecurity] Script Date: 01/08/2018 04:04:20 ******/
148SET ANSI_NULLS ON
149GO
150SET QUOTED_IDENTIFIER ON
151GO
152CREATE TABLE [dbo].[SystemSecurity](
153 [Id] [int] NOT NULL,
154 [SecureCount] [int] NOT NULL,
155 [IsSecureFail] [bit] NOT NULL,
156 CONSTRAINT [PK_SystemSecurity] PRIMARY KEY CLUSTERED
157(
158 [Id] ASC
159)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
160) ON [PRIMARY]
161GO
162EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SystemSecurity', @level2type=N'COLUMN',@level2name=N'Id'
163GO
164EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¿t▓╬┼τ├╥¬║¡pâ•╞ÃAâ•—Pâ•—â•–â•‘â–ŒâŒâ•¬â”œBÑ~â•¡w┼Θ╕╦╕mâ•¢iªµ┼τ├╥' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SystemSecurity', @level2type=N'COLUMN',@level2name=N'SecureCount'
165GO
166EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¿t▓╬¼Oº_┼τ├╥Ñó▒╤ÃA¡YÑó▒╤½h╢╖┬ΩâŒw¿t▓╬' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SystemSecurity', @level2type=N'COLUMN',@level2name=N'IsSecureFail'
167GO
168/****** Object: Table [dbo].[SystemConfig] Script Date: 01/08/2018 04:04:20 ******/
169SET ANSI_NULLS ON
170GO
171SET QUOTED_IDENTIFIER ON
172GO
173SET ANSI_PADDING ON
174GO
175CREATE TABLE [dbo].[SystemConfig](
176 [SettingKey] [varchar](32) NOT NULL,
177 [SettingValue] [varchar](32) NOT NULL,
178 CONSTRAINT [PK_SystemConfig] PRIMARY KEY CLUSTERED
179(
180 [SettingKey] ASC
181)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
182) ON [PRIMARY]
183GO
184SET ANSI_PADDING OFF
185GO
186/****** Object: Table [dbo].[SyncKeyValue] Script Date: 01/08/2018 04:04:20 ******/
187SET ANSI_NULLS ON
188GO
189SET QUOTED_IDENTIFIER ON
190GO
191SET ANSI_PADDING ON
192GO
193CREATE TABLE [dbo].[SyncKeyValue](
194 [SyncID] [bigint] IDENTITY(1,1) NOT NULL,
195 [SyncDateTime] [datetime] NOT NULL,
196 [MultipleValue] [nvarchar](50) NOT NULL,
197 [UUID] [varchar](32) NULL,
198 [SID] [int] NOT NULL,
199 [KeyGroup] [nvarchar](50) NOT NULL,
200 [KeyStr] [nvarchar](50) NOT NULL,
201 [ValueStr] [nvarchar](50) NOT NULL,
202 CONSTRAINT [PK_SyncKeyValue] PRIMARY KEY CLUSTERED
203(
204 [SyncID] ASC
205)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
206) ON [PRIMARY]
207GO
208SET ANSI_PADDING OFF
209GO
210/****** Object: Table [dbo].[StoreInfo] Script Date: 01/08/2018 04:04:20 ******/
211SET ANSI_NULLS ON
212GO
213SET QUOTED_IDENTIFIER ON
214GO
215SET ANSI_PADDING ON
216GO
217CREATE TABLE [dbo].[StoreInfo](
218 [ID] [int] IDENTITY(1,1) NOT NULL,
219 [StoreName] [varchar](40) NOT NULL,
220 [City] [varchar](30) NOT NULL,
221 [State] [varchar](30) NOT NULL,
222 [Zip] [varchar](10) NOT NULL,
223 [Phone] [varchar](20) NOT NULL,
224 [Address1] [varchar](max) NOT NULL,
225 [Address2] [varchar](max) NOT NULL,
226PRIMARY KEY CLUSTERED
227(
228 [ID] ASC
229)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
230) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
231GO
232SET ANSI_PADDING OFF
233GO
234EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'²Ä¤@²Õ©±®a¦a§}' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'StoreInfo', @level2type=N'COLUMN',@level2name=N'Address1'
235GO
236EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'²Ä¤G²Õ©±®a¦a§}' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'StoreInfo', @level2type=N'COLUMN',@level2name=N'Address2'
237GO
238/****** Object: Table [dbo].[SpecialCompsSetting] Script Date: 01/08/2018 04:04:20 ******/
239SET ANSI_NULLS ON
240GO
241SET QUOTED_IDENTIFIER ON
242GO
243CREATE TABLE [dbo].[SpecialCompsSetting](
244 [UiKey] [int] NOT NULL,
245 [IsEnable] [bit] NOT NULL,
246 [PurchaseAmount] [int] NOT NULL,
247 [SpecialCompAmount] [int] NOT NULL,
248 [SpecialCompType] [int] NOT NULL
249) ON [PRIMARY]
250GO
251EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¹ïÀ³UIªºKey' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SpecialCompsSetting', @level2type=N'COLUMN',@level2name=N'UiKey'
252GO
253EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'³]©w¬O§_¶}±Ò' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SpecialCompsSetting', @level2type=N'COLUMN',@level2name=N'IsEnable'
254GO
255EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Purchaseªº±ø¥óª÷ÃB' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SpecialCompsSetting', @level2type=N'COLUMN',@level2name=N'PurchaseAmount'
256GO
257EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ÃØ°eªºª÷ÃB' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SpecialCompsSetting', @level2type=N'COLUMN',@level2name=N'SpecialCompAmount'
258GO
259EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ÃØ¤ÀÃþ«¬' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SpecialCompsSetting', @level2type=N'COLUMN',@level2name=N'SpecialCompType'
260GO
261/****** Object: Table [dbo].[ShiftReport_Detail] Script Date: 01/08/2018 04:04:20 ******/
262SET ANSI_NULLS ON
263GO
264SET QUOTED_IDENTIFIER ON
265GO
266CREATE TABLE [dbo].[ShiftReport_Detail](
267 [ShiftID] [int] NOT NULL,
268 [DrawerID] [int] NULL,
269 [TradeID] [int] NULL
270) ON [PRIMARY]
271GO
272/****** Object: Table [dbo].[ShiftReport] Script Date: 01/08/2018 04:04:20 ******/
273SET ANSI_NULLS ON
274GO
275SET QUOTED_IDENTIFIER ON
276GO
277CREATE TABLE [dbo].[ShiftReport](
278 [ShiftID] [int] IDENTITY(1,1) NOT NULL,
279 [LoginTime] [datetime] NOT NULL,
280 [LogoutTime] [datetime] NULL,
281 [MembersID] [int] NOT NULL,
282 [InitialAmount] [int] NULL,
283 [TotalFills] [int] NULL,
284 [TotalBleeds] [int] NULL,
285 [TotalPurchase] [int] NULL,
286 [TotalSpecialComps] [int] NULL,
287 [TotalRedeem] [int] NULL,
288 [TotalFreeEntry] [int] NULL,
289 [PosID] [int] NOT NULL,
290 CONSTRAINT [PK_ShiftReport] PRIMARY KEY CLUSTERED
291(
292 [ShiftID] ASC,
293 [LoginTime] ASC
294)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
295) ON [PRIMARY]
296GO
297EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'§Ç¸¹' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ShiftReport', @level2type=N'COLUMN',@level2name=N'ShiftID'
298GO
299EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'µn¤J®É¶¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ShiftReport', @level2type=N'COLUMN',@level2name=N'LoginTime'
300GO
301EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'µn¥X®É¶¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ShiftReport', @level2type=N'COLUMN',@level2name=N'LogoutTime'
302GO
303EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¨Ã¥ÎªÌID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ShiftReport', @level2type=N'COLUMN',@level2name=N'MembersID'
304GO
305EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'°_©lª÷ÃB' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ShiftReport', @level2type=N'COLUMN',@level2name=N'InitialAmount'
306GO
307EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ã`¸É¿úª÷ÃB' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ShiftReport', @level2type=N'COLUMN',@level2name=N'TotalFills'
308GO
309EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ã`¨ú¿úª÷ÃB' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ShiftReport', @level2type=N'COLUMN',@level2name=N'TotalBleeds'
310GO
311EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ã`¤J¤À' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ShiftReport', @level2type=N'COLUMN',@level2name=N'TotalPurchase'
312GO
313EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ã`ÃØ¤À' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ShiftReport', @level2type=N'COLUMN',@level2name=N'TotalSpecialComps'
314GO
315EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ã`°h¤À' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ShiftReport', @level2type=N'COLUMN',@level2name=N'TotalRedeem'
316GO
317EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¨C¤é§K¶OÃØ¤ÀÃ`ª÷ÃB' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ShiftReport', @level2type=N'COLUMN',@level2name=N'TotalFreeEntry'
318GO
319/****** Object: Table [dbo].[SettingItemList] Script Date: 01/08/2018 04:04:20 ******/
320SET ANSI_NULLS ON
321GO
322SET QUOTED_IDENTIFIER ON
323GO
324SET ANSI_PADDING ON
325GO
326CREATE TABLE [dbo].[SettingItemList](
327 [ID] [int] NOT NULL,
328 [Name] [varchar](64) NOT NULL,
329 [ItemNameList] [varchar](max) NOT NULL,
330 [ItemValueList] [varchar](max) NOT NULL,
331 [SystemName] [varchar](64) NOT NULL,
332 CONSTRAINT [PK__SettingI__3214EC276B7B86EB] PRIMARY KEY CLUSTERED
333(
334 [ID] ASC
335)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
336) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
337GO
338SET ANSI_PADDING OFF
339GO
340EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¨t²Î¨Ã¥Îªº³]©w¦WºÙ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SettingItemList', @level2type=N'COLUMN',@level2name=N'SystemName'
341GO
342/****** Object: Table [dbo].[SecondVerification] Script Date: 01/08/2018 04:04:20 ******/
343SET ANSI_NULLS ON
344GO
345SET QUOTED_IDENTIFIER ON
346GO
347SET ANSI_PADDING ON
348GO
349CREATE TABLE [dbo].[SecondVerification](
350 [MachineId] [int] NOT NULL,
351 [VerifyGroup] [varchar](32) NOT NULL,
352 [VerifyKey] [varchar](40) NOT NULL,
353 CONSTRAINT [PK_SecondVerification] PRIMARY KEY CLUSTERED
354(
355 [MachineId] ASC,
356 [VerifyGroup] ASC
357)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
358) ON [PRIMARY]
359GO
360SET ANSI_PADDING OFF
361GO
362EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'機å°ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SecondVerification', @level2type=N'COLUMN',@level2name=N'MachineId'
363GO
364EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'群組' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SecondVerification', @level2type=N'COLUMN',@level2name=N'VerifyGroup'
365GO
366EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'é©—è‰Key' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SecondVerification', @level2type=N'COLUMN',@level2name=N'VerifyKey'
367GO
368/****** Object: Table [dbo].[ReportTick] Script Date: 01/08/2018 04:04:20 ******/
369SET ANSI_NULLS ON
370GO
371SET QUOTED_IDENTIFIER ON
372GO
373CREATE TABLE [dbo].[ReportTick](
374 [ID] [int] IDENTITY(1,1) NOT NULL,
375 [TickCount] [int] NOT NULL,
376 [UtcTimeStamp] [datetime] NOT NULL,
377PRIMARY KEY CLUSTERED
378(
379 [ID] ASC
380)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
381) ON [PRIMARY]
382GO
383/****** Object: Table [dbo].[PropertyTable] Script Date: 01/08/2018 04:04:20 ******/
384SET ANSI_NULLS ON
385GO
386SET QUOTED_IDENTIFIER ON
387GO
388CREATE TABLE [dbo].[PropertyTable](
389 [PropertyKey] [nvarchar](50) NOT NULL,
390 [PropertyGroup] [nvarchar](50) NOT NULL,
391 [PropertyValue] [nvarchar](50) NOT NULL,
392 CONSTRAINT [PK_PropertyTable] PRIMARY KEY CLUSTERED
393(
394 [PropertyKey] ASC,
395 [PropertyGroup] ASC
396)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
397) ON [PRIMARY]
398GO
399/****** Object: Table [dbo].[PosRole] Script Date: 01/08/2018 04:04:20 ******/
400SET ANSI_NULLS ON
401GO
402SET QUOTED_IDENTIFIER ON
403GO
404SET ANSI_PADDING ON
405GO
406CREATE TABLE [dbo].[PosRole](
407 [RoleID] [int] NOT NULL,
408 [RoleDisplayName] [varchar](50) NOT NULL,
409 [IsEnabled] [bit] NOT NULL,
410 CONSTRAINT [PK_PosRole_1] PRIMARY KEY CLUSTERED
411(
412 [RoleID] ASC
413)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
414) ON [PRIMARY]
415GO
416SET ANSI_PADDING OFF
417GO
418EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¨¤¦â½s½X' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosRole', @level2type=N'COLUMN',@level2name=N'RoleID'
419GO
420EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¨¤¦âÅã¥Ü¦WºÙ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosRole', @level2type=N'COLUMN',@level2name=N'RoleDisplayName'
421GO
422EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¬O§_³QÃö³¬' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosRole', @level2type=N'COLUMN',@level2name=N'IsEnabled'
423GO
424/****** Object: Table [dbo].[PosFunction] Script Date: 01/08/2018 04:04:20 ******/
425SET ANSI_NULLS ON
426GO
427SET QUOTED_IDENTIFIER ON
428GO
429SET ANSI_PADDING ON
430GO
431CREATE TABLE [dbo].[PosFunction](
432 [FunctionID] [int] NOT NULL,
433 [FunctionGroup] [int] NOT NULL,
434 [FunctionName] [varchar](64) NOT NULL,
435 [FunctionDisplayName] [varchar](32) NOT NULL,
436 [ParentFunctionID] [int] NOT NULL,
437 [MenuButtonName] [varchar](32) NOT NULL,
438 [AuthAdjustable] [bit] NOT NULL,
439 [DisplayOrder] [int] NOT NULL,
440 [IsEnabled] [bit] NOT NULL,
441 CONSTRAINT [PK_PosFunction_1] PRIMARY KEY CLUSTERED
442(
443 [FunctionID] ASC
444)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
445) ON [PRIMARY]
446GO
447SET ANSI_PADDING OFF
448GO
449EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¥\¯à §Ç¸¹' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosFunction', @level2type=N'COLUMN',@level2name=N'FunctionID'
450GO
451EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Â¥\¯à °Ã²Õ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosFunction', @level2type=N'COLUMN',@level2name=N'FunctionGroup'
452GO
453EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¥\¯à ¦WºÙ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosFunction', @level2type=N'COLUMN',@level2name=N'FunctionName'
454GO
455EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¥\¯à Åã¥Ü¦WºÙ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosFunction', @level2type=N'COLUMN',@level2name=N'FunctionDisplayName'
456GO
457EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ÄéóÂþÂÓ¥\¯à ªº¤lÂ¥\¯à ¡A0ªÃ¥Ü¥DÂ¥\¯à ¶µ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosFunction', @level2type=N'COLUMN',@level2name=N'ParentFunctionID'
458GO
459EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'«ö¶s¦WºÙ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosFunction', @level2type=N'COLUMN',@level2name=N'MenuButtonName'
460GO
461EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¬O§_Â¥iÂ¥H¨ÌÅv½վã¥\¯à ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosFunction', @level2type=N'COLUMN',@level2name=N'AuthAdjustable'
462GO
463EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¦bUI¤WÅã¥Üªº¶¶§Ç' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosFunction', @level2type=N'COLUMN',@level2name=N'DisplayOrder'
464GO
465EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¬O§_Ãö³¬' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PosFunction', @level2type=N'COLUMN',@level2name=N'IsEnabled'
466GO
467/****** Object: Table [dbo].[Pos] Script Date: 01/08/2018 04:04:20 ******/
468SET ANSI_NULLS ON
469GO
470SET QUOTED_IDENTIFIER ON
471GO
472SET ANSI_PADDING ON
473GO
474CREATE TABLE [dbo].[Pos](
475 [PosID] [int] NOT NULL,
476 [RegisterID] [varchar](64) NOT NULL,
477 CONSTRAINT [PK_Pos] PRIMARY KEY CLUSTERED
478(
479 [PosID] ASC
480)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
481) ON [PRIMARY]
482GO
483SET ANSI_PADDING OFF
484GO
485EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'§Ç¸¹' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Pos', @level2type=N'COLUMN',@level2name=N'PosID'
486GO
487EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'µù¥UID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Pos', @level2type=N'COLUMN',@level2name=N'RegisterID'
488GO
489/****** Object: StoredProcedure [dbo].[NSP_RESET_Identity] Script Date: 01/08/2018 04:04:21 ******/
490SET ANSI_NULLS ON
491GO
492SET QUOTED_IDENTIFIER ON
493GO
494/*
495 ==================================================================
496 Description
497 é‡è¨ 主éµé †åº
498 ==================================================================
499 History
500 2014/03/10 Gen Created.
501 ==================================================================
502 Step
503 1. è®€å– KeyValue è¨å®š.
504 ==================================================================
505 Result
506 RETURN 0 æ£å¸¸.
507 ==================================================================
508 Example
509 EXEC [dbo].[NSP_RESET_Identity]
510 @DBName='LocalServer'
511 ,@TableName='TradeRecord'
512 ,@TempTableName='TradeRecord_Temp'
513 ,@IndexCol='ID'
514 ,@col=''
515 ,@id=1
516
517*/
518CREATE PROCEDURE [dbo].[NSP_RESET_Identity]
519 @DBName varchar(1000),
520 @TableName varchar(1000),
521 @TempTableName varchar(1000),
522 @IndexCol varchar(1000),
523 @col varchar(1000),
524 @id INT
525AS
526BEGIN
527 SET NOCOUNT ON;
528
529 EXEC('DBCC CHECKIDENT('+@TableName+', RESEED, '+@id+')')
530
531 EXEC('USE '+@DBName)
532 select @col=@col+','+name from syscolumns where id=object_id(@TableName) and name<>@IndexCol order by colid
533 set @col=stuff(@col,1,1,'')
534
535 /*建立 TEMP 表*/
536 IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].'+@TempTableName) and OBJECTPROPERTY(id, N'IsUserTable') = 1)
537 EXEC('DROP TABLE [dbo].'+@TempTableName)
538
539 EXEC('select * into '+@TempTableName+' from '+@TableName+' where 1=0')
540
541 /*æ‹·è²è³‡æ–™åˆ° TEMP 表,é †ä¾¿é‡è¨ID*/
542 EXEC('DBCC CHECKIDENT('+@TempTableName+', RESEED, '+@id+')')
543
544 EXEC('INSERT INTO '+@TempTableName+' ('+@col+') select '+@col+' from '+@TableName)
545
546 /*刪除舊表 æ›´åTEMP 表為舊表å稱*/
547 EXEC('Drop TABLE '+@TableName)
548 EXEC sp_rename @TempTableName , @TableName
549
550END
551GO
552/****** Object: StoredProcedure [dbo].[NSP_R_SHRINKFILE] Script Date: 01/08/2018 04:04:21 ******/
553SET ANSI_NULLS ON
554GO
555SET QUOTED_IDENTIFIER ON
556GO
557/*
558 ==================================================================
559 Description
560 À£ÃY DB File
561 ==================================================================
562 History
563 2016/03/01 WCS Created.
564 ==================================================================
565 Example
566
567 EXEC LocalServer.dbo.NSP_R_SHRINKFILE 'LocalServer'
568 EXEC LocalServer.dbo.NSP_R_SHRINKFILE 'LocalServer_log'
569*/
570CREATE PROCEDURE [dbo].[NSP_R_SHRINKFILE]
571 @file sysname
572AS
573BEGIN
574 DBCC SHRINKFILE (@file);
575END
576GO
577/****** Object: Table [dbo].[DeviceSettings] Script Date: 01/08/2018 04:04:20 ******/
578SET ANSI_NULLS ON
579GO
580SET QUOTED_IDENTIFIER ON
581GO
582SET ANSI_PADDING ON
583GO
584CREATE TABLE [dbo].[DeviceSettings](
585 [Id] [int] IDENTITY(1,1) NOT NULL,
586 [Name] [varchar](32) NOT NULL,
587 [DisplayText] [varchar](32) NOT NULL,
588 [IsVisable] [bit] NOT NULL,
589 [DisplayOrder] [int] NOT NULL,
590 CONSTRAINT [PK_DeviceSettings] PRIMARY KEY CLUSTERED
591(
592 [Id] ASC
593)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
594) ON [PRIMARY]
595GO
596SET ANSI_PADDING OFF
597GO
598EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'½s¸¹' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DeviceSettings', @level2type=N'COLUMN',@level2name=N'Id'
599GO
600EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'³]©w¦WºÙ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DeviceSettings', @level2type=N'COLUMN',@level2name=N'Name'
601GO
602EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'µe±Åã¥Üªº¦WºÙ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DeviceSettings', @level2type=N'COLUMN',@level2name=N'DisplayText'
603GO
604EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¬O§_Åã¥Ü' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DeviceSettings', @level2type=N'COLUMN',@level2name=N'IsVisable'
605GO
606EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Åã¥Ü¦bUI¤Wªº¶¶§Ç' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DeviceSettings', @level2type=N'COLUMN',@level2name=N'DisplayOrder'
607GO
608/****** Object: Table [dbo].[DeviceSettingOptions] Script Date: 01/08/2018 04:04:20 ******/
609SET ANSI_NULLS ON
610GO
611SET QUOTED_IDENTIFIER ON
612GO
613SET ANSI_PADDING ON
614GO
615CREATE TABLE [dbo].[DeviceSettingOptions](
616 [DeviceSettingId] [int] NOT NULL,
617 [IsEnable] [bit] NOT NULL,
618 [Args] [varchar](32) NOT NULL,
619 [ButtonText] [varchar](32) NOT NULL,
620 [ButtonColor] [varchar](32) NOT NULL,
621 [IsVisable] [bit] NOT NULL,
622 [DisplayOrder] [int] NOT NULL
623) ON [PRIMARY]
624GO
625SET ANSI_PADDING OFF
626GO
627EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'DeviceSetting½s¸¹' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DeviceSettingOptions', @level2type=N'COLUMN',@level2name=N'DeviceSettingId'
628GO
629EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¦sÀɮɬO§_¼g¤J¦WºÙ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DeviceSettingOptions', @level2type=N'COLUMN',@level2name=N'IsEnable'
630GO
631EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'³]©w°Ñ¼Æ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DeviceSettingOptions', @level2type=N'COLUMN',@level2name=N'Args'
632GO
633EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ButtonªºÅã¥Ü¤å¦r' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DeviceSettingOptions', @level2type=N'COLUMN',@level2name=N'ButtonText'
634GO
635EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ButtonªºÅã¥ÜÃC¦â' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DeviceSettingOptions', @level2type=N'COLUMN',@level2name=N'ButtonColor'
636GO
637EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¬O§_¬°¥i¿ï¾Ü' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DeviceSettingOptions', @level2type=N'COLUMN',@level2name=N'IsVisable'
638GO
639EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Option¶¶§Ç' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DeviceSettingOptions', @level2type=N'COLUMN',@level2name=N'DisplayOrder'
640GO
641/****** Object: Table [dbo].[DataSyncKeyCount] Script Date: 01/08/2018 04:04:20 ******/
642SET ANSI_NULLS ON
643GO
644SET QUOTED_IDENTIFIER ON
645GO
646SET ANSI_PADDING ON
647GO
648CREATE TABLE [dbo].[DataSyncKeyCount](
649 [ID] [bigint] IDENTITY(1,1) NOT NULL,
650 [MultipleValue] [nvarchar](50) NOT NULL,
651 [UUID] [varchar](32) NULL,
652 [FullTableName] [nvarchar](200) NOT NULL,
653 [KeyCount] [bigint] NOT NULL,
654 CONSTRAINT [PK_DataSyncKeyCount] PRIMARY KEY CLUSTERED
655(
656 [ID] ASC
657)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
658) ON [PRIMARY]
659GO
660SET ANSI_PADDING OFF
661GO
662/****** Object: Table [dbo].[DailyReports] Script Date: 01/08/2018 04:04:20 ******/
663SET ANSI_NULLS ON
664GO
665SET QUOTED_IDENTIFIER ON
666GO
667SET ANSI_PADDING ON
668GO
669CREATE TABLE [dbo].[DailyReports](
670 [ReportID] [int] IDENTITY(1,1) NOT NULL,
671 [ReportDate] [datetime] NOT NULL,
672 [TotalPurchase] [int] NOT NULL,
673 [TotalSpecialComps] [int] NOT NULL,
674 [TotalRedeem] [int] NOT NULL,
675 [GameReports] [varchar](max) NOT NULL,
676 [IsReport] [int] NOT NULL,
677 [TotalBillIn] [int] NOT NULL,
678 [TotalFantasyBet] [int] NOT NULL,
679 [ReversePurchase] [int] NOT NULL,
680 CONSTRAINT [PK__DailyRep__826382E957D480F1] PRIMARY KEY CLUSTERED
681(
682 [ReportID] ASC,
683 [ReportDate] ASC
684)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
685) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
686GO
687SET ANSI_PADDING OFF
688GO
689EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¨C¤é³ø±b¸ê®Æ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DailyReports'
690GO
691/****** Object: Table [dbo].[DailyReportDetail] Script Date: 01/08/2018 04:04:19 ******/
692SET ANSI_NULLS ON
693GO
694SET QUOTED_IDENTIFIER ON
695GO
696CREATE TABLE [dbo].[DailyReportDetail](
697 [SID] [int] IDENTITY(1,1) NOT NULL,
698 [ReportID] [bigint] NOT NULL,
699 [GameID] [int] NOT NULL,
700 [TotalPlay] [int] NOT NULL,
701 [TotalWin] [int] NOT NULL,
702 [TotalPlayTimes] [int] NOT NULL,
703 [TotalWinTimes] [int] NOT NULL,
704 CONSTRAINT [PK_DailyReportDetail] PRIMARY KEY CLUSTERED
705(
706 [SID] ASC,
707 [ReportID] ASC,
708 [GameID] ASC
709)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
710) ON [PRIMARY]
711GO
712/****** Object: Table [dbo].[CustomerTicketUsed] Script Date: 01/08/2018 04:04:19 ******/
713SET ANSI_NULLS ON
714GO
715SET QUOTED_IDENTIFIER ON
716GO
717SET ANSI_PADDING ON
718GO
719CREATE TABLE [dbo].[CustomerTicketUsed](
720 [RowID] [int] IDENTITY(1,1) NOT NULL,
721 [TicketID] [varchar](50) NOT NULL,
722 [TicketGroup] [int] NOT NULL,
723 [CustomerID] [varchar](12) NOT NULL,
724 [Comps] [int] NOT NULL,
725 [StartTime] [datetime] NOT NULL,
726 [EndTime] [datetime] NOT NULL,
727 [CreateTime] [datetime] NOT NULL,
728 [Release] [bit] NOT NULL,
729 [ConsumeTime] [datetime] NULL,
730 [ConsumeAmount] [int] NULL,
731 [ConsumeCustomerID] [varchar](12) NULL,
732 [GetTime] [datetime] NULL,
733 CONSTRAINT [PK_CustomerTicketUsed] PRIMARY KEY CLUSTERED
734(
735 [RowID] ASC,
736 [CustomerID] ASC
737)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
738 CONSTRAINT [IX_CustomerTicketUsed_TicketID] UNIQUE NONCLUSTERED
739(
740 [TicketID] ASC
741)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
742) ON [PRIMARY]
743GO
744SET ANSI_PADDING OFF
745GO
746EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'åºè™Ÿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicketUsed', @level2type=N'COLUMN',@level2name=N'RowID'
747GO
748EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'票券ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicketUsed', @level2type=N'COLUMN',@level2name=N'TicketID'
749GO
750EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'票券類型群組,0:隔日券ã€1:抽çŽåˆ¸' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicketUsed', @level2type=N'COLUMN',@level2name=N'TicketGroup'
751GO
752EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'顧客ID(dbo.Customer.ID)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicketUsed', @level2type=N'COLUMN',@level2name=N'CustomerID'
753GO
754EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'票券é¢é¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicketUsed', @level2type=N'COLUMN',@level2name=N'Comps'
755GO
756EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'å¯ä½¿ç”¨çš„起始時間' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicketUsed', @level2type=N'COLUMN',@level2name=N'StartTime'
757GO
758EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'å¯ä½¿ç”¨çš„çµæŸæ™‚é–“' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicketUsed', @level2type=N'COLUMN',@level2name=N'EndTime'
759GO
760EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'產生æ¤ç¥¨åˆ¸çš„æ™‚é–“' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicketUsed', @level2type=N'COLUMN',@level2name=N'CreateTime'
761GO
762EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是å¦é—œé–‰' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicketUsed', @level2type=N'COLUMN',@level2name=N'Release'
763GO
764EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'使用的時間' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicketUsed', @level2type=N'COLUMN',@level2name=N'ConsumeTime'
765GO
766EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'使用所消ç§çš„é¡åº¦' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicketUsed', @level2type=N'COLUMN',@level2name=N'ConsumeAmount'
767GO
768EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'使用的顧客ID(dbo.Customer.ID)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicketUsed', @level2type=N'COLUMN',@level2name=N'ConsumeCustomerID'
769GO
770/****** Object: Table [dbo].[CustomerTicket] Script Date: 01/08/2018 04:04:19 ******/
771SET ANSI_NULLS ON
772GO
773SET QUOTED_IDENTIFIER ON
774GO
775SET ANSI_PADDING ON
776GO
777CREATE TABLE [dbo].[CustomerTicket](
778 [RowID] [int] IDENTITY(1,1) NOT NULL,
779 [TicketID] [varchar](50) NOT NULL,
780 [TicketGroup] [int] NOT NULL,
781 [CustomerID] [varchar](12) NOT NULL,
782 [Comps] [int] NOT NULL,
783 [StartTime] [datetime] NOT NULL,
784 [EndTime] [datetime] NOT NULL,
785 [CreateTime] [datetime] NOT NULL,
786 [Release] [bit] NOT NULL,
787 [ConsumeTime] [datetime] NULL,
788 [ConsumeAmount] [int] NULL,
789 [ConsumeCustomerID] [varchar](12) NULL,
790 [GetTime] [datetime] NULL,
791 CONSTRAINT [PK_CustomerTicket] PRIMARY KEY CLUSTERED
792(
793 [RowID] ASC,
794 [CustomerID] ASC
795)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
796 CONSTRAINT [IX_CustomerTicket_TicketID] UNIQUE NONCLUSTERED
797(
798 [TicketID] ASC
799)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
800) ON [PRIMARY]
801GO
802SET ANSI_PADDING OFF
803GO
804EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'åºè™Ÿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicket', @level2type=N'COLUMN',@level2name=N'RowID'
805GO
806EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'票券ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicket', @level2type=N'COLUMN',@level2name=N'TicketID'
807GO
808EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'票券類型群組,0:隔日券ã€1:抽çŽåˆ¸' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicket', @level2type=N'COLUMN',@level2name=N'TicketGroup'
809GO
810EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'顧客ID(dbo.Customer.ID)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicket', @level2type=N'COLUMN',@level2name=N'CustomerID'
811GO
812EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'票券é¢é¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicket', @level2type=N'COLUMN',@level2name=N'Comps'
813GO
814EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'å¯ä½¿ç”¨çš„起始時間' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicket', @level2type=N'COLUMN',@level2name=N'StartTime'
815GO
816EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'å¯ä½¿ç”¨çš„çµæŸæ™‚é–“' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicket', @level2type=N'COLUMN',@level2name=N'EndTime'
817GO
818EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'產生æ¤ç¥¨åˆ¸çš„æ™‚é–“' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicket', @level2type=N'COLUMN',@level2name=N'CreateTime'
819GO
820EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是å¦é—œé–‰' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicket', @level2type=N'COLUMN',@level2name=N'Release'
821GO
822EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'使用的時間' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicket', @level2type=N'COLUMN',@level2name=N'ConsumeTime'
823GO
824EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'使用所消ç§çš„é¡åº¦' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicket', @level2type=N'COLUMN',@level2name=N'ConsumeAmount'
825GO
826EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'使用的顧客ID(dbo.Customer.ID)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerTicket', @level2type=N'COLUMN',@level2name=N'ConsumeCustomerID'
827GO
828/****** Object: Table [dbo].[CustomerReferral] Script Date: 01/08/2018 04:04:19 ******/
829SET ANSI_NULLS ON
830GO
831SET QUOTED_IDENTIFIER ON
832GO
833CREATE TABLE [dbo].[CustomerReferral](
834 [CustomerId] [int] NOT NULL,
835 [ReferralCustomerId] [int] NOT NULL,
836 [ReferralFareTradeId] [int] NULL,
837 CONSTRAINT [PK_CustomerReferral] PRIMARY KEY CLUSTERED
838(
839 [CustomerId] ASC
840)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
841) ON [PRIMARY]
842GO
843EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'³Q¤¶²ÃÃ…U«ÈID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerReferral', @level2type=N'COLUMN',@level2name=N'CustomerId'
844GO
845EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¤¶²ÃÃ…U«ÈID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerReferral', @level2type=N'COLUMN',@level2name=N'ReferralCustomerId'
846GO
847EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¤wµ¹¤¶²Ã¶Oªº¥æ©ö°O¿ýID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerReferral', @level2type=N'COLUMN',@level2name=N'ReferralFareTradeId'
848GO
849/****** Object: Table [dbo].[CustomerOnlineLog] Script Date: 01/08/2018 04:04:19 ******/
850SET ANSI_NULLS ON
851GO
852SET QUOTED_IDENTIFIER ON
853GO
854SET ANSI_PADDING ON
855GO
856CREATE TABLE [dbo].[CustomerOnlineLog](
857 [ID] [bigint] IDENTITY(1,1) NOT NULL,
858 [CustomerSID] [int] NOT NULL,
859 [CustomerID] [int] NOT NULL,
860 [IsOnline] [tinyint] NOT NULL,
861 [LoginDateTime] [datetime] NOT NULL,
862 [LogoutDateTime] [datetime] NULL,
863 [UsedTime] [char](10) NULL,
864 CONSTRAINT [PK_CustomerOnline] PRIMARY KEY CLUSTERED
865(
866 [ID] ASC
867)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
868) ON [PRIMARY]
869GO
870SET ANSI_PADDING OFF
871GO
872/****** Object: Table [dbo].[CustomerDailyReport] Script Date: 01/08/2018 04:04:19 ******/
873SET ANSI_NULLS ON
874GO
875SET QUOTED_IDENTIFIER ON
876GO
877SET ANSI_PADDING ON
878GO
879CREATE TABLE [dbo].[CustomerDailyReport](
880 [rowid] [int] IDENTITY(1,1) NOT NULL,
881 [CreateTime] [datetime] NOT NULL,
882 [RecordDate] [date] NOT NULL,
883 [CustomerID] [varchar](12) NOT NULL,
884 [TotalIn] [int] NOT NULL,
885 [TotalRedeem] [int] NOT NULL,
886 [TotalComps] [int] NOT NULL,
887 [TotalBet] [int] NOT NULL,
888 [TotalWin] [int] NOT NULL,
889 [CompsRate] [float] NOT NULL,
890 [PlayRate] [float] NOT NULL,
891 CONSTRAINT [PK_CustomerDailyReport] PRIMARY KEY CLUSTERED
892(
893 [rowid] ASC
894)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
895) ON [PRIMARY]
896GO
897SET ANSI_PADDING OFF
898GO
899EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'åºè™Ÿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerDailyReport', @level2type=N'COLUMN',@level2name=N'rowid'
900GO
901EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'建立時間' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerDailyReport', @level2type=N'COLUMN',@level2name=N'CreateTime'
902GO
903EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'資料日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerDailyReport', @level2type=N'COLUMN',@level2name=N'RecordDate'
904GO
905EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'顧客ID,若為空å—ä¸²è¡¨ç¤ºç•¶æ—¥è³‡æ–™çµæŸé»ž' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerDailyReport', @level2type=N'COLUMN',@level2name=N'CustomerID'
906GO
907EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'總入' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerDailyReport', @level2type=N'COLUMN',@level2name=N'TotalIn'
908GO
909EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'總出' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerDailyReport', @level2type=N'COLUMN',@level2name=N'TotalRedeem'
910GO
911EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'總招待' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerDailyReport', @level2type=N'COLUMN',@level2name=N'TotalComps'
912GO
913EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'總押注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerDailyReport', @level2type=N'COLUMN',@level2name=N'TotalBet'
914GO
915EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'總è´åˆ†' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerDailyReport', @level2type=N'COLUMN',@level2name=N'TotalWin'
916GO
917EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'開招率' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerDailyReport', @level2type=N'COLUMN',@level2name=N'CompsRate'
918GO
919EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'éŠæˆ²æŠ¼æ³¨çއ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CustomerDailyReport', @level2type=N'COLUMN',@level2name=N'PlayRate'
920GO
921/****** Object: Table [dbo].[Customer] Script Date: 01/08/2018 04:04:19 ******/
922SET ANSI_NULLS ON
923GO
924SET QUOTED_IDENTIFIER ON
925GO
926SET ANSI_PADDING ON
927GO
928CREATE TABLE [dbo].[Customer](
929 [ID] [int] NOT NULL,
930 [InternetTime] [int] NOT NULL,
931 [Credit] [int] NOT NULL,
932 [Winnings] [int] NOT NULL,
933 [FirstName] [varchar](30) NOT NULL,
934 [LastName] [varchar](30) NOT NULL,
935 [Address] [varchar](100) NOT NULL,
936 [City] [varchar](30) NOT NULL,
937 [State] [varchar](30) NOT NULL,
938 [Zip] [varchar](10) NOT NULL,
939 [Phone] [varchar](20) NOT NULL,
940 [Email] [varchar](100) NOT NULL,
941 [Release] [int] NOT NULL,
942 [CustomerID] [varchar](12) NOT NULL,
943 [IsPresentSpecialComp] [bit] NOT NULL,
944 [Birthday] [date] NOT NULL,
945 [LastLoginTime] [datetime] NOT NULL,
946 [LastDailyFreeEntryTime] [datetime] NOT NULL,
947 [LastDailySpecialCompTime] [datetime] NOT NULL,
948 [CreateDateTime] [datetime] NOT NULL,
949 [Hands] [int] NOT NULL,
950 [LastLogoutTime] [datetime] NULL,
951 [IdentityLicense] [varchar](64) NOT NULL,
952 [Gender] [int] NOT NULL,
953 [WebstoreCouponPoints] [int] NOT NULL,
954PRIMARY KEY CLUSTERED
955(
956 [ID] ASC
957)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
958) ON [PRIMARY]
959GO
960SET ANSI_PADDING OFF
961GO
962EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ñW║⌠«╔â•╞(ñ└─┴)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'InternetTime'
963GO
964EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Credit(Ñi¬▒¬║ñ└â•╞)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Credit'
965GO
966EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'─╣ñ└(Ñiâ–‘h¬║ñ└â•╞)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Winnings'
967GO
968EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ªWªr' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'FirstName'
969GO
970EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'âŒm' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'LastName'
971GO
972EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ªaº}' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Address'
973GO
974EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'½░ѽ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'City'
975GO
976EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ª{ªW' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'State'
977GO
978EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'░╧╜X' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Zip'
979GO
980EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'â•£qâ••â–„' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Phone'
981GO
982EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'â•£qâ•¢l' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Email'
983GO
984EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¼Oº_ñw│Q╡∙╛P' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Release'
985GO
986EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'┼U½╚ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'CustomerID'
987GO
988EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¼Oº_ñw├╪SpecialComp' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'IsPresentSpecialComp'
989GO
990EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ñâ•ñΘñΘ┤┴' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Birthday'
991GO
992EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ñWª╕╡nñJ¬║«╔╢Ã' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'LastLoginTime'
993GO
994EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¤W¦¸°µDailyFreeEntryªº®É¶¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'LastDailyFreeEntryTime'
995GO
996EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¤W¦¸°µDailySpecialCompªº®É¶¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'LastDailySpecialCompTime'
997GO
998EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'«Ø¥ß®É¶¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'CreateDateTime'
999GO
1000EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¹CÀ¸ªº¦^¼Æ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Hands'
1001GO
1002EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¤W¦¸µn¥X®É¶¡¡A²M°£Handsªº®É¶¡¨Ì¾Ú' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'LastLogoutTime'
1003GO
1004EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¨Â¤À»{ÃÒ½X' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'IdentityLicense'
1005GO
1006EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性別' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Gender'
1007GO
1008/****** Object: Table [dbo].[CreditTicket] Script Date: 01/08/2018 04:04:19 ******/
1009SET ANSI_NULLS ON
1010GO
1011SET QUOTED_IDENTIFIER ON
1012GO
1013SET ANSI_PADDING ON
1014GO
1015CREATE TABLE [dbo].[CreditTicket](
1016 [rowid] [int] NOT NULL,
1017 [AgentID] [int] NOT NULL,
1018 [ServerIdx] [int] NOT NULL,
1019 [MasterId] [int] NOT NULL,
1020 [TicketId] [varchar](50) NOT NULL,
1021 [TicketPassword] [varchar](50) NOT NULL,
1022 [Denomination] [int] NOT NULL,
1023 [KeyInAmount] [int] NOT NULL,
1024 [SerialNumber] [int] NOT NULL,
1025 CONSTRAINT [PK_CreditTicket] PRIMARY KEY CLUSTERED
1026(
1027 [rowid] ASC
1028)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1029) ON [PRIMARY]
1030GO
1031SET ANSI_PADDING OFF
1032GO
1033EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'åºè™Ÿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CreditTicket', @level2type=N'COLUMN',@level2name=N'rowid'
1034GO
1035EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'代ç†å•†ç·¨è™Ÿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CreditTicket', @level2type=N'COLUMN',@level2name=N'AgentID'
1036GO
1037EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Serveråºè™Ÿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CreditTicket', @level2type=N'COLUMN',@level2name=N'ServerIdx'
1038GO
1039EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主表åºè™Ÿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CreditTicket', @level2type=N'COLUMN',@level2name=N'MasterId'
1040GO
1041EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'刮刮å¡åºè™Ÿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CreditTicket', @level2type=N'COLUMN',@level2name=N'TicketId'
1042GO
1043EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'刮刮å¡å¯†ç¢¼' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CreditTicket', @level2type=N'COLUMN',@level2name=N'TicketPassword'
1044GO
1045EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'刮刮å¡é¢é¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CreditTicket', @level2type=N'COLUMN',@level2name=N'Denomination'
1046GO
1047EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'系統KeyIn的數é‡ï¼Œå–®ä½ä¾ç³»çµ±çš„KeyInUnit' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CreditTicket', @level2type=N'COLUMN',@level2name=N'KeyInAmount'
1048GO
1049EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'å°åœ¨åˆ®åˆ®å¡ä¸Šçš„æµæ°´è™Ÿ(ä¾ç³»çµ±è™Ÿç¢¼ã€é¢é¡)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CreditTicket', @level2type=N'COLUMN',@level2name=N'SerialNumber'
1050GO
1051/****** Object: Table [dbo].[ClientShiftReport] Script Date: 01/08/2018 04:04:19 ******/
1052SET ANSI_NULLS ON
1053GO
1054SET QUOTED_IDENTIFIER ON
1055GO
1056CREATE TABLE [dbo].[ClientShiftReport](
1057 [ShiftID] [int] IDENTITY(1,1) NOT NULL,
1058 [StartTime] [datetime] NOT NULL,
1059 [EndTime] [datetime] NULL,
1060 [MachineID] [int] NOT NULL,
1061 [TotalPurchase] [int] NOT NULL,
1062 [TotalSpecialComps] [int] NOT NULL,
1063 [TotalRedeem] [int] NOT NULL,
1064 [IsClosedReport] [bit] NOT NULL,
1065 CONSTRAINT [PK_ClientShiftReport] PRIMARY KEY CLUSTERED
1066(
1067 [ShiftID] ASC,
1068 [StartTime] ASC
1069)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1070) ON [PRIMARY]
1071GO
1072EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'§Ç¸¹' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ClientShiftReport', @level2type=N'COLUMN',@level2name=N'ShiftID'
1073GO
1074EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'±Ò©l®É¶¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ClientShiftReport', @level2type=N'COLUMN',@level2name=N'StartTime'
1075GO
1076EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'µ²§ô®É¶¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ClientShiftReport', @level2type=N'COLUMN',@level2name=N'EndTime'
1077GO
1078EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¾÷¥xID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ClientShiftReport', @level2type=N'COLUMN',@level2name=N'MachineID'
1079GO
1080EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ã`¤J¤À' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ClientShiftReport', @level2type=N'COLUMN',@level2name=N'TotalPurchase'
1081GO
1082EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ã`ÃØ¤À' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ClientShiftReport', @level2type=N'COLUMN',@level2name=N'TotalSpecialComps'
1083GO
1084EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ã`°h¤À' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ClientShiftReport', @level2type=N'COLUMN',@level2name=N'TotalRedeem'
1085GO
1086EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¦¹µ§¬O§_¤wµ²ºâ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ClientShiftReport', @level2type=N'COLUMN',@level2name=N'IsClosedReport'
1087GO
1088/****** Object: Table [dbo].[MenuButtonPermission] Script Date: 01/08/2018 04:04:20 ******/
1089SET ANSI_NULLS ON
1090GO
1091SET QUOTED_IDENTIFIER ON
1092GO
1093CREATE TABLE [dbo].[MenuButtonPermission](
1094 [MemberPermission] [int] NOT NULL,
1095 [ButtonId] [int] NOT NULL,
1096 [ButtonOrder] [int] NOT NULL,
1097 [ActionType] [int] NOT NULL
1098) ON [PRIMARY]
1099GO
1100EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Â¥\¯à ¶s¾Þ§@Ã…vÂÂ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MenuButtonPermission', @level2type=N'COLUMN',@level2name=N'MemberPermission'
1101GO
1102EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¥\¯à ¶s½s¸¹' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MenuButtonPermission', @level2type=N'COLUMN',@level2name=N'ButtonId'
1103GO
1104EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¥\¯à ¶sªº¶¶§Ç' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MenuButtonPermission', @level2type=N'COLUMN',@level2name=N'ButtonOrder'
1105GO
1106EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¥\¯à ¶s°Ê§@Ãþ«¬' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MenuButtonPermission', @level2type=N'COLUMN',@level2name=N'ActionType'
1107GO
1108/****** Object: Table [dbo].[MenuButton] Script Date: 01/08/2018 04:04:20 ******/
1109SET ANSI_NULLS ON
1110GO
1111SET QUOTED_IDENTIFIER ON
1112GO
1113SET ANSI_PADDING ON
1114GO
1115CREATE TABLE [dbo].[MenuButton](
1116 [ButtonId] [int] NOT NULL,
1117 [ButtonDisplayName] [varchar](50) NOT NULL,
1118 [PageCtrlName] [varchar](50) NULL,
1119 [IsEnable] [bit] NOT NULL,
1120 CONSTRAINT [PK_MenuButton] PRIMARY KEY CLUSTERED
1121(
1122 [ButtonId] ASC
1123)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1124) ON [PRIMARY]
1125GO
1126SET ANSI_PADDING OFF
1127GO
1128EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¥\¯à ¶s½s¸¹' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MenuButton', @level2type=N'COLUMN',@level2name=N'ButtonId'
1129GO
1130EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¥\¯à ¶sÅã¥Üªº¦WºÙ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MenuButton', @level2type=N'COLUMN',@level2name=N'ButtonDisplayName'
1131GO
1132EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'PageCtrl¦WºÙ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MenuButton', @level2type=N'COLUMN',@level2name=N'PageCtrlName'
1133GO
1134EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¬O§_¶}±Ò' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MenuButton', @level2type=N'COLUMN',@level2name=N'IsEnable'
1135GO
1136/****** Object: Table [dbo].[Members] Script Date: 01/08/2018 04:04:20 ******/
1137SET ANSI_NULLS ON
1138GO
1139SET QUOTED_IDENTIFIER ON
1140GO
1141SET ANSI_PADDING ON
1142GO
1143CREATE TABLE [dbo].[Members](
1144 [ID] [int] IDENTITY(1,1) NOT NULL,
1145 [ParentID] [int] NOT NULL,
1146 [Account] [varchar](16) NOT NULL,
1147 [Password] [varchar](16) NOT NULL,
1148 [Permission] [int] NOT NULL,
1149 [FailTimes] [int] NOT NULL,
1150 [SpecifyLogin] [bit] NOT NULL,
1151PRIMARY KEY CLUSTERED
1152(
1153 [ID] ASC
1154)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1155) ON [PRIMARY]
1156GO
1157SET ANSI_PADDING OFF
1158GO
1159EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¬O§_¬°«ü©wµn¤JªºMember¡A¹w³]¬°False¡C' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Members', @level2type=N'COLUMN',@level2name=N'SpecifyLogin'
1160GO
1161/****** Object: Table [dbo].[Machines] Script Date: 01/08/2018 04:04:20 ******/
1162SET ANSI_NULLS ON
1163GO
1164SET QUOTED_IDENTIFIER ON
1165GO
1166SET ANSI_PADDING ON
1167GO
1168CREATE TABLE [dbo].[Machines](
1169 [ID] [int] NOT NULL,
1170 [RegisterID] [varchar](32) NOT NULL,
1171 [BindingID] [varchar](32) NOT NULL,
1172 [MachineName] [varchar](64) NOT NULL,
1173PRIMARY KEY CLUSTERED
1174(
1175 [ID] ASC
1176)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1177) ON [PRIMARY]
1178GO
1179SET ANSI_PADDING OFF
1180GO
1181EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'╛≈Ñx╜s╕╣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Machines', @level2type=N'COLUMN',@level2name=N'ID'
1182GO
1183EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Client¬║Mac' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Machines', @level2type=N'COLUMN',@level2name=N'RegisterID'
1184GO
1185EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'â••jâŒwClient¬║GUID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Machines', @level2type=N'COLUMN',@level2name=N'BindingID'
1186GO
1187EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¾÷¥x¦WºÙ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Machines', @level2type=N'COLUMN',@level2name=N'MachineName'
1188GO
1189/****** Object: Table [dbo].[LoadingStationShiftReport] Script Date: 01/08/2018 04:04:20 ******/
1190SET ANSI_NULLS ON
1191GO
1192SET QUOTED_IDENTIFIER ON
1193GO
1194CREATE TABLE [dbo].[LoadingStationShiftReport](
1195 [ShiftID] [int] IDENTITY(1,1) NOT NULL,
1196 [StartTime] [datetime] NOT NULL,
1197 [EndTime] [datetime] NULL,
1198 [MachineID] [int] NOT NULL,
1199 [Dollar1] [int] NOT NULL,
1200 [Dollar2] [int] NOT NULL,
1201 [Dollar5] [int] NOT NULL,
1202 [Dollar10] [int] NOT NULL,
1203 [Dollar20] [int] NOT NULL,
1204 [Dollar50] [int] NOT NULL,
1205 [Dollar100] [int] NOT NULL,
1206 CONSTRAINT [PK_LoadingStationShiftReport] PRIMARY KEY CLUSTERED
1207(
1208 [ShiftID] ASC,
1209 [StartTime] ASC
1210)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1211) ON [PRIMARY]
1212GO
1213EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¶}©l®É¶¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LoadingStationShiftReport', @level2type=N'COLUMN',@level2name=N'StartTime'
1214GO
1215EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'µ²§ô®É¶¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LoadingStationShiftReport', @level2type=N'COLUMN',@level2name=N'EndTime'
1216GO
1217EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'LoadingStation¾÷¥x½s¸¹' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LoadingStationShiftReport', @level2type=N'COLUMN',@level2name=N'MachineID'
1218GO
1219EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'$1¼Æ¶q' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LoadingStationShiftReport', @level2type=N'COLUMN',@level2name=N'Dollar1'
1220GO
1221EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'$2¼Æ¶q' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LoadingStationShiftReport', @level2type=N'COLUMN',@level2name=N'Dollar2'
1222GO
1223EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'$5¼Æ¶q' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LoadingStationShiftReport', @level2type=N'COLUMN',@level2name=N'Dollar5'
1224GO
1225EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'$10¼Æ¶q' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LoadingStationShiftReport', @level2type=N'COLUMN',@level2name=N'Dollar10'
1226GO
1227EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'$20¼Æ¶q' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LoadingStationShiftReport', @level2type=N'COLUMN',@level2name=N'Dollar20'
1228GO
1229EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'$50¼Æ¶q' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LoadingStationShiftReport', @level2type=N'COLUMN',@level2name=N'Dollar50'
1230GO
1231EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'$100¼Æ¶q' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LoadingStationShiftReport', @level2type=N'COLUMN',@level2name=N'Dollar100'
1232GO
1233/****** Object: Table [dbo].[LoadingStationCashBox] Script Date: 01/08/2018 04:04:20 ******/
1234SET ANSI_NULLS ON
1235GO
1236SET QUOTED_IDENTIFIER ON
1237GO
1238CREATE TABLE [dbo].[LoadingStationCashBox](
1239 [SID] [int] IDENTITY(1,1) NOT NULL,
1240 [MachineID] [int] NOT NULL,
1241 [Cash] [int] NOT NULL,
1242 [Count] [int] NOT NULL
1243) ON [PRIMARY]
1244GO
1245/****** Object: Table [dbo].[LoadingStation] Script Date: 01/08/2018 04:04:20 ******/
1246SET ANSI_NULLS ON
1247GO
1248SET QUOTED_IDENTIFIER ON
1249GO
1250SET ANSI_PADDING ON
1251GO
1252CREATE TABLE [dbo].[LoadingStation](
1253 [MachineID] [int] IDENTITY(0,1) NOT NULL,
1254 [RegisterID] [varchar](32) NOT NULL,
1255 CONSTRAINT [PK_LoadingStation] PRIMARY KEY CLUSTERED
1256(
1257 [MachineID] ASC
1258)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1259) ON [PRIMARY]
1260GO
1261SET ANSI_PADDING OFF
1262GO
1263/****** Object: Table [dbo].[LastPurchaseGift] Script Date: 01/08/2018 04:04:20 ******/
1264SET ANSI_NULLS ON
1265GO
1266SET QUOTED_IDENTIFIER ON
1267GO
1268CREATE TABLE [dbo].[LastPurchaseGift](
1269 [CustomerID] [int] NOT NULL,
1270 [ResultID] [bigint] NOT NULL
1271) ON [PRIMARY]
1272GO
1273EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'顧客ID(Customer.ID)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LastPurchaseGift', @level2type=N'COLUMN',@level2name=N'CustomerID'
1274GO
1275EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'æ´»å‹•çµæžœID(Result.id)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LastPurchaseGift', @level2type=N'COLUMN',@level2name=N'ResultID'
1276GO
1277/****** Object: Table [dbo].[LastPurchase] Script Date: 01/08/2018 04:04:20 ******/
1278SET ANSI_NULLS ON
1279GO
1280SET QUOTED_IDENTIFIER ON
1281GO
1282CREATE TABLE [dbo].[LastPurchase](
1283 [CustomerID] [int] NOT NULL,
1284 [TradeID] [int] NOT NULL
1285) ON [PRIMARY]
1286GO
1287/****** Object: Table [dbo].[JackpotSettingsOri] Script Date: 01/08/2018 04:04:20 ******/
1288SET ANSI_NULLS ON
1289GO
1290SET QUOTED_IDENTIFIER ON
1291GO
1292CREATE TABLE [dbo].[JackpotSettingsOri](
1293 [ID] [int] IDENTITY(1,1) NOT NULL,
1294 [SubjectionJackpotID] [int] NOT NULL,
1295 [DefaultIndex] [int] NOT NULL,
1296 [SelectedIndex] [int] NOT NULL,
1297 [SettingItemListID] [int] NOT NULL,
1298 [SelectBindingID] [int] NOT NULL
1299) ON [PRIMARY]
1300GO
1301/****** Object: Table [dbo].[JackpotSettings] Script Date: 01/08/2018 04:04:20 ******/
1302SET ANSI_NULLS ON
1303GO
1304SET QUOTED_IDENTIFIER ON
1305GO
1306CREATE TABLE [dbo].[JackpotSettings](
1307 [ID] [int] IDENTITY(1,1) NOT NULL,
1308 [SubjectionJackpotID] [int] NOT NULL,
1309 [DefaultIndex] [int] NOT NULL,
1310 [SelectedIndex] [int] NOT NULL,
1311 [SettingItemListID] [int] NOT NULL,
1312 [SelectBindingID] [int] NOT NULL,
1313PRIMARY KEY CLUSTERED
1314(
1315 [ID] ASC
1316)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1317) ON [PRIMARY]
1318GO
1319EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¿ï¾ÜIndex»PÂþ¤@µ§³s°Ê (0ªÃ¥Ü¤£³s°Ê).' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JackpotSettings', @level2type=N'COLUMN',@level2name=N'SelectBindingID'
1320GO
1321/****** Object: Table [dbo].[Jackpots] Script Date: 01/08/2018 04:04:20 ******/
1322SET ANSI_NULLS ON
1323GO
1324SET QUOTED_IDENTIFIER ON
1325GO
1326SET ANSI_PADDING ON
1327GO
1328CREATE TABLE [dbo].[Jackpots](
1329 [ID] [int] NOT NULL,
1330 [Name] [varchar](50) NOT NULL,
1331 [LevelCount] [int] NOT NULL,
1332 [IsVisible] [int] NOT NULL,
1333PRIMARY KEY CLUSTERED
1334(
1335 [ID] ASC
1336)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1337) ON [PRIMARY]
1338GO
1339SET ANSI_PADDING OFF
1340GO
1341EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'▒m¬≈╜s╕╣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Jackpots', @level2type=N'COLUMN',@level2name=N'ID'
1342GO
1343EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'▒m¬≈ªW║┘' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Jackpots', @level2type=N'COLUMN',@level2name=N'Name'
1344GO
1345EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'â–’m¬≈â•hâ•╞' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Jackpots', @level2type=N'COLUMN',@level2name=N'LevelCount'
1346GO
1347EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'▒m¬≈¼Oº_┼πÑ▄' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Jackpots', @level2type=N'COLUMN',@level2name=N'IsVisible'
1348GO
1349/****** Object: Table [dbo].[JackpotRecord_Detail] Script Date: 01/08/2018 04:04:20 ******/
1350SET ANSI_NULLS ON
1351GO
1352SET QUOTED_IDENTIFIER ON
1353GO
1354SET ANSI_PADDING ON
1355GO
1356CREATE TABLE [dbo].[JackpotRecord_Detail](
1357 [JpRecordSID] [int] NOT NULL,
1358 [MachineID] [int] NOT NULL,
1359 [CustomerID] [varchar](12) NOT NULL,
1360 [Win] [int] NOT NULL,
1361 [MachineName] [varchar](30) NOT NULL,
1362 [SID] [int] IDENTITY(1,1) NOT NULL,
1363 CONSTRAINT [PK_JackpotRecord_Detail] PRIMARY KEY CLUSTERED
1364(
1365 [SID] ASC
1366)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1367) ON [PRIMARY]
1368GO
1369SET ANSI_PADDING OFF
1370GO
1371EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'JackpotRecordªºSID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JackpotRecord_Detail', @level2type=N'COLUMN',@level2name=N'JpRecordSID'
1372GO
1373EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¾÷¥xID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JackpotRecord_Detail', @level2type=N'COLUMN',@level2name=N'MachineID'
1374GO
1375EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ÅU«ÈID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JackpotRecord_Detail', @level2type=N'COLUMN',@level2name=N'CustomerID'
1376GO
1377EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ŤÀ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JackpotRecord_Detail', @level2type=N'COLUMN',@level2name=N'Win'
1378GO
1379EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¾÷¥x¦WºÙ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JackpotRecord_Detail', @level2type=N'COLUMN',@level2name=N'MachineName'
1380GO
1381/****** Object: Table [dbo].[JackpotRecord] Script Date: 01/08/2018 04:04:20 ******/
1382SET ANSI_NULLS ON
1383GO
1384SET QUOTED_IDENTIFIER ON
1385GO
1386SET ANSI_PADDING ON
1387GO
1388CREATE TABLE [dbo].[JackpotRecord](
1389 [SID] [int] IDENTITY(1,1) NOT NULL,
1390 [MachineID] [int] NOT NULL,
1391 [JackpotID] [int] NOT NULL,
1392 [WinLevel] [int] NOT NULL,
1393 [TotalWin] [int] NOT NULL,
1394 [GameID] [int] NOT NULL,
1395 [GroupID] [int] NOT NULL,
1396 [SeatNo] [int] NOT NULL,
1397 [Bet] [int] NOT NULL,
1398 [CreateDate] [datetime] NOT NULL,
1399 [ExtraInfo] [varchar](2000) NOT NULL,
1400 CONSTRAINT [PK_JackpotRecord] PRIMARY KEY CLUSTERED
1401(
1402 [SID] ASC
1403)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1404) ON [PRIMARY]
1405GO
1406SET ANSI_PADDING OFF
1407GO
1408/****** Object: Table [dbo].[JackpotPlayInfo] Script Date: 01/08/2018 04:04:20 ******/
1409SET ANSI_NULLS ON
1410GO
1411SET QUOTED_IDENTIFIER ON
1412GO
1413CREATE TABLE [dbo].[JackpotPlayInfo](
1414 [PlayID] [bigint] IDENTITY(1,1) NOT NULL,
1415 [JackpotID] [int] NOT NULL,
1416 [BetValue] [int] NOT NULL,
1417 [CreateDate] [datetime] NOT NULL,
1418 CONSTRAINT [PK_JackpotPlayInfo] PRIMARY KEY CLUSTERED
1419(
1420 [PlayID] ASC
1421)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1422) ON [PRIMARY]
1423GO
1424/****** Object: Table [dbo].[JackpotInGame] Script Date: 01/08/2018 04:04:20 ******/
1425SET ANSI_NULLS ON
1426GO
1427SET QUOTED_IDENTIFIER ON
1428GO
1429CREATE TABLE [dbo].[JackpotInGame](
1430 [GameID] [int] NOT NULL,
1431 [JackpotID] [int] NOT NULL,
1432PRIMARY KEY CLUSTERED
1433(
1434 [GameID] ASC
1435)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1436) ON [PRIMARY]
1437GO
1438/****** Object: Table [dbo].[GameSettings] Script Date: 01/08/2018 04:04:20 ******/
1439SET ANSI_NULLS ON
1440GO
1441SET QUOTED_IDENTIFIER ON
1442GO
1443CREATE TABLE [dbo].[GameSettings](
1444 [ID] [int] IDENTITY(1,1) NOT NULL,
1445 [SubjectionGameID] [int] NOT NULL,
1446 [DefaultIndex] [int] NOT NULL,
1447 [SelectedIndex] [int] NOT NULL,
1448 [SettingItemListID] [int] NOT NULL,
1449PRIMARY KEY CLUSTERED
1450(
1451 [ID] ASC
1452)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1453) ON [PRIMARY]
1454GO
1455/****** Object: Table [dbo].[GameReports] Script Date: 01/08/2018 04:04:20 ******/
1456SET ANSI_NULLS ON
1457GO
1458SET QUOTED_IDENTIFIER ON
1459GO
1460CREATE TABLE [dbo].[GameReports](
1461 [GameID] [int] NOT NULL,
1462 [TotalPlay] [int] NOT NULL,
1463 [TotalWin] [int] NOT NULL,
1464 [TotalPlayTimes] [int] NOT NULL,
1465 [TotalWinTimes] [int] NOT NULL,
1466PRIMARY KEY CLUSTERED
1467(
1468 [GameID] ASC
1469)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1470) ON [PRIMARY]
1471GO
1472/****** Object: Table [dbo].[GamePrize] Script Date: 01/08/2018 04:04:20 ******/
1473SET ANSI_NULLS ON
1474GO
1475SET QUOTED_IDENTIFIER ON
1476GO
1477SET ANSI_PADDING ON
1478GO
1479CREATE TABLE [dbo].[GamePrize](
1480 [ID] [int] IDENTITY(1,1) NOT NULL,
1481 [SubjectionGameID] [int] NOT NULL,
1482 [TotalPlayGroup] [int] NOT NULL,
1483 [PrizeNameList] [varchar](1024) NOT NULL,
1484 [PrizeAmountList] [varchar](1024) NOT NULL,
1485PRIMARY KEY CLUSTERED
1486(
1487 [ID] ASC
1488)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1489) ON [PRIMARY]
1490GO
1491SET ANSI_PADDING OFF
1492GO
1493/****** Object: Table [dbo].[Game] Script Date: 01/08/2018 04:04:20 ******/
1494SET ANSI_NULLS ON
1495GO
1496SET QUOTED_IDENTIFIER ON
1497GO
1498SET ANSI_PADDING ON
1499GO
1500CREATE TABLE [dbo].[Game](
1501 [ID] [int] NOT NULL,
1502 [Name] [varchar](50) NOT NULL,
1503 [Enable] [int] NOT NULL,
1504 [IsVisible] [int] NOT NULL,
1505 [LobbyGameZone] [int] NOT NULL,
1506 [LobbyGameZoneOrder] [int] NOT NULL,
1507 [LobbyGameType] [int] NOT NULL,
1508 [LobbyJpType] [int] NOT NULL,
1509PRIMARY KEY CLUSTERED
1510(
1511 [ID] ASC
1512)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1513) ON [PRIMARY]
1514GO
1515SET ANSI_PADDING OFF
1516GO
1517EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'╣C└╕╜s╕╣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Game', @level2type=N'COLUMN',@level2name=N'ID'
1518GO
1519EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'╣C└╕ªW║┘' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Game', @level2type=N'COLUMN',@level2name=N'Name'
1520GO
1521EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'╣C└╕╢}├÷' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Game', @level2type=N'COLUMN',@level2name=N'Enable'
1522GO
1523EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'╣C└╕¼Oº_Ñi┼πÑ▄' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Game', @level2type=N'COLUMN',@level2name=N'IsVisible'
1524GO
1525EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¦b¤jÆU©ÒÄ꺹CÀ¸°Ã' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Game', @level2type=N'COLUMN',@level2name=N'LobbyGameZone'
1526GO
1527EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¦b¤jÆU©ÒÄ꺹CÀ¸°Ã¶¶§Ç' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Game', @level2type=N'COLUMN',@level2name=N'LobbyGameZoneOrder'
1528GO
1529EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¦b¤jÆUªº¹CÀ¸Ãþ«¬' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Game', @level2type=N'COLUMN',@level2name=N'LobbyGameType'
1530GO
1531EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¦b¤jÆU©ÒÅã¥Üªº±mª÷Ãþ«¬' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Game', @level2type=N'COLUMN',@level2name=N'LobbyJpType'
1532GO
1533/****** Object: UserDefinedFunction [dbo].[FN_TableSpaceUsage] Script Date: 01/08/2018 04:04:22 ******/
1534SET ANSI_NULLS ON
1535GO
1536SET QUOTED_IDENTIFIER ON
1537GO
1538/*
1539 ==================================================================
1540 Description
1541 ¨ú±o©Ò¦³TableªºµwºÃªÅ¶¡¨Ã¥Î¶q
1542 ==================================================================
1543 History
1544 2016/03/01 WCS Created.
1545
1546 ==================================================================
1547 Example
1548 SELECT * FROM LocalServer.dbo.FN_TableSpaceUsage()
1549
1550*/
1551
1552CREATE FUNCTION [dbo].[FN_TableSpaceUsage]()
1553RETURNS @SpaceUsage TABLE (
1554 [database] sysname,
1555 [schema] sysname,
1556 [table] sysname,
1557 [row_counts] sysname,
1558 [file_size_kb] INT,
1559 [space_used_kb] INT,
1560 [free_space_kb] INT
1561)
1562AS
1563BEGIN
1564 INSERT INTO @SpaceUsage
1565 SELECT
1566 DB_NAME() AS DatabaseName,
1567 s.Name AS SchemaName,
1568 t.NAME AS TableName,
1569 p.rows AS RowCounts,
1570 SUM(a.total_pages) * 8 AS TotalSpaceKB,
1571 SUM(a.used_pages) * 8 AS UsedSpaceKB,
1572 (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB
1573 FROM
1574 sys.tables t
1575 INNER JOIN
1576 sys.schemas s ON s.schema_id = t.schema_id
1577 INNER JOIN
1578 sys.indexes i ON t.OBJECT_ID = i.object_id
1579 INNER JOIN
1580 sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
1581 INNER JOIN
1582 sys.allocation_units a ON p.partition_id = a.container_id
1583 WHERE
1584 t.NAME NOT LIKE 'dt%' -- filter out system tables for diagramming
1585 AND t.is_ms_shipped = 0
1586 AND i.OBJECT_ID > 255
1587 GROUP BY
1588 t.Name, s.Name, p.Rows
1589 ORDER BY
1590 s.Name, t.Name
1591
1592 RETURN;
1593END;
1594GO
1595/****** Object: UserDefinedFunction [dbo].[FN_GenerateWebstoreCouponCode] Script Date: 01/08/2018 04:04:22 ******/
1596SET ANSI_NULLS ON
1597GO
1598SET QUOTED_IDENTIFIER ON
1599GO
1600/*
1601 ==================================================================
1602 Description
1603 Generate Webstore CouponCode
1604
1605 ==================================================================
1606 History
1607 2015/12/8 WCS Created.
1608
1609 ==================================================================
1610 Example
1611 SELECT LocalServer.dbo.FN_GenerateWebstoreCouponCode(1,6999,123)
1612
1613*/
1614CREATE FUNCTION [dbo].[FN_GenerateWebstoreCouponCode]
1615(
1616 @coupon_index NUMERIC(12) -- 1 ~ 999999999999 (12-digit)
1617 ,@location_code NUMERIC(4)
1618 ,@server_index NUMERIC(4)
1619
1620)
1621RETURNS CHAR(24)
1622AS
1623BEGIN
1624 DECLARE @modulus NUMERIC(38) = 1000000000000
1625 DECLARE @multiplier NUMERIC(38) = 321456919139
1626 DECLARE @inverse_multiplier NUMERIC(38) = 94898237259
1627
1628 DECLARE @origin NUMERIC(38) = @coupon_index
1629
1630 DECLARE @encoded CHAR(12)
1631 SET @encoded = (@multiplier * @origin) % @modulus
1632
1633 -- Location Code Section
1634 DECLARE @l1 CHAR(1) = CAST((@location_code/1000)%10 AS CHAR)
1635 DECLARE @l2 CHAR(1) = CAST((@location_code/100)%10 AS CHAR)
1636 DECLARE @l3 CHAR(1) = CAST((@location_code/10)%10 AS CHAR)
1637 DECLARE @l4 CHAR(1) = CAST((@location_code/1)%10 AS CHAR)
1638
1639 -- Server Index
1640 DECLARE @s1 CHAR(1) = CAST((@server_index/1000)%10 AS CHAR)
1641 DECLARE @s2 CHAR(1) = CAST((@server_index/100)%10 AS CHAR)
1642 DECLARE @s3 CHAR(1) = CAST((@server_index/10)%10 AS CHAR)
1643 DECLARE @s4 CHAR(1) = CAST((@server_index/1)%10 AS CHAR)
1644
1645 -- Random Number Section
1646 DECLARE @n1 CHAR(1) = CAST((@encoded/CAST(100000000000 AS NUMERIC(38))%10) AS CHAR)
1647 DECLARE @n2 CHAR(1) = CAST((@encoded/CAST(10000000000 AS NUMERIC(38))%10) AS CHAR)
1648 DECLARE @n3 CHAR(1) = CAST((@encoded/CAST(1000000000 AS NUMERIC(38))%10) AS CHAR)
1649 DECLARE @n4 CHAR(1) = CAST((@encoded/CAST(100000000 AS NUMERIC(38))%10) AS CHAR)
1650 DECLARE @n5 CHAR(1) = CAST((@encoded/CAST(10000000 AS NUMERIC(38))%10) AS CHAR)
1651 DECLARE @n6 CHAR(1) = CAST((@encoded/CAST(1000000 AS NUMERIC(38))%10) AS CHAR)
1652 DECLARE @n7 CHAR(1) = CAST((@encoded/CAST(100000 AS NUMERIC(38))%10) AS CHAR)
1653 DECLARE @n8 CHAR(1) = CAST((@encoded/CAST(10000 AS NUMERIC(38))%10) AS CHAR)
1654 DECLARE @n9 CHAR(1) = CAST((@encoded/CAST(1000 AS NUMERIC(38))%10) AS CHAR)
1655 DECLARE @n10 CHAR(1) = CAST((@encoded/CAST(100 AS NUMERIC(38))%10) AS CHAR)
1656 DECLARE @n11 CHAR(1) = CAST((@encoded/CAST(10 AS NUMERIC(38))%10) AS CHAR)
1657 DECLARE @n12 CHAR(1) = CAST((@encoded/CAST(1 AS NUMERIC(38))%10) AS CHAR)
1658
1659 --Chance sequence @d5 ~ @d20
1660 DECLARE @coupon_code CHAR(24) = @l1+@l2+@l3+@l4+'-'+@n5+@s3+@n11+@n1+'-'+@n12+@s1+@n7+@n3+'-'+@n2+@n6+@s4+@n8+'-'+@n9+@n10+@s2+@n4
1661 RETURN @coupon_code
1662END
1663GO
1664/****** Object: StoredProcedure [dbo].[NSP_Other_G_UpdateGameKey] Script Date: 01/08/2018 04:04:21 ******/
1665SET ANSI_NULLS ON
1666GO
1667SET QUOTED_IDENTIFIER ON
1668GO
1669/*
1670 ==================================================================
1671 Description
1672 º≤╖s╣C└╕Flash╕╤▒KKey
1673 ==================================================================
1674 History
1675 2012/07/16 HJC Created.
1676 2012/10/03 HJC Modify. ¡╫º∩¼░sweepstakes¬âŒÃ‘â•—
1677 ==================================================================
1678 Step
1679 1ÃBºR░ú¡∞ª│╕Ω«╞
1680 2ÃBâ•–sâ•Wâ•–s¬║╕Ω«╞
1681 ==================================================================
1682 Result
1683 0 -- Ñâ”â–’`
1684 ==================================================================
1685 Example
1686
1687 EXEC NSP_Other_G_UpdateGameKey
1688 @GameID = 1001
1689 ,@GameKey = 'Test'
1690
1691*/
1692CREATE PROCEDURE [dbo].[NSP_Other_G_UpdateGameKey]
1693 @GameID int
1694 ,@GameKey varchar(128)
1695AS
1696 SET NOCOUNT ON;
1697
1698DELETE [dbo].[FlashKey]
1699 WHERE [GameID] = @GameID
1700
1701INSERT INTO [dbo].[FlashKey]
1702 VALUES (@GameID, @GameKey)
1703GO
1704/****** Object: Table [dbo].[Event_EventSetting] Script Date: 01/08/2018 04:04:20 ******/
1705SET ANSI_NULLS ON
1706GO
1707SET QUOTED_IDENTIFIER ON
1708GO
1709CREATE TABLE [dbo].[Event_EventSetting](
1710 [TaskID] [int] IDENTITY(1,1) NOT NULL,
1711 [TaskEnabled] [bit] NOT NULL,
1712 [Condition1Type] [int] NOT NULL,
1713 [Condition2Type] [int] NOT NULL,
1714 [ConditionValue] [int] NOT NULL,
1715 [GiftType] [int] NOT NULL,
1716 [PeriodLimitType] [int] NOT NULL,
1717 [GiftMaxQuantity] [int] NOT NULL,
1718 [SettingGroup] [int] NOT NULL,
1719 CONSTRAINT [PK_Event] PRIMARY KEY CLUSTERED
1720(
1721 [TaskID] ASC
1722)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1723) ON [PRIMARY]
1724GO
1725EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'活動ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventSetting', @level2type=N'COLUMN',@level2name=N'TaskID'
1726GO
1727EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'活動是å¦é–‹å•Ÿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventSetting', @level2type=N'COLUMN',@level2name=N'TaskEnabled'
1728GO
1729EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'æ¢ä»¶1,0:TotalPlayã€1:TotalWinã€2:PurchaseAmount' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventSetting', @level2type=N'COLUMN',@level2name=N'Condition1Type'
1730GO
1731EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'æ¢ä»¶2,0:æ¯æ¬¡è¨ˆç®—ã€1:當日累ç©è¨ˆç®—' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventSetting', @level2type=N'COLUMN',@level2name=N'Condition2Type'
1732GO
1733EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'æ¢ä»¶ç´¯è¨ˆé–€æª»å€¼' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventSetting', @level2type=N'COLUMN',@level2name=N'ConditionValue'
1734GO
1735EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ç²å¾—禮物的類型,0:隔日券ã€1:抽çŽåˆ¸' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventSetting', @level2type=N'COLUMN',@level2name=N'GiftType'
1736GO
1737EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ç²å¾—數é‡ç´¯è¨ˆçš„æœŸé–“é™åˆ¶ï¼Œ0:ç„¡ã€1:æ¯æ—¥é™åˆ¶' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventSetting', @level2type=N'COLUMN',@level2name=N'PeriodLimitType'
1738GO
1739EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ç²å¾—禮物的數é‡ä¸Šé™' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventSetting', @level2type=N'COLUMN',@level2name=N'GiftMaxQuantity'
1740GO
1741EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'è¨å®šæ‰€å±¬çš„群組' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventSetting', @level2type=N'COLUMN',@level2name=N'SettingGroup'
1742GO
1743/****** Object: Table [dbo].[Event_EventGift] Script Date: 01/08/2018 04:04:20 ******/
1744SET ANSI_NULLS ON
1745GO
1746SET QUOTED_IDENTIFIER ON
1747GO
1748CREATE TABLE [dbo].[Event_EventGift](
1749 [GiftID] [int] IDENTITY(1,1) NOT NULL,
1750 [TaskID] [int] NOT NULL,
1751 [GiftType] [int] NOT NULL,
1752 [CustomerID] [int] NOT NULL,
1753 [CreateTime] [datetime] NOT NULL,
1754 [Release] [bit] NOT NULL,
1755 [Received] [bit] NOT NULL,
1756 CONSTRAINT [PK_EventGift] PRIMARY KEY CLUSTERED
1757(
1758 [GiftID] ASC
1759)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1760) ON [PRIMARY]
1761GO
1762EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'禮物ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventGift', @level2type=N'COLUMN',@level2name=N'GiftID'
1763GO
1764EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'æ¤ç¦®ç‰©æ˜¯ç”±å“ªå€‹æ´»å‹•(活動ID)給的' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventGift', @level2type=N'COLUMN',@level2name=N'TaskID'
1765GO
1766EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'活動é€çš„禮物類型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventGift', @level2type=N'COLUMN',@level2name=N'GiftType'
1767GO
1768EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'顧客ID(dbo.Customer.ID)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventGift', @level2type=N'COLUMN',@level2name=N'CustomerID'
1769GO
1770EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ç²å¾—禮物的時間' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventGift', @level2type=N'COLUMN',@level2name=N'CreateTime'
1771GO
1772EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是å¦é—œé–‰' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventGift', @level2type=N'COLUMN',@level2name=N'Release'
1773GO
1774EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是å¦å·²è¢«é ˜å–' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventGift', @level2type=N'COLUMN',@level2name=N'Received'
1775GO
1776/****** Object: Table [dbo].[Event_EventAccumulate] Script Date: 01/08/2018 04:04:20 ******/
1777SET ANSI_NULLS ON
1778GO
1779SET QUOTED_IDENTIFIER ON
1780GO
1781CREATE TABLE [dbo].[Event_EventAccumulate](
1782 [TaskID] [int] NOT NULL,
1783 [CustomerID] [int] NOT NULL,
1784 [AccumulateValue] [int] NOT NULL,
1785 [AccumulateTime] [datetime] NOT NULL,
1786 CONSTRAINT [PK_EventAccumulate] PRIMARY KEY CLUSTERED
1787(
1788 [TaskID] ASC,
1789 [CustomerID] ASC
1790)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1791) ON [PRIMARY]
1792GO
1793EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'活動ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventAccumulate', @level2type=N'COLUMN',@level2name=N'TaskID'
1794GO
1795EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'顧客ID(dbo.Customer.ID)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventAccumulate', @level2type=N'COLUMN',@level2name=N'CustomerID'
1796GO
1797EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'累計值' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventAccumulate', @level2type=N'COLUMN',@level2name=N'AccumulateValue'
1798GO
1799EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'最後一次累計的時間' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Event_EventAccumulate', @level2type=N'COLUMN',@level2name=N'AccumulateTime'
1800GO
1801/****** Object: Table [dbo].[DrawerReport] Script Date: 01/08/2018 04:04:20 ******/
1802SET ANSI_NULLS ON
1803GO
1804SET QUOTED_IDENTIFIER ON
1805GO
1806CREATE TABLE [dbo].[DrawerReport](
1807 [DrawerID] [int] IDENTITY(1,1) NOT NULL,
1808 [CreateDate] [datetime] NOT NULL,
1809 [InitialAmount] [int] NOT NULL,
1810 [Fills] [int] NOT NULL,
1811 [Bleeds] [int] NOT NULL,
1812 [PosID] [int] NOT NULL,
1813 [PosUserID] [int] NOT NULL,
1814 CONSTRAINT [PK__DrawerRe__CE101B313CAB8969] PRIMARY KEY CLUSTERED
1815(
1816 [DrawerID] ASC
1817)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
1818) ON [PRIMARY]
1819GO
1820EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'åºè™Ÿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DrawerReport', @level2type=N'COLUMN',@level2name=N'DrawerID'
1821GO
1822EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'建立時間' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DrawerReport', @level2type=N'COLUMN',@level2name=N'CreateDate'
1823GO
1824EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'起始金é¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DrawerReport', @level2type=N'COLUMN',@level2name=N'InitialAmount'
1825GO
1826EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'補充的金é¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DrawerReport', @level2type=N'COLUMN',@level2name=N'Fills'
1827GO
1828EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'å–出的金é¡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DrawerReport', @level2type=N'COLUMN',@level2name=N'Bleeds'
1829GO
1830EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'執行交易的PosID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DrawerReport', @level2type=N'COLUMN',@level2name=N'PosID'
1831GO
1832EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'執行交易的PosUserID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DrawerReport', @level2type=N'COLUMN',@level2name=N'PosUserID'
1833GO
1834/****** Object: StoredProcedure [dbo].[NSP_S_UpdateDeviceSettingOption] Script Date: 01/08/2018 04:04:21 ******/
1835SET ANSI_NULLS ON
1836GO
1837SET QUOTED_IDENTIFIER ON
1838GO
1839CREATE PROCEDURE [dbo].[NSP_S_UpdateDeviceSettingOption]
1840 @name VARCHAR(32)
1841 , @text VARCHAR(32)
1842 , @enable BIT
1843 , @args VARCHAR(32)
1844 , @color VARCHAR(32)
1845 , @visable BIT
1846 , @displayOrder INT
1847AS
1848BEGIN
1849 SET NOCOUNT ON;
1850 DECLARE @settingId INT
1851
1852 IF EXISTS (SELECT * FROM dbo.DeviceSettings WHERE Name=@name)
1853 BEGIN
1854 -- ¨ú±o DeviceSettingId
1855 SELECT @settingId = Id FROM dbo.DeviceSettings WHERE Name = @name
1856
1857 -- ÂY¦s¦b UPDATE ¸ê®Æ¡A§_«h INSERT ¸ê®Æ
1858 IF EXISTS (SELECT * FROM dbo.DeviceSettingOptions
1859 WHERE DeviceSettingId = @settingId
1860 AND ButtonText = @text)
1861 BEGIN
1862 UPDATE dbo.DeviceSettingOptions
1863 SET IsEnable = @enable
1864 , Args = @args
1865 , ButtonText = @text
1866 , ButtonColor = @color
1867 , IsVisable = @visable
1868 , DisplayOrder = @displayOrder
1869 WHERE DeviceSettingId = @settingId AND ButtonText = @text
1870 END
1871 ELSE
1872 BEGIN
1873 INSERT INTO dbo.DeviceSettingOptions
1874 (DeviceSettingId, IsEnable, Args, ButtonText, ButtonColor, IsVisable, DisplayOrder)
1875 VALUES (@settingId, @enable, @args, @text, @color, @visable, @displayOrder)
1876 END
1877 END
1878END
1879GO
1880/****** Object: StoredProcedure [dbo].[NSP_S_UpdateDeviceSetting] Script Date: 01/08/2018 04:04:21 ******/
1881SET ANSI_NULLS ON
1882GO
1883SET QUOTED_IDENTIFIER ON
1884GO
1885CREATE PROCEDURE [dbo].[NSP_S_UpdateDeviceSetting]
1886 @name VARCHAR(32)
1887 , @text VARCHAR(32)
1888 , @visable BIT
1889 , @displayOrder INT
1890AS
1891BEGIN
1892 SET NOCOUNT ON;
1893
1894 -- ÂY¦s¦b UPDATE ¸ê®Æ¡A§_«h INSERT ¸ê®Æ
1895 IF EXISTS (SELECT * FROM dbo.DeviceSettings WHERE Name=@name)
1896 BEGIN
1897 UPDATE dbo.DeviceSettings
1898 SET DisplayText = @text
1899 , IsVisable=@visable
1900 WHERE Name=@name
1901 END
1902 ELSE
1903 BEGIN
1904 INSERT INTO dbo.DeviceSettings (Name, DisplayText, IsVisable, DisplayOrder)
1905 VALUES (@name, @text, @visable, @displayOrder)
1906 END
1907END
1908GO
1909/****** Object: StoredProcedure [dbo].[NSP_S_SetSystemSetting] Script Date: 01/08/2018 04:04:21 ******/
1910SET ANSI_NULLS ON
1911GO
1912SET QUOTED_IDENTIFIER ON
1913GO
1914/*
1915 ==================================================================
1916 Description
1917 ³]©w¨t²Î³]©wÂÈ.
1918 ==================================================================
1919 History
1920 2013/11/22 LJC Created.
1921 ==================================================================
1922 Step
1923 1. §ó·s³]©wÂÈ.
1924 2. ÂY§ó·sFail«h·s¼W¤@µ§³]©w.
1925 ==================================================================
1926 Result
1927 ==================================================================
1928 Example
1929 EXEC [dbo].[NSP_S_SetSystemSetting] @key = 'Period', @value = '4320'
1930
1931*/
1932CREATE PROCEDURE [dbo].[NSP_S_SetSystemSetting]
1933 @key VARCHAR(32),
1934 @value VARCHAR(32)
1935AS
1936BEGIN
1937 SET NOCOUNT ON;
1938
1939 UPDATE dbo.SystemSetting SET SettingValue = @value
1940 WHERE SettingKey = @key
1941
1942 IF (@@ROWCOUNT <= 0)
1943 BEGIN
1944 INSERT INTO dbo.SystemSetting
1945 ( SettingKey, SettingValue )
1946 VALUES ( @key, @value )
1947 END
1948END
1949GO
1950/****** Object: StoredProcedure [dbo].[NSP_S_SetSystemConfig] Script Date: 01/08/2018 04:04:21 ******/
1951SET ANSI_NULLS ON
1952GO
1953SET QUOTED_IDENTIFIER ON
1954GO
1955/*
1956 ==================================================================
1957 Description
1958 ³]©wÂ¥X¼t³]©wÂÈ.
1959 ==================================================================
1960 History
1961 2013/12/13 LJC Created.
1962 ==================================================================
1963 Step
1964 1. §ó·s³]©wÂÈ.
1965 2. ÂY§ó·sFail«h·s¼W¤@µ§³]©w.
1966 ==================================================================
1967 Result
1968 ==================================================================
1969 Example
1970 EXEC [dbo].[NSP_S_SetSystemConfig]
1971 @key = 'MustConnectTopServer',
1972 @value = '0'
1973
1974*/
1975CREATE PROCEDURE [dbo].[NSP_S_SetSystemConfig]
1976 @key VARCHAR(32),
1977 @value VARCHAR(32)
1978AS
1979BEGIN
1980 SET NOCOUNT ON;
1981
1982 UPDATE dbo.SystemConfig
1983 SET
1984 SettingValue = @value
1985 WHERE SettingKey = @key
1986
1987 IF (@@ROWCOUNT <= 0)
1988 BEGIN
1989 INSERT INTO dbo.SystemConfig
1990 ( SettingKey, SettingValue )
1991 VALUES ( @key, @value )
1992 END
1993END
1994GO
1995/****** Object: StoredProcedure [dbo].[NSP_S_SetSpecialCompsSetting] Script Date: 01/08/2018 04:04:21 ******/
1996SET ANSI_NULLS ON
1997GO
1998SET QUOTED_IDENTIFIER ON
1999GO
2000/*
2001 ==================================================================
2002 Description
2003 ³]©wSpecilaCompsªº³]©wÂÈ.
2004 ==================================================================
2005 History
2006 2013/11/22 LJC Created.
2007 2013/12/17 LJC Modify - ·s¼WSpecialCompTypeÄæ¦ì.
2008 ==================================================================
2009 Step
2010 1. §ó·s³]©w.
2011 2. §ó·s¥¢±Ñ«h·s¼W³]©w.
2012 ==================================================================
2013 Result
2014 ==================================================================
2015 Example
2016 DECLARE @return_value int
2017 EXEC @return_value = [dbo].[NSP_S_SetSpecialCompsSetting]
2018 @key = 0,
2019 @isEnable = 1,
2020 @purchase = 25,
2021 @specialComps = 5,
2022 @type = 0
2023 SELECT 'Return Value' = @return_value
2024
2025*/
2026CREATE PROCEDURE [dbo].[NSP_S_SetSpecialCompsSetting]
2027 @key INT,
2028 @isEnable BIT,
2029 @purchase INT,
2030 @specialComps INT,
2031 @type INT
2032AS
2033BEGIN
2034 SET NOCOUNT ON;
2035
2036 -- §ó·s³]©w.
2037 UPDATE dbo.SpecialCompsSetting
2038 SET IsEnable = @isEnable
2039 , PurchaseAmount = @purchase
2040 , SpecialCompAmount = @specialComps
2041 WHERE UiKey = @key AND SpecialCompType = @type
2042
2043 -- §ó·s¥¢±Ñ«h·s¼W³]©w.
2044 IF (@@ROWCOUNT <= 0)
2045 BEGIN
2046 INSERT INTO dbo.SpecialCompsSetting
2047 ( UiKey , IsEnable , PurchaseAmount , SpecialCompAmount, SpecialCompType )
2048 VALUES ( @key , @isEnable , @purchase , @specialComps, @type )
2049 END
2050END
2051GO
2052/****** Object: StoredProcedure [dbo].[NSP_S_KeyValue_Read] Script Date: 01/08/2018 04:04:21 ******/
2053SET ANSI_NULLS ON
2054GO
2055SET QUOTED_IDENTIFIER ON
2056GO
2057/*
2058 ==================================================================
2059 Description
2060 è®€å– KeyValue è¨å®š
2061 ==================================================================
2062 History
2063 2014/03/10 HJC Created.
2064 2014/12/16 LJC Modify - çµæžœæ–°å¢žSyncID欄ä½.
2065 ==================================================================
2066 Step
2067 1. è®€å– KeyValue è¨å®š.
2068 ==================================================================
2069 Result
2070 RETURN 0 æ£å¸¸.
2071 ==================================================================
2072 Example
2073 EXEC [dbo].[NSP_S_KeyValue_Read]
2074 @KeyGroup = 'GameRate'
2075 ,@KeyStr = NULL
2076
2077*/
2078CREATE PROCEDURE [dbo].[NSP_S_KeyValue_Read]
2079 @KeyGroup NVARCHAR(50)
2080 ,@KeyStr NVARCHAR(50)
2081AS
2082BEGIN
2083 SET NOCOUNT ON;
2084
2085 SELECT KeyGroup, KeyStr, ValueStr, SyncID
2086 FROM
2087 (
2088 SELECT [SID]
2089 ,ROW_NUMBER() OVER (PARTITION BY [MultipleValue], [KeyGroup], [KeyStr] ORDER BY [SID] DESC) AS RowNo
2090 ,[MultipleValue]
2091 ,[KeyGroup]
2092 ,[KeyStr]
2093 ,[ValueStr]
2094 ,[SyncID]
2095 FROM [LocalServer].[dbo].[SyncKeyValue]
2096 WHERE KeyGroup = @KeyGroup AND (KeyStr = @KeyStr OR @KeyStr IS NULL)
2097 ) a
2098 WHERE RowNo = 1
2099
2100END
2101GO
2102/****** Object: StoredProcedure [dbo].[NSP_S_GetSystemSetting] Script Date: 01/08/2018 04:04:21 ******/
2103SET ANSI_NULLS ON
2104GO
2105SET QUOTED_IDENTIFIER ON
2106GO
2107/*
2108 ==================================================================
2109 Description
2110 ¨ú±o¨t²Î³]©wÂÈ.
2111 ==================================================================
2112 History
2113 2013/11/22 LJC Created.
2114 ==================================================================
2115 Step
2116 1. ÂY @key ¬° '' «h¨ú¥X¥þ³¡ªºRecord.
2117 2. §_«h¥u¨ú @key «ü©wªºRecord.
2118 ==================================================================
2119 Result
2120 SettingKey - ³]©w¦WºÙ.
2121 SettingValue - ³]©w¤º®e.
2122 ¦hµ§Record ©Î ¤@µ§Record
2123 ==================================================================
2124 Example
2125 EXEC [dbo].[NSP_S_GetSystemSetting] @key = 'Period'
2126
2127*/
2128CREATE PROCEDURE [dbo].[NSP_S_GetSystemSetting]
2129 @key VARCHAR(32)
2130AS
2131BEGIN
2132 SET NOCOUNT ON;
2133
2134 IF (@key = N'')
2135 BEGIN
2136 SELECT * FROM dbo.SystemSetting
2137 END
2138 ELSE
2139 BEGIN
2140 SELECT TOP(1) SettingKey, SettingValue FROM dbo.SystemSetting WHERE SettingKey = @key
2141 END
2142END
2143GO
2144/****** Object: StoredProcedure [dbo].[NSP_S_GetSystemConfig] Script Date: 01/08/2018 04:04:21 ******/
2145SET ANSI_NULLS ON
2146GO
2147SET QUOTED_IDENTIFIER ON
2148GO
2149/*
2150 ==================================================================
2151 Description
2152 ¨ú±oÂ¥X¼t³]©wÂÈ.
2153 ==================================================================
2154 History
2155 2013/12/13 LJC Created.
2156 ==================================================================
2157 Step
2158 1. ÂY @key ¬° '' «h¨ú¥X¥þ³¡ªºRecord.
2159 2. §_«h¥u¨ú @key «ü©wªºRecord.
2160 ==================================================================
2161 Result
2162 SettingKey - ³]©w¦WºÙ.
2163 SettingValue - ³]©w¤º®e.
2164 ¦hµ§Record ©Î ¤@µ§Record
2165 ==================================================================
2166 Example
2167 EXEC [dbo].[NSP_S_GetSystemConfig] @key = 'MustConnectTopServer'
2168
2169*/
2170CREATE PROCEDURE [dbo].[NSP_S_GetSystemConfig]
2171 @key VARCHAR(32)
2172AS
2173BEGIN
2174 SET NOCOUNT ON;
2175
2176 IF (@key = N'')
2177 BEGIN
2178 SELECT * FROM dbo.SystemConfig
2179 END
2180 ELSE
2181 BEGIN
2182 SELECT TOP(1) SettingKey, SettingValue FROM dbo.SystemConfig WHERE SettingKey = @key
2183 END
2184END
2185GO
2186/****** Object: StoredProcedure [dbo].[NSP_S_GetMenuButtonByPermission] Script Date: 01/08/2018 04:04:21 ******/
2187SET ANSI_NULLS ON
2188GO
2189SET QUOTED_IDENTIFIER ON
2190GO
2191/*
2192 ==================================================================
2193 Description
2194 ¨ÌMemberÃ…v¨ú±oMenu«ö¶s¸ê°T.
2195 ==================================================================
2196 History
2197 2013/12/17 LJC Created.
2198 ==================================================================
2199 Step
2200 ==================================================================
2201 Result
2202 ==================================================================
2203 Example
2204 EXEC [dbo].[NSP_S_GetMenuButtonByPermission]
2205 @permission = 4,
2206
2207*/
2208CREATE PROCEDURE [dbo].[NSP_S_GetMenuButtonByPermission]
2209 @permission INT
2210AS
2211BEGIN
2212 SET NOCOUNT ON;
2213 DECLARE @resultTable TABLE
2214 (
2215 ButtonId INT,
2216 ButtonOrder INT,
2217 ActionType INT,
2218 ButtonDisplayName VARCHAR(50),
2219 PageCtrlName VARCHAR(50)
2220 );
2221
2222 INSERT INTO @resultTable
2223 SELECT a.ButtonId, a.ButtonOrder, a.ActionType, b.ButtonDisplayName, b.PageCtrlName
2224 FROM dbo.MenuButtonPermission a INNER JOIN dbo.MenuButton b
2225 ON a.ButtonId = b.ButtonId
2226 WHERE a.MemberPermission = @permission AND b.IsEnable = 1
2227
2228 IF EXISTS (SELECT * FROM @resultTable)
2229 BEGIN
2230 SELECT * FROM @resultTable ORDER BY ButtonOrder
2231 END
2232 ELSE
2233 BEGIN
2234 SELECT ButtonId, 0 AS ButtonOrder, 2 AS ActionType, ButtonDisplayName, PageCtrlName FROM dbo.MenuButton WHERE ButtonDisplayName = 'LOGOUT'
2235 END
2236
2237 RETURN 0
2238END
2239GO
2240/****** Object: StoredProcedure [dbo].[NSP_S_GetJackpotSettingForJS] Script Date: 01/08/2018 04:04:21 ******/
2241SET ANSI_NULLS ON
2242GO
2243SET QUOTED_IDENTIFIER ON
2244GO
2245/*
2246 ==================================================================
2247 Description
2248 ¨ú±o±mª÷ªº³]©wÂÈ(LS¶Ç«Ê¥]µ¹JS¨Ã¥Î).
2249 ==================================================================
2250 History
2251 2013/01/29 LJC Created.
2252 ==================================================================
2253 Step
2254 1. ¨ú±o©Ò¦³±mª÷³]©w.
2255 ==================================================================
2256 Result
2257 ©Ò¦³³]©w.
2258 ==================================================================
2259 Example
2260 EXEC [dbo].[NSP_S_GetJackpotSettingForJS]
2261
2262*/
2263CREATE PROCEDURE [dbo].[NSP_S_GetJackpotSettingForJS]
2264 @jackpotId INT = 0
2265AS
2266BEGIN
2267 SET NOCOUNT ON;
2268
2269 IF (@jackpotId = 0)
2270 BEGIN
2271 ;WITH myTable
2272 AS
2273 (
2274 SELECT a.ID, b.SettingItemListID, b.SelectedIndex
2275 FROM dbo.Jackpots a LEFT JOIN dbo.JackpotSettings b
2276 ON a.ID = b.SubjectionJackpotID
2277 )
2278 SELECT a.ID AS JackpotID, b.SystemName AS SettingKey, a.SelectedIndex, b.ItemValueList
2279 FROM myTable a INNER JOIN dbo.SettingItemList b
2280 ON a.SettingItemListID = b.ID
2281 ORDER BY a.ID
2282 END
2283 ELSE
2284 BEGIN
2285 ;WITH myTable
2286 AS
2287 (
2288 SELECT a.ID, b.SettingItemListID, b.SelectedIndex
2289 FROM dbo.Jackpots a LEFT JOIN dbo.JackpotSettings b
2290 ON a.ID = b.SubjectionJackpotID
2291 WHERE a.ID = @jackpotId
2292 )
2293 SELECT a.ID AS JackpotID, b.SystemName AS SettingKey, a.SelectedIndex, b.ItemValueList
2294 FROM myTable a INNER JOIN dbo.SettingItemList b
2295 ON a.SettingItemListID = b.ID
2296 ORDER BY a.ID
2297 END
2298END
2299GO
2300/****** Object: StoredProcedure [dbo].[NSP_S_GetGameSettingForGS] Script Date: 01/08/2018 04:04:21 ******/
2301SET ANSI_NULLS ON
2302GO
2303SET QUOTED_IDENTIFIER ON
2304GO
2305/*
2306 ==================================================================
2307 Description
2308 ¨ú±o¹CÀ¸ªº³]©wÂÈ(LS¶Ç«Ê¥]µ¹GS¨Ã¥Î).
2309 ==================================================================
2310 History
2311 2013/01/17 LJC Created.
2312 ==================================================================
2313 Step
2314 1. ¨ú±o©Ò¦³¹CÀ¸³]©w.
2315 2. ¨ú±o©Ò¦³¹CÀ¸ªº±mª÷³]©w.
2316 ==================================================================
2317 Result
2318 ©Ò¦³³]©w.
2319 ==================================================================
2320 Example
2321 EXEC [dbo].[NSP_S_GetGameSettingForGS]
2322
2323*/
2324CREATE PROCEDURE [dbo].[NSP_S_GetGameSettingForGS]
2325 @gameId INT = 0
2326AS
2327BEGIN
2328 SET NOCOUNT ON;
2329
2330 DECLARE @result TABLE
2331 (
2332 GameID INT,
2333 SettingKey VARCHAR(MAX),
2334 SelectedIndex INT,
2335 ItemValueList VARCHAR(MAX)
2336 )
2337
2338 IF (@gameId = 0)
2339 BEGIN
2340 -- ¨ú±o©Ò¦³¹CÀ¸³]©w.
2341 INSERT INTO @result
2342 SELECT a.SubjectionGameID AS GameID, b.SystemName, a.SelectedIndex, b.ItemValueList
2343 FROM dbo.GameSettings a INNER JOIN dbo.SettingItemList b
2344 ON a.SettingItemListID = b.ID
2345
2346 -- ¨ú±o©Ò¦³¹CÀ¸ªº±mª÷³]©w.
2347 ;WITH myTable
2348 AS
2349 (
2350 SELECT a.GameID, b.SelectedIndex, b.SettingItemListID
2351 FROM dbo.JackpotInGame a INNER JOIN dbo.JackpotSettings b
2352 ON a.JackpotID = b.SubjectionJackpotID
2353 )
2354 INSERT INTO @result
2355 SELECT a.GameID, b.SystemName, a.SelectedIndex, b.ItemValueList
2356 FROM myTable a INNER JOIN dbo.SettingItemList b
2357 ON a.SettingItemListID = b.ID
2358 END
2359 ELSE
2360 BEGIN
2361 -- ¨ú±o©Ò¦³¹CÀ¸³]©w.
2362 INSERT INTO @result
2363 SELECT a.SubjectionGameID AS GameID, b.SystemName, a.SelectedIndex, b.ItemValueList
2364 FROM dbo.GameSettings a INNER JOIN dbo.SettingItemList b
2365 ON a.SettingItemListID = b.ID
2366 WHERE a.SubjectionGameID = @gameId
2367
2368 -- ¨ú±o©Ò¦³¹CÀ¸ªº±mª÷³]©w.
2369 ;WITH myTable
2370 AS
2371 (
2372 SELECT a.GameID, b.SelectedIndex, b.SettingItemListID
2373 FROM dbo.JackpotInGame a INNER JOIN dbo.JackpotSettings b
2374 ON a.JackpotID = b.SubjectionJackpotID
2375 WHERE a.GameID = @gameId
2376 )
2377 INSERT INTO @result
2378 SELECT a.GameID, b.SystemName, a.SelectedIndex, b.ItemValueList
2379 FROM myTable a INNER JOIN dbo.SettingItemList b
2380 ON a.SettingItemListID = b.ID
2381 END
2382
2383 SELECT * FROM @result ORDER BY GameID, SettingKey
2384END
2385GO
2386/****** Object: StoredProcedure [dbo].[NSP_S_GetDeviceSetting] Script Date: 01/08/2018 04:04:21 ******/
2387SET ANSI_NULLS ON
2388GO
2389SET QUOTED_IDENTIFIER ON
2390GO
2391CREATE PROCEDURE [dbo].[NSP_S_GetDeviceSetting]
2392 @name VARCHAR(32)
2393AS
2394BEGIN
2395 SET NOCOUNT ON;
2396
2397 IF EXISTS (SELECT * FROM dbo.DeviceSettings WHERE Name = @name)
2398 BEGIN
2399 SELECT Name, DisplayText FROM dbo.DeviceSettings WHERE Name = @name
2400
2401 DECLARE @settingId INT = 0
2402 SELECT @settingId = Id FROM dbo.DeviceSettings WHERE Name = @name
2403
2404 SELECT IsEnable, Args, ButtonText, ButtonColor FROM dbo.DeviceSettingOptions
2405 WHERE DeviceSettingId = @settingId AND IsVisable = 1 ORDER BY DisplayOrder
2406 END
2407END
2408GO
2409/****** Object: StoredProcedure [dbo].[NSP_S_DeleteSystemSetting] Script Date: 01/08/2018 04:04:21 ******/
2410SET ANSI_NULLS ON
2411GO
2412SET QUOTED_IDENTIFIER ON
2413GO
2414/*
2415 ==================================================================
2416 Description
2417 §R°£¨t²Î³]©w.
2418 ==================================================================
2419 History
2420 2013/11/22 LJC Created.
2421 ==================================================================
2422 Step
2423 ==================================================================
2424 Result
2425 ==================================================================
2426 Example
2427 EXEC [dbo].[NSP_ProcedureName]
2428 @Param1 = 12345,
2429 @Param2 = N'ABCDE'
2430
2431*/
2432CREATE PROCEDURE [dbo].[NSP_S_DeleteSystemSetting]
2433 @key VARCHAR(32)
2434AS
2435BEGIN
2436 SET NOCOUNT ON;
2437
2438 DELETE FROM dbo.SystemSetting WHERE SettingKey = @key
2439END
2440GO
2441/****** Object: StoredProcedure [dbo].[NSP_S_DeleteSystemConfig] Script Date: 01/08/2018 04:04:21 ******/
2442SET ANSI_NULLS ON
2443GO
2444SET QUOTED_IDENTIFIER ON
2445GO
2446/*
2447 ==================================================================
2448 Description
2449 §R°£¥X¼t³]©w.
2450 ==================================================================
2451 History
2452 2013/12/13 LJC Created.
2453 ==================================================================
2454 Step
2455 ==================================================================
2456 Result
2457 ==================================================================
2458 Example
2459 EXEC [dbo].[NSP_S_DeleteSystemConfig]
2460 @key = 'HaveSpecialComps'
2461
2462*/
2463CREATE PROCEDURE [dbo].[NSP_S_DeleteSystemConfig]
2464 @key VARCHAR(32)
2465AS
2466BEGIN
2467 SET NOCOUNT ON;
2468
2469 DELETE FROM dbo.SystemConfig WHERE SettingKey = @key
2470END
2471GO
2472/****** Object: StoredProcedure [dbo].[NSP_S_DeleteDeviceSettingOption] Script Date: 01/08/2018 04:04:21 ******/
2473SET ANSI_NULLS ON
2474GO
2475SET QUOTED_IDENTIFIER ON
2476GO
2477CREATE PROCEDURE [dbo].[NSP_S_DeleteDeviceSettingOption]
2478 @name VARCHAR(32)
2479 , @text VARCHAR(32)
2480AS
2481BEGIN
2482 SET NOCOUNT ON;
2483 DECLARE @settingId INT
2484
2485 IF EXISTS (SELECT * FROM dbo.DeviceSettings WHERE Name=@name)
2486 BEGIN
2487 -- ¨ú±o DeviceSettingId
2488 SELECT @settingId = Id FROM dbo.DeviceSettings WHERE Name = @name
2489
2490 -- §R°£¸ê®Æ
2491 DELETE FROM dbo.DeviceSettingOptions WHERE DeviceSettingId = @settingId AND ButtonText = @text
2492 END
2493END
2494GO
2495/****** Object: StoredProcedure [dbo].[NSP_S_DeleteDeviceSetting] Script Date: 01/08/2018 04:04:21 ******/
2496SET ANSI_NULLS ON
2497GO
2498SET QUOTED_IDENTIFIER ON
2499GO
2500CREATE PROCEDURE [dbo].[NSP_S_DeleteDeviceSetting]
2501 @name VARCHAR(64)
2502AS
2503BEGIN
2504 SET NOCOUNT ON;
2505 DECLARE @settingId INT
2506 IF EXISTS (SELECT * FROM dbo.DeviceSettings WHERE Name = @name)
2507 BEGIN
2508 SELECT @settingId = Id FROM dbo.DeviceSettings WHERE Name = @name
2509
2510 DELETE FROM dbo.DeviceSettings WHERE Name = @name
2511 DELETE FROM dbo.DeviceSettingOptions WHERE DeviceSettingId = @settingId
2512 END
2513END
2514GO
2515/****** Object: StoredProcedure [dbo].[NSP_S_ConvertToEntry] Script Date: 01/08/2018 04:04:21 ******/
2516SET ANSI_NULLS ON
2517GO
2518SET QUOTED_IDENTIFIER ON
2519GO
2520/*
2521 ==================================================================
2522 Description
2523 ±N¿é¤JªºAmount¨ÌCreditUnitÂà ´«¦¨Entry.
2524 ==================================================================
2525 History
2526 2013/11/23 LJC Created.
2527 ==================================================================
2528 Step
2529 ¨ú±oCreditUnit¨Ã¼¤W¶Ç¤JªºAmount¦^¶ÇEntry.
2530 ==================================================================
2531 Result
2532 RETURN Âà ´««áªºEnrty
2533 ==================================================================
2534 Example
2535 DECLARE @return_value int
2536 EXEC @return_value = [dbo].[NSP_S_ConvertToEntry]
2537 @amount = 5
2538 SELECT 'Return Value' = @return_value
2539
2540*/
2541CREATE PROCEDURE [dbo].[NSP_S_ConvertToEntry]
2542 @amount INT
2543AS
2544BEGIN
2545 SET NOCOUNT ON;
2546
2547 DECLARE @creditUnit INT
2548 SELECT @creditUnit = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = 'CreditUnit'
2549
2550 IF (@creditUnit IS NULL)
2551 BEGIN
2552 RETURN 0
2553 END
2554
2555 RETURN @amount * @creditUnit
2556END
2557GO
2558/****** Object: StoredProcedure [dbo].[NSP_S_CheckSecondVerification] Script Date: 01/08/2018 04:04:21 ******/
2559SET ANSI_NULLS ON
2560GO
2561SET QUOTED_IDENTIFIER ON
2562GO
2563/*
2564 ==================================================================
2565 Description
2566 é©—è‰é 防第二次的Key.
2567 ==================================================================
2568 History
2569 2015/08/12 LJC Created.
2570 ==================================================================
2571 Step
2572 1. 檢查是å¦å˜åœ¨Key,已å˜åœ¨å‰‡å›žå‚³0(false).
2573 2. ä¸å˜åœ¨Key則更新或新增記錄.
2574 ==================================================================
2575 Result
2576 RETURN 0 - å·²å˜åœ¨(有å•題).
2577 RETURN 1 - ä¸å˜åœ¨(æ£å¸¸).
2578 ==================================================================
2579 Example
2580 EXEC [dbo].[NSP_S_CheckSecondVerification]
2581 @machineId = 1,
2582 @group = 'RoundEnd',
2583 @key = 'ABCDEFGHIJK'
2584
2585*/
2586CREATE PROCEDURE [dbo].[NSP_S_CheckSecondVerification]
2587 @machineId INT,
2588 @group VARCHAR(32),
2589 @key VARCHAR(40)
2590AS
2591BEGIN
2592 SET NOCOUNT ON;
2593
2594 -- 檢查是å¦å˜åœ¨Key,已å˜åœ¨å‰‡å›žå‚³0(false).
2595 IF EXISTS (SELECT * FROM dbo.SecondVerification WHERE MachineId = @machineId AND VerifyGroup = @group AND VerifyKey = @key)
2596 BEGIN
2597 RETURN 0;
2598 END
2599
2600 -- ä¸å˜åœ¨Key則更新或新增記錄.
2601 MERGE dbo.SecondVerification AS tt
2602 USING (SELECT @machineId AS MachineId, @group AS VerifyGroup, @key AS VerifyKey) AS s
2603 ON (tt.MachineId = s.MachineId AND tt.VerifyGroup = s.VerifyGroup)
2604 WHEN MATCHED THEN
2605 UPDATE SET tt.VerifyKey = @key
2606 WHEN NOT MATCHED THEN
2607 INSERT (MachineId, VerifyGroup, VerifyKey)
2608 VALUES (@machineId, @group, @key);
2609
2610 RETURN 1;
2611END
2612GO
2613/****** Object: StoredProcedure [dbo].[NSP_R_ShrinkDatabase] Script Date: 01/08/2018 04:04:21 ******/
2614SET ANSI_NULLS ON
2615GO
2616SET QUOTED_IDENTIFIER ON
2617GO
2618/*
2619 ==================================================================
2620 Description
2621 SHRINK DB files to setting size
2622
2623 ==================================================================
2624 History
2625 2016/03/03 WCS Created
2626
2627 ==================================================================
2628 Example
2629 EXEC [LocalServer].[dbo].[NSP_R_ShrinkDatabase]
2630*/
2631CREATE PROCEDURE [dbo].[NSP_R_ShrinkDatabase]
2632AS
2633BEGIN
2634 SET NOCOUNT ON;
2635
2636 -- SHRINK DB files
2637 DECLARE @keep_db_mb INT = 600;
2638 SELECT TOP 1 @keep_db_mb = ISNULL(CAST(ValueStr AS INT), 600)
2639 FROM LocalServer.dbo.SyncKeyValue WITH(NOLOCK) WHERE KeyGroup = 'SS.Setting' AND KeyStr = 'game_record_db_usage_max' ORDER BY SyncID DESC
2640 PRINT '@keep_db_mb:' + CAST(@keep_db_mb AS VARCHAR) + ' MB'
2641
2642 DECLARE @count INT = 5
2643 DECLARE @keep_db_kb INT = @keep_db_mb * 1024
2644 DECLARE @db_file_kb INT = @keep_db_kb + 1 -- for entering wihle loop
2645 WHILE @db_file_kb > @keep_db_kb AND @count > 0
2646 BEGIN
2647 SET @count = @count - 1
2648 -- check db file size
2649 SET @db_file_kb = ( SELECT SUM(mf.size)*8 AS FileSize_KB
2650 FROM sys.master_files mf
2651 INNER JOIN sys.databases di ON di.database_id = mf.database_id
2652 WHERE LEFT(mf.physical_name,1) = 'Y') --¦bY¼ÑªºDBÀɮפj¤pÃ`Âp
2653
2654 IF @db_file_kb > @keep_db_kb -- db size is over setting value => delete one more day
2655 BEGIN
2656 PRINT '@db_file_kb > @keep_db_kb (' + CAST(@db_file_kb AS VARCHAR) + ' > ' + CAST(@keep_db_kb AS VARCHAR) + ')'
2657 PRINT '@shrinking...'
2658
2659 EXEC [CCS].[dbo].[NSP_R_SHRINKFILE] @file='Gosmio'
2660 WAITFOR DELAY '00:00:01'
2661
2662 EXEC [CCS].[dbo].[NSP_R_SHRINKFILE] @file='Gosmio_log'
2663 WAITFOR DELAY '00:00:01'
2664
2665 EXEC [LocalServer].[dbo].[NSP_R_SHRINKFILE] @file='LocalServer'
2666 WAITFOR DELAY '00:00:01'
2667
2668 EXEC [LocalServer].[dbo].[NSP_R_SHRINKFILE] @file='LocalServer_log'
2669 WAITFOR DELAY '00:00:01'
2670
2671 CONTINUE
2672 END
2673 ELSE
2674 BEGIN
2675 PRINT '@db_file_kb <= @keep_db_Kb (' + CAST(@db_file_kb AS VARCHAR) + ' <= ' + CAST(@keep_db_kb AS VARCHAR) + ')'
2676 PRINT 'shrinking end.'
2677 BREAK
2678 END
2679 END
2680
2681 IF @count = 0 AND (@db_file_kb > @keep_db_mb)
2682 BEGIN
2683 PRINT 'shrinking failed.'
2684 RETURN 1;
2685 END
2686 ELSE
2687 BEGIN
2688 PRINT 'shrinking done.'
2689 RETURN 0;
2690 END
2691END
2692GO
2693/****** Object: StoredProcedure [dbo].[NSP_R_LoopDeleteJackpotPlayInfo] Script Date: 01/08/2018 04:04:21 ******/
2694SET ANSI_NULLS ON
2695GO
2696SET QUOTED_IDENTIFIER ON
2697GO
2698/*
2699 ==================================================================
2700 Description
2701 Delete JackpotPlayInfo before n days (default 30)
2702
2703 ==================================================================
2704 History
2705 2015/12/02 WCS Created.
2706
2707 ==================================================================
2708 Example
2709 SELECT TOP 1 * FROM [LocalServer].[dbo].[JackpotPlayInfo]
2710 EXEC [dbo].[NSP_R_LoopDeleteJackpotPlayInfo]
2711 @DeleteBeforeDays = 10
2712 SELECT TOP 1 * FROM [LocalServer].[dbo].[JackpotPlayInfo]
2713*/
2714CREATE PROCEDURE [dbo].[NSP_R_LoopDeleteJackpotPlayInfo]
2715 @DeleteBeforeDays INT = 30
2716AS
2717BEGIN
2718 SET NOCOUNT ON;
2719
2720 DECLARE @keep_from DATE = CAST(DATEADD(DAY, -@DeleteBeforeDays, GETDATE()) AS DATE)
2721
2722 DECLARE @id_delete_start BIGINT = (SELECT TOP 1 PlayID FROM [LocalServer].[dbo].[JackpotPlayInfo] ORDER BY PlayID ASC)
2723 DECLARE @id_delete_end BIGINT = (SELECT TOP 1 PlayID FROM [LocalServer].[dbo].[JackpotPlayInfo] WHERE CreateDate >= @keep_from ORDER BY PlayID ASC)
2724
2725 IF @id_delete_end IS NULL
2726 SELECT TOP 1 @id_delete_end = PlayID + 1 FROM [LocalServer].[dbo].[JackpotPlayInfo] ORDER BY PlayID DESC
2727
2728 IF @id_delete_start = @id_delete_end RETURN
2729
2730 DECLARE @delete_count INT = 1000
2731 DECLARE @id_delete_to BIGINT = @id_delete_start + @delete_count
2732 IF (@id_delete_to > @id_delete_end) SET @id_delete_to = @id_delete_end
2733
2734 WHILE @id_delete_to <= @id_delete_end
2735 BEGIN
2736 PRINT 'Delete SID < ' + CAST(@id_delete_to AS VARCHAR(50))
2737
2738 BEGIN TRAN
2739 DELETE [LocalServer].[dbo].[JackpotPlayInfo] WHERE PlayID < @id_delete_to
2740 COMMIT TRAN
2741
2742 IF (@id_delete_to = @id_delete_end)
2743 BREAK
2744 ELSE
2745 SET @id_delete_to = @id_delete_to + @delete_count
2746
2747 IF (@id_delete_to > @id_delete_end) SET @id_delete_to = @id_delete_end
2748 END
2749END
2750GO
2751/****** Object: StoredProcedure [dbo].[NSP_R_LoopDeleteGameSeatAmassedInfo] Script Date: 01/08/2018 04:04:21 ******/
2752SET ANSI_NULLS ON
2753GO
2754SET QUOTED_IDENTIFIER ON
2755GO
2756/*
2757 ==================================================================
2758 Description
2759 Delete GameSeatAmassedInfo before n days (default 30)
2760
2761 ==================================================================
2762 History
2763 2015/12/02 WCS Created.
2764
2765 ==================================================================
2766 Example
2767 SELECT TOP 1 * FROM [CCS].[dbo].[GameSeatAmassedInfo]
2768 EXEC [dbo].[NSP_R_LoopDeleteGameSeatAmassedInfo]
2769 @DeleteBeforeDays = 10
2770 SELECT TOP 1 * FROM [CCS].[dbo].[GameSeatAmassedInfo]
2771*/
2772CREATE PROCEDURE [dbo].[NSP_R_LoopDeleteGameSeatAmassedInfo]
2773 @DeleteBeforeDays INT = 30
2774AS
2775BEGIN
2776 SET NOCOUNT ON;
2777
2778 DECLARE @keep_from DATE = CAST(DATEADD(DAY, -@DeleteBeforeDays, GETDATE()) AS DATE)
2779
2780 DECLARE @sid_delete_start BIGINT = (SELECT TOP 1 SID FROM [CCS].[dbo].[GameSeatAmassedInfo] ORDER BY SID ASC)
2781 DECLARE @sid_delete_end BIGINT = (SELECT TOP 1 SID FROM [CCS].[dbo].[GameSeatAmassedInfo] WHERE CreateDate >= @keep_from ORDER BY SID ASC)
2782
2783 IF @sid_delete_end IS NULL
2784 SELECT TOP 1 @sid_delete_end = SID + 1 FROM [CCS].[dbo].[GameSeatAmassedInfo] ORDER BY SID DESC
2785
2786 IF @sid_delete_start = @sid_delete_end RETURN
2787
2788 DECLARE @delete_count INT = 1000
2789 DECLARE @sid_delete_to BIGINT = @sid_delete_start + @delete_count
2790 IF (@sid_delete_to > @sid_delete_end) SET @sid_delete_to = @sid_delete_end
2791
2792 WHILE @sid_delete_to <= @sid_delete_end
2793 BEGIN
2794 PRINT 'Delete SID < ' + CAST(@sid_delete_to AS VARCHAR(50))
2795
2796 BEGIN TRAN
2797 DELETE [CCS].[dbo].[GameSeatAmassedInfo]
2798 WHERE SID < @sid_delete_to
2799 COMMIT TRAN
2800
2801 IF (@sid_delete_to = @sid_delete_end)
2802 BREAK
2803 ELSE
2804 SET @sid_delete_to = @sid_delete_to + @delete_count
2805
2806 IF (@sid_delete_to > @sid_delete_end) SET @sid_delete_to = @sid_delete_end
2807 END
2808END
2809GO
2810/****** Object: StoredProcedure [dbo].[NSP_R_GetJackpotPlayInfo] Script Date: 01/08/2018 04:04:21 ******/
2811SET ANSI_NULLS ON
2812GO
2813SET QUOTED_IDENTIFIER ON
2814GO
2815/*
2816 ==================================================================
2817 Description
2818 ¨ú±o±mª÷©ã¤À¸ê°T.
2819 ==================================================================
2820 History
2821 2014/04/28 LJC Created.
2822 ==================================================================
2823 Step
2824 ±N«ü©w´Ã¶¡ªºBetÃ`¦X°_¨Ó.
2825 ==================================================================
2826 Result
2827 ==================================================================
2828 Example
2829 EXEC [dbo].[NSP_R_GetJackpotPlayInfo]
2830 @jackpotId = 10006,
2831 @start = '2014-04-28 00:00:00',
2832 @end = '2014-04-28 23:59:59'
2833
2834*/
2835CREATE PROCEDURE [dbo].[NSP_R_GetJackpotPlayInfo]
2836 @jackpotId INT,
2837 @start DATETIME,
2838 @end DATETIME
2839AS
2840BEGIN
2841 SET NOCOUNT ON;
2842
2843 -- ±N«ü©w´Ã¶¡ªºBetÃ`¦X°_¨Ó.
2844 DECLARE @totalBet INT = 0;
2845 SELECT @totalBet = SUM(BetValue)
2846 FROM dbo.JackpotPlayInfo
2847 WHERE JackpotID = @jackpotId
2848 AND CreateDate BETWEEN @start AND @end
2849
2850 IF (@totalBet IS NULL)
2851 BEGIN
2852 SELECT 0 AS TotalBet
2853 RETURN 0;
2854 END
2855
2856 SELECT @totalBet AS TotalBet
2857 RETURN 0;
2858END
2859GO
2860/****** Object: StoredProcedure [dbo].[NSP_Pos_SearchCustomerByName] Script Date: 01/08/2018 04:04:21 ******/
2861SET ANSI_NULLS ON
2862GO
2863SET QUOTED_IDENTIFIER ON
2864GO
2865/*
2866 ==================================================================
2867 Description
2868 ¨ÌFirstName©ÎLastName·j´MCustomer.
2869 ==================================================================
2870 History
2871 2014/11/03 LJC Created.
2872 ==================================================================
2873 Step
2874 ==================================================================
2875 Result
2876 ==================================================================
2877 Example
2878 EXEC [dbo].[NSP_Pos_SearchCustomerByName]
2879 @searchStr = 'john'
2880
2881*/
2882CREATE PROCEDURE [dbo].[NSP_Pos_SearchCustomerByName]
2883 @searchStr VARCHAR(30)
2884AS
2885BEGIN
2886 SET NOCOUNT ON;
2887
2888 SET @searchStr = '%' + @searchStr + '%'
2889 SELECT * FROM dbo.Customer WHERE ID IN
2890 (
2891 SELECT ID FROM dbo.Customer WHERE Release = 0 AND FirstName LIKE @searchStr
2892 UNION ALL
2893 SELECT ID FROM dbo.Customer WHERE Release = 0 AND LastName LIKE @searchStr
2894 ) ORDER BY LastLoginTime DESC
2895END
2896GO
2897/****** Object: StoredProcedure [dbo].[NSP_Pos_RegisterPos] Script Date: 01/08/2018 04:04:21 ******/
2898SET ANSI_NULLS ON
2899GO
2900SET QUOTED_IDENTIFIER ON
2901GO
2902/*
2903 ==================================================================
2904 Description
2905 µù¥UPOS.
2906 ==================================================================
2907 History
2908 2014/06/18 LJC Created.
2909 ==================================================================
2910 Step
2911 ==================================================================
2912 Result
2913 ==================================================================
2914 Example
2915 EXEC [dbo].[NSP_Pos_RegisterPos]
2916 @registerId = '00:50:56:89:4D:8C'
2917
2918*/
2919CREATE PROCEDURE [dbo].[NSP_Pos_RegisterPos]
2920 @registerId VARCHAR(32)
2921AS
2922BEGIN
2923 SET NOCOUNT ON;
2924
2925 DECLARE @posId INT = -1
2926
2927 -- Àˬd
2928 SELECT @posId = PosID FROM dbo.Pos WHERE RegisterID = @registerId
2929
2930 IF (@posId = -1)
2931 BEGIN
2932 DECLARE @MaxID INT = (SELECT MAX(PosID) FROM dbo.Pos) + 1
2933
2934 ;WITH CTE(MissingPosID, MaxID) AS
2935 (
2936 SELECT 0 AS MissingPosID, @MaxID
2937 UNION ALL
2938 SELECT MissingPosID + 1, MaxID FROM CTE WHERE MissingPosID < MaxID
2939 )
2940 SELECT TOP 1 @posId = MissingPosID FROM CTE
2941 LEFT JOIN dbo.Pos p ON p.PosID = CTE.MissingPosID
2942 WHERE p.PosID IS NULL
2943 ORDER BY MissingPosID
2944
2945 INSERT INTO dbo.Pos VALUES ( @posId, @registerId )
2946 END
2947
2948 RETURN @posId;
2949END
2950GO
2951/****** Object: StoredProcedure [dbo].[NSP_Pos_NewCustomerID] Script Date: 01/08/2018 04:04:21 ******/
2952SET ANSI_NULLS ON
2953GO
2954SET QUOTED_IDENTIFIER ON
2955GO
2956/*
2957 ==================================================================
2958 Description
2959 ²£¥ÃCustomerIDµ¹POS.
2960 ==================================================================
2961 History
2962 2014/06/30 LJC Created.
2963 ==================================================================
2964 Step
2965 ==================================================================
2966 Result
2967 ==================================================================
2968 Example
2969 EXEC [dbo].[NSP_Pos_NewCustomerID]
2970
2971*/
2972CREATE PROCEDURE [dbo].[NSP_Pos_NewCustomerID]
2973AS
2974BEGIN
2975 SET NOCOUNT ON;
2976
2977 DECLARE @newId VARCHAR(12) = NULL
2978 WHILE (@newId IS NULL)
2979 BEGIN
2980 SET @newId = REPLACE(STR(ABS(CONVERT(BIGINT, CONVERT(BINARY(4), NEWID()))) % 10000000, 7), ' ', '0')
2981 IF ((SELECT COUNT(CustomerID) FROM dbo.Customer WHERE CustomerID = @newId OR IdentityLicense = @newId) > 0)
2982 BEGIN
2983 SET @newId = NULL
2984 END
2985 END
2986
2987 SELECT @newId AS CustomerID
2988END
2989GO
2990/****** Object: StoredProcedure [dbo].[NSP_Pos_GetVoucherRecord] Script Date: 01/08/2018 04:04:21 ******/
2991SET ANSI_NULLS ON
2992GO
2993SET QUOTED_IDENTIFIER ON
2994GO
2995/*
2996 ==================================================================
2997 Description
2998 å–得隔日券記錄.
2999 ==================================================================
3000 History
3001 2015/06/23 LJC Created.
3002 ==================================================================
3003 Step
3004 ==================================================================
3005 Result
3006 ==================================================================
3007 Example
3008 EXEC [dbo].[NSP_Pos_GetVoucherRecord]
3009 @customerId = '8888888',
3010 @start = '2015-06-01 00:00:00',
3011 @end = '2015-06-01 23:59:59'
3012
3013*/
3014CREATE PROCEDURE [dbo].[NSP_Pos_GetVoucherRecord]
3015 @customerId VARCHAR(12),
3016 @start DATETIME,
3017 @end DATETIME
3018AS
3019BEGIN
3020 SET NOCOUNT ON;
3021 ;WITH CTE AS(
3022 SELECT RowID, CreateTime AS RecordTime, CustomerID, 1 AS Operation, Comps AS Amount
3023 FROM LocalServer.dbo.CustomerTicket
3024 WHERE Release = 0 AND TicketGroup = 0 AND CustomerID LIKE @customerId AND CreateTime BETWEEN @start AND @end
3025 UNION ALL
3026 SELECT RowID, ConsumeTime AS RecordTime, CustomerID, 2 AS Operation, Comps AS Amount
3027 FROM [LocalServer].[dbo].[CustomerTicket]
3028 WHERE Release = 0 AND TicketGroup = 0 AND CustomerID LIKE @customerId AND ConsumeTime IS NOT NULL AND ConsumeTime BETWEEN @start AND @end
3029 )
3030 SELECT MIN(RowID) as ID, RecordTime, CustomerID, Operation , SUM(Amount) AS Amount, COUNT(*) AS PCS
3031 FROM CTE AS a
3032 GROUP BY RecordTime, CustomerID, Operation
3033 ORDER BY RecordTime DESC
3034
3035END
3036GO
3037/****** Object: StoredProcedure [dbo].[NSP_Pos_GetVoucherDetail] Script Date: 01/08/2018 04:04:21 ******/
3038SET ANSI_NULLS ON
3039GO
3040SET QUOTED_IDENTIFIER ON
3041GO
3042/*
3043 ==================================================================
3044 Description
3045 å–得隔日å·çš„詳細資料.
3046 ==================================================================
3047 History
3048 2015/06/23 LJC Created.
3049 ==================================================================
3050 Step
3051 ==================================================================
3052 Result
3053 ==================================================================
3054 Example
3055 EXEC [dbo].[NSP_Pos_GetVoucherDetail]
3056 @rowid = 1,
3057 @operation = 1
3058
3059*/
3060CREATE PROCEDURE [dbo].[NSP_Pos_GetVoucherDetail]
3061 @rowid INT,
3062 @operation INT
3063AS
3064BEGIN
3065 SET NOCOUNT ON;
3066
3067 DECLARE @ticket_group INT
3068 DECLARE @customer_id INT
3069 DECLARE @consume_customer_id INT
3070 DECLARE @create_time DATETIME
3071 DECLARE @consume_time DATETIME
3072
3073 SELECT @ticket_group = TicketGroup,
3074 @customer_id = CustomerID,
3075 @consume_customer_id = ConsumeCustomerID,
3076 @create_time = CreateTime,
3077 @consume_time = ConsumeTime
3078 FROM LocalServer.dbo.CustomerTicket
3079 WHERE RowID = @rowid
3080
3081 IF @operation = 1
3082 BEGIN
3083 SELECT TicketID AS TicketSN, Comps, ConsumeAmount AS MinPurchase FROM LocalServer.dbo.CustomerTicket
3084 WHERE TicketGroup = @ticket_group
3085 AND CustomerID = @customer_id
3086 AND CreateTime = @create_time
3087 END
3088
3089 IF @operation = 2
3090 BEGIN
3091 SELECT TicketID AS TicketSN, Comps, ConsumeAmount AS MinPurchase FROM LocalServer.dbo.CustomerTicket
3092 WHERE TicketGroup = @ticket_group
3093 AND ConsumeCustomerID = @consume_customer_id
3094 AND ConsumeTime = @consume_time
3095 END
3096END
3097GO
3098/****** Object: StoredProcedure [dbo].[NSP_Pos_GetLotteryTicketRecord] Script Date: 01/08/2018 04:04:21 ******/
3099SET ANSI_NULLS ON
3100GO
3101SET QUOTED_IDENTIFIER ON
3102GO
3103/*
3104 ==================================================================
3105 Description
3106 å–得抽çŽå·çš„記錄.
3107 ==================================================================
3108 History
3109 2015/06/23 LJC Created.
3110 ==================================================================
3111 Step
3112 ==================================================================
3113 Result
3114 ==================================================================
3115 Example
3116 EXEC [dbo].[NSP_Pos_GetLotteryTicketRecord]
3117 @customerId = '8888888',
3118 @start = '2015-06-01 00:00:00',
3119 @end = '2015-06-01 23:59:59'
3120
3121*/
3122CREATE PROCEDURE [dbo].[NSP_Pos_GetLotteryTicketRecord]
3123 @customerId VARCHAR(12),
3124 @start DATETIME,
3125 @end DATETIME
3126AS
3127BEGIN
3128 SET NOCOUNT ON;
3129
3130 ;WITH CTE AS(
3131 SELECT RowID, CreateTime AS RecordTime, CustomerID
3132 FROM [LocalServer].[dbo].[CustomerTicket]
3133 WHERE Release = 0 AND TicketGroup = 1 AND CustomerID LIKE @customerId AND CreateTime BETWEEN @start AND @end
3134 )
3135 SELECT MIN(RowID) as ID, RecordTime, CustomerID, 1 AS Operation , COUNT(*) AS PCS
3136 FROM CTE as a
3137 GROUP BY RecordTime, CustomerID
3138 ORDER BY RecordTime DESC
3139END
3140GO
3141/****** Object: StoredProcedure [dbo].[NSP_Pos_GetLotteryTicketDetail] Script Date: 01/08/2018 04:04:21 ******/
3142SET ANSI_NULLS ON
3143GO
3144SET QUOTED_IDENTIFIER ON
3145GO
3146/*
3147 ==================================================================
3148 Description
3149 å–得抽çŽå·çš„詳細資料.
3150 ==================================================================
3151 History
3152 2015/06/23 LJC Created.
3153 ==================================================================
3154 Step
3155 ==================================================================
3156 Result
3157 ==================================================================
3158 Example
3159 EXEC [dbo].[NSP_GetLotteryTicketDetail]
3160 @rowid = 1
3161
3162*/
3163CREATE PROCEDURE [dbo].[NSP_Pos_GetLotteryTicketDetail]
3164 @rowid INT
3165AS
3166BEGIN
3167 SET NOCOUNT ON;
3168
3169 DECLARE @ticket_group INT
3170 DECLARE @customer_id INT
3171 DECLARE @create_time DATETIME
3172 DECLARE @consume_time DATETIME
3173
3174 SELECT @ticket_group = TicketGroup,
3175 @customer_id = CustomerID,
3176 @create_time = CreateTime,
3177 @consume_time = ConsumeTime
3178 FROM LocalServer.dbo.CustomerTicket
3179 WHERE RowID = @rowid
3180
3181 SELECT TicketID AS TicketSN,Comps AS Amount FROM LocalServer.dbo.CustomerTicket
3182 WHERE TicketGroup = @ticket_group
3183 AND CustomerID = @customer_id
3184 AND CreateTime = @create_time
3185
3186END
3187GO
3188/****** Object: StoredProcedure [dbo].[NSP_Pos_GetGameSwitch] Script Date: 01/08/2018 04:04:21 ******/
3189SET ANSI_NULLS ON
3190GO
3191SET QUOTED_IDENTIFIER ON
3192GO
3193/*
3194 ==================================================================
3195 Description
3196 ¨ú±o¹CÀ¸¶}Ãöª¬ºA¦CªÃ.
3197 ==================================================================
3198 History
3199 2014/08/21 LJC Created.
3200 ==================================================================
3201 Step
3202 -- °Ñ¼ÆÅçÃÒ³B²z.
3203 -- Âpºâ¶¼Æ¸ê°T.
3204 -- ¨ú¥X¸Ó¶¼Æ¸ê°T.
3205 ==================================================================
3206 Result
3207 ==================================================================
3208 Example
3209 EXEC [dbo].[NSP_Pos_GetGameSwitch]
3210 @curIdx = 0,
3211 @countOfPage = 6
3212
3213*/
3214CREATE PROCEDURE [dbo].[NSP_Pos_GetGameSwitch]
3215 @curIdx INT,
3216 @countOfPage INT
3217AS
3218BEGIN
3219 SET NOCOUNT ON;
3220
3221 -- °Ñ¼ÆÅçÃÒ³B²z.
3222 IF (@curIdx < 0)
3223 BEGIN
3224 SET @curIdx = 0
3225 END
3226
3227 IF (@countOfPage < 1)
3228 BEGIN
3229 SET @countOfPage = 1
3230 END
3231
3232 -- Âpºâ¶¼Æ¸ê°T.
3233 DECLARE @totalPageCount INT
3234 DECLARE @rowCount INT
3235 SELECT @rowCount = COUNT(ID) FROM dbo.Game WHERE IsVisible = 1
3236 IF (@rowCount % @countOfPage > 0)
3237 BEGIN
3238 SET @totalPageCount = @rowCount / @countOfPage + 1
3239 END
3240 ELSE
3241 BEGIN
3242 SET @totalPageCount = @rowCount / @countOfPage
3243 END
3244
3245 IF (@curIdx > @totalPageCount - 1)
3246 BEGIN
3247 SET @curIdx = @totalPageCount - 1
3248 END
3249
3250 -- ¨ú¥X¸Ó¶¼Æ¸ê°T.
3251 DECLARE @startIdx INT = @curIdx * @countOfPage + 1
3252 DECLARE @endIdx INT = (@curIdx * @countOfPage) + @countOfPage
3253 ;WITH game
3254 AS
3255 (
3256 --SELECT ROW_NUMBER() OVER(ORDER BY ID) AS RowId, ID, Name, [Enable] FROM dbo.Game WHERE IsVisible = 1
3257 SELECT ROW_NUMBER() OVER(ORDER BY LobbyGameZoneOrder) AS RowId, ID, Name, [Enable] FROM dbo.Game WHERE IsVisible = 1
3258 )
3259 SELECT ID, Name, [Enable], @curIdx AS PageIndex, @totalPageCount AS TotalPageCount FROM game
3260 WHERE RowId BETWEEN @startIdx AND @endIdx
3261
3262END
3263GO
3264/****** Object: StoredProcedure [dbo].[NSP_Pos_GetGameSetupInfo] Script Date: 01/08/2018 04:04:21 ******/
3265SET ANSI_NULLS ON
3266GO
3267SET QUOTED_IDENTIFIER ON
3268GO
3269/*
3270 ==================================================================
3271 Description
3272 ¨ú±o¹CÀ¸³]©w¸ê°T.
3273 ==================================================================
3274 History
3275 2014/07/29 LJC Created.
3276 ==================================================================
3277 Step
3278 ==================================================================
3279 Result
3280 ==================================================================
3281 Example
3282 EXEC [dbo].[NSP_Pos_GetGameSetupInfo]
3283 @curIdx = 1,
3284 @countOfPage = 6
3285
3286*/
3287CREATE PROCEDURE [dbo].[NSP_Pos_GetGameSetupInfo]
3288 @curIdx INT,
3289 @countOfPage INT
3290AS
3291BEGIN
3292 SET NOCOUNT ON;
3293
3294 IF (@curIdx < 0)
3295 BEGIN
3296 SET @curIdx = 0
3297 END
3298
3299 IF (@countOfPage < 1)
3300 BEGIN
3301 SET @countOfPage = 1
3302 END
3303
3304 DECLARE @totalCount INT = 0;
3305 DECLARE @totalPageCount INT = 0;
3306 SELECT @totalCount = COUNT(ID) FROM dbo.Game WHERE LobbyGameZone != -1
3307 IF (@totalCount % @countOfPage > 0)
3308 BEGIN
3309 SET @totalPageCount = @totalCount / @countOfPage + 1
3310 END
3311 ELSE
3312 BEGIN
3313 SET @totalPageCount = @totalCount / @countOfPage
3314 END
3315
3316 IF (@curIdx > @totalPageCount - 1)
3317 BEGIN
3318 SET @curIdx = @totalPageCount - 1
3319 END
3320
3321 ;WITH MyGames
3322 AS
3323 (
3324 SELECT ROW_NUMBER() OVER(ORDER BY a.ID) AS RowId, a.ID, a.Name, a.[Enable], CONVERT(BIT, ISNULL(MyCount, 0)) AS CanSetting
3325 FROM dbo.Game a LEFT JOIN (SELECT SubjectionGameID, COUNT(SubjectionGameID) AS MyCount FROM dbo.GameSettings GROUP BY SubjectionGameID) b
3326 ON a.ID = b.SubjectionGameID
3327 WHERE a.LobbyGameZone != -1
3328 )
3329 SELECT ID, Name, [Enable], CanSetting, @curIdx AS PageIndex, @totalPageCount AS TotalPageCount FROM MyGames
3330 WHERE RowId BETWEEN @curIdx * @countOfPage + 1 AND (@curIdx * @countOfPage + 1) + @countOfPage
3331END
3332GO
3333/****** Object: StoredProcedure [dbo].[NSP_Pos_GetGameSetting] Script Date: 01/08/2018 04:04:21 ******/
3334SET ANSI_NULLS ON
3335GO
3336SET QUOTED_IDENTIFIER ON
3337GO
3338/*
3339 ==================================================================
3340 Description
3341 ¨ú±o¦³³]©w¶µ¥Øªº¹CÀ¸¦CªÃ.
3342 ==================================================================
3343 History
3344 2014/08/21 LJC Created.
3345 ==================================================================
3346 Step
3347 -- °Ñ¼ÆÅçÃÒ³B²z.
3348 -- Âpºâ¶¼Æ¸ê°T.
3349 -- ¨ú¥X¸Ó¶¼Æ¸ê°T.
3350 ==================================================================
3351 Result
3352 ==================================================================
3353 Example
3354 EXEC [dbo].[NSP_Pos_GetGameSetting]
3355 @curIdx = 0,
3356 @countOfPage = 6
3357
3358*/
3359CREATE PROCEDURE [dbo].[NSP_Pos_GetGameSetting]
3360 @curIdx INT,
3361 @countOfPage INT
3362AS
3363BEGIN
3364 SET NOCOUNT ON;
3365
3366 -- °Ñ¼ÆÅçÃÒ³B²z.
3367 IF (@curIdx < 0)
3368 BEGIN
3369 SET @curIdx = 0
3370 END
3371
3372 IF (@countOfPage < 1)
3373 BEGIN
3374 SET @countOfPage = 1
3375 END
3376
3377 -- Âpºâ¶¼Æ¸ê°T.
3378 DECLARE @totalPageCount INT
3379 DECLARE @rowCount INT
3380 SELECT @rowCount = COUNT(ID) FROM dbo.Game WHERE ID IN (SELECT SubjectionGameID FROM dbo.GameSettings) AND IsVisible = 1
3381 IF (@rowCount % @countOfPage > 0)
3382 BEGIN
3383 SET @totalPageCount = @rowCount / @countOfPage + 1
3384 END
3385 ELSE
3386 BEGIN
3387 SET @totalPageCount = @rowCount / @countOfPage
3388 END
3389
3390 IF (@curIdx > @totalPageCount - 1)
3391 BEGIN
3392 SET @curIdx = @totalPageCount - 1
3393 END
3394
3395 -- ¨ú¥X¸Ó¶¼Æ¸ê°T.
3396 DECLARE @startIdx INT = @curIdx * @countOfPage + 1
3397 DECLARE @endIdx INT = (@curIdx * @countOfPage) + @countOfPage
3398 ;WITH game
3399 AS
3400 (
3401 SELECT ROW_NUMBER() OVER(ORDER BY ID) AS RowId, * FROM dbo.Game
3402 WHERE ID IN (SELECT SubjectionGameID FROM dbo.GameSettings) AND IsVisible = 1
3403 )
3404 SELECT ID, Name, @curIdx AS PageIndex, @totalPageCount AS TotalPageCount FROM game
3405 WHERE RowId BETWEEN @startIdx AND @endIdx
3406
3407END
3408GO
3409/****** Object: StoredProcedure [dbo].[NSP_Pos_GetGameHistoryByCustomerId] Script Date: 01/08/2018 04:04:21 ******/
3410SET ANSI_NULLS ON
3411GO
3412SET QUOTED_IDENTIFIER ON
3413GO
3414/*
3415 ==================================================================
3416 Description
3417 å–å¾—éŠæˆ²è¨˜éŒ„(SweepPOS使用).
3418 ==================================================================
3419 History
3420 2015/12/17 LJC Created.
3421 ==================================================================
3422 Step
3423 1. å–å¾—ç¸½ç†æ•¸.
3424 2. è¨ˆç®—å‡ºç¸½é æ•¸.
3425 3. å–得該é 記錄.
3426 ==================================================================
3427 Result
3428 RETURN ç¸½é æ•¸.
3429 ==================================================================
3430 Example
3431 EXEC [dbo].[NSP_ProcedureName]
3432 @Param1 = 12345,
3433 @Param2 = N'ABCDE'
3434
3435*/
3436CREATE PROCEDURE [dbo].[NSP_Pos_GetGameHistoryByCustomerId]
3437 @customerId VARCHAR(12),
3438 @start DATETIME,
3439 @end DATETIME,
3440 @rowsPerPage INT,
3441 @pageIdx INT
3442AS
3443BEGIN
3444 SET NOCOUNT ON;
3445
3446 DECLARE @totalRows INT = 0
3447
3448 -- å–å¾—ç¸½ç†æ•¸.
3449 SELECT @totalRows = COUNT(*)
3450 FROM ( SELECT GameID
3451 FROM CCS.dbo.GameSeatAmassedInfo
3452 WHERE MemberID = @customerId AND CreateDate BETWEEN @start AND @end
3453 GROUP BY GameID, RoundCount, MemberCredit, MemberWinning ) t
3454
3455 IF (@totalRows = 0)
3456 BEGIN
3457 RETURN 1
3458 END
3459
3460 -- è¨ˆç®—å‡ºç¸½é æ•¸.
3461 DECLARE @totalPages INT = @totalRows / @rowsPerPage
3462 IF ((@totalRows % @rowsPerPage) > 0)
3463 BEGIN
3464 SET @totalPages = @totalPages + 1
3465 END
3466
3467 -- å–得該é 記錄.
3468 DECLARE @row_start INT = @pageIdx * @rowsPerPage + 1
3469 DECLARE @row_end INT = (@pageIdx + 1) * @rowsPerPage
3470 ;WITH CTE AS (
3471 SELECT TOP (@row_end)
3472 MIN([SID]) AS [SID],
3473 MIN(CreateDate) AS CreateDate,
3474 GameID,
3475 MAX(Mode) as Mode,
3476 SUM(TotalBet) / 100 AS GamePlay,
3477 SUM(TotalWin) / 100 AS GameWin,
3478 MemberCredit,
3479 MemberWinning
3480 FROM CCS.dbo.GameSeatAmassedInfo
3481 WHERE MemberID = @customerId AND CreateDate BETWEEN @start AND @end AND GameID NOT IN (10006, 20001)
3482 GROUP BY GameID, RoundCount, MemberCredit, MemberWinning
3483 ORDER BY [SID] DESC
3484 UNION ALL
3485 SELECT TOP (@row_end)
3486 [SID],
3487 CreateDate,
3488 GameID,
3489 Mode,
3490 TotalBet / 100 AS GamePlay,
3491 TotalWin / 100 AS GameWin,
3492 MemberCredit,
3493 MemberWinning
3494 FROM CCS.dbo.GameSeatAmassedInfo
3495 WHERE MemberID = @customerId AND CreateDate BETWEEN @start AND @end AND GameID IN (10006, 20001)
3496 ORDER BY [SID] DESC
3497 )
3498 SELECT @totalPages AS TotalPages
3499 , a.*
3500 , b.Name AS GameName
3501 FROM ( SELECT ROW_NUMBER() OVER (ORDER BY [SID] DESC) AS RowNum, * FROM CTE ) a
3502 LEFT JOIN LocalServer.dbo.Game AS b ON a.GameID = b.ID
3503 WHERE a.RowNum >= @row_start AND a.RowNum <= @row_end
3504
3505 RETURN 0
3506END
3507GO
3508/****** Object: StoredProcedure [dbo].[NSP_R_CreateDailyReport] Script Date: 01/08/2018 04:04:21 ******/
3509SET ANSI_NULLS ON
3510GO
3511SET QUOTED_IDENTIFIER ON
3512GO
3513/*
3514 ==================================================================
3515 Description
3516 «Ø¥ß¨C¤é±b.
3517 ==================================================================
3518 History
3519 2014/04/28 LJC Created.
3520 2014/11/04 LJC Modify - ·s¼WReversePurchaseÄæ¦ì.
3521 ==================================================================
3522 Step
3523 1. ·s¼WReport¦Ü¥DªÃ.
3524 2. ±N¹CÀ¸¸Ô²Ó³ø±b¸ê°T°µµ²±b.
3525 3. ²M°£¹CÀ¸¸Ô²Ó³ø±b¸ê°T.
3526 ==================================================================
3527 Result
3528 ==================================================================
3529 Example
3530 EXEC [dbo].[NSP_R_CreateDailyReport]
3531 @date = '2014-04-29 23:59:59',
3532 @purchase = 1000,
3533 @specialComps = 10,
3534 @redeem = 500,
3535 @billIn = 600,
3536 @fantasyBet = 1200,
3537 @reportFantasyJackPot = 1
3538*/
3539CREATE PROCEDURE [dbo].[NSP_R_CreateDailyReport]
3540 @date DATETIME,
3541 @purchase INT,
3542 @specialComps INT,
3543 @redeem INT,
3544 @billIn INT,
3545 @fantasyBet INT,
3546 @reversePurchase INT,
3547 @reportFantasyJackPot BIT = 1
3548AS
3549BEGIN
3550 SET NOCOUNT ON;
3551
3552 -- ·s¼WReport¦Ü¥DªÃ.
3553 INSERT INTO dbo.DailyReports
3554 ( ReportDate ,
3555 TotalPurchase ,
3556 TotalSpecialComps ,
3557 TotalRedeem ,
3558 GameReports ,
3559 IsReport ,
3560 TotalBillIn ,
3561 TotalFantasyBet,
3562 ReversePurchase
3563 )
3564 VALUES ( @date , -- ReportDate - datetime
3565 @purchase , -- TotalPurchase - int
3566 @specialComps , -- TotalSpecialComps - int
3567 @redeem , -- TotalRedeem - int
3568 '' , -- GameReports - varchar(max)
3569 0 , -- IsReport - int
3570 @billIn , -- TotalBillIn - int
3571 @fantasyBet , -- TotalFantasyBet - int
3572 @reversePurchase
3573 )
3574
3575 DECLARE @reportId INT = SCOPE_IDENTITY();
3576
3577 -- ±N¹CÀ¸¸Ô²Ó³ø±b¸ê°T°µµ²±b.
3578 INSERT INTO dbo.DailyReportDetail ( ReportID , GameID , TotalPlay , TotalWin , TotalPlayTimes , TotalWinTimes )
3579 SELECT @reportId, GameID, TotalPlay, TotalWin, TotalPlayTimes, TotalWinTimes
3580 FROM dbo.GameReports a INNER JOIN dbo.Game b
3581 ON a.GameID = b.ID
3582 WHERE b.IsVisible = 1
3583
3584 -- Report Fantasy JackPot
3585 IF @reportFantasyJackPot = 1
3586 BEGIN
3587 IF (SELECT COUNT(*) FROM dbo.DailyReportDetail a,dbo.DailyReports b
3588 WHERE a.ReportID = b.ReportID and GameID = 10006 AND DATEDIFF(day,b.ReportDate,@date) = 0) = 0 --¨S¦³¤~INSERT
3589 BEGIN
3590 INSERT INTO dbo.DailyReportDetail ( ReportID , GameID , TotalPlay , TotalWin , TotalPlayTimes , TotalWinTimes )
3591 SELECT @reportId, 10006, ISNULL(TotalPlay,0), ISNULL(TotalWin/100,0), ISNULL(TotalPlayTimes,0), ISNULL(TotalWinTimes,0) FROM
3592 (Select Count(*) as TotalPlayTimes , SUM(BetValue) as TotalPlay FROM [LocalServer] .[dbo].[JackpotPlayInfo] Where JackpotID = 10006 AND DATEDIFF(day,CreateDate, @date) = 0) t1,
3593 (Select Count(*) as TotalWinTimes , SUM(TotalWin) as TotalWin FROM [LocalServer].[dbo].[JackpotRecord] Where JackpotID = 10006 AND DATEDIFF(day,CreateDate, @date) = 0) t2
3594 END
3595 END
3596
3597 -- ²M°£¹CÀ¸¸Ô²Ó³ø±b¸ê°T.
3598 UPDATE dbo.GameReports SET TotalPlay = 0, TotalWin = 0, TotalPlayTimes = 0, TotalWinTimes = 0
3599END
3600GO
3601/****** Object: StoredProcedure [dbo].[NSP_Pos_Shift_GetShiftByTimeRange] Script Date: 01/08/2018 04:04:21 ******/
3602SET ANSI_NULLS ON
3603GO
3604SET QUOTED_IDENTIFIER ON
3605GO
3606/*
3607 ==================================================================
3608 Description
3609 ¨Ì®É¶¡°Ã¶¡¨ú±o¯Z¸ê°T.
3610 ==================================================================
3611 History
3612 2014/08/20 LJC Created.
3613 ==================================================================
3614 Step
3615 ==================================================================
3616 Result
3617 ==================================================================
3618 Example
3619 EXEC [dbo].[NSP_Pos_Shift_GetShiftByTimeRange]
3620 @start = '2014-08-01 00:00:00',
3621 @end = '2014-08-20 23:59:59'
3622
3623*/
3624CREATE PROCEDURE [dbo].[NSP_Pos_Shift_GetShiftByTimeRange]
3625 @start DATETIME,
3626 @end DATETIME
3627AS
3628BEGIN
3629 SET NOCOUNT ON;
3630
3631 ;WITH NewShift
3632 AS
3633 (
3634 SELECT a.*, b.UserAccount FROM dbo.ShiftReport a INNER JOIN dbo.PosUser b ON a.MembersID = b.UserID WHERE a.LogoutTime IS NOT NULL
3635 )
3636 SELECT ShiftID
3637 , LoginTime AS StartTime
3638 , LogoutTime AS EndTime
3639 , Account AS UserAccount
3640 , InitialAmount
3641 , TotalFills
3642 , TotalBleeds
3643 , TotalPurchase
3644 , TotalSpecialComps
3645 , TotalRedeem
3646 , TotalFreeEntry
3647 , (PosID + 1) AS PosID
3648 FROM
3649 (
3650 SELECT a.*, b.Account FROM dbo.ShiftReport a INNER JOIN dbo.Members b ON a.MembersID = b.ID WHERE a.LogoutTime IS NOT NULL AND ShiftID NOT IN (SELECT ShiftID FROM NewShift)
3651 UNION ALL
3652 SELECT * FROM NewShift
3653 ) a WHERE a.LoginTime BETWEEN @start AND @end ORDER BY a.ShiftID DESC
3654
3655END
3656GO
3657/****** Object: StoredProcedure [dbo].[NSP_Pos_Shift_GetShiftByID] Script Date: 01/08/2018 04:04:21 ******/
3658SET ANSI_NULLS ON
3659GO
3660SET QUOTED_IDENTIFIER ON
3661GO
3662/*
3663 ==================================================================
3664 Description
3665 ¨ÌShiftID¨ú±o¯Z¸ê°T.
3666 ==================================================================
3667 History
3668 2014/08/20 LJC Created.
3669 ==================================================================
3670 Step
3671 ==================================================================
3672 Result
3673 ==================================================================
3674 Example
3675 EXEC [dbo].[NSP_Pos_Shift_GetShiftByID]
3676 @shiftId = 1
3677
3678*/
3679CREATE PROCEDURE [dbo].[NSP_Pos_Shift_GetShiftByID]
3680 @shiftId INT
3681AS
3682BEGIN
3683 SET NOCOUNT ON;
3684
3685 SELECT TOP 1 aa.ShiftID
3686 , aa.LoginTime AS StartTime
3687 , aa.LogoutTime AS EndTime
3688 , aa.UserAccount
3689 , aa.InitialAmount
3690 , aa.TotalFills
3691 , aa.TotalBleeds
3692 , aa.TotalPurchase
3693 , aa.TotalSpecialComps
3694 , aa.TotalRedeem
3695 , aa.TotalFreeEntry
3696 , aa.PosID
3697 FROM
3698 (
3699 SELECT a.*, b.UserAccount FROM dbo.ShiftReport a LEFT JOIN dbo.PosUser b ON a.MembersID = b.UserID
3700 UNION ALL
3701 SELECT a.*, b.Account FROM dbo.ShiftReport a LEFT JOIN dbo.Members b ON a.MembersID = b.ID
3702 ) aa WHERE aa.ShiftID = @shiftId AND aa.UserAccount IS NOT NULL
3703
3704END
3705GO
3706/****** Object: StoredProcedure [dbo].[NSP_C_UpdateCustomerLoginTime] Script Date: 01/08/2018 04:04:21 ******/
3707SET ANSI_NULLS ON
3708GO
3709SET QUOTED_IDENTIFIER ON
3710GO
3711/*
3712 ==================================================================
3713 Description
3714 更新顧客登入時間...
3715 ==================================================================
3716 History
3717 2012/03/11 LJC Created.
3718 ==================================================================
3719 Step
3720 1ÃBUPDATE ┼U½╚¬║╡nñJ«╔╢Ã.
3721 ==================================================================
3722 Result
3723 0 - Ñâ”â–’`
3724 ==================================================================
3725 Example
3726 EXEC [dbo].[NSP_C_UpdateCustomerLoginTime]
3727 @customerId = N'1234567890'
3728*/
3729
3730CREATE PROCEDURE [dbo].[NSP_C_UpdateCustomerLoginTime]
3731 @customerId VARCHAR(12)
3732AS
3733BEGIN
3734 SET NOCOUNT ON;
3735 IF ((SELECT COUNT(CustomerID) FROM dbo.Customer WHERE Release = 0 AND CustomerID = @customerId) > 0)
3736 BEGIN
3737 UPDATE dbo.Customer SET LastLoginTime = GETDATE()
3738 WHERE Release = 0 AND CustomerID = @customerId
3739 END
3740END
3741GO
3742/****** Object: StoredProcedure [dbo].[NSP_Pos_ChangePasswordForPosUser] Script Date: 01/08/2018 04:04:21 ******/
3743SET ANSI_NULLS ON
3744GO
3745SET QUOTED_IDENTIFIER ON
3746GO
3747/*
3748 ==================================================================
3749 Description
3750 Åܧó±K½X.
3751 ==================================================================
3752 History
3753 2014/08/28 LJC Created.
3754 ==================================================================
3755 Step
3756 ==================================================================
3757 Result
3758 RETURN 0 - ¦¨¥\.
3759 RETURN 1 - ¤£¦¨¥\.
3760 ==================================================================
3761 Example
3762 EXEC [dbo].[NSP_Pos_ChangePasswordForPosUser]
3763 @account = 'boss',
3764 @oldPassword = '123456'
3765 @newPassword = '111111'
3766
3767*/
3768CREATE PROCEDURE [dbo].[NSP_Pos_ChangePasswordForPosUser]
3769 @account VARCHAR(12),
3770 @oldPassword VARCHAR(12),
3771 @newPassword VARCHAR(12)
3772AS
3773BEGIN
3774 SET NOCOUNT ON;
3775
3776 UPDATE dbo.PosUser SET dbo.PosUser.UserPassword = @newPassword WHERE UserID =
3777 (SELECT UserID FROM dbo.PosUser WHERE UserAccountClosed = 0 AND UserAccount = @account AND UserPassword = @oldPassword)
3778
3779 IF (@@ROWCOUNT <= 0)
3780 BEGIN
3781 RETURN 1;
3782 END
3783
3784 RETURN 0;
3785END
3786GO
3787/****** Object: StoredProcedure [dbo].[NSP_Pos_CreatePosUser] Script Date: 01/08/2018 04:04:21 ******/
3788SET ANSI_NULLS ON
3789GO
3790SET QUOTED_IDENTIFIER ON
3791GO
3792/*
3793 ==================================================================
3794 Description
3795 «Ø¥ßPOS¨Ã¥ÎªÌ.
3796 ==================================================================
3797 History
3798 2014/08/22 LJC Created.
3799 ==================================================================
3800 Step
3801 -- ÀˬdRequestAccount¬O§_¦s¦b.
3802 -- ÀˬdRoleName¬O§_¦s¦b.
3803 -- «Ø¥ßPosUser.
3804 -- ÀˬdÂn«Ø¥ßªºUserAccount¬O§_¤w¦s¦b.
3805 ==================================================================
3806 Result
3807 RETURN 0 - ¥¿½T.
3808 RETURN 1 - RequestAccount¤£¦s¦b.
3809 RETURN 2 - RoleName¤£¦s¦b.
3810 RETURN 3 - UserAccount¤w¦s¦b.
3811 ==================================================================
3812 Example
3813 EXEC [dbo].[NSP_Pos_CreatePosUser]
3814 @requestAccount = 'boss',
3815 @userAccount = 'clerk',
3816 @userPassword = '123456',
3817 @userRoleName = 'CLERK'
3818
3819*/
3820CREATE PROCEDURE [dbo].[NSP_Pos_CreatePosUser]
3821 @requestAccount VARCHAR(16),
3822 @userAccount VARCHAR(16),
3823 @userPassword VARCHAR(16),
3824 @userRoleName VARCHAR(50)
3825AS
3826BEGIN
3827 SET NOCOUNT ON;
3828
3829 -- ÀˬdRequestAccount¬O§_¦s¦b.
3830 DECLARE @parentUserId INT;
3831 SELECT TOP 1 @parentUserId = UserID FROM dbo.PosUser WHERE UserAccountClosed = 0 AND UserAccount = @requestAccount
3832 IF (@parentUserId IS NULL)
3833 BEGIN
3834 RETURN 1;
3835 END
3836
3837 -- ÀˬdRoleName¬O§_¦s¦b.
3838 DECLARE @roleId INT;
3839 SELECT TOP 1 @roleId = RoleID FROM dbo.PosRole WHERE IsEnabled = 1 AND RoleDisplayName = @userRoleName
3840 IF (@roleId IS NULL)
3841 BEGIN
3842 RETURN 2;
3843 END
3844
3845 -- ÀˬdÂn«Ø¥ßªºUserAccount¬O§_¤w¦s¦b.
3846 IF EXISTS(SELECT * FROM dbo.PosUser WHERE UserAccountClosed = 0 AND UserAccount = @userAccount)
3847 BEGIN
3848 RETURN 3;
3849 END
3850
3851 -- «Ø¥ßPosUser.
3852 INSERT INTO dbo.PosUser ( UserAccount , UserPassword , RoleID , ParentUserID )
3853 VALUES ( @userAccount
3854 , @userPassword
3855 , @roleId
3856 , @parentUserId )
3857 RETURN 0;
3858END
3859GO
3860/****** Object: StoredProcedure [dbo].[NSP_M_ReleaseMachine] Script Date: 01/08/2018 04:04:21 ******/
3861SET ANSI_NULLS ON
3862GO
3863SET QUOTED_IDENTIFIER ON
3864GO
3865/*
3866 ==================================================================
3867 Description
3868 解除機å°è¨»å†Š.
3869 ==================================================================
3870 History
3871 2013/10/30 LJC Created.
3872 2014/07/31 LJC Modify - 新增清除MachineName.
3873 2015/06/05 LJC Modify - 新增清除CCS.dbo.Machine的MemberID.
3874 ==================================================================
3875 Step
3876 ==================================================================
3877 Result
3878 ==================================================================
3879 Example
3880 EXEC [dbo].[NSP_M_ReleaseMachine]
3881 @machineId INT
3882*/
3883CREATE PROCEDURE [dbo].[NSP_M_ReleaseMachine]
3884 @machineId INT
3885AS
3886BEGIN
3887 SET NOCOUNT ON;
3888
3889 UPDATE dbo.Machines SET RegisterID = '', BindingID = '', MachineName = '' WHERE ID = @machineId
3890 UPDATE CCS.dbo.Machine SET MemberID = '' WHERE MachineID = @machineId
3891 SELECT ID, RegisterID FROM dbo.Machines WHERE ID = @machineId
3892END
3893GO
3894/****** Object: StoredProcedure [dbo].[NSP_M_RegisterMachine] Script Date: 01/08/2018 04:04:21 ******/
3895SET ANSI_NULLS ON
3896GO
3897SET QUOTED_IDENTIFIER ON
3898GO
3899/*
3900 ==================================================================
3901 Description
3902 註冊機å°
3903 ==================================================================
3904 History
3905 2013/10/22 LJC Created.
3906 2013/10/30 LJC Modify.
3907 2014/07/31 LJC Modify - 新增MachineName.
3908 2015/06/05 LJC Modify - ä¿®æ”¹æˆæ²’有該機å°å‰‡æ–°å¢žçš„æ–¹å¼ï¼Œä¸¦æª¢æŸ¥CCS.dbo.Machine與GameServer.dbo.MachineInfo.
3909 ==================================================================
3910 Step
3911 1. è‹¥é‡è¦†è¨»å†Šçš„MAC個數大於1å‰‡åˆªé™¤é‡æ–°è¨»å†Š.
3912 2. 若還未註冊則å–得還未被註冊的最å°MachineId來註冊.
3913 ==================================================================
3914 Result
3915 return 0 :註冊æ£ç¢º.
3916 return 1 :註冊機å°å·²æ»¿.
3917 ==================================================================
3918 Example
3919 EXEC [dbo].[NSP_M_RegisterMachine]
3920 @registerId = N'50-e5-49-49-d7-f3'
3921
3922*/
3923CREATE PROCEDURE [dbo].[NSP_M_RegisterMachine]
3924 @registerId VARCHAR(32)
3925AS
3926BEGIN
3927 SET NOCOUNT ON;
3928
3929 -- è‹¥é‡è¦†è¨»å†Šçš„MAC個數大於1å‰‡åˆªé™¤é‡æ–°è¨»å†Š.
3930 DECLARE @count INT = 0
3931 SELECT @count = COUNT([RegisterID])
3932 FROM dbo.Machines
3933 WHERE RegisterID = @registerId GROUP BY RegisterID
3934
3935 IF (@count > 1)
3936 BEGIN
3937 DELETE FROM dbo.Machines WHERE RegisterID = @registerId
3938 END
3939
3940 -- 若還未註冊則å–得還未被註冊的最å°MachineId來註冊.
3941 IF NOT EXISTS (SELECT * FROM dbo.Machines WHERE RegisterID = @registerId)
3942 BEGIN
3943 -- å–å¾—MaxMachineCount.
3944 DECLARE @maxCount INT = 0;
3945 SELECT @maxCount = CONVERT(INT, SettingValue) FROM dbo.SystemConfig WHERE SettingKey = N'MaxMachineCount'
3946
3947 IF (SELECT COUNT(ID) FROM dbo.Machines WHERE RegisterID != '') >= @maxCount
3948 BEGIN
3949 SELECT -1 AS ID, '' AS BindingID, '' AS MachineName
3950
3951 -- 註冊機å°å·²æ»¿.
3952 RETURN 1
3953 END
3954
3955 DECLARE @machineId INT
3956 SELECT @machineId = MIN(ID) FROM dbo.Machines WHERE RegisterID = ''
3957 IF (@machineId IS NULL)
3958 BEGIN
3959 --SELECT @machineId
3960 --RETURN 1;
3961 SELECT @machineId = MAX(ID) + 1 FROM dbo.Machines
3962 INSERT INTO dbo.Machines ( ID , RegisterID , BindingID , MachineName )
3963 VALUES ( @machineId , '' , '' , '' )
3964 END
3965
3966 -- 檢查CCS.dbo.Machine.
3967 IF NOT EXISTS (SELECT * FROM CCS.dbo.Machine WHERE MachineID = @machineId + 1)
3968 BEGIN
3969 INSERT INTO CCS.dbo.Machine
3970 ( MACAddress , Authorized , IsOnline , OnGameID , MemberID )
3971 VALUES ( '' , 1 , 0 , 0 , '' )
3972 END
3973
3974 -- 檢查GameServer.dbo.MachineInfo.
3975 IF NOT EXISTS (SELECT * FROM GameServer.dbo.MachineInfo WHERE MachineID = @machineId)
3976 BEGIN
3977 INSERT INTO GameServer.dbo.MachineInfo
3978 ( MachineID , TotalPlay , TotalWin , CurrentGame , CurrentPlay )
3979 VALUES ( @machineId , 0 , 0 , 0 , 0 )
3980 END
3981
3982 -- å–å¾—GUID,將'-'刪除,並轉æˆå°å¯«.
3983 DECLARE @guid VARCHAR(40) = LOWER(REPLACE(NEWID(), '-', ''))
3984 UPDATE dbo.Machines
3985 SET RegisterID = @registerId
3986 , BindingID = @guid
3987 , MachineName = @machineId + 1
3988 WHERE ID = @machineId
3989 END
3990
3991 SELECT ID, BindingID, MachineName
3992 FROM dbo.Machines
3993 WHERE RegisterID = @registerId
3994END
3995GO
3996/****** Object: StoredProcedure [dbo].[NSP_M_RegisterLoadingStation] Script Date: 01/08/2018 04:04:21 ******/
3997SET ANSI_NULLS ON
3998GO
3999SET QUOTED_IDENTIFIER ON
4000GO
4001/*
4002 ==================================================================
4003 Description
4004 Loading Station Register.
4005 ==================================================================
4006 History
4007 2014/01/17 LJC Created.
4008 ==================================================================
4009 Step
4010 1. ¬d¸ß¬O§_¤wµù¥U.
4011 2. ÂY¥¼µù¥U«h·s¼Wµù¥U.
4012 ==================================================================
4013 Result
4014 return 0 :µù¥U¥¿½T.
4015 ==================================================================
4016 Example
4017 EXEC [dbo].[NSP_M_RegisterLoadingStation]
4018 @registerId = N'50-e5-49-49-d7-f3'
4019
4020*/
4021CREATE PROCEDURE [dbo].[NSP_M_RegisterLoadingStation]
4022 @registerId VARCHAR(32)
4023AS
4024BEGIN
4025 SET NOCOUNT ON;
4026
4027 -- ¬d¸ß¬O§_¤wµù¥U.
4028 DECLARE @id INT = -1
4029 SELECT @id = MachineID FROM dbo.LoadingStation WHERE RegisterID = @registerId
4030
4031 -- ÂY¥¼µù¥U«h·s¼Wµù¥U.
4032 IF (@id = -1)
4033 BEGIN
4034 INSERT INTO dbo.LoadingStation ( RegisterID )
4035 VALUES ( @registerId )
4036
4037 SET @id = SCOPE_IDENTITY()
4038 END
4039
4040 SELECT @id AS 'MachineID'
4041
4042 RETURN 0
4043END
4044GO
4045/****** Object: StoredProcedure [dbo].[NSP_LoadingStation_Register] Script Date: 01/08/2018 04:04:21 ******/
4046SET ANSI_NULLS ON
4047GO
4048SET QUOTED_IDENTIFIER ON
4049GO
4050/*
4051 ==================================================================
4052 Description
4053 LoadingStationµù¥U.
4054 ==================================================================
4055 History
4056 2014/12/05 LJC Created.
4057 ==================================================================
4058 Step
4059 1. ¬d¸ß¬O§_¤wµù¥U.
4060 2. ÂY¥¼µù¥U«h·s¼Wµù¥U.
4061 3. «Ø¥ß²Ä¤@µ§¯ZªÃ.
4062 ==================================================================
4063 Result
4064 return 0 :µù¥U¥¿½T.
4065 ==================================================================
4066 Example
4067 EXEC [dbo].[NSP_LoadingStation_Register]
4068 @registerId = N'50-e5-49-49-d7-f3'
4069
4070*/
4071CREATE PROCEDURE [dbo].[NSP_LoadingStation_Register]
4072 @registerId VARCHAR(32)
4073AS
4074BEGIN
4075 SET NOCOUNT ON;
4076
4077 -- ¬d¸ß¬O§_¤wµù¥U.
4078 DECLARE @id INT = -1
4079 SELECT @id = MachineID FROM dbo.LoadingStation WHERE RegisterID = @registerId
4080
4081 -- ÂY¥¼µù¥U«h·s¼Wµù¥U.
4082 IF (@id = -1)
4083 BEGIN
4084 INSERT INTO dbo.LoadingStation ( RegisterID )
4085 VALUES ( @registerId )
4086
4087 SET @id = SCOPE_IDENTITY()
4088 END
4089
4090 -- ¬d¸ß¬O§_¤w¦³¯ZªÃ.
4091 DECLARE @shift_id INT = -1
4092 SELECT TOP 1 @shift_id = ShiftID FROM dbo.LoadingStationShiftReport WHERE MachineID = @id
4093
4094 -- ÂY¨S¦³«Ø¥ß²Ä¤@µ§¯ZªÃ.
4095 IF (@shift_id = -1)
4096 BEGIN
4097 INSERT INTO dbo.LoadingStationShiftReport
4098 ( StartTime , MachineID )
4099 VALUES ( GETDATE() , @id )
4100 END
4101
4102 SELECT @id AS 'MachineID'
4103
4104 RETURN 0
4105END
4106GO
4107/****** Object: StoredProcedure [dbo].[NSP_LoadingStation_EndShift] Script Date: 01/08/2018 04:04:21 ******/
4108SET ANSI_NULLS ON
4109GO
4110SET QUOTED_IDENTIFIER ON
4111GO
4112/*
4113 ==================================================================
4114 Description
4115 çµç®—LoadingStationç•¶ç並記錄.
4116 ==================================================================
4117 History
4118 2014/12/05 LJC Created.
4119 ==================================================================
4120 Step
4121 1. MachineID是å¦å˜åœ¨.
4122 2. é©—è‰å¯†ç¢¼.
4123 3. 記錄當ç資訊.
4124 4. 建立下一ç的準備記錄.
4125 5. 清除CashBox.
4126 ==================================================================
4127 Result
4128 RETURN 1 - MachineIDä¸å˜åœ¨.
4129 RETURN 2 - é©—è‰å¯†ç¢¼ä¸ç¬¦.
4130 ==================================================================
4131 Example
4132 EXEC [dbo].[NSP_LoadingStation_EndShift]
4133 @MachineId = 0,
4134 @pwd = '12345678'
4135
4136*/
4137CREATE PROCEDURE [dbo].[NSP_LoadingStation_EndShift]
4138 @MachineId INT,
4139 @pwd VARCHAR(8)
4140AS
4141BEGIN
4142 SET NOCOUNT ON;
4143
4144 -- MachineID是å¦å˜åœ¨.
4145 IF NOT EXISTS (SELECT * FROM dbo.LoadingStation WHERE MachineID = @MachineId)
4146 BEGIN
4147 RETURN 1;
4148 END
4149
4150 -- é©—è‰å¯†ç¢¼.
4151 IF NOT EXISTS (SELECT * FROM dbo.SystemConfig WHERE SettingKey = 'LoadingStationPwd' AND SettingValue = @pwd)
4152 BEGIN
4153 RETURN 2;
4154 END
4155
4156 -- 記錄當ç資訊.
4157 ;WITH CashBox AS
4158 (
4159 SELECT Cash, SUM([Count]) AS CashCount FROM dbo.LoadingStationCashBox WHERE MachineID = @MachineId GROUP BY Cash
4160 )
4161 UPDATE dbo.LoadingStationShiftReport
4162 SET EndTime = GETDATE()
4163 , Dollar1 = bb.Dollar1
4164 , Dollar2 = bb.Dollar2
4165 , Dollar5 = bb.Dollar5
4166 , Dollar10 = bb.Dollar10
4167 , Dollar20 = bb.Dollar20
4168 , Dollar50 = bb.Dollar50
4169 , Dollar100 = bb.Dollar100
4170 FROM dbo.LoadingStationShiftReport aa INNER JOIN
4171 (
4172 SELECT ISNULL(SUM(d1), 0) AS Dollar1
4173 , ISNULL(SUM(d2), 0) AS Dollar2
4174 , ISNULL(SUM(d5), 0) AS Dollar5
4175 , ISNULL(SUM(d10), 0) AS Dollar10
4176 , ISNULL(SUM(d20), 0) AS Dollar20
4177 , ISNULL(SUM(d50), 0) AS Dollar50
4178 , ISNULL(SUM(d100), 0) AS Dollar100
4179 FROM
4180 (
4181 SELECT CashCount AS d1, 0 AS d2, 0 AS d5, 0 AS d10, 0 AS d20, 0 AS d50, 0 AS d100 FROM CashBox WHERE Cash = 1 --GROUP BY Cash
4182 UNION ALL
4183 SELECT 0, CashCount, 0, 0, 0, 0, 0 FROM CashBox WHERE Cash = 2 --GROUP BY Cash
4184 UNION ALL
4185 SELECT 0, 0, CashCount, 0, 0, 0, 0 FROM CashBox WHERE Cash = 5 --GROUP BY Cash
4186 UNION ALL
4187 SELECT 0, 0, 0, CashCount, 0, 0, 0 FROM CashBox WHERE Cash = 10 --GROUP BY Cash
4188 UNION ALL
4189 SELECT 0, 0, 0, 0, CashCount, 0, 0 FROM CashBox WHERE Cash = 20 --GROUP BY Cash
4190 UNION ALL
4191 SELECT 0, 0, 0, 0, 0, CashCount, 0 FROM CashBox WHERE Cash = 50 --GROUP BY Cash
4192 UNION ALL
4193 SELECT 0, 0, 0, 0, 0, 0, CashCount FROM CashBox WHERE Cash = 100 --GROUP BY Cash
4194 ) a
4195 ) bb ON aa.ShiftID = (SELECT MAX(ShiftID) AS ShiftID FROM dbo.LoadingStationShiftReport WHERE MachineID = @MachineId)
4196
4197 -- 建立下一ç的準備記錄.
4198 INSERT INTO dbo.LoadingStationShiftReport
4199 ( StartTime ,MachineID)
4200 VALUES ( GETDATE() ,@MachineId)
4201
4202 -- 清除CashBox.
4203 DELETE FROM LoadingStationCashBox
4204 WHERE MachineID = @MachineId
4205
4206 RETURN 0
4207END
4208GO
4209/****** Object: StoredProcedure [dbo].[NSP_JP_QueryJackpotRecord] Script Date: 01/08/2018 04:04:21 ******/
4210SET ANSI_NULLS ON
4211GO
4212SET QUOTED_IDENTIFIER ON
4213GO
4214/*
4215 ==================================================================
4216 Description
4217 ¬d¸ß±mª÷°O¿ý.
4218 ==================================================================
4219 History
4220 2014/03/28 LJC Created.
4221 2014/10/07 LJC Modify - ·s¼WJackpotRecord_Detail.
4222 ==================================================================
4223 Step
4224 ==================================================================
4225 Result
4226 ==================================================================
4227 Example
4228 EXEC [dbo].[NSP_JP_QueryJackpotRecord]
4229 @idx = 1,
4230 @number = 6
4231
4232*/
4233CREATE PROCEDURE [dbo].[NSP_JP_QueryJackpotRecord]
4234 @idx INT,
4235 @number INT
4236AS
4237BEGIN
4238 SET NOCOUNT ON;
4239
4240 DECLARE @curIdx INT = @idx
4241 DECLARE @totalPageCount INT = 0;
4242 DECLARE @totalCount INT = 0;
4243
4244 IF (@curIdx < 1)
4245 BEGIN
4246 SET @curIdx = 1
4247 END
4248
4249 SELECT @totalCount = COUNT([SID]) FROM dbo.JackpotRecord
4250 SET @totalPageCount = @totalCount / @number
4251 IF (@totalCount % @number > 0)
4252 BEGIN
4253 SET @totalPageCount += 1
4254 END
4255
4256 IF (@curIdx > @totalPageCount)
4257 BEGIN
4258 SET @curIdx = @totalPageCount
4259 END
4260
4261 ;WITH detail AS
4262 (
4263 SELECT JpRecordSID, COUNT(JpRecordSID) AS DetailCount, MIN(MachineName) AS MachineName FROM dbo.JackpotRecord_Detail GROUP BY JpRecordSID
4264 )
4265 SELECT
4266 @curIdx AS CurrentPageIndex,
4267 @totalPageCount AS TotalPageCount,
4268 a.[SID],
4269 a.WinLevel,
4270 a.TotalWin,
4271 a.CreateDate,
4272 b.DetailCount,
4273 b.MachineName
4274 FROM dbo.JackpotRecord a INNER JOIN detail b ON a.[SID] = b.JpRecordSID
4275 WHERE [SID] BETWEEN @totalCount - (@curIdx * @number) + 1 AND @totalCount - (@curIdx * @number) + @number
4276 ORDER BY [SID] DESC
4277
4278END
4279GO
4280/****** Object: StoredProcedure [dbo].[NSP_JP_AddJackpotRecord] Script Date: 01/08/2018 04:04:21 ******/
4281SET ANSI_NULLS ON
4282GO
4283SET QUOTED_IDENTIFIER ON
4284GO
4285/*
4286 ==================================================================
4287 Description
4288 ·s¼W±mª÷°O¿ý.
4289 ==================================================================
4290 History
4291 2014/02/06 LJC Created.
4292 ==================================================================
4293 Step
4294 ·s¼W°O¿ý.
4295 ==================================================================
4296 Result
4297 ==================================================================
4298 Example
4299 EXEC [dbo].[NSP_JP_AddJackpotRecord]
4300 @jpid = 10006,
4301 @winlevel = 1,
4302 @totalwin = 112233,
4303 @extrainfo = ''
4304
4305*/
4306CREATE PROCEDURE [dbo].[NSP_JP_AddJackpotRecord]
4307 @machineId INT,
4308 @jpid INT,
4309 @winlevel INT,
4310 @totalwin INT,
4311 @gameId INT,
4312 @groupId INT,
4313 @seatNo INT,
4314 @bet INT,
4315 @extrainfo VARCHAR(2000),
4316 @detail UDT_JackpotRecord_Detail READONLY
4317AS
4318BEGIN
4319 SET NOCOUNT ON;
4320
4321 INSERT INTO dbo.JackpotRecord
4322 ( MachineID ,
4323 JackpotID ,
4324 WinLevel ,
4325 TotalWin ,
4326 GameID ,
4327 GroupID ,
4328 SeatNo ,
4329 Bet ,
4330 CreateDate ,
4331 ExtraInfo
4332 )
4333 VALUES ( @machineId , -- MachineID - int
4334 @jpid , -- JackpotID - int
4335 @winlevel , -- WinLevel - int
4336 @totalwin , -- TotalWin - int
4337 @gameId , -- GameID - int
4338 @groupId , -- GroupID - int
4339 @seatNo , -- SeatNo - int
4340 @bet , -- Bet - int
4341 GETDATE() , -- CreateDate - datetime
4342 @extrainfo -- ExtraInfo - varchar(2000)
4343 )
4344
4345 DECLARE @sid INT = SCOPE_IDENTITY();
4346 INSERT INTO dbo.JackpotRecord_Detail
4347 ( JpRecordSID ,
4348 MachineID ,
4349 CustomerID ,
4350 Win ,
4351 MachineName
4352 )
4353 SELECT @sid, MachineID, CustomerID, Win, MachineName FROM @detail
4354END
4355GO
4356/****** Object: StoredProcedure [dbo].[NSP_Event_CheckQuantityLimit] Script Date: 01/08/2018 04:04:21 ******/
4357SET ANSI_NULLS ON
4358GO
4359SET QUOTED_IDENTIFIER ON
4360GO
4361/*
4362 ==================================================================
4363 Description
4364 檢查數é‡é™åˆ¶.
4365 ==================================================================
4366 History
4367 2014/12/12 LJC Created.
4368 ==================================================================
4369 Step
4370 PeriodType - 0 : 無數é‡é™åˆ¶.
4371 PeriodType - 1 : æ¯æ—¥æ•¸é‡é™åˆ¶.
4372 PeriodType - 2 : 總數é‡é™åˆ¶.
4373 ==================================================================
4374 Result
4375 RETURN 0 - æ•¸é‡æœªè¶…éŽ.
4376 RETURN 1 - 數é‡å·²é”é™åˆ¶.
4377 RETURN 2 - PeriodType錯誤.
4378 ==================================================================
4379 Example
4380 EXEC [dbo].[NSP_Event_CheckQuantityLimit]
4381 @periodType = 0,
4382 @taskId = 1,
4383 @cid = 1
4384
4385*/
4386CREATE PROCEDURE [dbo].[NSP_Event_CheckQuantityLimit]
4387 @periodType INT,
4388 @taskId INT,
4389 @giftType INT,
4390 @cid INT
4391AS
4392BEGIN
4393 SET NOCOUNT ON;
4394
4395 DECLARE @giftCount INT = 0
4396
4397 DECLARE @result BIT = 1
4398 -- 無數é‡é™åˆ¶.
4399 IF (@periodType = 0)
4400 BEGIN
4401 SET @result = 0
4402 END
4403 -- æ¯æ—¥æ•¸é‡é™åˆ¶ï¼Œä»¥GiftType記算數é‡.
4404 ELSE IF (@periodType = 1)
4405 BEGIN
4406 SELECT @giftCount = COUNT(GiftID) FROM dbo.Event_EventGift
4407 WHERE Release = 0
4408 AND GiftType = @giftType
4409 AND CustomerID = @cid
4410 AND CreateTime > DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) -- ä»Šå¤©é ˜äº†å¹¾å€‹.
4411 IF EXISTS (SELECT * FROM dbo.Event_EventSetting WHERE TaskID = @taskId AND GiftMaxQuantity > @giftCount)
4412 BEGIN
4413 SET @result = 0
4414 END
4415 --ELSE
4416 --BEGIN
4417 -- UPDATE dbo.Event_EventAccumulate SET AccumulateValue = 0 WHERE TaskID = @taskId AND CustomerID = @cid
4418 -- --SELECT 'Gift quantity full.'
4419 --END
4420 END
4421 -- 總數é‡é™åˆ¶ï¼Œä»¥GiftType記算數é‡.
4422 ELSE IF (@periodType = 2)
4423 BEGIN
4424 SELECT @giftCount = COUNT(GiftID) FROM dbo.Event_EventGift
4425 WHERE Release = 0
4426 AND GiftType = @giftType
4427 AND CustomerID = @cid
4428 IF EXISTS (SELECT * FROM dbo.Event_EventSetting WHERE TaskID = @taskId AND GiftMaxQuantity > @giftCount)
4429 BEGIN
4430 SET @result = 0
4431 END
4432 END
4433 -- ä¸å˜åœ¨çš„è¨å®š.
4434 ELSE
4435 BEGIN
4436 --SELECT 'Type not defined.'
4437 SET @result = 2
4438 END
4439
4440 RETURN @result;
4441END
4442GO
4443/****** Object: StoredProcedure [dbo].[NSP_BK_ChangePassword] Script Date: 01/08/2018 04:04:21 ******/
4444SET ANSI_NULLS ON
4445GO
4446SET QUOTED_IDENTIFIER ON
4447GO
4448/*
4449 ==================================================================
4450 Description
4451 ÅܧóBookkeeping±K½X.
4452 ==================================================================
4453 History
4454 2014/04/14 LJC Created.
4455 2014/08/08 LJC Modify.
4456 ==================================================================
4457 Step
4458 1. ÅçÃÒ±K½X¬O§_¥¿½T.
4459 2. §ó§ï±K½X.
4460 ==================================================================
4461 Result
4462 RETURN 0 - Åܧ󧹦¨.
4463 RETURN 1 - ±K½XÅçÃÒ¿ù»~.
4464 RETURN 2 - »PÂ¥t¤@±K½X«ÂÃ.
4465 ==================================================================
4466 Example
4467 EXEC [dbo].[NSP_BK_ChangePassword]
4468 @oldPwd = '12345678',
4469 @newPwd = '87654321'
4470
4471*/
4472CREATE PROCEDURE [dbo].[NSP_BK_ChangePassword]
4473 @oldPwd VARCHAR(16),
4474 @newPwd VARCHAR(16)
4475AS
4476BEGIN
4477 SET NOCOUNT ON;
4478
4479 DECLARE @bkPwd VARCHAR(32) = NULL;
4480 SELECT @bkPwd = SettingValue FROM dbo.SystemSetting WHERE SettingKey = N'BkPassword' AND SettingValue = @oldPwd
4481 IF (@bkPwd IS NULL)
4482 BEGIN
4483 RETURN 1;
4484 END
4485
4486 DECLARE @shiftPwd VARCHAR(32) = NULL;
4487 SELECT @shiftPwd = SettingValue FROM dbo.SystemSetting WHERE SettingKey = 'ShiftPassword'
4488 IF (@shiftPwd IS NOT NULL AND @newPwd = @shiftPwd)
4489 BEGIN
4490 RETURN 2;
4491 END
4492
4493 UPDATE dbo.SystemSetting SET SettingValue = @newPwd WHERE SettingKey = N'BkPassword' AND SettingValue = @oldPwd
4494
4495 RETURN 0;
4496END
4497GO
4498/****** Object: StoredProcedure [dbo].[NSP_BK_Authenticate] Script Date: 01/08/2018 04:04:21 ******/
4499SET ANSI_NULLS ON
4500GO
4501SET QUOTED_IDENTIFIER ON
4502GO
4503/*
4504 ==================================================================
4505 Description
4506 ÅçÃÒBookkeeping±K½X.
4507 ==================================================================
4508 History
4509 2014/04/14 LJC Created.
4510 2014/08/07 LJC Modify.
4511 ==================================================================
4512 Step
4513 1. ¬d¸ß¬O§_¬°¸Ó²Õ±K½X.
4514 ==================================================================
4515 Result
4516 RETURN 0 - ±K½X¿ù»~.
4517 RETURN 1 - Bookkeeping±K½X¥¿½T.
4518 RETURN 2 - Shift±K½X¥¿½T.
4519 ==================================================================
4520 Example
4521 EXEC [dbo].[NSP_BK_Authenticate]
4522 @pwd = '12345678',
4523
4524*/
4525CREATE PROCEDURE [dbo].[NSP_BK_Authenticate]
4526 @pwd VARCHAR(16)
4527AS
4528BEGIN
4529 SET NOCOUNT ON;
4530
4531 DECLARE @bkPwd VARCHAR(16) = NULL;
4532 DECLARE @shiftPwd VARCHAR(16) = NULL;
4533 SELECT @bkPwd = SettingValue FROM dbo.SystemSetting WHERE SettingKey = N'BkPassword'
4534 SELECT @shiftPwd = SettingValue FROM dbo.SystemSetting WHERE SettingKey = N'ShiftPassword'
4535 IF (@bkPwd IS NOT NULL AND @bkPwd = @pwd)
4536 BEGIN
4537 RETURN 1;
4538 END
4539 ELSE IF (@shiftPwd IS NOT NULL AND @shiftPwd = @pwd)
4540 BEGIN
4541 RETURN 2;
4542 END
4543
4544 RETURN 0;
4545END
4546GO
4547/****** Object: StoredProcedure [dbo].[NSP_C_LoadingStationChangePassword] Script Date: 01/08/2018 04:04:21 ******/
4548SET ANSI_NULLS ON
4549GO
4550SET QUOTED_IDENTIFIER ON
4551GO
4552/*
4553 ==================================================================
4554 Description
4555 LoadingStationÅܧó±K½X.
4556 ==================================================================
4557 History
4558 2014/02/18 LJC Created.
4559 ==================================================================
4560 Step
4561 ==================================================================
4562 Result
4563 ==================================================================
4564 Example
4565 EXEC [dbo].[NSP_C_LoadingStationChangePassword]
4566 @oldPwd = '12345678',
4567 @newPwd = '12341234'
4568
4569*/
4570CREATE PROCEDURE [dbo].[NSP_C_LoadingStationChangePassword]
4571 @oldPwd VARCHAR(8),
4572 @newPwd VARCHAR(8)
4573AS
4574BEGIN
4575 SET NOCOUNT ON;
4576
4577 IF NOT EXISTS (SELECT * FROM dbo.SystemConfig WHERE SettingKey = 'LoadingStationPwd' AND SettingValue = @oldPwd)
4578 BEGIN
4579 RETURN 1;
4580 END
4581
4582 UPDATE dbo.SystemConfig
4583 SET SettingValue = @newPwd
4584 WHERE SettingKey = 'LoadingStationPwd'
4585
4586 RETURN 0;
4587END
4588GO
4589/****** Object: StoredProcedure [dbo].[NSP_C_LoadingStationCashBoxRead] Script Date: 01/08/2018 04:04:21 ******/
4590SET ANSI_NULLS ON
4591GO
4592SET QUOTED_IDENTIFIER ON
4593GO
4594/*
4595 ==================================================================
4596 Description
4597 LoadingStation CashBox Read
4598 ==================================================================
4599 History
4600 2014/02/12 HJC Created.
4601 2014/02/18 LJC Modify.
4602 ==================================================================
4603 Step
4604 ==================================================================
4605 Result
4606 RETURN 0 - ¥¿±`.
4607 RETURN 1 - ±K½X¿ù»~.
4608 ==================================================================
4609 Example
4610 EXEC [dbo].[NSP_C_LoadingStationCashBoxRead]
4611 @MachineID = 1,
4612 @pwd = '12345678',
4613 @isFromLS = 0
4614
4615*/
4616CREATE PROCEDURE [dbo].[NSP_C_LoadingStationCashBoxRead]
4617 @MachineID INT,
4618 @pwd VARCHAR(8),
4619 @isFromLS BIT
4620AS
4621BEGIN
4622 SET NOCOUNT ON;
4623
4624 IF (@isFromLS = 1)
4625 BEGIN
4626 SELECT Cash, [Count]
4627 FROM LoadingStationCashBox
4628 WHERE MachineID = @MachineID
4629 END
4630 ELSE
4631 BEGIN
4632 IF NOT EXISTS (SELECT * FROM dbo.SystemConfig WHERE SettingKey = 'LoadingStationPwd' AND SettingValue = @pwd)
4633 BEGIN
4634 RETURN 1;
4635 END
4636 ELSE
4637 BEGIN
4638 SELECT Cash, [Count]
4639 FROM LoadingStationCashBox
4640 WHERE MachineID = @MachineID
4641 END
4642 END
4643
4644 RETURN 0;
4645END
4646GO
4647/****** Object: StoredProcedure [dbo].[NSP_C_LoadingStationCashBoxClear] Script Date: 01/08/2018 04:04:21 ******/
4648SET ANSI_NULLS ON
4649GO
4650SET QUOTED_IDENTIFIER ON
4651GO
4652/*
4653 ==================================================================
4654 Description
4655 LoadingStation CashBox Clear
4656 ==================================================================
4657 History
4658 2014/02/12 HJC Created.
4659 2014/02/18 LJC Modify.
4660 ==================================================================
4661 Step
4662 ==================================================================
4663 Result
4664 ==================================================================
4665 Example
4666 EXEC [dbo].[NSP_C_LoadingStationCashBoxClear]
4667 @MachineID = 3,
4668 @pwd = '12345678'
4669*/
4670CREATE PROCEDURE [dbo].[NSP_C_LoadingStationCashBoxClear]
4671 @MachineID INT,
4672 @pwd VARCHAR(8)
4673AS
4674BEGIN
4675 SET NOCOUNT ON;
4676
4677 IF NOT EXISTS (SELECT * FROM dbo.SystemConfig WHERE SettingKey = 'LoadingStationPwd' AND SettingValue = @pwd)
4678 BEGIN
4679 RETURN 1;
4680 END
4681
4682 DELETE FROM LoadingStationCashBox
4683 WHERE MachineID = @MachineID
4684
4685 RETURN 0
4686END
4687GO
4688/****** Object: StoredProcedure [dbo].[NSP_C_LoadingStationCashBoxAdd] Script Date: 01/08/2018 04:04:21 ******/
4689SET ANSI_NULLS ON
4690GO
4691SET QUOTED_IDENTIFIER ON
4692GO
4693/*
4694 ==================================================================
4695 Description
4696 LoadingStation CashBox Add
4697 ==================================================================
4698 History
4699 2014/02/12 HJC Created.
4700 ==================================================================
4701 Step
4702
4703 ==================================================================
4704 Result
4705
4706 ==================================================================
4707 Example
4708 EXEC [dbo].[NSP_C_LoadingStationCashBoxAdd]
4709 @MachineID = 3,
4710 @Cash = 20
4711
4712*/
4713CREATE PROCEDURE [dbo].[NSP_C_LoadingStationCashBoxAdd]
4714 @MachineID INT,
4715 @Cash INT
4716AS
4717BEGIN
4718 SET NOCOUNT ON;
4719
4720 UPDATE LoadingStationCashBox
4721 SET Count = Count + 1
4722 WHERE MachineID = @MachineID AND Cash = @Cash
4723
4724 IF (@@ROWCOUNT = 0)
4725 BEGIN
4726 INSERT INTO LoadingStationCashBox
4727 (MachineID, Cash, Count)
4728 VALUES (@MachineID, @Cash, 1)
4729 END
4730
4731END
4732GO
4733/****** Object: StoredProcedure [dbo].[NSP_Event_Accumulate] Script Date: 01/08/2018 04:04:21 ******/
4734SET ANSI_NULLS ON
4735GO
4736SET QUOTED_IDENTIFIER ON
4737GO
4738/*
4739 ==================================================================
4740 Description
4741 累計的活動累計值.
4742 ==================================================================
4743 History
4744 2014/12/19 LJC Created.
4745 ==================================================================
4746 Step
4747 1. 累計數值.
4748 ==================================================================
4749 Result
4750 ==================================================================
4751 Example
4752 EXEC [dbo].[NSP_Event_Accumulate]
4753 @taskId = 1,
4754 @cid = 1,
4755 @value = 100
4756
4757*/
4758CREATE PROCEDURE [dbo].[NSP_Event_Accumulate]
4759 @taskId INT,
4760 @cid INT,
4761 @value INT
4762AS
4763BEGIN
4764 SET NOCOUNT ON;
4765
4766 -- 累計數值.
4767 ;WITH Setting AS
4768 (
4769 SELECT * FROM dbo.Event_EventSetting WHERE TaskID = @taskId
4770 )
4771 MERGE INTO dbo.Event_EventAccumulate a USING Setting b
4772 ON a.TaskID = b.TaskID AND CustomerID = @cid
4773 WHEN MATCHED THEN
4774 UPDATE SET a.AccumulateValue = a.AccumulateValue + @value
4775 , a.AccumulateTime = GETDATE()
4776 WHEN NOT MATCHED THEN
4777 INSERT ( TaskID, CustomerID, AccumulateValue, AccumulateTime )
4778 VALUES ( b.TaskID, @cid, @value, GETDATE() );
4779
4780 RETURN 0;
4781END
4782GO
4783/****** Object: StoredProcedure [dbo].[NSP_C_GetCustomerSid] Script Date: 01/08/2018 04:04:21 ******/
4784SET ANSI_NULLS ON
4785GO
4786SET QUOTED_IDENTIFIER ON
4787GO
4788/*
4789 ==================================================================
4790 Description
4791 ¨ú±oCustomer¦b¸ê®ÆªÃªº¬y¤ô¸¹.
4792 ==================================================================
4793 History
4794 2013/11/22 LJC Created.
4795 ==================================================================
4796 Step
4797 ==================================================================
4798 Result
4799 RETURN -1 ªÃ¥ÜCustomer¤£¦s¦b¡A§_«hRETURN ¤j©ó-1ªº½s¸¹.
4800 ==================================================================
4801 Example
4802 DECLARE @return_value int
4803 EXEC @return_value = [dbo].[NSP_C_GetCustomerSid]
4804 @customerId = N'1'
4805 SELECT 'Return Value' = @return_value
4806
4807
4808*/
4809CREATE PROCEDURE [dbo].[NSP_C_GetCustomerSid]
4810 @customerId VARCHAR(32)
4811AS
4812BEGIN
4813 SET NOCOUNT ON;
4814
4815 DECLARE @sid INT = -1
4816 SELECT @sid = ID FROM dbo.Customer WHERE CustomerID = @customerId AND Release = 0
4817 RETURN @sid
4818END
4819GO
4820/****** Object: StoredProcedure [dbo].[NSP_C_GetCustomerAccountById_V2] Script Date: 01/08/2018 04:04:21 ******/
4821SET ANSI_NULLS ON
4822GO
4823SET QUOTED_IDENTIFIER ON
4824GO
4825/*
4826 ==================================================================
4827 Description
4828 ¨ÌID¨ú±oÅU«È¸ê®Æ(·s¼WIdentityLicense)
4829 ==================================================================
4830 History
4831 2014/07/17 LJC Created.
4832 ==================================================================
4833 Step
4834 ==================================================================
4835 Result
4836 ==================================================================
4837 Example
4838 EXEC [dbo].[NSP_C_GetCustomerAccountById_V2]
4839 @cid = 1
4840
4841*/
4842CREATE PROCEDURE [dbo].[NSP_C_GetCustomerAccountById_V2]
4843 @cid INT
4844AS
4845BEGIN
4846 SET NOCOUNT ON;
4847
4848 SELECT ID, CustomerID, InternetTime, Credit, Winnings, Hands, IdentityLicense
4849 FROM dbo.Customer
4850 WHERE ID = @cid
4851 RETURN 0
4852END
4853GO
4854/****** Object: StoredProcedure [dbo].[NSP_C_GetCustomerAccountById] Script Date: 01/08/2018 04:04:21 ******/
4855SET ANSI_NULLS ON
4856GO
4857SET QUOTED_IDENTIFIER ON
4858GO
4859/*
4860 ==================================================================
4861 Description
4862 ¨ÌID¨ú±oÅU«È±b¤á¸ê°T.
4863 ==================================================================
4864 History
4865 2013/12/11 LJC Created.
4866 ==================================================================
4867 Step
4868 ==================================================================
4869 Result
4870 ==================================================================
4871 Example
4872 EXEC [dbo].[NSP_C_GetCustomerAccountById]
4873 @cid = 1,
4874
4875*/
4876CREATE PROCEDURE [dbo].[NSP_C_GetCustomerAccountById]
4877 @cid INT
4878AS
4879BEGIN
4880 SET NOCOUNT ON;
4881
4882 SELECT ID, CustomerID, InternetTime, Credit, Winnings, Hands
4883 FROM dbo.Customer
4884 WHERE ID = @cid
4885 RETURN 0
4886END
4887GO
4888/****** Object: Table [dbo].[PosUserFunction_Authority] Script Date: 01/08/2018 04:04:20 ******/
4889SET ANSI_NULLS ON
4890GO
4891SET QUOTED_IDENTIFIER ON
4892GO
4893CREATE TABLE [dbo].[PosUserFunction_Authority](
4894 [UserID] [int] NOT NULL,
4895 [FunctionID] [int] NOT NULL,
4896 [IsEnabled] [bit] NOT NULL
4897) ON [PRIMARY]
4898GO
4899/****** Object: Table [dbo].[TradeRecord] Script Date: 01/08/2018 04:04:20 ******/
4900SET ANSI_NULLS ON
4901GO
4902SET QUOTED_IDENTIFIER ON
4903GO
4904CREATE TABLE [dbo].[TradeRecord](
4905 [ID] [int] IDENTITY(1,1) NOT NULL,
4906 [RecordTime] [datetime] NOT NULL,
4907 [CustomerID] [int] NOT NULL,
4908 [TradeType] [int] NOT NULL,
4909 [Amount] [int] NOT NULL,
4910 [PosID] [int] NOT NULL,
4911 [PosUserID] [int] NOT NULL,
4912PRIMARY KEY CLUSTERED
4913(
4914 [ID] ASC
4915)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
4916) ON [PRIMARY]
4917GO
4918EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'°õ¦æ¥æ©öªºPosID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TradeRecord', @level2type=N'COLUMN',@level2name=N'PosID'
4919GO
4920EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'°õ¦æ¥æ©öªºPosUserID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TradeRecord', @level2type=N'COLUMN',@level2name=N'PosUserID'
4921GO
4922/****** Object: Table [dbo].[PosRoleFunction_Authority] Script Date: 01/08/2018 04:04:20 ******/
4923SET ANSI_NULLS ON
4924GO
4925SET QUOTED_IDENTIFIER ON
4926GO
4927CREATE TABLE [dbo].[PosRoleFunction_Authority](
4928 [RoleID] [int] NOT NULL,
4929 [FunctionID] [int] NOT NULL,
4930 [IsEnabled] [bit] NOT NULL
4931) ON [PRIMARY]
4932GO
4933/****** Object: StoredProcedure [dbo].[NSP_User_UpdateOperatorAccount] Script Date: 01/08/2018 04:04:21 ******/
4934SET ANSI_NULLS ON
4935GO
4936SET QUOTED_IDENTIFIER ON
4937GO
4938/*
4939 ==================================================================
4940 Description
4941 §ó·sOperator±b¸¹.
4942 ==================================================================
4943 History
4944 2014/10/16 LJC Created.
4945 ==================================================================
4946 Step
4947 ==================================================================
4948 Result
4949 ==================================================================
4950 Example
4951 EXEC [dbo].[NSP_User_UpdateAgentAccount]
4952 @account = '73000300',
4953 @password = '123456'
4954
4955*/
4956CREATE PROCEDURE [dbo].[NSP_User_UpdateOperatorAccount]
4957 @account VARCHAR(16),
4958 @password VARCHAR(16)
4959AS
4960BEGIN
4961 SET NOCOUNT ON;
4962
4963 BEGIN TRAN
4964 UPDATE dbo.PosUser SET UserAccount = @account, UserPassword = @password WHERE RoleID = 1 AND ParentUserID = 0
4965
4966 IF (@@ROWCOUNT = 0)
4967 BEGIN
4968 INSERT INTO dbo.PosUser
4969 ( UserAccount ,
4970 UserPassword ,
4971 RoleID ,
4972 ParentUserID ,
4973 UserAccountClosed
4974 )
4975 VALUES ( @account , -- UserAccount - varchar(16)
4976 @password , -- UserPassword - varchar(16)
4977 1 , -- RoleID - int
4978 0 , -- ParentUserID - int
4979 0 -- UserAccountClosed - bit
4980 )
4981 END
4982 COMMIT TRAN
4983END
4984GO
4985/****** Object: StoredProcedure [dbo].[NSP_User_UpdateAgentAccount] Script Date: 01/08/2018 04:04:21 ******/
4986SET ANSI_NULLS ON
4987GO
4988SET QUOTED_IDENTIFIER ON
4989GO
4990/*
4991 ==================================================================
4992 Description
4993
4994 ==================================================================
4995 History
4996 2014/00/00 LJC Created.
4997 ==================================================================
4998 Step
4999
5000 ==================================================================
5001 Result
5002
5003 ==================================================================
5004 Example
5005 EXEC [dbo].[NSP_ProcedureName]
5006 @Param1 = 12345,
5007 @Param2 = N'ABCDE'
5008
5009*/
5010CREATE PROCEDURE [dbo].[NSP_User_UpdateAgentAccount]
5011 @account VARCHAR(16),
5012 @password VARCHAR(16)
5013AS
5014BEGIN
5015 SET NOCOUNT ON;
5016
5017 BEGIN TRAN
5018 UPDATE dbo.PosUser SET UserAccount = @account, UserPassword = @password WHERE RoleID = 0 AND ParentUserID = 0
5019
5020 IF (@@ROWCOUNT = 0)
5021 BEGIN
5022 INSERT INTO dbo.PosUser
5023 ( UserAccount ,
5024 UserPassword ,
5025 RoleID ,
5026 ParentUserID ,
5027 UserAccountClosed
5028 )
5029 VALUES ( @account , -- UserAccount - varchar(16)
5030 @password , -- UserPassword - varchar(16)
5031 0 , -- RoleID - int
5032 0 , -- ParentUserID - int
5033 0 -- UserAccountClosed - bit
5034 )
5035 END
5036 COMMIT TRAN
5037END
5038GO
5039/****** Object: StoredProcedure [dbo].[NSP_Shift_GetNotClosedShiftReports] Script Date: 01/08/2018 04:04:21 ******/
5040SET ANSI_NULLS ON
5041GO
5042SET QUOTED_IDENTIFIER ON
5043GO
5044/*
5045 ==================================================================
5046 Description
5047 ¨ú±oÃÙ¥¼²M°£ªº¯Z°O¿ý.
5048 ==================================================================
5049 History
5050 2014/08/07 LJC Created.
5051 ==================================================================
5052 Step
5053 1. ½Õ¾ãCount.
5054 2. ÂpºâÃ`¶¼Æ.
5055 3. ½Õ¾ã«ü©wªºIndex.
5056 4. ÂpºâÃ`±b.
5057 5. ¦C¥X©Ò¦³Report.
5058 ==================================================================
5059 Result
5060 ==================================================================
5061 Example
5062 EXEC [dbo].[NSP_Shift_GetNotClosedShiftReports]
5063 @index = 0,
5064 @count = 5
5065
5066*/
5067CREATE PROCEDURE [dbo].[NSP_Shift_GetNotClosedShiftReports]
5068 @index INT,
5069 @count INT
5070AS
5071BEGIN
5072 SET NOCOUNT ON;
5073
5074 -- ½Õ¾ãCount.
5075 IF (@count <= 0)
5076 BEGIN
5077 SET @count = 1;
5078 END
5079
5080 -- ÂpºâÃ`¶¼Æ.
5081 DECLARE @totalCount INT = 0;
5082 SELECT @totalCount = COUNT(ShiftID) FROM dbo.ClientShiftReport WHERE IsClosedReport = 0 AND EndTime IS NOT NULL
5083 DECLARE @totalPage INT = @totalCount / @count;
5084 IF (@totalCount % @count > 0)
5085 BEGIN
5086 SET @totalPage = @totalPage + 1
5087 END
5088
5089 -- ½Õ¾ã«ü©wªºIndex.
5090 IF (@index <= 0)
5091 BEGIN
5092 SET @index = 0;
5093 END
5094 ELSE IF (@index >= @totalPage)
5095 BEGIN
5096 SET @index = @totalPage - 1;
5097 END
5098
5099 -- ÂpºâÃ`±b.
5100 DECLARE @totalPurchase INT = 0;
5101 DECLARE @totalComp INT = 0;
5102 DECLARE @totalRedeem INT = 0;
5103 SELECT @totalPurchase = SUM(TotalPurchase), @totalComp = SUM(TotalSpecialComps), @totalRedeem = SUM(TotalRedeem)
5104 FROM dbo.ClientShiftReport WHERE IsClosedReport = 0 AND EndTime IS NOT NULL
5105
5106 -- ¦C¥X©Ò¦³Report.
5107 ;WITH Shift AS
5108 (
5109 SELECT ROW_NUMBER() OVER(ORDER BY ShiftID) - 1 AS ID
5110 , *
5111 , @totalPurchase AS SumPurchase
5112 , @totalComp AS SumComp
5113 , @totalRedeem AS SumRedeem
5114 , @index AS PageIndex
5115 , @totalPage AS TotalPageCount
5116 FROM dbo.ClientShiftReport WHERE IsClosedReport = 0 AND EndTime IS NOT NULL
5117 )
5118 SELECT * FROM Shift WHERE ID BETWEEN @index * @count AND (@index * @count) + @count - 1
5119
5120END
5121GO
5122/****** Object: StoredProcedure [dbo].[NSP_Pos_CreateVoucher] Script Date: 01/08/2018 04:04:21 ******/
5123SET ANSI_NULLS ON
5124GO
5125SET QUOTED_IDENTIFIER ON
5126GO
5127/*
5128 ==================================================================
5129 Description
5130 新增隔日券.
5131 ==================================================================
5132 History
5133 2015/01/09 LJC Created.
5134 2015/06/23 LJC Modify - é…åˆdbo.CustomerTicket.CustomerID修改.
5135 ==================================================================
5136 Step
5137 1. 檢查Customer是å¦å˜åœ¨.
5138 2. å–å¾—é¢é¡.
5139 3. 產生TicketID.
5140 4. 計算使用期間.
5141 5. 新增隔日券.
5142 ==================================================================
5143 Result
5144 RETURN 0 - æ£ç¢º.
5145 RETURN 1 - Customerä¸å˜åœ¨.
5146 ==================================================================
5147 Example
5148 EXEC [dbo].[NSP_Pos_CreateVoucher]
5149 @customerId = '8888888',
5150 @giftId = 1,
5151 @nowTime = '2014-12-18 00:00:00'
5152
5153*/
5154CREATE PROCEDURE [dbo].[NSP_Pos_CreateVoucher]
5155 @customerId VARCHAR(12),
5156 @giftId INT,
5157 @nowTime DATETIME
5158AS
5159BEGIN
5160 SET NOCOUNT ON;
5161
5162 -- 檢查Customer是å¦å˜åœ¨.
5163 DECLARE @cid INT
5164 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
5165 IF (@cid = -1)
5166 BEGIN
5167 RETURN 1;
5168 END
5169
5170 -- å–å¾—é¢é¡.
5171 DECLARE @denomination INT
5172 SELECT @denomination = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'VoucherDenomination'
5173
5174 -- å–å¾—é¢é¡.
5175 DECLARE @voucherPurchaseAmount INT
5176 SELECT @voucherPurchaseAmount = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'VoucherPurchaseAmount'
5177
5178 -- 產生TicketID.
5179 DECLARE @newId VARCHAR(12) = NULL
5180 WHILE (@newId IS NULL)
5181 BEGIN
5182 SET @newId = REPLACE(STR(ABS(CONVERT(BIGINT, CONVERT(BINARY(5), NEWID()))) % 1000000000000, 12), ' ', '0')
5183 IF EXISTS (SELECT * FROM dbo.CustomerTicket WHERE TicketID = @newId)
5184 BEGIN
5185 SET @newId = NULL
5186 END
5187 END
5188
5189 -- 計算使用期間.
5190 DECLARE @startTime DATETIME = DATEADD(dd, 0, DATEDIFF(dd, 0, DATEADD(dd, 1, @nowTime)))
5191
5192 -- 新增隔日券.
5193 INSERT INTO dbo.CustomerTicket
5194 ( TicketID ,
5195 TicketGroup ,
5196 CustomerID ,
5197 Comps ,
5198 StartTime ,
5199 EndTime ,
5200 CreateTime ,
5201 Release ,
5202 ConsumeAmount
5203 )
5204 VALUES ( @newId , -- TicketID - varchar(50)
5205 0 , -- TicketGroup - int
5206 @customerId , -- CustomerID - varchar(12)
5207 @denomination , -- Comps - int
5208 @startTime , -- StartTime - datetime
5209 DATEADD(ss, -1, DATEADD(dd, 8, @startTime)) , -- EndTime - datetime
5210 @nowTime , -- CreateTime - datetime
5211 0 , -- Release - bit
5212 @voucherPurchaseAmount -- ConsumeAmount - int
5213 )
5214
5215 SELECT TicketID
5216 , CustomerID
5217 , Comps
5218 , StartTime
5219 , EndTime
5220 , CreateTime
5221 , ConsumeAmount
5222 FROM dbo.CustomerTicket WHERE TicketID = @newId
5223
5224 RETURN 0
5225END
5226GO
5227/****** Object: StoredProcedure [dbo].[NSP_R_GenerateCustomerDailyReport] Script Date: 01/08/2018 04:04:21 ******/
5228SET ANSI_NULLS ON
5229GO
5230SET QUOTED_IDENTIFIER ON
5231GO
5232/*
5233 ==================================================================
5234 Description
5235 ç”¢ç”Ÿé¡§å®¢æ¯æ—¥å ±è¡¨.
5236 ==================================================================
5237 History
5238 2015/10/01 LJC Created.
5239 ==================================================================
5240 Step
5241 ==================================================================
5242 Result
5243 ==================================================================
5244 Example
5245 EXEC [dbo].[NSP_R_GenerateCustomerDailyReport]
5246 @targetDate = '2015-10-01',
5247 @afterMinuteGen = 1445
5248
5249*/
5250CREATE PROCEDURE [dbo].[NSP_R_GenerateCustomerDailyReport]
5251 @targetDate DATE, -- 指定產生記錄的日期.
5252 @afterMinuteGen INT = 1445 -- 跨日後éŽå¤šå°‘分é˜å¾Œæ‰åŸ·è¡Œ(é è¨24å°æ™‚5分é˜å¾Œ).
5253AS
5254BEGIN
5255 SET NOCOUNT ON;
5256
5257 -- è¦éŽå¤§ç´„éŽ@crossDayTiming分é˜å¾Œæ‰æœƒç”¢ç”Ÿ.
5258 IF (DATEDIFF(mi, @targetDate, GETDATE()) <= @afterMinuteGen)
5259 BEGIN
5260 RETURN 1;
5261 END
5262
5263 DECLARE @start DATETIME = DATEADD(dd, 0, DATEDIFF(dd, 0, @targetDate))
5264 DECLARE @end DATETIME = DATEADD(ss, -1, DATEADD(dd, 1, @start))
5265
5266 ;WITH tradeTmp AS
5267 (
5268 SELECT c.CustomerID
5269 , CASE(t.TradeType)
5270 WHEN (0) THEN SUM(Amount) -- Purchase
5271 WHEN (6) THEN SUM(Amount) -- LoadingStation
5272 WHEN (8) THEN -SUM(Amount) -- Reverse Purchase
5273 ELSE 0 END AS Purchase
5274 , CASE(t.TradeType)
5275 WHEN (2) THEN SUM(Amount) -- Redeem
5276 ELSE 0 END AS Redeem
5277 , CASE(t.TradeType)
5278 WHEN (1) THEN SUM(Amount) -- SpecialComps
5279 WHEN (3) THEN SUM(Amount) -- Free Cash
5280 WHEN (4) THEN SUM(Amount) -- FreeEntry
5281 WHEN (5) THEN SUM(Amount) -- ReferralFare
5282 WHEN (7) THEN SUM(Amount) -- ExtraBonus
5283 WHEN (10) THEN SUM(Amount) -- DailySpecialComps
5284 WHEN (11) THEN SUM(Amount) -- VoucherComps
5285 WHEN (12) THEN SUM(Amount) -- AppCoupon
5286 WHEN (13) THEN SUM(Amount) -- AppBindingComps
5287 WHEN (9) THEN -SUM(Amount) -- Reverse Comps
5288 ELSE 0 END AS Comps
5289 FROM LocalServer.dbo.TradeRecord t
5290 INNER JOIN LocalServer.dbo.Customer c
5291 ON t.CustomerID = c.ID
5292 WHERE RecordTime >= @start AND RecordTime <= @end
5293 GROUP BY DATEPART(YEAR, RecordTime), DATEPART(MONTH, RecordTime), DATEPART(DAY, RecordTime), t.CustomerID, c.CustomerID, t.TradeType
5294 )
5295 , rawTmp AS
5296 (
5297 SELECT CustomerID
5298 , SUM(Purchase) AS TotalIn
5299 , SUM(Redeem) AS TotalRedeem
5300 , SUM(Comps) AS TotalComps
5301 , 0 AS TotalBet
5302 , 0 AS TotalWin
5303 FROM tradeTmp GROUP BY CustomerID
5304 UNION ALL
5305 SELECT MemberID COLLATE SQL_Latin1_General_CP1_CI_AS AS CustomerID
5306 , 0
5307 , 0
5308 , 0
5309 , SUM(TotalBet) AS TotalBet
5310 , SUM(TotalWin) AS TotalWin
5311 FROM CCS.dbo.GameSeatAmassedInfo
5312 WHERE CreateDate >= @start AND CreateDate <= @end
5313 GROUP BY DATEPART(YEAR, CreateDate), DATEPART(MONTH, CreateDate), DATEPART(DAY, CreateDate), MemberID
5314 )
5315 , summary AS
5316 (
5317 SELECT CustomerID
5318 , SUM(TotalIn) AS TotalIn
5319 , SUM(TotalRedeem) AS TotalRedeem
5320 , SUM(TotalComps) AS TotalComps
5321 , SUM(TotalBet) AS TotalBet
5322 , SUM(TotalWin) AS TotalWin
5323 FROM rawTmp
5324 WHERE CustomerID IS NOT NULL
5325 GROUP BY CustomerID
5326 )
5327 INSERT INTO dbo.CustomerDailyReport
5328 ( CreateTime
5329 , RecordDate
5330 , CustomerID
5331 , TotalIn
5332 , TotalRedeem
5333 , TotalComps
5334 , TotalBet
5335 , TotalWin
5336 , CompsRate
5337 , PlayRate )
5338 SELECT GETDATE()
5339 , @start
5340 , *
5341 , CASE TotalIn
5342 WHEN 0 THEN 0
5343 ELSE CAST(TotalComps AS FLOAT) / TotalIn END
5344 , CASE (TotalIn + TotalComps)
5345 WHEN 0 THEN 0
5346 ELSE CAST(TotalBet AS FLOAT) / 100 / ((TotalIn + TotalComps) * 100) END
5347 FROM summary
5348
5349 INSERT INTO dbo.CustomerDailyReport
5350 VALUES ( GETDATE() , -- CreateTime - datetime
5351 @start , -- RecordDate - date
5352 '' , -- CustomerID - varchar(12)
5353 0 , -- TotalIn - int
5354 0 , -- TotalRedeem - int
5355 0 , -- TotalComps - int
5356 0 , -- TotalBet - int
5357 0 , -- TotalWin - int
5358 0.0 , -- CompsRate - float
5359 0.0 -- PlayRate - float
5360 )
5361
5362 RETURN 0;
5363END
5364GO
5365/****** Object: StoredProcedure [dbo].[NSP_R_DeleteOldRecords] Script Date: 01/08/2018 04:04:21 ******/
5366SET ANSI_NULLS ON
5367GO
5368SET QUOTED_IDENTIFIER ON
5369GO
5370/*
5371 ==================================================================
5372 Description
5373 Delete Old Records
5374
5375 ==================================================================
5376 History
5377 2015/12/02 WCS Created.
5378 2016/02/26 WCS Modified. ·s¼W§R¸ê®Æ§PÂ_±ø¥ó
5379 DeleteOldRecord/KeepDays : «O¯d¤Ñ¼Æ
5380 DeleteOldRecord/KeepDBLessThen : DB¨Ã¥Î¶qÂn¤p©ó¦¹¼Æ,¦pªG¶W¹L´N¦b¦h§R¤@¤Ñ¸ê®Æ
5381
5382 ==================================================================
5383 Example
5384 EXEC [dbo].[NSP_R_DeleteOldRecords]
5385*/
5386CREATE PROCEDURE [dbo].[NSP_R_DeleteOldRecords]
5387AS
5388BEGIN
5389 SET NOCOUNT ON;
5390
5391 -- Read Settings
5392 DECLARE @keep_days INT = 30;
5393 SELECT TOP 1 @keep_days = ISNULL(CAST(ValueStr AS INT), 30)
5394 FROM LocalServer.dbo.SyncKeyValue WITH(NOLOCK) WHERE KeyGroup = 'SS.Setting' AND KeyStr = 'game_record_keep_days' ORDER BY SyncID DESC
5395 PRINT '@keep_days:' + CAST(@keep_days AS VARCHAR) + ' days'
5396
5397 DECLARE @keep_db_mb INT = 600;
5398 SELECT TOP 1 @keep_db_mb = ISNULL(CAST(ValueStr AS INT), 600)
5399 FROM LocalServer.dbo.SyncKeyValue WITH(NOLOCK) WHERE KeyGroup = 'SS.Setting' AND KeyStr = 'game_record_db_usage_max' ORDER BY SyncID DESC
5400 PRINT '@keep_db_mb:' + CAST(@keep_db_mb AS VARCHAR) + ' MB'
5401
5402 DECLARE @db_file_kb INT = 0;
5403 DECLARE @keep_db_kb INT = @keep_db_mb * 1024;
5404
5405 -- Delete Records
5406 WHILE @keep_days > 0
5407 BEGIN
5408 PRINT 'NSP_R_LoopDeleteGameSeatAmassedInfo @DeleteBeforeDays = ' + CAST(@keep_days AS VARCHAR(4))
5409 EXEC NSP_R_LoopDeleteGameSeatAmassedInfo @DeleteBeforeDays = @keep_days
5410
5411 PRINT 'NSP_R_LoopDeleteJackpotPlayInfo @DeleteBeforeDays = ' + CAST(@keep_days AS VARCHAR(4))
5412 EXEC NSP_R_LoopDeleteJackpotPlayInfo @DeleteBeforeDays = @keep_days
5413
5414 -- check db file usage
5415 SET @db_file_kb = (SELECT SUM(space_used_kb) FROM CCS.dbo.FN_TableSpaceUsage() WHERE [table] = 'GameSeatAmassedInfo') -- GameSeatAmassedInfo ¹ê»Ú¨Ã¥ÎªÅ¶¡
5416 + (SELECT SUM(space_used_kb) FROM LocalServer.dbo.FN_TableSpaceUsage() WHERE [table] = 'JackpotPlayInfo') -- JackpotPlayInfo ¹ê»Ú¨Ã¥ÎªÅ¶¡
5417 + (SELECT SUM(mf.size)*8 AS FileSize_KB
5418 FROM sys.master_files mf
5419 INNER JOIN sys.databases di ON di.database_id = mf.database_id
5420 WHERE LEFT(mf.physical_name,1) = 'Y' AND mf.Name NOT IN ('gosmio','gosmio_log','LocalServer','LocalServer_log')) --¨ä¥LDBÀɮפj¤p(±Æ°£Ân°µSHRINKªºÀÉ®×)
5421 + (20*1024) -- ¦hºâ 20 MB , Ã×§K´ú¸Õª§Ä³
5422
5423 IF @db_file_kb > @keep_db_kb -- db size is over setting value => delete one more day
5424 BEGIN
5425 PRINT '@db_file_kb > @keep_db_kb(' + CAST(@db_file_kb AS VARCHAR) + ' > ' + CAST(@keep_db_kb AS VARCHAR) + ')'
5426 PRINT 'delete...'
5427 SET @keep_days = @keep_days - 1
5428 CONTINUE
5429 END
5430 ELSE
5431 BEGIN
5432 PRINT '@db_file_kb <= @keep_db_kb(' + CAST(@db_file_kb AS VARCHAR) + ' <= ' + CAST(@keep_db_kb AS VARCHAR) + ')'
5433 PRINT 'delete done.'
5434 RETURN 0
5435 END
5436 END
5437
5438 PRINT 'delete failed.'
5439 RETURN 1
5440END
5441GO
5442/****** Object: StoredProcedure [dbo].[NSP_Shift_GetMachineCurrentShift] Script Date: 01/08/2018 04:04:21 ******/
5443SET ANSI_NULLS ON
5444GO
5445SET QUOTED_IDENTIFIER ON
5446GO
5447/*
5448 ==================================================================
5449 Description
5450 ¨ú±o¾÷¥xªº¯Z¸ê°T.
5451 ==================================================================
5452 History
5453 2014/08/11 LJC Created.
5454 ==================================================================
5455 Step
5456 ==================================================================
5457 Result
5458 ==================================================================
5459 Example
5460 EXEC [dbo].[NSP_Shift_GetMachineCurrentShift]
5461 @machineId = 0
5462
5463*/
5464CREATE PROCEDURE [dbo].[NSP_Shift_GetMachineCurrentShift]
5465 @machineId INT
5466AS
5467BEGIN
5468 SET NOCOUNT ON;
5469
5470 ;WITH Shift AS
5471 (
5472 SELECT TOP 1 a.StartTime, a.EndTime, a.MachineID, b.ID FROM dbo.ClientShiftReport a INNER JOIN dbo.Customer b
5473 ON (a.MachineID + 1) = b.CustomerID AND a.MachineID = @machineId ORDER BY a.StartTime DESC
5474 )
5475 SELECT a.TradeType, SUM(a.Amount) AS Amount, b.StartTime, b.EndTime, b.MachineID
5476 FROM dbo.TradeRecord a INNER JOIN Shift b
5477 ON a.RecordTime > b.StartTime AND a.CustomerID = b.ID GROUP BY TradeType, StartTime, EndTime, MachineID
5478END
5479GO
5480/****** Object: StoredProcedure [dbo].[NSP_Shift_EndMachineCurrentShift] Script Date: 01/08/2018 04:04:21 ******/
5481SET ANSI_NULLS ON
5482GO
5483SET QUOTED_IDENTIFIER ON
5484GO
5485/*
5486 ==================================================================
5487 Description
5488 ¹ï¾÷¥xµ²ºâ¯Z¸ê°T.
5489 ==================================================================
5490 History
5491 2014/08/11 LJC Created.
5492 ==================================================================
5493 Step
5494 1. µ²ºâ¥Ø«e¯Z°O¿ý.
5495 2. «Ø¥ß·s¯Z°O¿ý.
5496 3. ¨ú±o¦¹¦¸µ²ºâªº¯Z°O¿ý.
5497 ==================================================================
5498 Result
5499 ==================================================================
5500 Example
5501 EXEC [dbo].[NSP_Shift_EndMachineCurrentShift]
5502 @machineId = 0
5503
5504*/
5505CREATE PROCEDURE [dbo].[NSP_Shift_EndMachineCurrentShift]
5506 @machineId INT
5507AS
5508BEGIN
5509 SET NOCOUNT ON;
5510
5511 DECLARE @shiftId INT;
5512 DECLARE @startTime DATETIME;
5513 SELECT TOP 1 @shiftId = ShiftID, @startTime = StartTime FROM dbo.ClientShiftReport
5514 WHERE EndTime IS NULL AND MachineID = @machineId ORDER BY ShiftID DESC
5515
5516 -- µ²ºâ¥Ø«e¯Z°O¿ý.
5517 UPDATE dbo.ClientShiftReport
5518 SET EndTime = GETDATE()
5519 , TotalPurchase = (SELECT ISNULL(SUM(Amount), 0) FROM dbo.TradeRecord WHERE TradeType = 0 AND RecordTime >= @startTime AND CustomerID = @machineId)
5520 , TotalSpecialComps = (SELECT ISNULL(SUM(Amount), 0) FROM dbo.TradeRecord WHERE TradeType = 1 AND RecordTime >= @startTime AND CustomerID = @machineId)
5521 , TotalRedeem = (SELECT ISNULL(SUM(Amount), 0) FROM dbo.TradeRecord WHERE TradeType = 2 AND RecordTime >= @startTime AND CustomerID = @machineId)
5522 WHERE ShiftID = @shiftId
5523
5524 -- «Ø¥ß·s¯Z°O¿ý.
5525 INSERT INTO dbo.ClientShiftReport (StartTime, MachineID) VALUES (GETDATE() , @machineId)
5526
5527 -- ¨ú±o¦¹¦¸µ²ºâªº¯Z°O¿ý.
5528 SELECT * FROM dbo.ClientShiftReport WHERE ShiftID = @shiftId
5529END
5530GO
5531/****** Object: StoredProcedure [dbo].[NSP_C_GamePurchase] Script Date: 01/08/2018 04:04:21 ******/
5532SET ANSI_NULLS ON
5533GO
5534SET QUOTED_IDENTIFIER ON
5535GO
5536/*
5537 ==================================================================
5538 Description
5539 ±NEntriesÂà ´«¦¨Winnings.
5540 ==================================================================
5541 History
5542 2014/10/02 LJC Created.
5543 2015/12/09 WCS Modify. WebstoreCoupon
5544 2016/03/07 WCS Modify. WebstoreCoupon ¤£Âp¹CÀ¸¤¤Purchase
5545 ==================================================================
5546 Step
5547 RETURN 0 - §¹¦¨.
5548 RETURN 1 - Customer¤£¦s¦b.
5549 RETURN 2 - Winning¤£¦Xªk.
5550 RETURN 3 - Winning¤£°÷Âà ´«.
5551 ==================================================================
5552 Result
5553 1. ÀˬdCustomer¬O§_¦s¦b.
5554 2. Àˬdwinning¬O§_¦Xªk.
5555 3. ÀˬdWinning¬O§_¨¬°÷Âà ´«.
5556 4. ±NWinningÂà ´«¦¨Credit.
5557 ==================================================================
5558 Example
5559 EXEC [dbo].[NSP_C_GamePurchase]
5560 @machineId = 1,
5561 @customerId = '3',
5562 @winnings = 100
5563
5564*/
5565CREATE PROCEDURE [dbo].[NSP_C_GamePurchase]
5566 @customerId VARCHAR(12),
5567 @winnings INT
5568AS
5569BEGIN
5570 SET NOCOUNT ON;
5571
5572 -- ÀˬdCustomer¬O§_¦s¦b.
5573 DECLARE @cid INT
5574 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
5575 IF (@cid = -1)
5576 BEGIN
5577 RETURN 1
5578 END
5579
5580 -- Àˬdwinning¬O§_¦Xªk.
5581 IF (@winnings <= 0)
5582 BEGIN
5583 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
5584 RETURN 2;
5585 END
5586
5587 -- ÀˬdWinning¬O§_¨¬°÷Âà ´«.
5588 DECLARE @tmpWinnings INT;
5589 SELECT @tmpWinnings = (Winnings - @winnings) FROM dbo.Customer WHERE ID = @cid
5590 IF (@tmpWinnings < 0)
5591 BEGIN
5592 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
5593 RETURN 3;
5594 END
5595
5596 -- ±NWinningÂà ´«¦¨Credit.
5597 DECLARE @creditUnit INT
5598 DECLARE @internetUnit INT
5599 SELECT @creditUnit = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'CreditUnit'
5600 SELECT @internetUnit = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'InternetTimeUnit'
5601
5602 UPDATE dbo.Customer
5603 SET
5604 Credit = Credit + @winnings
5605 , Winnings = Winnings - @winnings
5606 , InternetTime = InternetTime + (@winnings / @creditUnit) * (@internetUnit * 60)
5607 WHERE ID = @cid
5608
5609 -- WebstoreCoupon
5610 --DECLARE @pruchase INT = FLOOR(CAST(@winnings AS MONEY) / CAST(@creditUnit AS MONEY))
5611 --EXEC dbo.NSP_C_WebstoreCoupon_Purchase @customerId, @pruchase
5612
5613 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
5614 RETURN 0;
5615END
5616GO
5617/****** Object: StoredProcedure [dbo].[NSP_C_GameBet] Script Date: 01/08/2018 04:04:21 ******/
5618SET ANSI_NULLS ON
5619GO
5620SET QUOTED_IDENTIFIER ON
5621GO
5622/*
5623 ==================================================================
5624 Description
5625 éŠæˆ²æŠ¼æ³¨æ›´æ–°é¡§å®¢é»žæ•¸.
5626 ==================================================================
5627 History
5628 2013/12/10 LJC Created.
5629 2014/02/07 LJC Modify.
5630 2014/04/29 LJC Modify.
5631 2016/03/03 LJC Modify - 新增PlayScoreåƒæ•¸.
5632 ==================================================================
5633 Step
5634 1. Customerä¸å˜åœ¨ä¸è™•ç†.
5635 2. 押注為零ä¸è™•ç†.
5636 3. è¨ˆç®—æ›´æ–°å¾Œçš„éŠæˆ²é»žæ•¸.
5637 4. 計算更新後的Hands.
5638 5. 更新顧客數值.
5639 6. 更新GameReports資訊.
5640 ==================================================================
5641 Result
5642 RETURN 0 æ£å¸¸.
5643 RETURN 1 Customerä¸å˜åœ¨.
5644 RETURN 2 押注為零.
5645 RETURN 3 點數ä¸è¶³ï¼ŒæŠ¼æ³¨æœ‰å•題.
5646 ==================================================================
5647 Example
5648 EXEC [dbo].[NSP_C_GameBet]
5649 @customerId = '1',
5650 @totalBet = 100,
5651 @gameBet = 5,
5652 @gameId = 1001,
5653 @playScore = 0
5654
5655*/
5656CREATE PROCEDURE [dbo].[NSP_C_GameBet]
5657 @customerId VARCHAR(12),
5658 @totalBet INT,
5659 @gameBet INT,
5660 @gameId INT,
5661 @playScore BIT
5662AS
5663BEGIN
5664 SET NOCOUNT ON;
5665
5666 -- Customerä¸å˜åœ¨ä¸è™•ç†.
5667 DECLARE @cid INT
5668 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
5669 IF (@cid = -1)
5670 BEGIN
5671 RETURN 1
5672 END
5673
5674 -- 押注為零ä¸è™•ç†.
5675 IF (@totalBet <= 0)
5676 BEGIN
5677 RETURN 2
5678 END
5679
5680 DECLARE @credit INT = 0
5681 DECLARE @winnings INT = 0
5682 DECLARE @hands INT = 0
5683 SELECT @credit = Credit, @winnings = Winnings, @hands = Hands FROM dbo.Customer WHERE ID = @cid
5684
5685 -- è¨ˆç®—æ›´æ–°å¾Œçš„éŠæˆ²é»žæ•¸.
5686 IF (@playScore = 1)
5687 BEGIN
5688 IF (@credit > @totalBet)
5689 BEGIN
5690 SET @credit = @credit - @totalBet
5691 END
5692 ELSE
5693 BEGIN
5694 DECLARE @remain INT = @totalBet - @credit
5695 IF (@winnings < @remain)
5696 BEGIN
5697 RETURN 3
5698 END
5699
5700 SET @credit = 0;
5701 SET @winnings = @winnings - @remain
5702 END
5703 END
5704 ELSE
5705 BEGIN
5706 IF (@credit < @totalBet)
5707 BEGIN
5708 RETURN 3
5709 END
5710
5711 SET @credit = @credit - @totalBet
5712 END
5713
5714 -- 計算更新後的Hands.
5715 DECLARE @enableHands BIT
5716 SELECT @enableHands = CONVERT(BIT, SettingValue) FROM dbo.SystemConfig WHERE SettingKey = 'EnableHands'
5717 DECLARE @handDollar INT = 0
5718 SELECT @handDollar = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = 'HandOfDollar'
5719 IF (@enableHands = 1 AND @handDollar > 0)
5720 BEGIN
5721 SET @hands = @hands + 1
5722 END
5723
5724 -- 更新數值.
5725 UPDATE dbo.Customer
5726 SET
5727 Credit = @credit,
5728 Winnings = @winnings,
5729 Hands = @hands
5730 WHERE ID = @cid
5731
5732 -- 更新GameReports資訊.
5733 UPDATE a
5734 SET
5735 a.TotalPlay = b.TotalPlay + @gameBet
5736 , a.TotalPlayTimes = b.TotalPlayTimes + 1
5737 FROM dbo.GameReports a INNER JOIN dbo.GameReports b
5738 ON a.GameID = b.GameID AND a.GameID = @gameId
5739
5740 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
5741 RETURN 0
5742END
5743GO
5744/****** Object: StoredProcedure [dbo].[NSP_C_EnterLicenseForCustomer] Script Date: 01/08/2018 04:04:21 ******/
5745SET ANSI_NULLS ON
5746GO
5747SET QUOTED_IDENTIFIER ON
5748GO
5749/*
5750 ==================================================================
5751 Description
5752 ¿é¤J¨Â¤À»{ÃÒ½X.
5753 ==================================================================
5754 History
5755 2014/07/17 LJC Created.
5756 ==================================================================
5757 Step
5758 -- ½T»{CustomerID¥¿½T.
5759 -- ½T»{CustomerID¬O§_¤w¦³¨Â¥÷»{ÃÒ½X.
5760 -- ÂY¸ÓÅU«È¨S¦³¨Â¥÷»{ÃÒ½X«h·s¼W.
5761 ==================================================================
5762 Result
5763 RETURN 0 - ¥¿±`.
5764 RETURN 1 - §ä¤£¨ìÅU«È.
5765 RETURN 2 - ¸ÓÅU«È¤w¦³¨Â¥÷»{ÃÒ½X.
5766 RETURN 3 - ¦¹¨Â¥÷»{ÃÒ½X¤w¨Ã¥Î.
5767 ==================================================================
5768 Example
5769 EXEC [dbo].[NSP_C_EnterLicenseForCustomer]
5770 @customerId = '1',
5771 @license = 'ABCDE'
5772
5773*/
5774CREATE PROCEDURE [dbo].[NSP_C_EnterLicenseForCustomer]
5775 @customerId VARCHAR(12),
5776 @license VARCHAR(64)
5777AS
5778BEGIN
5779 SET NOCOUNT ON;
5780
5781 -- ½T»{CustomerID¥¿½T.
5782 DECLARE @cid INT
5783 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
5784 IF (@cid = -1)
5785 BEGIN
5786 RETURN 1;
5787 END
5788
5789 -- ½T»{CustomerID¬O§_¤w¦³¨Â¥÷»{ÃÒ½X.
5790 DECLARE @oriLicense VARCHAR(64);
5791 SELECT @oriLicense = IdentityLicense FROM dbo.Customer WHERE ID = @cid
5792 IF @oriLicense != ''
5793 BEGIN
5794 RETURN 2;
5795 END
5796
5797 IF EXISTS (SELECT ID FROM dbo.Customer WHERE Release = 0 AND IdentityLicense = @license)
5798 BEGIN
5799 RETURN 3;
5800 END
5801
5802 -- ÂY¸ÓÅU«È¨S¦³¨Â¥÷»{ÃÒ½X«h·s¼W.
5803 UPDATE dbo.Customer SET IdentityLicense = @license WHERE ID = @cid
5804
5805 EXEC [dbo].[NSP_C_GetCustomerAccountById_V2] @cid
5806 RETURN 0;
5807END
5808GO
5809/****** Object: StoredProcedure [dbo].[NSP_C_EditLicenseForCustomer] Script Date: 01/08/2018 04:04:21 ******/
5810SET ANSI_NULLS ON
5811GO
5812SET QUOTED_IDENTIFIER ON
5813GO
5814/*
5815 ==================================================================
5816 Description
5817 ==================================================================
5818 History
5819 2014/08/19 LJC Created.
5820 ==================================================================
5821 Step
5822 -- ½T»{CustomerID¥¿½T.
5823 -- ¨Â¥÷»{ÃÒ½X»P·s¨Â¥÷»{ÃÒ½X¬O§_¬Û¦P.
5824 -- Àˬd·s¨Â¥÷»{ÃÒ½X¬O§_¤w¦³¨ä¥LÃ…U«È¨Ã¥Î.
5825 -- ±N·s¨Â¥÷»{ÃÒ½X§ó·s.
5826 ==================================================================
5827 Result
5828 RETURN 0 - ¥¿±`.
5829 RETURN 1 - §ä¤£¨ìÅU«È.
5830 RETURN 2 - ¦¹¨Â¥÷»{ÃÒ½X¤w¨Ã¥Î.
5831 ==================================================================
5832 Example
5833 EXEC [dbo].[NSP_C_EditLicenseForCustomer]
5834 @customerId = '1',
5835 @oldLicense = 'ABCDE',
5836 @newlicense = '123456'
5837
5838*/
5839CREATE PROCEDURE [dbo].[NSP_C_EditLicenseForCustomer]
5840 @customerId VARCHAR(12),
5841 @oldLicense VARCHAR(64),
5842 @newlicense VARCHAR(64)
5843AS
5844BEGIN
5845 SET NOCOUNT ON;
5846
5847 -- ½T»{CustomerID¥¿½T.
5848 DECLARE @cid INT = -1;
5849 SELECT @cid = ID FROM dbo.Customer WHERE Release = 0 AND CustomerID = @customerId AND IdentityLicense = @oldLicense
5850 IF (@cid = -1)
5851 BEGIN
5852 RETURN 1;
5853 END
5854
5855 -- ¨Â¥÷»{ÃÒ½X»P·s¨Â¥÷»{ÃÒ½X¬O§_¬Û¦P.
5856 IF (@oldLicense = @newlicense)
5857 BEGIN
5858 EXEC [dbo].[NSP_C_GetCustomerAccountById_V2] @cid
5859 RETURN 0;
5860 END
5861
5862 -- Àˬd·s¨Â¥÷»{ÃÒ½X¬O§_¤w¦³¨ä¥LÃ…U«È¨Ã¥Î.
5863 IF EXISTS (SELECT ID FROM dbo.Customer WHERE Release = 0 AND IdentityLicense = @newlicense)
5864 BEGIN
5865 RETURN 2;
5866 END
5867
5868 -- ±N·s¨Â¥÷»{ÃÒ½X§ó·s.
5869 UPDATE dbo.Customer SET IdentityLicense = @newlicense WHERE ID = @cid
5870
5871 EXEC [dbo].[NSP_C_GetCustomerAccountById_V2] @cid
5872 RETURN 0;
5873END
5874GO
5875/****** Object: StoredProcedure [dbo].[NSP_C_DoSpecialComps] Script Date: 01/08/2018 04:04:21 ******/
5876SET ANSI_NULLS ON
5877GO
5878SET QUOTED_IDENTIFIER ON
5879GO
5880/*
5881 ==================================================================
5882 Description
5883 ¯S§OÃØ°eÂI¼Æ.
5884 ==================================================================
5885 History
5886 2013/11/27 LJC Created.
5887 2013/09/11 LJC Modify - TradeRecord·s¼WPosID»PPosUserID.
5888 ==================================================================
5889 Step
5890 1. Amount¦³°ÃÃD¤£³B²z.
5891 2. Customer¤£¦s¦b¤£³B²z.
5892 3. SpecialCompsªºª÷ÃB¬°0®É¤£²£¥Ã¥æ©ö°O¿ý.
5893 4. ²£¥Ã¥æ©ö°O¿ý.
5894 ==================================================================
5895 Result
5896 RETURN 0 ¦¨¥\.
5897 RETURN 1 Amount¦³°ÃÃD.
5898 RETURN 2 Customer¤£¦s¦b.
5899 RETURN 3 SpecialCompsªºª÷ÃB¬°0.
5900 ==================================================================
5901 Example
5902 EXEC [dbo].[NSP_C_DoSpecialComps]
5903 @customerId = N'1',
5904 @amount = 100,
5905 @posId = 1,
5906 @posUserId = 1
5907*/
5908CREATE PROCEDURE [dbo].[NSP_C_DoSpecialComps]
5909 @customerId VARCHAR(12),
5910 @amount INT,
5911 @posId INT,
5912 @posUserId INT
5913AS
5914BEGIN
5915 SET NOCOUNT ON;
5916
5917 -- Amount¦³°ÃÃD¤£³B²z.
5918 IF (@amount < 0)
5919 BEGIN
5920 RETURN 1
5921 END
5922
5923 -- Customer¤£¦s¦b¤£³B²z.
5924 DECLARE @cid INT
5925 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
5926 IF (@cid = -1)
5927 BEGIN
5928 RETURN 2
5929 END
5930
5931 DECLARE @entry INT
5932 EXEC @entry = dbo.NSP_S_ConvertToEntry @amount;
5933
5934 UPDATE dbo.Customer
5935 SET Credit = (SELECT Credit FROM dbo.Customer WHERE ID = @cid) + @entry
5936 WHERE dbo.Customer.ID = @cid
5937
5938 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
5939
5940 -- Purchaseªºª÷ÃB¬°0®É¤£²£¥Ã¥æ©ö°O¿ý.
5941 IF (@entry = 0)
5942 BEGIN
5943 RETURN 3
5944 END
5945
5946 -- ²£¥Ã¥æ©ö°O¿ý.
5947 INSERT INTO dbo.TradeRecord
5948 ( RecordTime , CustomerID , TradeType , Amount, PosID, PosUserID )
5949 VALUES ( GETDATE() , @cid , 1 , @amount, @posId, @posUserId )
5950 RETURN 0
5951END
5952GO
5953/****** Object: StoredProcedure [dbo].[NSP_C_CustomerLogin] Script Date: 01/08/2018 04:04:21 ******/
5954SET ANSI_NULLS ON
5955GO
5956SET QUOTED_IDENTIFIER ON
5957GO
5958/*
5959 ==================================================================
5960 Description
5961 ÅU«Èµn¤J
5962 ==================================================================
5963 History
5964 2013/12/11 LJC Created.
5965 ==================================================================
5966 Step
5967 -- Customer¤£¦s¦b¤£³B²z.
5968 -- §ó·sLastLogoutTime.
5969 ==================================================================
5970 Result
5971 RETURN 0 ¥¿±`.
5972 RETURN 1 Customer¤£¦s¦b.
5973 ==================================================================
5974 Example
5975 EXEC [dbo].[NSP_C_CustomerLogin]
5976 @customerId = '1'
5977
5978*/
5979CREATE PROCEDURE [dbo].[NSP_C_CustomerLogin]
5980 @customerId VARCHAR(12)
5981AS
5982BEGIN
5983 SET NOCOUNT ON;
5984
5985 -- Customer¤£¦s¦b¤£³B²z.
5986 DECLARE @cid INT
5987 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
5988 IF (@cid = -1)
5989 BEGIN
5990 RETURN 1
5991 END
5992
5993 -- ÂYCustomer¤W¦¸¨S¦³µnÂ¥X®É¶¡(ªÃ¥Ü¥X²{²§±`Â÷½u)¡A«h±NCustomerªºµnÂ¥X®É¶¡°O¦¨¥Ø«e®É¶¡.
5994 UPDATE dbo.Customer
5995 SET
5996 LastLogoutTime = GETDATE()
5997 WHERE ID = @cid AND LastLogoutTime IS NULL
5998
5999 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
6000 RETURN 0
6001END
6002GO
6003/****** Object: StoredProcedure [dbo].[NSP_C_CreditInOnly] Script Date: 01/08/2018 04:04:21 ******/
6004SET ANSI_NULLS ON
6005GO
6006SET QUOTED_IDENTIFIER ON
6007GO
6008/*
6009 ==================================================================
6010 Description
6011 Key In for customer.
6012 ==================================================================
6013 History
6014 2015/06/19 LJC Created.
6015 ==================================================================
6016 Step
6017 1. Amount有å•題ä¸è™•ç†.
6018 2. Customerä¸å˜åœ¨ä¸è™•ç†.
6019 3. Coupon的金é¡ç‚º0時ä¸ç”¢ç”Ÿäº¤æ˜“記錄.
6020 4. 產生交易記錄.
6021 ==================================================================
6022 Result
6023 RETURN 0 æˆåŠŸ.
6024 RETURN 1 Amount有å•題.
6025 RETURN 2 Customerä¸å˜åœ¨.
6026 RETURN 3 Coupon的金é¡ç‚º0.
6027 ==================================================================
6028 Example
6029 EXEC [dbo].[NSP_C_CreditInOnly]
6030 @customerId = N'1',
6031 @amount = 100,
6032 @tradeType = 0,
6033 @posId = 1,
6034 @posUserId = 1
6035
6036*/
6037CREATE PROCEDURE [dbo].[NSP_C_CreditInOnly]
6038 @customerId VARCHAR(12),
6039 @amount INT,
6040 @tradeType INT,
6041 @posId INT,
6042 @posUserId INT
6043AS
6044BEGIN
6045 SET NOCOUNT ON;
6046
6047 -- Amount有å•題ä¸è™•ç†.
6048 IF (@amount < 0)
6049 BEGIN
6050 RETURN 1
6051 END
6052
6053 -- Customerä¸å˜åœ¨ä¸è™•ç†.
6054 DECLARE @cid INT
6055 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
6056 IF (@cid = -1)
6057 BEGIN
6058 RETURN 2
6059 END
6060
6061 DECLARE @entry INT
6062 EXEC @entry = dbo.NSP_S_ConvertToEntry @amount;
6063
6064 UPDATE dbo.Customer
6065 SET Credit = Credit + @entry
6066 WHERE ID = @cid
6067
6068 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
6069
6070 -- 金é¡ç‚º0時ä¸ç”¢ç”Ÿäº¤æ˜“記錄.
6071 IF (@entry = 0)
6072 BEGIN
6073 RETURN 3
6074 END
6075
6076 -- 產生交易記錄.
6077 INSERT INTO dbo.TradeRecord
6078 ( RecordTime , CustomerID , TradeType , Amount, PosID, PosUserID )
6079 VALUES ( GETDATE() , @cid , @tradeType , @amount, @posId, @posUserId )
6080 RETURN 0
6081END
6082GO
6083/****** Object: StoredProcedure [dbo].[NSP_C_CreateNewCustomer_V2] Script Date: 01/08/2018 04:04:21 ******/
6084SET ANSI_NULLS ON
6085GO
6086SET QUOTED_IDENTIFIER ON
6087GO
6088/*
6089 ==================================================================
6090 Description
6091 «Ø¥ßÅU«È.
6092 ==================================================================
6093 History
6094 2014/09/04 LJC Created.
6095 ==================================================================
6096 Step
6097 1. ÀˬdCustomerID¬O§_¦s¦b.
6098 2. ÀˬdLicense¬O§_¦s¦b.
6099 3. ¨ú±oID.
6100 4. «Ø¥ßCustomer.
6101 ==================================================================
6102 Result
6103 RETURN 0 - «Ø¥ß¥¿½T.
6104 RETURN 1 - CustomerID¤w¦s¦b.
6105 RETURN 2 - License¤w¦s¦b.
6106 ==================================================================
6107 Example
6108 EXEC [dbo].[NSP_C_CreateNewCustomer_V2]
6109 @customerId = '123456',
6110 @license = 'ABCDE12345'
6111
6112*/
6113CREATE PROCEDURE [dbo].[NSP_C_CreateNewCustomer_V2]
6114 @customerId VARCHAR(12),
6115 @license VARCHAR(64)
6116AS
6117BEGIN
6118 SET NOCOUNT ON;
6119
6120 -- ÀˬdCustomerID¬O§_¦s¦b.
6121 DECLARE @cid INT
6122 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
6123 IF (@cid != -1)
6124 BEGIN
6125 RETURN 1;
6126 END
6127
6128 -- ÀˬdLicense¬O§_¦s¦b.
6129 IF (@license != '')
6130 BEGIN
6131 IF EXISTS (SELECT * FROM dbo.Customer WHERE Release = 0 AND IdentityLicense = @license)
6132 BEGIN
6133 RETURN 2;
6134 END
6135 END
6136
6137 -- ¨ú±oID.
6138 DECLARE @maxId INT = 0
6139 SELECT @maxId = ISNULL(MAX(ID), 0) FROM dbo.Customer
6140
6141 -- «Ø¥ßCustomer.
6142 INSERT INTO dbo.Customer
6143 ( ID ,
6144 FirstName ,
6145 LastName ,
6146 CustomerID ,
6147 IsPresentSpecialComp ,
6148 Birthday ,
6149 LastLoginTime ,
6150 LastDailyFreeEntryTime ,
6151 LastDailySpecialCompTime
6152 )
6153 VALUES ( @maxId + 1 , -- ID - int
6154 '' , -- FirstName - varchar(30)
6155 '' , -- LastName - varchar(30)
6156 @customerId , -- CustomerID - varchar(12)
6157 1 , -- IsPresentSpecialComp - bit
6158 GETDATE() , -- Birthday - date
6159 GETDATE() , -- LastLoginTime - datetime
6160 '2013-01-01 00:00:00' , -- LastDailyFreeEntryTime - datetime
6161 '2013-01-01 00:00:00' -- LastDailySpecialCompTime - datetime
6162 )
6163
6164 RETURN 0;
6165END
6166GO
6167/****** Object: StoredProcedure [dbo].[NSP_C_CreateNewCustomer] Script Date: 01/08/2018 04:04:21 ******/
6168SET ANSI_NULLS ON
6169GO
6170SET QUOTED_IDENTIFIER ON
6171GO
6172/*
6173 ==================================================================
6174 Description
6175 «Ø¥ß·sÅU«È.
6176 ==================================================================
6177 History
6178 2013/11/27 LJC Created.
6179 ==================================================================
6180 Step
6181 1. Customer¦s¦b¤£³B²z.
6182 2. ¨ú±o·s§Ç¸¹.
6183 3. ·s¼WÅU«È¸ê®Æ.
6184 4. «Ø¥ß¤¶²Ã¤HÃö¨t.
6185 ==================================================================
6186 Result
6187 RETURN 0 ¦¨¥\.
6188 RETURN 1 ÅU«È¤w¦s¦b.
6189 =================================================================
6190 Example
6191 EXEC [dbo].[NSP_C_CreateNewCustomer]
6192 @customerId = N'12345',
6193 @firstName = N'12345',
6194 @lastName = N'12345',
6195 @birthday = N'2013-11-27',
6196 @referralId = N'123'
6197
6198*/
6199CREATE PROCEDURE [dbo].[NSP_C_CreateNewCustomer]
6200 @customerId VARCHAR(7),
6201 @firstName VARCHAR(30),
6202 @lastName VARCHAR(30),
6203 @birthday DATE,
6204 @address VARCHAR(100) = N'',
6205 @city VARCHAR(30) = N'',
6206 @state VARCHAR(30) = N'',
6207 @zip VARCHAR(10) = N'',
6208 @phone VARCHAR(20) = N'',
6209 @email VARCHAR(100) = N'',
6210 @referralId VARCHAR(7) = N''
6211AS
6212BEGIN
6213 SET NOCOUNT ON;
6214
6215 -- Customer¦s¦b¤£³B²z.
6216 DECLARE @cid INT
6217 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
6218 IF (@cid <> -1)
6219 BEGIN
6220 RETURN 1
6221 END
6222
6223 -- ¨ú±o·s§Ç¸¹.
6224 DECLARE @maxId INT
6225 IF NOT EXISTS (SELECT ID FROM dbo.Customer)
6226 BEGIN
6227 SET @maxId = 1
6228 END
6229 ELSE
6230 BEGIN
6231 SELECT TOP(1) @maxId = ID FROM dbo.Customer ORDER BY ID DESC
6232 SET @maxId = @maxId + 1
6233 END
6234
6235 -- ·s¼WÅU«È¸ê®Æ.
6236 INSERT INTO dbo.Customer
6237 ( ID ,
6238 InternetTime ,
6239 Credit ,
6240 Winnings ,
6241 FirstName ,
6242 LastName ,
6243 [Address] ,
6244 City ,
6245 [State] ,
6246 Zip ,
6247 Phone ,
6248 Email ,
6249 Release ,
6250 CustomerID ,
6251 IsPresentSpecialComp ,
6252 Birthday ,
6253 LastLoginTime ,
6254 LastDailyFreeEntryTime ,
6255 LastDailySpecialCompTime
6256 )
6257 VALUES ( @maxId , -- ID - int
6258 0 , -- InternetTime - int
6259 0 , -- Credit - int
6260 0 , -- Winnings - int
6261 @firstName , -- FirstName - varchar(30)
6262 @lastName , -- LastName - varchar(30)
6263 @address , -- Address - varchar(100)
6264 @city , -- City - varchar(30)
6265 @state , -- State - varchar(30)
6266 @zip , -- Zip - varchar(10)
6267 @phone , -- Phone - varchar(20)
6268 @email , -- Email - varchar(100)
6269 0 , -- Release - int
6270 @customerId , -- CustomerID - varchar(12)
6271 1 , -- IsPresentSpecialComp - bit
6272 @birthday , -- Birthday - date
6273 GETDATE() , -- LastLoginTime - datetime
6274 '2013-01-01 00:00:00' , -- LastDailyFreeEntryTime - datetime
6275 '2013-01-01 00:00:00' -- LastDailySpecialCompTime - datetime
6276 )
6277
6278 -- «Ø¥ß¤¶²Ã¤HÃö¨t.
6279 IF (@referralId <> N'')
6280 BEGIN
6281 DECLARE @rcid INT
6282 SELECT @rcid = ID FROM dbo.Customer WHERE CustomerID = @referralId AND Release = 0
6283
6284 IF (@rcid IS NOT NULL)
6285 BEGIN
6286 INSERT INTO dbo.CustomerReferral
6287 ( CustomerId , ReferralCustomerId , ReferralFareTradeId )
6288 VALUES ( @maxId , @rcid , NULL )
6289 END
6290 END
6291 RETURN 0
6292END
6293GO
6294/****** Object: StoredProcedure [dbo].[NSP_C_CreateAppVoucher] Script Date: 01/08/2018 04:04:21 ******/
6295SET ANSI_NULLS ON
6296GO
6297SET QUOTED_IDENTIFIER ON
6298GO
6299/*
6300 ==================================================================
6301 Description
6302 新增APP隔日券.
6303 ==================================================================
6304 History
6305 2015/06/23 LJC Created.
6306 ==================================================================
6307 Step
6308 1. 檢查Customer是å¦å˜åœ¨.
6309 2. å–å¾—é¢é¡.
6310 3. 產生TicketID.
6311 4. 計算使用期間.
6312 5. 新增隔日券.
6313 ==================================================================
6314 Result
6315 RETURN 0 - æ£ç¢º.
6316 RETURN 1 - Customerä¸å˜åœ¨.
6317 ==================================================================
6318 Example
6319 EXEC [dbo].[NSP_C_CreateAppVoucher]
6320 @customerId = '8888888',
6321 @giftId = 1,
6322 @nowTime = '2014-12-18 00:00:00',
6323 @serverIdx = '0001'
6324
6325*/
6326CREATE PROCEDURE [dbo].[NSP_C_CreateAppVoucher]
6327 @customerId VARCHAR(8),
6328 @giftId INT,
6329 @nowTime DATETIME,
6330 @serverIdx CHAR(4)
6331AS
6332BEGIN
6333 SET NOCOUNT ON;
6334
6335 -- 檢查Customer是å¦å˜åœ¨.
6336 DECLARE @cid INT
6337 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
6338 IF (@cid = -1)
6339 BEGIN
6340 RETURN 1;
6341 END
6342
6343 -- å–å¾—é¢é¡.
6344 DECLARE @denomination INT
6345 SELECT @denomination = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'AppVoucherDenomination'
6346
6347 -- å–å¾—é¢é¡.
6348 DECLARE @voucherPurchaseAmount INT
6349 SELECT @voucherPurchaseAmount = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'AppVoucherPurchaseAmount'
6350
6351 -- 產生TicketID.
6352 DECLARE @newId VARCHAR(50) = ''
6353 DECLARE @len TINYINT = 8
6354 DECLARE @min TINYINT = 48
6355 DECLARE @max TINYINT = 57
6356 DECLARE @exclude VARCHAR(15) = 'Z'
6357 DECLARE @char CHAR
6358
6359 SET @len = 8
6360 WHILE (@len > 0)
6361 BEGIN
6362 SET @char = CHAR(ROUND(RAND() * (@max - @min) + @min, 0))
6363 IF CHARINDEX(@char, @exclude) = 0 BEGIN
6364 SET @newId += @char
6365 SET @len = @len - 1
6366 END
6367 END
6368 SET @newId = @serverIdx + @newId
6369
6370 WHILE (EXISTS(SELECT * FROM dbo.CustomerTicket WHERE TicketId = @newId))
6371 BEGIN
6372 SET @newId = ''
6373 SET @len = 8
6374 WHILE (@len > 0)
6375 BEGIN
6376 SET @char = CHAR(ROUND(RAND() * (@max - @min) + @min, 0))
6377 IF CHARINDEX(@char, @exclude) = 0 BEGIN
6378 SET @newId += @char
6379 SET @len = @len - 1
6380 END
6381 END
6382 SET @newId = @serverIdx + @newId
6383 END
6384
6385 -- 計算使用期間.
6386 DECLARE @startTime DATETIME = DATEADD(dd, 0, DATEDIFF(dd, 0, DATEADD(dd, 1, @nowTime)))
6387
6388 -- 新增隔日券.
6389 INSERT INTO dbo.CustomerTicket
6390 ( TicketID ,
6391 TicketGroup ,
6392 CustomerID ,
6393 Comps ,
6394 StartTime ,
6395 EndTime ,
6396 CreateTime ,
6397 Release ,
6398 ConsumeAmount ,
6399 GetTime
6400 )
6401 VALUES ( @newId , -- TicketID - varchar(50)
6402 0 , -- TicketGroup - int
6403 @customerId , -- CustomerID - varchar(12)
6404 @denomination , -- Comps - int
6405 @startTime , -- StartTime - datetime
6406 DATEADD(ss, -1, DATEADD(dd, 8, @startTime)) , -- EndTime - datetime
6407 @nowTime , -- CreateTime - datetime
6408 0 , -- Release - bit
6409 @voucherPurchaseAmount , -- ConsumeAmount - int
6410 @nowTime -- GetTime - datetime
6411 )
6412
6413 SELECT a.TicketID
6414 , b.CustomerID
6415 , a.Comps
6416 , a.StartTime
6417 , a.EndTime
6418 , a.CreateTime
6419 , a.ConsumeAmount
6420 FROM dbo.CustomerTicket a INNER JOIN dbo.Customer b ON a.CustomerID = b.ID
6421 WHERE a.TicketID = @newId
6422
6423 RETURN 0
6424END
6425GO
6426/****** Object: StoredProcedure [dbo].[NSP_C_CheckPurchaseReversible] Script Date: 01/08/2018 04:04:21 ******/
6427SET ANSI_NULLS ON
6428GO
6429SET QUOTED_IDENTIFIER ON
6430GO
6431/*
6432 ==================================================================
6433 Description
6434 ½T»{¬O§_¥i¥H°h¦^Purchase.
6435 ==================================================================
6436 History
6437 2014/07/21 LJC Created.
6438 ==================================================================
6439 Step
6440 1. Amount¦³°ÃÃD¤£³B²z.
6441 2. Customer¤£¦s¦b¤£³B²z.
6442 3. ½T»{¥æ©ö°O¿ý¬O§_¦s¦b.
6443 4. ½T»{LastPurchase¡AÂYLastPurchase¤£¦s¦b«hªÃ¥Ü¤wª±¹L¹CÀ¸.
6444 5. ½T»{InternetTime.
6445 6. ½T»{Credit.
6446 ==================================================================
6447 Result
6448 RETURN 0 - ¥i¥H°h¦^.
6449 RETURN 1 - §ä¤£¨ì¸ÓÅU«È.
6450 RETURN 2 - LastPurchase¤£¦s¦b«hªÃ¥Ü¤wª±¹L¹CÀ¸
6451 --RETURN 3 - ÅU«ÈªºInternetTimeÃB«×¤wµLªk³B²z¦¹µ§¥æ©ö.
6452 RETURN 4 - ÅU«ÈªºCreditÃB«×¤wµLªk³B²z¦¹µ§¥æ©ö.
6453 ==================================================================
6454 Example
6455 EXEC [dbo].[NSP_C_CheckPurchaseReversible]
6456 @customerId = '1'
6457
6458*/
6459CREATE PROCEDURE [dbo].[NSP_C_CheckPurchaseReversible]
6460 @customerId VARCHAR(12)
6461AS
6462BEGIN
6463 SET NOCOUNT ON;
6464
6465 -- Customer¤£¦s¦b¤£³B²z.
6466 DECLARE @cid INT
6467 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
6468 IF (@cid = -1)
6469 BEGIN
6470 RETURN 1;
6471 END
6472
6473 DECLARE @purchaseAmount INT;
6474 DECLARE @compsAmount INT = 0;
6475 SELECT @purchaseAmount = c.Amount FROM dbo.LastPurchase a INNER JOIN dbo.Customer b ON a.CustomerID = b.ID INNER JOIN dbo.TradeRecord c ON a.TradeID = c.ID WHERE b.Release = 0 AND b.CustomerID = @customerId AND c.TradeType = 0
6476 SELECT @compsAmount = SUM(c.Amount) FROM dbo.LastPurchase a INNER JOIN dbo.Customer b ON a.CustomerID = b.ID INNER JOIN dbo.TradeRecord c ON a.TradeID = c.ID WHERE b.Release = 0 AND b.CustomerID = @customerId AND c.TradeType IN (1, 10)
6477 IF (@purchaseAmount IS NULL)
6478 BEGIN
6479 RETURN 2
6480 END
6481
6482 -- ½T»{InternetTime.
6483 DECLARE @unit INT
6484 SELECT @unit = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'InternetTimeUnit'
6485
6486 ----DECLARE @internetTimeTmp INT = 0;
6487 ----SELECT @internetTimeTmp = InternetTime FROM dbo.Customer WHERE ID = @cid
6488 ----IF (@internetTimeTmp - (@purchaseAmount * @unit * 60)) < 0
6489 ----BEGIN
6490 ---- RETURN 3;
6491 ----END
6492
6493 -- ½T»{Credit.
6494 DECLARE @amount INT = @purchaseAmount + @compsAmount;
6495 DECLARE @addCredit INT
6496 EXEC @addCredit = dbo.NSP_S_ConvertToEntry @amount;
6497
6498 DECLARE @creditTmp INT = 0;
6499 SELECT @creditTmp = Credit FROM dbo.Customer WHERE ID = @cid
6500 IF (@creditTmp - @addCredit) < 0
6501 BEGIN
6502 RETURN 4;
6503 END
6504
6505 RETURN 0;
6506END
6507GO
6508/****** Object: StoredProcedure [dbo].[NSP_C_CheckHandsLivePeriod] Script Date: 01/08/2018 04:04:21 ******/
6509SET ANSI_NULLS ON
6510GO
6511SET QUOTED_IDENTIFIER ON
6512GO
6513/*
6514 ==================================================================
6515 Description
6516 ÀˬdCustomerªºHands¬O§_¥i³QÂk¹s.
6517 ==================================================================
6518 History
6519 2013/12/10 LJC Created.
6520 ==================================================================
6521 Step
6522 1. Customer¤£¦s¦b¤£³B²z.
6523 2. LastLogoutTime ¤£À³¸Ó¬°NULL.
6524 3. ½T»{³]©wÂÈ.
6525 4. ÂY¤j©óµ¥©ó LastLogoutTime + 5min ®É±NHands Âk¹s.
6526 5. ³]©wLastLogoutTime ¬°Null.
6527 ==================================================================
6528 Result
6529 RETURN 0 ¥¿±`.
6530 RETURN 1 Customer¤£¦s¦b.
6531 RETURN 2 LastLogoutTime ¤£À³¸Ó¬°NULL.
6532 RETURN 3 ³]©wÂȤp©óµ¥©ó0.
6533 ==================================================================
6534 Example
6535 EXEC [dbo].[NSP_C_CheckHandsLivePeriod]
6536 @customerId = '1'
6537
6538*/
6539CREATE PROCEDURE [dbo].[NSP_C_CheckHandsLivePeriod]
6540 @customerId VARCHAR(12)
6541AS
6542BEGIN
6543 SET NOCOUNT ON;
6544
6545 -- Customer¤£¦s¦b¤£³B²z.
6546 DECLARE @cid INT
6547 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
6548 IF (@cid = -1)
6549 BEGIN
6550 RETURN 1
6551 END
6552
6553 -- LastLogoutTime ¤£À³¸Ó¬°NULL.
6554 IF EXISTS (SELECT * FROM dbo.Customer WHERE ID = @cid AND LastLogoutTime IS NULL)
6555 BEGIN
6556 RETURN 2
6557 END
6558
6559 -- ½T»{³]©wÂÈ.
6560 DECLARE @unit INT = 0
6561 SELECT @unit = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'HandOfDollar'
6562 IF (@unit <= 0)
6563 BEGIN
6564 UPDATE dbo.Customer
6565 SET
6566 Hands = 0
6567 WHERE ID = @cid
6568
6569 RETURN 3
6570 END
6571
6572 -- ÂY¤j©óµ¥©ó LastLogoutTime + 5min ®É±NHands Âk¹s.
6573 DECLARE @liveTime DATETIME
6574 SELECT @liveTime = LastLogoutTime FROM dbo.Customer WHERE ID = @cid
6575 SET @liveTime = DATEADD(MINUTE, 5, @liveTime)
6576 IF (@liveTime <= GETDATE())
6577 BEGIN
6578 UPDATE dbo.Customer
6579 SET
6580 Hands = 0
6581 WHERE ID = @cid
6582 END
6583
6584 -- ³]©wLastLogoutTime ¬°Null.
6585 UPDATE dbo.Customer
6586 SET
6587 LastLogoutTime = NULL
6588 WHERE ID = @cid
6589
6590 RETURN 0
6591END
6592GO
6593/****** Object: StoredProcedure [dbo].[NSP_C_AddReferralCustomer] Script Date: 01/08/2018 04:04:21 ******/
6594SET ANSI_NULLS ON
6595GO
6596SET QUOTED_IDENTIFIER ON
6597GO
6598/*
6599 ==================================================================
6600 Description
6601 ·s¼W¤¶²Ã¤H°O¿ý.
6602 ==================================================================
6603 History
6604 2013/11/22 LJC Created.
6605 ==================================================================
6606 Step
6607 1. ¤¶²Ã¤H¤£¦s¦b«h¤£³B²z.
6608 2. ³Q¤¶²Ã¤H¤£¦s¦b«h¤£³B²z.
6609 3. ÂY¤¶²Ã¤H°O¿ý¤w¦s¦b«h¤£³B²z.
6610 4. ±N³Q¤¶²Ã¤H»P¤¶²Ã¤H·s¼W.
6611 ==================================================================
6612 Result
6613 RETURN 0 ¦¨¥\.
6614 RETURN 1 ³]©wÃö³¬¤£³B²z.
6615 RETURN 2 ¤¶²Ã¤H¤£¦s¦b.
6616 RETURN 3 ³Q¤¶²Ã¤H¤£¦s¦b.
6617 RETURN 4 ¤¶²Ã¤H°O¿ý¤w¦s¦b.
6618 ==================================================================
6619 Example
6620 DECLARE @return_value int
6621 EXEC @return_value = [dbo].[NSP_C_AddReferralCustomer]
6622 @customerId = N'1',
6623 @referralCustomerId = N'2'
6624 SELECT 'Return Value' = @return_value
6625
6626*/
6627CREATE PROCEDURE [dbo].[NSP_C_AddReferralCustomer]
6628 @customerId VARCHAR(12),
6629 @referralCustomerId VARCHAR(12)
6630AS
6631BEGIN
6632 SET NOCOUNT ON;
6633
6634 -- ³]©wÃö³¬¤£³B²z.
6635 DECLARE @enable BIT
6636 SELECT @enable = CONVERT(BIT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'EnableCustomerReferral'
6637 IF (@enable = 0)
6638 BEGIN
6639 RETURN 1
6640 END
6641
6642 -- ¤¶²Ã¤H¤£¦s¦b¤£³B²z.
6643 DECLARE @rcid INT
6644 EXEC @rcid = dbo.NSP_C_GetCustomerSid @referralCustomerId
6645 IF (@rcid = -1)
6646 BEGIN
6647 RETURN 2
6648 END
6649
6650 -- ³Q¤¶²Ã¤H¤£¦s¦b«h¤£³B²z.
6651 DECLARE @cid INT
6652 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
6653 IF (@cid = -1)
6654 BEGIN
6655 RETURN 3
6656 END
6657
6658 -- ÂY¤¶²Ã¤H°O¿ý¤w¦s¦b«h¤£³B²z.
6659 IF EXISTS (SELECT * FROM dbo.CustomerReferral WHERE CustomerId = @cid)
6660 BEGIN
6661 RETURN 4
6662 END
6663
6664 -- ±N³Q¤¶²Ã¤H»P¤¶²Ã¤H·s¼W.
6665 INSERT INTO dbo.CustomerReferral
6666 ( CustomerId , ReferralCustomerId )
6667 VALUES ( @cid , @rcid )
6668
6669 RETURN 0
6670END
6671GO
6672/****** Object: StoredProcedure [dbo].[NSP_BK_ClientChangePassword] Script Date: 01/08/2018 04:04:21 ******/
6673SET ANSI_NULLS ON
6674GO
6675SET QUOTED_IDENTIFIER ON
6676GO
6677/*
6678 ==================================================================
6679 Description
6680 ClientÅܧóBookkeeping±K½X.
6681 ==================================================================
6682 History
6683 2014/08/08 LJC Created.
6684 ==================================================================
6685 Step
6686 ==================================================================
6687 Result
6688 ==================================================================
6689 Example
6690 EXEC [dbo].[NSP_BK_ClientChangePassword]
6691 @Param1 = 12345,
6692 @Param2 = N'ABCDE'
6693
6694*/
6695CREATE PROCEDURE [dbo].[NSP_BK_ClientChangePassword]
6696 @newPwd VARCHAR(16),
6697 @type INT = 0
6698AS
6699BEGIN
6700 SET NOCOUNT ON;
6701
6702 DECLARE @bkPwd VARCHAR(32) = NULL;
6703 DECLARE @shiftPwd VARCHAR(32) = NULL;
6704 SELECT @bkPwd = SettingValue FROM dbo.SystemSetting WHERE SettingKey = 'BkPassword'
6705 SELECT @shiftPwd = SettingValue FROM dbo.SystemSetting WHERE SettingKey = 'ShiftPassword'
6706
6707 IF (@type = 0)
6708 BEGIN
6709 IF (@bkPwd IS NULL)
6710 BEGIN
6711 RETURN 1;
6712 END
6713
6714 IF (@shiftPwd IS NOT NULL AND @newPwd = @shiftPwd)
6715 BEGIN
6716 RETURN 2;
6717 END
6718
6719 EXEC dbo.NSP_S_SetSystemSetting @key = 'BkPassword', @value = @newPwd
6720 RETURN 0;
6721 END
6722 ELSE IF (@type = 1)
6723 BEGIN
6724 IF (@shiftPwd IS NULL)
6725 BEGIN
6726 RETURN 1;
6727 END
6728
6729 IF (@bkPwd IS NOT NULL AND @newPwd = @bkPwd)
6730 BEGIN
6731 RETURN 2;
6732 END
6733
6734 EXEC dbo.NSP_S_SetSystemSetting @key = 'ShiftPassword', @value = @newPwd
6735 RETURN 0;
6736 END
6737
6738 RETURN 1;
6739END
6740GO
6741/****** Object: StoredProcedure [dbo].[NSP_C_DoFreeCash] Script Date: 01/08/2018 04:04:21 ******/
6742SET ANSI_NULLS ON
6743GO
6744SET QUOTED_IDENTIFIER ON
6745GO
6746/*
6747 ==================================================================
6748 Description
6749 ¨ú±oFreeCash.
6750 ==================================================================
6751 History
6752 2013/11/27 LJC Created.
6753 ==================================================================
6754 Step
6755 1. Amount¦³°ÃÃD¤£³B²z.
6756 2. Customer¤£¦s¦b¤£³B²z.
6757 3. FreeCashªºª÷ÃB¬°0®É¤£²£¥Ã¥æ©ö°O¿ý.
6758 4. ²£¥Ã¥æ©ö°O¿ý.
6759 ==================================================================
6760 Result
6761 RETURN 0 ¦¨¥\.
6762 RETURN 1 Amount¦³°ÃÃD.
6763 RETURN 2 Customer¤£¦s¦b.
6764 RETURN 3 FreeCashªºª÷ÃB¬°0.
6765 ==================================================================
6766 Example
6767 EXEC [dbo].[NSP_C_DoPurchase]
6768 @customerId = N'1',
6769 @amount = 100
6770*/
6771CREATE PROCEDURE [dbo].[NSP_C_DoFreeCash]
6772 @customerId VARCHAR(12),
6773 @amount INT
6774AS
6775BEGIN
6776 SET NOCOUNT ON;
6777
6778 -- Amount¦³°ÃÃD¤£³B²z.
6779 IF (@amount < 0)
6780 BEGIN
6781 RETURN 1
6782 END
6783
6784 -- Customer¤£¦s¦b¤£³B²z.
6785 DECLARE @cid INT
6786 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
6787 IF (@cid = -1)
6788 BEGIN
6789 RETURN 2
6790 END
6791
6792 DECLARE @entry INT
6793 EXEC @entry = dbo.NSP_S_ConvertToEntry @amount;
6794
6795 DECLARE @unit INT
6796 SELECT @unit = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'InternetTimeUnit'
6797
6798 UPDATE dbo.Customer
6799 SET InternetTime = (SELECT InternetTime FROM dbo.Customer WHERE ID = @cid) + (@amount * @unit)
6800 , Credit = (SELECT Credit FROM dbo.Customer WHERE ID = @cid) + @entry
6801 WHERE dbo.Customer.ID = @cid
6802
6803 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
6804
6805 -- FreeCashªºª÷ÃB¬°0®É¤£²£¥Ã¥æ©ö°O¿ý.
6806 IF (@entry = 0)
6807 BEGIN
6808 RETURN 3
6809 END
6810
6811 -- ²£¥Ã¥æ©ö°O¿ý.
6812 INSERT INTO dbo.TradeRecord
6813 ( RecordTime , CustomerID , TradeType , Amount )
6814 VALUES ( GETDATE() , @cid , 3 , @amount )
6815 RETURN 0
6816END
6817GO
6818/****** Object: StoredProcedure [dbo].[NSP_C_DoExtraBonus] Script Date: 01/08/2018 04:04:21 ******/
6819SET ANSI_NULLS ON
6820GO
6821SET QUOTED_IDENTIFIER ON
6822GO
6823/*
6824 ==================================================================
6825 Description
6826 ¹CÀ¸ÃB¥~ÃØ¤À.
6827 ==================================================================
6828 History
6829 2014/03/06 LJC Created.
6830 ==================================================================
6831 Step
6832 1. Amount¦³°ÃÃD¤£³B²z.
6833 2. Customer¤£¦s¦b¤£³B²z.
6834 3. Bonusªºª÷ÃB¬°0®É¤£²£¥Ã¥æ©ö°O¿ý.
6835 4. ²£¥Ã¥æ©ö°O¿ý.
6836 ==================================================================
6837 Result
6838 RETURN 0 ¦¨¥\.
6839 RETURN 1 Amount¦³°ÃÃD.
6840 RETURN 2 Customer¤£¦s¦b.
6841 RETURN 3 SpecialCompsªºª÷ÃB¬°0.
6842 ==================================================================
6843 Example
6844 EXEC [dbo].[NSP_C_DoExtraBonus]
6845 @customerId = '1',
6846 @bonus = 10
6847
6848*/
6849CREATE PROCEDURE [dbo].[NSP_C_DoExtraBonus]
6850 @customerId VARCHAR(12),
6851 @bonus INT
6852AS
6853BEGIN
6854 SET NOCOUNT ON;
6855
6856 -- bonus¦³°ÃÃD¤£³B²z.
6857 IF (@bonus < 0)
6858 BEGIN
6859 RETURN 1
6860 END
6861
6862 -- Customer¤£¦s¦b¤£³B²z.
6863 DECLARE @cid INT
6864 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
6865 IF (@cid = -1)
6866 BEGIN
6867 RETURN 2
6868 END
6869
6870 DECLARE @entry INT
6871 EXEC @entry = dbo.NSP_S_ConvertToEntry @bonus;
6872
6873 UPDATE dbo.Customer
6874 SET Winnings = (SELECT Winnings FROM dbo.Customer WHERE ID = @cid) + @entry
6875 WHERE dbo.Customer.ID = @cid
6876
6877 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
6878
6879 -- Bonusªºª÷ÃB¬°0®É¤£²£¥Ã¥æ©ö°O¿ý.
6880 IF (@entry = 0)
6881 BEGIN
6882 RETURN 3
6883 END
6884
6885 -- ²£¥Ã¥æ©ö°O¿ý.
6886 INSERT INTO dbo.TradeRecord
6887 ( RecordTime , CustomerID , TradeType , Amount )
6888 VALUES ( GETDATE() , @cid , 7 , @bonus )
6889 RETURN 0
6890END
6891GO
6892/****** Object: StoredProcedure [dbo].[NSP_C_DailySpecialCompsForCustomer] Script Date: 01/08/2018 04:04:21 ******/
6893SET ANSI_NULLS ON
6894GO
6895SET QUOTED_IDENTIFIER ON
6896GO
6897/*
6898 ==================================================================
6899 Description
6900 處ç†Customerçš„DailySpecialComps.
6901 ==================================================================
6902 History
6903 2013/11/23 LJC Created.
6904 2013/12/17 LJC Modify - æ–°å¢žæ¯æ¬¡è´ˆåˆ†è¨å®š.
6905 2013/12/23 LJC Modify - 修改贈é€Permanentå¾Œå°±ä¸æœƒè´ˆé€Dailyçš„å•題.
6906 2014/06/10 LJC Modify - ä¿®æ”¹æ¯æ—¥è´ˆåˆ†éœ€éš”24å°æ™‚.
6907 2014/09/11 LJC Modify - TradeRecord新增PosID與PosUserID.
6908 2014/10/27 LJC Modify - å°‡Daily與Permanent的交易記錄分æˆ10與1.
6909 2014/11/05 LJC Modify - 修改é‡ç½®æ™‚é–“ç‚ºæ¯æ—¥çš„00:00:00.
6910 2015/07/20 LJC Modify - 修改輸出資料.
6911 ==================================================================
6912 Step
6913 1. ä¸å˜åœ¨ä¸è™•ç†.
6914 2. 確èªä¸Šæ¬¡DailySpecialComp的時間.
6915 3. å–å¾—å¯è´ˆé€çš„SpecialComps.
6916 4. åˆ¤æ–·æ¯æ¬¡è´ˆåˆ†.
6917 5. å°‡SpecialCompsè½‰æ›æˆEntry.
6918 6. 更新Customer的Credit與LastDailySpecialCompTime.
6919 ==================================================================
6920 Result
6921 RETURN 0 æˆåŠŸ.
6922 RETURN 1 Customerä¸å˜åœ¨.
6923 RETURN 2 æ²’æœ‰ç¬¦åˆæ¢ä»¶çš„Puchase金é¡.
6924 ==================================================================
6925 Example
6926 DECLARE @return_value int
6927 EXEC @return_value = [dbo].[NSP_C_DailySpecialCompsForCustomer]
6928 @customerId = N'1',
6929 @amount = 1,
6930 @posId = 1,
6931 @posUserId
6932 SELECT 'Return Value' = @return_value
6933
6934*/
6935CREATE PROCEDURE [dbo].[NSP_C_DailySpecialCompsForCustomer]
6936 @customerId VARCHAR(12),
6937 @amount INT,
6938 @posId INT,
6939 @posUserId INT
6940AS
6941BEGIN
6942 SET NOCOUNT ON;
6943
6944 -- Customerä¸å˜åœ¨ä¸è™•ç†.
6945 DECLARE @cid INT
6946 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
6947 IF (@cid = -1)
6948 BEGIN
6949 RETURN 1
6950 END
6951
6952 DECLARE @scomp INT = 0;
6953 DECLARE @purchaseAmount INT = 0;
6954 DECLARE @compsAmount INT = 0;
6955
6956 -- 確èªä¸Šæ¬¡DailySpecialComp的時間.
6957 DECLARE @lastTime DATETIME
6958 SELECT @lastTime = LastDailySpecialCompTime FROM dbo.Customer WHERE ID = @cid
6959
6960 --IF (DATEADD(dd, 1, @lastTime) <= GETDATE())
6961 IF (@lastTime < DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())))
6962 BEGIN
6963 -- å–å¾—å¯è´ˆé€çš„SpecialComps.
6964 SELECT TOP(1) @scomp = SpecialCompAmount, @purchaseAmount = PurchaseAmount
6965 FROM dbo.SpecialCompsSetting
6966 WHERE PurchaseAmount <= @amount AND PurchaseAmount > 0 AND IsEnable = 1 AND SpecialCompType = 0
6967 ORDER BY PurchaseAmount DESC
6968 END
6969
6970 DECLARE @pscomp INT = 0
6971
6972 -- åˆ¤æ–·æ¯æ¬¡è´ˆåˆ†.
6973 IF (@scomp = 0)
6974 BEGIN
6975 -- å–å¾—å¯è´ˆé€çš„SpecialComps.
6976 SELECT TOP(1) @pscomp = SpecialCompAmount, @purchaseAmount = PurchaseAmount
6977 FROM dbo.SpecialCompsSetting
6978 WHERE PurchaseAmount <= @amount AND PurchaseAmount > 0 AND IsEnable = 1 AND SpecialCompType = 1
6979 ORDER BY PurchaseAmount DESC
6980 END
6981
6982 DECLARE @amountSC INT = @scomp + @pscomp;
6983 SET @compsAmount = @amountSC;
6984
6985 -- å°‡SpecialCompsè½‰æ›æˆEntry.
6986 DECLARE @entry INT
6987 EXEC @entry = dbo.NSP_S_ConvertToEntry @amountSC;
6988
6989 IF (@entry <= 0)
6990 BEGIN
6991 RETURN 2
6992 END
6993
6994 -- 更新Customer的Credit與LastDailySpecialCompTime.
6995 IF (@scomp > 0)
6996 BEGIN
6997 UPDATE dbo.Customer
6998 SET LastDailySpecialCompTime = GETDATE()
6999 WHERE ID = @cid
7000 END
7001
7002 UPDATE dbo.Customer
7003 SET
7004 Credit = Credit + @entry
7005 WHERE dbo.Customer.ID = @cid
7006
7007 -- 寫交易記錄 與 新增LastPurchase.
7008 DECLARE @tradeType INT = 1
7009 IF (@scomp > 0)
7010 BEGIN
7011 SET @tradeType = 10
7012 END
7013
7014 INSERT INTO dbo.TradeRecord ( RecordTime , CustomerID , TradeType , Amount, PosID, PosUserID )
7015 VALUES ( GETDATE() , @cid , @tradeType , @amountSC, @posId, @posUserId )
7016
7017 INSERT INTO dbo.LastPurchase VALUES ( @cid, SCOPE_IDENTITY() )
7018
7019 --EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
7020 SELECT CustomerID
7021 , Credit
7022 , @purchaseAmount AS PurchaseAmount
7023 , @compsAmount AS CompsAmount
7024 FROM dbo.Customer WHERE ID = @cid
7025 RETURN 0
7026END
7027GO
7028/****** Object: StoredProcedure [dbo].[NSP_C_DailyFreeEntryForCustomer] Script Date: 01/08/2018 04:04:21 ******/
7029SET ANSI_NULLS ON
7030GO
7031SET QUOTED_IDENTIFIER ON
7032GO
7033/*
7034 ==================================================================
7035 Description
7036 ³B²z¨C¤éÃØ¤À.
7037 ==================================================================
7038 History
7039 2013/11/22 LJC Created.
7040 2014/06/02 LJC Modify - Â×§ï»â¨úFreeEntry»Ã¹j24¤p®É.
7041 2014/11/05 LJC Modify - Âק﫸m®É¶¡¬°¨C¤éªº00:00:00.
7042 ==================================================================
7043 Step
7044 1. ¤£¦s¦b¤£³B²z.
7045 2. ½T»{¤W¦¸DailyFreeEntryªº®É¶¡.
7046 3. ±NFreeEntryÂà ´«¦¨Entry.
7047 4. §ó·sCustomerªºCredit»PLastDailyFreeEntryTime.
7048 5. ¼g¥æ©ö°O¿ý.
7049 ==================================================================
7050 Result
7051 RETURN 0 ¦¨¥\.
7052 RETURN 1 Customer¤£¦s¦b.
7053 RETURN 2 DailyFreeEntry®É¶¡ÃÙ¥¼¨ì.
7054 RETURN 3 FreeEntry³]©w¬°0.
7055 ==================================================================
7056 Example
7057 DECLARE @return_value int
7058 EXEC @return_value = [dbo].[NSP_C_DailyFreeEntryForCustomer]
7059 @customerId = N'1'
7060 SELECT 'Return Value' = @return_value
7061
7062*/
7063CREATE PROCEDURE [dbo].[NSP_C_DailyFreeEntryForCustomer]
7064 @customerId VARCHAR(12)
7065AS
7066BEGIN
7067 SET NOCOUNT ON;
7068
7069 -- Customer¤£¦s¦b¤£³B²z.
7070 DECLARE @cid INT
7071 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
7072 IF (@cid = -1)
7073 BEGIN
7074 RETURN 1
7075 END
7076
7077 -- ½T»{¤W¦¸DailyFreeEntryªº®É¶¡.
7078 DECLARE @lastTime DATETIME
7079 SELECT @lastTime = LastDailyFreeEntryTime FROM dbo.Customer WHERE ID = @cid
7080
7081 --IF (DATEADD(dd, 1, @lastTime) >= GETDATE())
7082 IF (@lastTime >= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())))
7083 BEGIN
7084 -- ¤w¸g»â¹L¤F.
7085 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
7086 RETURN 2
7087 END
7088
7089 -- ±NFreeEntryÂà ´«¦¨Entry.
7090 DECLARE @fare INT
7091 SELECT @fare = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'DailyFreeEntryFare'
7092
7093 DECLARE @entry INT
7094 EXEC @entry = dbo.NSP_S_ConvertToEntry @fare;
7095
7096 IF (@entry <= 0)
7097 BEGIN
7098 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
7099 RETURN 3
7100 END
7101
7102 -- §ó·sCustomerªºCredit»PLastDailyFreeEntryTime.
7103 UPDATE dbo.Customer
7104 SET Credit = (SELECT Credit FROM dbo.Customer WHERE ID = @cid) + @entry,
7105 LastDailyFreeEntryTime = GETDATE()
7106 WHERE ID = @cid
7107
7108 -- ¼g¥æ©ö°O¿ý.
7109 INSERT INTO dbo.TradeRecord ( RecordTime , CustomerID , TradeType , Amount )
7110 VALUES ( GETDATE() , @cid , 4 , @fare )
7111
7112 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
7113 RETURN 0
7114END
7115GO
7116/****** Object: StoredProcedure [dbo].[NSP_C_CustomerLogoutLog] Script Date: 01/08/2018 04:04:21 ******/
7117SET ANSI_NULLS ON
7118GO
7119SET QUOTED_IDENTIFIER ON
7120GO
7121/*
7122 ==================================================================
7123 Description
7124 Customer 登出紀錄
7125 ==================================================================
7126 History
7127 2014/01/13 HJC Created.
7128 ==================================================================
7129 Step
7130 --
7131 ==================================================================
7132 Result
7133 RETURN 0
7134 ==================================================================
7135 Example
7136 EXEC [dbo].[NSP_C_CustomerLogoutLog]
7137 @CustomerID = '1'
7138
7139*/
7140CREATE PROCEDURE [dbo].[NSP_C_CustomerLogoutLog]
7141 @CustomerID VARCHAR(12)
7142AS
7143BEGIN
7144 SET NOCOUNT ON;
7145
7146 DECLARE @SID INT
7147
7148 EXEC @SID = dbo.NSP_C_GetCustomerSid @CustomerID
7149
7150 IF (@SID != -1)
7151 BEGIN
7152 UPDATE dbo.CustomerOnlineLog
7153 SET LogoutDateTime = GETDATE()
7154 , UsedTime = RIGHT('000'+CAST(DATEDIFF(MINUTE, LoginDateTime, GETDATE()) / 60 AS VARCHAR(4)), 4)+':'+
7155 RIGHT('0'+CAST(DATEDIFF(MINUTE, LoginDateTime, GETDATE()) % 60 AS VARCHAR(2)), 2)+':'+
7156 RIGHT('0'+CAST(DATEDIFF(SECOND, LoginDateTime, GETDATE()) % 60 AS VARCHAR(2)), 2)
7157 , IsOnline = 0
7158 WHERE CustomerSID = @SID
7159 AND IsOnline = 1
7160 END
7161
7162 RETURN 0
7163END
7164GO
7165/****** Object: StoredProcedure [dbo].[NSP_C_CustomerLogout] Script Date: 01/08/2018 04:04:21 ******/
7166SET ANSI_NULLS ON
7167GO
7168SET QUOTED_IDENTIFIER ON
7169GO
7170/*
7171 ==================================================================
7172 Description
7173 ÅU«Èµn¥X.
7174 ==================================================================
7175 History
7176 2013/12/10 LJC Created.
7177 2014/01/08 LJC Modify - ·s¼WClearInternetTimeOnLogout§PÂ_.
7178 ==================================================================
7179 Step
7180 1. Customer¤£¦s¦b¤£³B²z.
7181 2. §ó·sLastLogoutTime.
7182 3. §PÂ_Config³]©w¬O§_²M°£InternetTime.
7183 ==================================================================
7184 Result
7185 RETURN 0 ¦¨¥\.
7186 RETURN 1 Customer¤£¦s¦b.
7187 ==================================================================
7188 Example
7189 EXEC [dbo].[NSP_C_CustomerLogout]
7190 @customerId = '1'
7191
7192*/
7193CREATE PROCEDURE [dbo].[NSP_C_CustomerLogout]
7194 @customerId VARCHAR(12)
7195AS
7196BEGIN
7197 SET NOCOUNT ON;
7198
7199 -- Customer¤£¦s¦b¤£³B²z.
7200 DECLARE @cid INT
7201 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
7202 IF (@cid = -1)
7203 BEGIN
7204 RETURN 1
7205 END
7206
7207 -- §ó·sLastLogoutTime.
7208 UPDATE dbo.Customer
7209 SET
7210 LastLogoutTime = GETDATE()
7211 WHERE ID = @cid
7212
7213 -- §PÂ_Config³]©w¬O§_²M°£InternetTime.
7214 DECLARE @isClear INT
7215 SELECT @isClear = CONVERT(INT, SettingValue) FROM dbo.SystemConfig WHERE SettingKey = N'ClearInternetTimeOnLogout'
7216
7217 IF (@isClear = 1)
7218 BEGIN
7219 UPDATE dbo.Customer
7220 SET
7221 InternetTime = 0
7222 WHERE ID = @cid
7223 END
7224
7225 RETURN 0
7226END
7227GO
7228/****** Object: StoredProcedure [dbo].[NSP_C_WinOfSettlementForIR] Script Date: 01/08/2018 04:04:21 ******/
7229SET ANSI_NULLS ON
7230GO
7231SET QUOTED_IDENTIFIER ON
7232GO
7233/*
7234 ==================================================================
7235 Description
7236 ŤÀµ²ºâ(for InstantReveal).
7237 ==================================================================
7238 History
7239 2014/02/07 LJC Created.
7240 ==================================================================
7241 Step
7242 1. Customer¤£¦s¦b¤£³B²z.
7243 2. ŤÀ¦³°ÃÃD¤£³B²z.
7244 3. §ó·sÅU«ÈWinnings.
7245 4. §ó·sGameReports¸ê°T.
7246 ==================================================================
7247 Result
7248 RETURN 0 - ¥¿±`.
7249 RETURN 1 - Customer¤£¦s¦b¤£³B²z.
7250 RETURN 2 - ŤÀ¦³°ÃÃD¤£³B²z.
7251 ==================================================================
7252 Example
7253 EXEC [dbo].[NSP_C_WinOfSettlementForIR]
7254 @customerId = N'1',
7255 @roundWin = 100,
7256 @gameId = 1001
7257
7258*/
7259CREATE PROCEDURE [dbo].[NSP_C_WinOfSettlementForIR]
7260 @customerId VARCHAR(12),
7261 @roundWin INT,
7262 @gameId INT
7263AS
7264BEGIN
7265 SET NOCOUNT ON;
7266
7267 -- Customer¤£¦s¦b¤£³B²z.
7268 DECLARE @cid INT
7269 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
7270 IF (@cid = -1)
7271 BEGIN
7272 RETURN 1
7273 END
7274
7275 -- ŤÀ¦³°ÃÃD¤£³B²z.
7276 IF (@roundWin <= 0)
7277 BEGIN
7278 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
7279 RETURN 2
7280 END
7281
7282 -- §ó·sÅU«ÈWinnings.
7283 UPDATE dbo.Customer
7284 SET
7285 Winnings = (SELECT Winnings + @roundWin FROM dbo.Customer WHERE ID = @cid)
7286 WHERE ID = @cid
7287
7288 -- §ó·sGameReports¸ê°T.
7289 UPDATE dbo.GameReports
7290 SET
7291 TotalWin = (SELECT TotalWin + @roundWin FROM dbo.GameReports WHERE GameID = @gameId)
7292 , TotalWinTimes = (SELECT TotalWinTimes + 1 FROM dbo.GameReports WHERE GameID = @gameId)
7293 WHERE GameID = @gameId
7294
7295 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
7296 RETURN 0;
7297END
7298GO
7299/****** Object: StoredProcedure [dbo].[NSP_C_WinOfSettlementForFM] Script Date: 01/08/2018 04:04:21 ******/
7300SET ANSI_NULLS ON
7301GO
7302SET QUOTED_IDENTIFIER ON
7303GO
7304/*
7305 ==================================================================
7306 Description
7307 ŤÀµ²ºâ(for FM).
7308 ==================================================================
7309 History
7310 2013/02/07 LJC Created.
7311 ==================================================================
7312 Step
7313 1. Customer¤£¦s¦b¤£³B²z.
7314 2. ŤÀ¦³°ÃÃD¤£³B²z.
7315 3. §ó·sÅU«ÈWinnings.
7316 ==================================================================
7317 Result
7318 RETURN 0 - ¥¿±`.
7319 RETURN 1 - Customer¤£¦s¦b¤£³B²z.
7320 RETURN 2 - ŤÀ¦³°ÃÃD¤£³B²z.
7321 ==================================================================
7322 Example
7323 EXEC [dbo].[NSP_C_WinOfSettlementForFM]
7324 @customerId = N'1',
7325 @roundWin = 100
7326
7327*/
7328CREATE PROCEDURE [dbo].[NSP_C_WinOfSettlementForFM]
7329 @customerId VARCHAR(12),
7330 @roundWin INT
7331AS
7332BEGIN
7333 SET NOCOUNT ON;
7334
7335 -- Customer¤£¦s¦b¤£³B²z.
7336 DECLARE @cid INT
7337 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
7338 IF (@cid = -1)
7339 BEGIN
7340 RETURN 1
7341 END
7342
7343 -- ŤÀ¦³°ÃÃD¤£³B²z.
7344 IF (@roundWin <= 0)
7345 BEGIN
7346 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
7347 RETURN 2
7348 END
7349
7350 -- §ó·sÅU«ÈWinnings.
7351 UPDATE dbo.Customer
7352 SET
7353 Winnings = (SELECT Winnings + @roundWin FROM dbo.Customer WHERE ID = @cid)
7354 WHERE ID = @cid
7355
7356 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
7357 RETURN 0;
7358END
7359GO
7360/****** Object: StoredProcedure [dbo].[NSP_C_WinOfSettlement] Script Date: 01/08/2018 04:04:21 ******/
7361SET ANSI_NULLS ON
7362GO
7363SET QUOTED_IDENTIFIER ON
7364GO
7365/*
7366 ==================================================================
7367 Description
7368 è´åˆ†çµç®—.
7369 ==================================================================
7370 History
7371 2014/02/07 LJC Created.
7372 2015/08/13 LJC Modify - 修改é‡é€é©—è‰.
7373 ==================================================================
7374 Step
7375 1. Customerä¸å˜åœ¨ä¸è™•ç†.
7376 2. è´åˆ†æœ‰å•題ä¸è™•ç†.
7377 3. 傳進來的Key與DB的相åŒï¼Œè¡¨ç¤ºæœ‰é‡é€.
7378 4. 更新顧客Winnings.
7379 5. 更新GameReports資訊.
7380 ==================================================================
7381 Result
7382 RETURN 0 - æ£å¸¸.
7383 RETURN 1 - Customerä¸å˜åœ¨ä¸è™•ç†.
7384 RETURN 2 - è´åˆ†æœ‰å•題ä¸è™•ç†.
7385 RETURN 3 - 表示有é‡é€.
7386 ==================================================================
7387 Example
7388 EXEC [dbo].[NSP_C_WinOfSettlement]
7389 @machineId = 1,
7390 @customerId = N'1',
7391 @roundWin = 100,
7392 @key = N'ABCDE',
7393 @gameId = 1001
7394
7395*/
7396CREATE PROCEDURE [dbo].[NSP_C_WinOfSettlement]
7397 @machineId INT,
7398 @customerId VARCHAR(12),
7399 @roundWin INT,
7400 @key VARCHAR(40),
7401 @gameId INT
7402AS
7403BEGIN
7404 SET NOCOUNT ON;
7405
7406 -- Customerä¸å˜åœ¨ä¸è™•ç†.
7407 DECLARE @cid INT
7408 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
7409 IF (@cid = -1)
7410 BEGIN
7411 RETURN 1
7412 END
7413
7414 -- è´åˆ†æœ‰å•題ä¸è™•ç†.
7415 IF (@roundWin <= 0)
7416 BEGIN
7417 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
7418 RETURN 2
7419 END
7420
7421 -- 傳進來的Key與DB的相åŒï¼Œè¡¨ç¤ºæœ‰é‡é€(有å•題).
7422 DECLARE @verify INT;
7423 EXEC @verify = dbo.NSP_S_CheckSecondVerification @machineId = @machineId, @group = 'WinOfSettlement', @key = @key
7424 IF (@verify != 1)
7425 BEGIN
7426 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
7427 RETURN 3;
7428 END
7429
7430 -- 更新顧客Winnings.
7431 UPDATE dbo.Customer
7432 SET
7433 Winnings = (SELECT Winnings + @roundWin FROM dbo.Customer WHERE ID = @cid)
7434 WHERE ID = @cid
7435
7436 -- 更新GameReports資訊.
7437 UPDATE dbo.GameReports
7438 SET
7439 TotalWin = (SELECT TotalWin + @roundWin FROM dbo.GameReports WHERE GameID = @gameId)
7440 , TotalWinTimes = (SELECT TotalWinTimes + 1 FROM dbo.GameReports WHERE GameID = @gameId)
7441 WHERE GameID = @gameId
7442
7443 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
7444 RETURN 0;
7445END
7446GO
7447/****** Object: StoredProcedure [dbo].[NSP_C_WebstoreCoupon_Reverse] Script Date: 01/08/2018 04:04:21 ******/
7448SET ANSI_NULLS ON
7449GO
7450SET QUOTED_IDENTIFIER ON
7451GO
7452/*
7453 ==================================================================
7454 Description
7455 Reverse WebstoreCouponPoints
7456 ==================================================================
7457 History
7458 2015/12/09 WCS Created.
7459 2016/03/15 WCS Modified. WebstoreCoupon:ON => InternetTime=0
7460
7461 ==================================================================
7462 Example
7463 EXEC [dbo].[NSP_C_WebstoreCoupon_Reverse]
7464 @tradeId = 1
7465
7466 SELECT TOP 10 * FROM dbo.TradeRecord ORDER BY ID DESC
7467 SELECT TOP 10 * FROM dbo.WebstoreCoupons ORDER BY ID DESC
7468*/
7469CREATE PROCEDURE [dbo].[NSP_C_WebstoreCoupon_Reverse]
7470 @tradeId INT
7471AS
7472BEGIN
7473 SET NOCOUNT ON;
7474
7475 DECLARE @enable BIT = ISNULL((SELECT TOP 1 CONVERT(BIT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = 'WebstoreCoupon'),0)
7476 IF (@enable <> 1)
7477 BEGIN
7478 RETURN 1
7479 END
7480
7481 DECLARE @exchange_rate MONEY = ISNULL((SELECT TOP 1 CONVERT(MONEY, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = 'WebstoreCouponExchangeRate'),0)
7482 IF (@exchange_rate <= 0)
7483 BEGIN
7484 RETURN 2
7485 END
7486
7487 DECLARE @cid INT, @amount INT, @trade_type INT
7488 SELECT @cid = CustomerID, @amount = Amount, @trade_type = TradeType FROM dbo.TradeRecord WHERE ID = @tradeId AND TradeType = 0
7489 IF (@cid IS NULL OR @amount <= 0 OR @trade_type <> 0)
7490 BEGIN
7491 RETURN 3
7492 END
7493
7494 DECLARE @points_printed INT, @reversed INT
7495 SELECT @points_printed = CouponPoints, @reversed = Reversed FROM WebstoreCoupons WHERE TradeID = @tradeId
7496 IF (@points_printed IS NULL OR @reversed = 1)
7497 BEGIN
7498 RETURN 4
7499 END
7500
7501 UPDATE dbo.Customer
7502 SET WebstoreCouponPoints = @points_printed - (@amount * @exchange_rate)
7503 ,InternetTime = 0
7504 WHERE ID = @cid
7505 UPDATE dbo.WebstoreCoupons SET Reversed = 1 WHERE TradeID = @tradeId
7506
7507 RETURN 0
7508END
7509GO
7510/****** Object: StoredProcedure [dbo].[NSP_C_WebstoreCoupon_Purchase] Script Date: 01/08/2018 04:04:21 ******/
7511SET ANSI_NULLS ON
7512GO
7513SET QUOTED_IDENTIFIER ON
7514GO
7515/*
7516 ==================================================================
7517 Description
7518 Purchase WebstoreCouponPoints
7519 ==================================================================
7520 History
7521 2015/12/14 WCS Created.
7522 2016/03/15 WCS Modified. WebstoreCoupon:ON => InternetTime=0
7523
7524 ==================================================================
7525 Example
7526 EXEC [dbo].[NSP_C_WebstoreCoupon_Purchase]
7527 @customerId = N'1642801',
7528 @purchase = 100
7529
7530 SELECT ID,CustomerID,WebstoreCouponPoints
7531 FROM [LocalServer].[dbo].[Customer]
7532 WHERE CustomerID = N'1642801'
7533*/
7534CREATE PROCEDURE [dbo].[NSP_C_WebstoreCoupon_Purchase]
7535 @customerId VARCHAR(12),
7536 @purchase INT
7537AS
7538BEGIN
7539 SET NOCOUNT ON;
7540
7541 DECLARE @enable BIT = ISNULL((SELECT TOP 1 CONVERT(BIT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = 'WebstoreCoupon'),0)
7542 IF (@enable <> 1)
7543 BEGIN
7544 RETURN 1
7545 END
7546
7547 DECLARE @exchange_rate MONEY = ISNULL((SELECT TOP 1 CONVERT(MONEY, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = 'WebstoreCouponExchangeRate'),0)
7548 IF (@exchange_rate <= 0)
7549 BEGIN
7550 RETURN 2
7551 END
7552
7553 DECLARE @cid INT
7554 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
7555 IF (@cid = -1)
7556 BEGIN
7557 RETURN 3
7558 END
7559
7560 UPDATE dbo.Customer
7561 SET WebstoreCouponPoints = WebstoreCouponPoints + @exchange_rate * @purchase
7562 ,InternetTime = 0
7563 WHERE ID = @cid
7564 RETURN 0
7565END
7566GO
7567/****** Object: StoredProcedure [dbo].[NSP_C_WebstoreCoupon_Print] Script Date: 01/08/2018 04:04:21 ******/
7568SET ANSI_NULLS ON
7569GO
7570SET QUOTED_IDENTIFIER ON
7571GO
7572/*
7573 ==================================================================
7574 Description
7575 Generate a WebstoreCoupon and reset customer's WebstoreCouponPoints
7576
7577 ==================================================================
7578 History
7579 2015/12/07 WCS Created.
7580
7581 ==================================================================
7582 Example
7583 EXEC [dbo].[NSP_C_WebstoreCoupon_Print]
7584 @locationCode = 6999
7585 ,@serverIdx = 123
7586 ,@customerId = N'1642801'
7587
7588 SELECT * FROM [dbo].[WebstoreCoupons]
7589*/
7590CREATE PROCEDURE [dbo].[NSP_C_WebstoreCoupon_Print]
7591 @locationCode NUMERIC(4,0)
7592 ,@serverIdx NUMERIC(4,0)
7593 ,@customerId VARCHAR(12)
7594 ,@tradeId INT = -1 -- -1 : print only
7595AS
7596BEGIN
7597 SET NOCOUNT ON;
7598
7599 DECLARE @enable BIT = ISNULL((SELECT TOP 1 CONVERT(BIT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = 'WebstoreCoupon'),0)
7600 IF (@enable <> 1)
7601 BEGIN
7602 RETURN 1
7603 END
7604
7605 DECLARE @cid INT
7606 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
7607 IF (@cid = -1)
7608 BEGIN
7609 RETURN 2 -- customerId does not exist
7610 END
7611
7612 DECLARE @points INT = ISNULL((SELECT WebstoreCouponPoints FROM dbo.Customer WHERE CustomerID = @customerId),0)
7613 IF (@points = 0)
7614 BEGIN
7615 RETURN 3 -- no points to claim
7616 END
7617
7618 UPDATE dbo.Customer SET WebstoreCouponPoints = 0 WHERE ID = @cid
7619
7620 INSERT INTO [LocalServer].[dbo].[WebstoreCoupons]
7621 (CouponCode
7622 ,CustomerID
7623 ,CouponPoints
7624 ,IssueDate
7625 ,ExpirationDate
7626 ,TradeID
7627 ,Reversed)
7628 VALUES
7629 (N'' -- CouponCode
7630 ,@customerId -- CustomerID
7631 ,@points -- CouponPoints
7632 ,SYSDATETIMEOFFSET() -- IssueDate
7633 ,TODATETIMEOFFSET(CONVERT(VARCHAR(10), DATEADD(DAY, 30, GETDATE()), 110) + ' 23:59:59', DATEPART(tz,SYSDATETIMEOFFSET())) -- ExpirationDate
7634 ,@tradeId -- TradeID
7635 ,0 -- Reversed
7636 )
7637
7638 DECLARE @new_id NUMERIC(12) = SCOPE_IDENTITY()
7639
7640 UPDATE dbo.WebstoreCoupons
7641 SET CouponCode = dbo.FN_GenerateWebstoreCouponCode(@new_id,@locationCode,@serverIdx)
7642 WHERE ID = @new_id
7643
7644 SELECT CouponCode, CustomerID, CouponPoints, IssueDate, ExpirationDate FROM dbo.WebstoreCoupons WHERE ID = @new_id
7645
7646 RETURN 0 -- Success
7647END
7648GO
7649/****** Object: StoredProcedure [dbo].[NSP_C_GetRedeemAmount] Script Date: 01/08/2018 04:04:21 ******/
7650SET ANSI_NULLS ON
7651GO
7652SET QUOTED_IDENTIFIER ON
7653GO
7654/*
7655 ==================================================================
7656 Description
7657 å–å¾—Redeem資訊.
7658 ==================================================================
7659 History
7660 2013/12/12 LJC Created.
7661 2016/03/03 LJC Modify - 新增RedeemTypeåƒæ•¸.
7662 ==================================================================
7663 Step
7664 ==================================================================
7665 Result
7666 RETURN 0 æ£å¸¸.
7667 RETURN 1 Customerä¸å˜åœ¨.
7668 ==================================================================
7669 Example
7670 EXEC [dbo].[NSP_C_GetRedeemAmount]
7671 @customerId = '1'
7672 , @redeemType = 1
7673
7674*/
7675CREATE PROCEDURE [dbo].[NSP_C_GetRedeemAmount]
7676 @customerId VARCHAR(12)
7677 , @redeemType INT
7678AS
7679BEGIN
7680 SET NOCOUNT ON;
7681
7682 -- Customerä¸å˜åœ¨ä¸è™•ç†.
7683 DECLARE @cid INT
7684 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
7685 IF (@cid = -1)
7686 BEGIN
7687 RETURN 1
7688 END
7689
7690 DECLARE @handOfAmount INT = 0
7691 DECLARE @remainHands INT = 0
7692 DECLARE @credit INT = 0
7693 DECLARE @winning INT = 0
7694 SELECT @credit = Credit, @winning = Winnings, @remainHands = Hands FROM dbo.Customer WHERE ID = @cid
7695
7696 DECLARE @unit INT
7697 SELECT @unit = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = 'CreditUnit'
7698 DECLARE @enableHand BIT
7699 SELECT @enableHand = CONVERT(BIT, SettingValue) FROM dbo.SystemConfig WHERE SettingKey = 'EnableHands'
7700 DECLARE @handDollar INT
7701 IF (@enableHand = 0)
7702 BEGIN
7703 SET @handDollar = -1
7704 END
7705 ELSE
7706 BEGIN
7707 SELECT @handDollar = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = 'HandOfDollar'
7708 END
7709
7710 DECLARE @payAmount INT = 0
7711 IF (@redeemType = 0)
7712 BEGIN
7713 -- Credit + Winnings
7714 SET @payAmount = (@credit + @winning) / @unit;
7715 IF (@handDollar < 0)
7716 BEGIN
7717 SET @credit = @credit - (@payAmount * @unit)
7718 IF (@credit < 0)
7719 BEGIN
7720 SET @winning = @winning + @credit
7721 SET @credit = 0
7722 END
7723 SELECT @payAmount AS Amount, @handOfAmount AS Hands, @remainHands AS RemainHands, @credit AS Credit, @winning AS Winnings
7724 END
7725 ELSE
7726 BEGIN
7727 SET @handOfAmount = @payAmount / @handDollar
7728 IF (@handOfAmount < @remainHands)
7729 BEGIN
7730 SET @credit = @credit - (@handOfAmount * @handDollar * @unit)
7731 IF (@credit < 0)
7732 BEGIN
7733 SET @winning = @winning + @credit
7734 SET @credit = 0
7735 END
7736 SELECT (@handOfAmount * @handDollar) AS Amount, @handOfAmount AS Hands, (@remainHands - @handOfAmount) AS RemainHands, @credit AS Credit, @winning AS Winnings
7737 END
7738 ELSE -- (@handOfAmount >= @remainHands)
7739 BEGIN
7740 SET @credit = @credit - (@remainHands * @handDollar * @unit)
7741 IF (@credit < 0)
7742 BEGIN
7743 SET @winning = @winning + @credit
7744 SET @credit = 0
7745 END
7746 SELECT (@remainHands * @handDollar) AS Amount, @remainHands AS Hands, 0 AS RemainHands, @credit AS Credit, @winning AS Winnings
7747 END
7748 END
7749 END
7750 ELSE
7751 BEGIN
7752 -- Winnings
7753 SET @payAmount = @winning / @unit;
7754 IF (@handDollar < 0)
7755 BEGIN
7756 SET @winning = @winning - (@payAmount * @unit)
7757 SELECT @payAmount AS Amount, @handOfAmount AS Hands, @remainHands AS RemainHands, @credit AS Credit, @winning AS Winnings
7758 END
7759 ELSE
7760 BEGIN
7761 SET @handOfAmount = @payAmount / @handDollar
7762 IF (@handOfAmount < @remainHands)
7763 BEGIN
7764 SET @winning = @winning - (@handOfAmount * @handDollar * @unit)
7765 SELECT (@handOfAmount * @handDollar) AS Amount, @handOfAmount AS Hands, (@remainHands - @handOfAmount) AS RemainHands, @credit AS Credit, @winning AS Winnings
7766 END
7767 ELSE -- (@handOfAmount >= @remainHands)
7768 BEGIN
7769 SET @winning = @winning - (@remainHands * @handDollar * @unit)
7770 SELECT (@remainHands * @handDollar) AS Amount, @remainHands AS Hands, 0 AS RemainHands, @credit AS Credit, @winning AS Winnings
7771 END
7772 END
7773 END
7774
7775 RETURN 0
7776END
7777GO
7778/****** Object: StoredProcedure [dbo].[NSP_C_DoRedeem] Script Date: 01/08/2018 04:04:21 ******/
7779SET ANSI_NULLS ON
7780GO
7781SET QUOTED_IDENTIFIER ON
7782GO
7783/*
7784 ==================================================================
7785 Description
7786 ³B²z°h¤À.
7787 ==================================================================
7788 History
7789 2013/12/19 LJC Created.
7790 2014/09/11 LJC Modify - TradeRecord·s¼WPosID»PPosUserID.
7791 ==================================================================
7792 Step
7793 1. ÀˬdCustomer¦s¤£¦s¦b.
7794 2. §ó·sÅU«È¸ê°T.
7795 3. ²£¥Ã¥æ©ö°O¿ý.
7796 ==================================================================
7797 Result
7798 RETURN 0 ¥¿±`.
7799 RETURN 1 Customer¤£¦s¦b.
7800 ==================================================================
7801 Example
7802 EXEC [dbo].[NSP_C_DoRedeem]
7803 @customerId = '1',
7804 @amount = 100,
7805 @internetTime = 60,
7806 @credit = 200,
7807 @winnings = 10,
7808 @hands = 0,
7809 @posId = 1,
7810 @posUserId = 1
7811*/
7812CREATE PROCEDURE [dbo].[NSP_C_DoRedeem]
7813 @customerId VARCHAR(12),
7814 @amount INT,
7815 @internetTime INT,
7816 @credit INT,
7817 @winnings INT,
7818 @hands INT,
7819 @posId INT,
7820 @posUserId INT
7821AS
7822BEGIN
7823 SET NOCOUNT ON;
7824
7825 -- Customer¤£¦s¦b¤£³B²z.
7826 DECLARE @cid INT
7827 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
7828 IF (@cid = -1)
7829 BEGIN
7830 RETURN 1
7831 END
7832
7833 -- §ó·sÅU«È¸ê°T.
7834 UPDATE dbo.Customer
7835 SET
7836 InternetTime = @internetTime,
7837 Credit = @credit,
7838 Winnings = @winnings,
7839 Hands = @hands
7840 WHERE ID = @cid
7841
7842 -- ¨ú±oCreditUnit.
7843 DECLARE @creditUnit INT
7844 SELECT @creditUnit = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = 'CreditUnit'
7845
7846 -- ²£¥Ã¥æ©ö°O¿ý.
7847 INSERT INTO dbo.TradeRecord
7848 ( RecordTime , CustomerID , TradeType , Amount, PosID, PosUserID )
7849 VALUES ( GETDATE() , @cid , 2 , @amount / @creditUnit, @posId, @posUserId )
7850 RETURN 0
7851END
7852GO
7853/****** Object: StoredProcedure [dbo].[NSP_Event_CalculateByTask] Script Date: 01/08/2018 04:04:21 ******/
7854SET ANSI_NULLS ON
7855GO
7856SET QUOTED_IDENTIFIER ON
7857GO
7858/*
7859 ==================================================================
7860 Description
7861 ä¾Take計算並處ç†Event
7862 ==================================================================
7863 History
7864 2014/12/12 LJC Created.
7865 ==================================================================
7866 Step
7867 1. 檢查禮物數é‡.
7868 2. 累計數值.
7869 Condition2Type - 0:æ¯æ¬¡è¨ˆç®—.
7870 Condition2Type - 0:當日累ç©è¨ˆç®—.
7871 3. ä¾é–€æª»å€¼å°‡è¨ˆç®—ç›®å‰ç´¯è¨ˆå€¼å¯é€å¤šå°‘禮物.
7872 ==================================================================
7873 Result
7874 RETURN 0 - 處ç†å®Œæˆ.
7875 RETURN 1 - 禮物數é‡å·²æ»¿æˆ–Type錯誤.
7876 ==================================================================
7877 Example
7878 EXEC [dbo].[NSP_Event_CalculateByTask]
7879 @cid = 1,
7880 @taskId = 1,
7881 @value = 30
7882
7883*/
7884CREATE PROCEDURE [dbo].[NSP_Event_CalculateByTask]
7885 @cid INT,
7886 @taskId INT,
7887 @value INT
7888AS
7889BEGIN
7890 SET NOCOUNT ON;
7891
7892 DECLARE @condition2Type INT
7893 DECLARE @conditionValue INT
7894 DECLARE @giftType INT
7895 DECLARE @periodLimitType INT
7896 DECLARE @quantityLimit INT
7897 SELECT @condition2Type = Condition2Type
7898 , @conditionValue = ConditionValue
7899 , @giftType = GiftType
7900 , @periodLimitType = PeriodLimitType
7901 , @quantityLimit = GiftMaxQuantity
7902 FROM dbo.Event_EventSetting WHERE TaskID = @taskId
7903
7904 -- 檢查禮物數é‡.
7905 DECLARE @result BIT = 0
7906 EXEC @result = dbo.NSP_Event_CheckQuantityLimit @periodLimitType, @taskId, @giftType, @cid
7907 IF (@result != 0)
7908 BEGIN
7909 --SELECT 'Gift quantity full.'
7910 RETURN 1;
7911 END
7912
7913 -- æ¯æ¬¡è¨ˆç®—.
7914 IF (@condition2Type = 0)
7915 BEGIN
7916 -- æ¯æ¬¡éƒ½å…ˆå°‡ç´¯è¨ˆå€¼æ¸é›¶.
7917 UPDATE dbo.Event_EventAccumulate SET AccumulateValue = 0
7918 WHERE TaskID = @taskId AND CustomerID = @cid
7919
7920 -- 累計數值.
7921 EXEC dbo.NSP_Event_Accumulate @taskId, @cid, @value
7922 END
7923 -- 當日累ç©è¨ˆç®—.
7924 ELSE IF (@condition2Type = 1)
7925 BEGIN
7926 -- 若已跨日æ‰å°‡ç´¯è¨ˆå€¼æ¸é›¶.
7927 UPDATE dbo.Event_EventAccumulate SET AccumulateValue = 0
7928 WHERE TaskID = @taskId AND CustomerID = @cid AND AccumulateTime < DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
7929
7930 -- 累計數值.
7931 EXEC dbo.NSP_Event_Accumulate @taskId, @cid, @value
7932 END
7933
7934 -- ä¾é–€æª»å€¼å°‡è¨ˆç®—ç›®å‰ç´¯è¨ˆå€¼å¯é€å¤šå°‘禮物.
7935 WHILE EXISTS (SELECT * FROM dbo.Event_EventAccumulate WHERE TaskID = @taskId AND CustomerID = @cid AND AccumulateValue >= @conditionValue)
7936 BEGIN
7937 INSERT INTO dbo.Event_EventGift
7938 ( TaskID , GiftType , CustomerID , CreateTime , Release, Received )
7939 VALUES ( @taskId , @giftType , @cid , GETDATE() , 0 , 0 )
7940
7941 UPDATE dbo.Event_EventAccumulate SET AccumulateValue = AccumulateValue - @conditionValue
7942 WHERE TaskID = @taskId AND CustomerID = @cid
7943
7944 EXEC @result = dbo.NSP_Event_CheckQuantityLimit @periodLimitType, @taskId, @giftType, @cid
7945 IF (@result != 0) BREAK;
7946 END
7947
7948 RETURN 0;
7949END
7950GO
7951/****** Object: StoredProcedure [dbo].[NSP_Pos_CreateLotteryTicket] Script Date: 01/08/2018 04:04:21 ******/
7952SET ANSI_NULLS ON
7953GO
7954SET QUOTED_IDENTIFIER ON
7955GO
7956/*
7957 ==================================================================
7958 Description
7959 新增抽çŽåˆ¸.
7960 ==================================================================
7961 History
7962 2015/01/09 LJC Created.
7963 2015/06/23 LJC Modify - é…åˆdbo.CustomerTicket.CustomerID修改.
7964 ==================================================================
7965 Step
7966 1. 檢查Customer是å¦å˜åœ¨.
7967 2. 新增抽çŽåˆ¸.
7968 3. 將禮物è¨å®šç‚ºå·²é ˜å–.
7969 ==================================================================
7970 Result
7971 RETURN 0 - æ£ç¢º.
7972 RETURN 1 - Customerä¸å˜åœ¨.
7973 ==================================================================
7974 Example
7975 EXEC [dbo].[NSP_Pos_CreateLotteryTicket]
7976 @customerId VARCHAR(12),
7977 @giftId INT,
7978 @nowTime DATETIME
7979
7980*/
7981CREATE PROCEDURE [dbo].[NSP_Pos_CreateLotteryTicket]
7982 @customerId VARCHAR(12),
7983 @giftId INT,
7984 @nowTime DATETIME
7985AS
7986BEGIN
7987 SET NOCOUNT ON;
7988
7989 -- 檢查Customer是å¦å˜åœ¨.
7990 DECLARE @cid INT
7991 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
7992 IF (@cid = -1)
7993 BEGIN
7994 RETURN 1;
7995 END
7996
7997 -- 新增抽çŽåˆ¸.
7998 INSERT INTO dbo.CustomerTicket
7999 ( TicketID ,
8000 TicketGroup ,
8001 CustomerID ,
8002 Comps ,
8003 StartTime ,
8004 EndTime ,
8005 CreateTime ,
8006 Release ,
8007 ConsumeTime ,
8008 ConsumeAmount
8009 )
8010 VALUES ( NEWID() , -- TicketID - varchar(50)
8011 1 , -- TicketGroup - int
8012 @customerId , -- CustomerID - varchar(12)
8013 0 , -- Comps - int
8014 @nowTime , -- StartTime - datetime
8015 @nowTime , -- EndTime - datetime
8016 @nowTime , -- CreateTime - datetime
8017 0 , -- Release - bit
8018 @nowTime , -- ConsumeTime - datetime
8019 0 -- ConsumeAmount - int
8020 )
8021
8022 RETURN 0;
8023END
8024GO
8025/****** Object: StoredProcedure [dbo].[NSP_Pos_ConsumeVoucher] Script Date: 01/08/2018 04:04:21 ******/
8026SET ANSI_NULLS ON
8027GO
8028SET QUOTED_IDENTIFIER ON
8029GO
8030/*
8031 ==================================================================
8032 Description
8033 使用隔日券
8034 ==================================================================
8035 History
8036 2014/12/19 LJC Created.
8037 2015/06/23 LJC Modify - é…åˆdbo.CustomerTicket.CustomerIDä¿®æ”¹ï¼Œä¸¦åŠ å…¥æ–°å¢žCustomerTicketUsed記錄.
8038 ==================================================================
8039 Step
8040 1. 檢查Customer是å¦å˜åœ¨.
8041 2. å–得隔日券資訊.
8042 3. 將隔日券入帳.
8043 4. 新增CustomerTicketUsed記錄.
8044 5. 新增交易記錄.
8045 ==================================================================
8046 Result
8047 RETURN 0 - æ£ç¢º.
8048 RETURN 1 - Customerä¸å˜åœ¨.
8049 RETURN 2 - 隔日券ä¸å˜åœ¨.
8050 RETURN 3 - 隔日券已使用.
8051 RETURN 4 - 隔日券é¢é¡ç‚ºé›¶.
8052 ==================================================================
8053 Example
8054 EXEC [dbo].[NSP_Pos_ConsumeVoucher]
8055 @customerId = 8888888,
8056 @ticketId = 123456789012,
8057 @posId = 1,
8058 @posUserId = 1
8059
8060*/
8061CREATE PROCEDURE [dbo].[NSP_Pos_ConsumeVoucher]
8062 @customerId VARCHAR(12),
8063 @ticketId UDT_StringList READONLY,
8064 @posId INT,
8065 @posUserId INT
8066AS
8067BEGIN
8068 SET NOCOUNT ON;
8069
8070 -- 檢查Customer是å¦å˜åœ¨.
8071 DECLARE @cid INT
8072 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
8073 IF (@cid = -1)
8074 BEGIN
8075 RETURN 1;
8076 END
8077
8078 DECLARE @usedVoucher TABLE
8079 (
8080 TicketID VARCHAR(50),
8081 Comps INT
8082 )
8083
8084 -- å–得隔日券資訊.
8085 INSERT INTO @usedVoucher
8086 SELECT TicketID, Comps FROM dbo.CustomerTicket a INNER JOIN @ticketId b ON a.TicketID = b.Data
8087 WHERE TicketGroup = 0
8088 AND Release = 0
8089 AND ConsumeTime IS NULL
8090
8091 DECLARE @totalComps INT
8092 SELECT @totalComps = ISNULL(SUM(Comps), 0) FROM @usedVoucher
8093 IF (@totalComps = 0)
8094 BEGIN
8095 -- 沒有å¯ä½¿ç”¨çš„隔日券.
8096 RETURN 2;
8097 END
8098
8099 -- 將隔日券入帳.
8100 UPDATE dbo.Customer SET Credit = Credit + (@totalComps * 100) WHERE ID = @cid
8101
8102 UPDATE dbo.CustomerTicket
8103 SET ConsumeTime = GETDATE()
8104 , ConsumeCustomerID = @customerId
8105 FROM dbo.CustomerTicket a INNER JOIN @usedVoucher b
8106 ON a.TicketID = b.TicketID
8107
8108 -- 新增CustomerTicketUsed記錄.
8109 INSERT INTO dbo.CustomerTicketUsed
8110 ( TicketID ,
8111 TicketGroup ,
8112 CustomerID ,
8113 Comps ,
8114 StartTime ,
8115 EndTime ,
8116 CreateTime ,
8117 Release ,
8118 ConsumeTime ,
8119 ConsumeAmount ,
8120 ConsumeCustomerID ,
8121 GetTime
8122 )
8123 SELECT a.TicketID
8124 , a.TicketGroup
8125 , a.CustomerID
8126 , a.Comps
8127 , a.StartTime
8128 , a.EndTime
8129 , a.CreateTime
8130 , a.Release
8131 , a.ConsumeTime
8132 , a.ConsumeAmount
8133 , a.ConsumeCustomerID
8134 , a.GetTime
8135 FROM dbo.CustomerTicket a INNER JOIN @usedVoucher b ON a.TicketID = b.TicketID
8136
8137 -- 新增交易記錄.
8138 INSERT INTO dbo.TradeRecord
8139 ( RecordTime ,
8140 CustomerID ,
8141 TradeType ,
8142 Amount ,
8143 PosID ,
8144 PosUserID
8145 )
8146 VALUES ( GETDATE() , -- RecordTime - datetime
8147 @cid , -- CustomerID - int
8148 11 , -- TradeType - int
8149 @totalComps , -- Amount - int
8150 @posId , -- PosID - int
8151 @posUserId -- PosUserID - int
8152 )
8153
8154 SELECT b.CustomerID ,
8155 a.Amount ,
8156 b.InternetTime ,
8157 b.Credit ,
8158 b.Winnings ,
8159 b.Hands
8160 FROM dbo.TradeRecord a INNER JOIN dbo.Customer b ON a.CustomerID = b.ID
8161 WHERE a.ID = SCOPE_IDENTITY()
8162
8163 RETURN 0;
8164END
8165GO
8166/****** Object: StoredProcedure [dbo].[NSP_Pos_CancelReverse] Script Date: 01/08/2018 04:04:21 ******/
8167SET ANSI_NULLS ON
8168GO
8169SET QUOTED_IDENTIFIER ON
8170GO
8171/*
8172 ==================================================================
8173 Description
8174 ¨ú®øPurchaseReverse.
8175 ==================================================================
8176 History
8177 2014/10/14 LJC Created.
8178 ==================================================================
8179 Step
8180 ==================================================================
8181 Result
8182 ==================================================================
8183 Example
8184 EXEC [dbo].[NSP_Pos_CancelReverse]
8185 @customerId = '1'
8186
8187*/
8188CREATE PROCEDURE [dbo].[NSP_Pos_CancelReverse]
8189 @customerId VARCHAR(12)
8190AS
8191BEGIN
8192 SET NOCOUNT ON;
8193
8194 DECLARE @cid INT
8195 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
8196 IF (@cid = -1)
8197 BEGIN
8198 RETURN 1;
8199 END
8200
8201 SELECT TOP 1 a.TradeID, b.PosID, b.PosUserID FROM dbo.LastPurchase a INNER JOIN dbo.TradeRecord b ON a.TradeID = b.ID WHERE a.CustomerID = @cid
8202 DELETE FROM dbo.LastPurchase WHERE CustomerID = @cid
8203 RETURN 0;
8204END
8205GO
8206/****** Object: StoredProcedure [dbo].[NSP_C_SettleTrafficLightLose] Script Date: 01/08/2018 04:04:21 ******/
8207SET ANSI_NULLS ON
8208GO
8209SET QUOTED_IDENTIFIER ON
8210GO
8211/*
8212 ==================================================================
8213 Description
8214 çµç®—çŽ©è¼¸ç´…ç¶ ç‡ˆå°éŠæˆ².
8215 ==================================================================
8216 History
8217 2015/05/27 LJC Created.
8218 2016/02/02 LJC Modify - å› ç•¶åœ°å¸æ³•ä¸èªå¯è¼¸äº†é‚„有80%çš„è¦å‰‡ï¼Œæ‰€ä»¥å°‡è¼¸äº†Winningæ¸0.
8219 2016/03/16 LJC Modify - å› è¼¸çš„è¦å‰‡æ”¹æˆå¾Œå°è¨å®šï¼Œè¨ˆç®—è´åˆ†åŠ å…¥ç™¾åˆ†æ¯”è¨å®š.
8220 ==================================================================
8221 Step
8222 ==================================================================
8223 Result
8224 ==================================================================
8225 Example
8226 EXEC [dbo].[NSP_C_SettleTrafficLightLose]
8227 @customerId = '123456'
8228 , @losePercent = 80
8229
8230*/
8231CREATE PROCEDURE [dbo].[NSP_C_SettleTrafficLightLose]
8232 @customerId VARCHAR(12)
8233 , @losePercent INT
8234AS
8235BEGIN
8236 SET NOCOUNT ON;
8237
8238 DECLARE @cid INT
8239 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
8240 IF (@cid = -1)
8241 BEGIN
8242 RETURN 1;
8243 END
8244
8245 DECLARE @redeemType VARCHAR(50) = '1'
8246 --SELECT @redeemType = SettingValue FROM dbo.SystemSetting WHERE SettingKey = 'RedeemType'
8247
8248 DECLARE @credit INT = 0;
8249 DECLARE @winnings INT = 0;
8250 SELECT @credit = Credit, @winnings = Winnings FROM dbo.Customer WHERE ID = @cid
8251
8252 IF (@redeemType = '0')
8253 BEGIN
8254 -- å› ç‚ºæ²’æœ‰è¨Žè«–åˆ°RedeemTypeè¨å®šæˆCredit+Winnings(0)的狀æ³ï¼Œç›®å‰å¸‚å ´ä¹Ÿä¸æœƒèª¿æ•´æˆ0.
8255 DECLARE @pay INT = (@credit + @winnings) - CEILING((CONVERT(FLOAT, @losePercent) / 100) * (@credit + @winnings));
8256 IF (@winnings = 0)
8257 BEGIN
8258 SET @credit = @credit - @pay
8259 END
8260 ELSE IF (@winnings < @pay)
8261 BEGIN
8262 SET @credit = (@credit + @winnings) - @pay
8263 SET @winnings = 0
8264 END
8265 ELSE
8266 BEGIN
8267 SET @winnings = @winnings - @pay
8268 END
8269 END
8270 ELSE
8271 BEGIN
8272 SET @winnings = CEILING((CONVERT(FLOAT, @losePercent) / 100) * @winnings)
8273 END
8274
8275 UPDATE dbo.Customer SET Credit = @credit, Winnings = @winnings WHERE ID = @cid
8276
8277 RETURN 0;
8278END
8279GO
8280/****** Object: StoredProcedure [dbo].[NSP_C_PurchaseForReferral] Script Date: 01/08/2018 04:04:21 ******/
8281SET ANSI_NULLS ON
8282GO
8283SET QUOTED_IDENTIFIER ON
8284GO
8285/*
8286 ==================================================================
8287 Description
8288 ³Q¤¶²Ã¤HPurchase«áµ¹¤¶²Ã¤H¤¶²Ã¶O.
8289 ==================================================================
8290 History
8291 2013/11/22 LJC Created.
8292 2014/09/11 LJC Modify - TradeRecord·s¼WPosID»PPosUserID.
8293 ==================================================================
8294 Step
8295 1. Customer¤£¦s¦b¤£³B²z.
8296 2. ¨ú±o¤¶²Ã¤HÃ…U«È.
8297 3. ±NReferralFareÂà ´«¦¨Entry.
8298 4. §ó·sReferralCustomerªºCredit.
8299 ==================================================================
8300 Result
8301 RETURN 0 ¦¨¥\.
8302 RETURN 1 PurchaseªºAmount¦³°ÃÃD.
8303 RETURN 2 Customer¤£¦s¦b.
8304 RETURN 3 ³]©wÃö³¬®É±N¥æ©öÄæ¦ì¼g¦¨-1.
8305 RETURN 4 ¤¶²Ã¤HÃ…U«È¤£¦s¦b.
8306 RETURN 5 ReferralFare³]©w¬°0.
8307 ==================================================================
8308 Example
8309 DECLARE @return_value int
8310 EXEC @return_value = [dbo].[NSP_C_PurchaseForReferral]
8311 @customerId = N'1'
8312 SELECT 'Return Value' = @return_value
8313
8314*/
8315CREATE PROCEDURE [dbo].[NSP_C_PurchaseForReferral]
8316 @customerId VARCHAR(12),
8317 @amount INT,
8318 @posId INT,
8319 @posUserId INT
8320AS
8321BEGIN
8322 SET NOCOUNT ON;
8323
8324 IF (@amount <= 0)
8325 BEGIN
8326 RETURN 1
8327 END
8328
8329 -- Customer¤£¦s¦b¤£³B²z.
8330 DECLARE @cid INT
8331 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
8332 IF (@cid = -1)
8333 BEGIN
8334 RETURN 2
8335 END
8336
8337 -- ³]©wÃö³¬®É±N¥æ©öÄæ¦ì¼g¦¨-1.
8338 DECLARE @enable BIT
8339 SELECT @enable = CONVERT(BIT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'EnableCustomerReferral'
8340 IF (@enable = 0)
8341 BEGIN
8342 UPDATE dbo.CustomerReferral SET ReferralFareTradeId = -1 WHERE CustomerId = @cid
8343 RETURN 3
8344 END
8345
8346 -- ¨ú±o¤¶²Ã¤HÃ…U«È.
8347 DECLARE @rcid INT
8348 SELECT @rcid = b.ReferralCustomerId
8349 FROM dbo.Customer a INNER JOIN dbo.CustomerReferral b
8350 ON a.ID = b.CustomerId
8351 WHERE a.ID = @cid AND b.ReferralFareTradeId IS NULL
8352
8353 -- ¤¶²Ã¤HÃ…U«È¤£¦s¦b¤£³B²z.
8354 IF (@rcid IS NULL)
8355 BEGIN
8356 RETURN 4
8357 END
8358 ELSE IF NOT EXISTS (SELECT * FROM dbo.Customer WHERE ID = @rcid AND Release = 0)
8359 BEGIN
8360 UPDATE dbo.CustomerReferral SET ReferralFareTradeId = -1 WHERE CustomerId = @cid
8361 RETURN 4
8362 END
8363
8364 -- ±NReferralFareÂà ´«¦¨Entry.
8365 DECLARE @fare INT
8366 SELECT @fare = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'CustomerReferralFare'
8367
8368 DECLARE @entry INT
8369 EXEC @entry = dbo.NSP_S_ConvertToEntry @fare;
8370
8371 IF (@entry <= 0)
8372 BEGIN
8373 RETURN 5
8374 END
8375
8376 -- §ó·sReferralCustomerªºCredit.
8377 UPDATE dbo.Customer
8378 SET Credit = (SELECT Credit FROM dbo.Customer WHERE ID = @rcid) + @entry
8379 WHERE dbo.Customer.ID = @rcid
8380
8381 INSERT INTO dbo.TradeRecord ( RecordTime , CustomerID , TradeType , Amount, PosID, PosUserID )
8382 VALUES ( GETDATE() , @rcid , 5 , @fare, @posId, @posUserId )
8383
8384 UPDATE dbo.CustomerReferral
8385 SET ReferralFareTradeId = SCOPE_IDENTITY() WHERE CustomerId = @cid
8386
8387 SELECT ID, CustomerID, InternetTime, Credit, Winnings, Hands
8388 FROM dbo.Customer WHERE ID IN (@cid, @rcid)
8389 RETURN 0
8390END
8391GO
8392/****** Object: StoredProcedure [dbo].[NSP_Pos_Shift_GetCurrentShift] Script Date: 01/08/2018 04:04:21 ******/
8393SET ANSI_NULLS ON
8394GO
8395SET QUOTED_IDENTIFIER ON
8396GO
8397/*
8398 ==================================================================
8399 Description
8400 å–å¾—ç›®å‰ç資訊.
8401 ==================================================================
8402 History
8403 2014/08/20 LJC Created.
8404 2015/10/27 LJC Modify - 修改ç的記錄方å¼.
8405 ==================================================================
8406 Step
8407 1. å–å¾—ç•¶ç資訊.
8408 2. 若還未有當ç資訊則新增ç記錄.
8409 3. å–得收銀記錄與顧客交易記錄,並åˆä½µé¡¯ç¤º.
8410 ==================================================================
8411 Result
8412 ==================================================================
8413 Example
8414 EXEC [dbo].[NSP_Pos_Shift_GetCurrentShift]
8415 @posId = 1
8416
8417*/
8418CREATE PROCEDURE [dbo].[NSP_Pos_Shift_GetCurrentShift]
8419 @posId INT
8420AS
8421BEGIN
8422 SET NOCOUNT ON;
8423
8424 DECLARE @shiftId INT;
8425 DECLARE @start DATETIME;
8426 -- å–å¾—ç•¶ç資訊.
8427 SELECT @shiftId = ShiftID, @start = LoginTime FROM dbo.ShiftReport WHERE LogoutTime IS NULL AND PosID = @posId
8428
8429 -- 若還未有當ç資訊則新增ç記錄.
8430 IF (@shiftId IS NULL)
8431 BEGIN
8432 INSERT INTO dbo.ShiftReport (LoginTime, MembersID, PosID) VALUES (GETDATE(), -1, @posId)
8433 SELECT @shiftId = ShiftID, @start = LoginTime FROM dbo.ShiftReport WHERE LogoutTime IS NULL AND PosID = @posId
8434 END
8435
8436 -- å–得收銀記錄與顧客交易記錄,並åˆä½µé¡¯ç¤º.
8437 ;WITH ShiftDetail AS
8438 (
8439 SELECT * FROM dbo.ShiftReport_Detail WHERE ShiftID = @shiftId
8440 )
8441 , Trade AS
8442 (
8443 SELECT b.TradeType, SUM(b.Amount) AS Amount
8444 FROM ShiftDetail a INNER JOIN dbo.TradeRecord b ON a.TradeID = b.ID
8445 WHERE b.TradeType IN (0, 8, 1, 10, 9, 2, 4)
8446 GROUP BY b.TradeType
8447 )
8448 SELECT @shiftId AS ShiftID
8449 , @start AS StartTime
8450 , NULL AS EndTime
8451 , '' AS UserAccount
8452 , d.InitialAmount
8453 , d.TotalFills
8454 , d.TotalBleeds
8455 , t.TotalPurchase
8456 , t.TotalSpecialComps
8457 , t.TotalRedeem
8458 , t.TotalFreeEntry
8459 FROM
8460 (
8461 SELECT ISNULL(SUM(b.InitialAmount), 0) AS InitialAmount
8462 , ISNULL(SUM(b.Fills), 0) AS TotalFills
8463 , ISNULL(SUM(b.Bleeds), 0) AS TotalBleeds
8464 FROM ShiftDetail a INNER JOIN dbo.DrawerReport b ON a.DrawerID = b.DrawerID
8465 ) d,
8466 (
8467 SELECT SUM(tt.TotalPurchase) AS TotalPurchase
8468 , SUM(tt.TotalSpecialComps) AS TotalSpecialComps
8469 , SUM(tt.TotalRedeem) AS TotalRedeem
8470 , SUM(tt.TotalFreeEntry) AS TotalFreeEntry
8471 FROM
8472 (
8473 SELECT 0 AS TotalPurchase, 0 AS TotalSpecialComps, 0 AS TotalRedeem, 0 AS TotalFreeEntry
8474 UNION ALL
8475 SELECT ISNULL(Amount, 0), 0, 0, 0 FROM Trade WHERE TradeType = 0 -- Purchase.
8476 UNION ALL
8477 SELECT ISNULL(-Amount, 0), 0, 0, 0 FROM Trade WHERE TradeType = 8 -- ReversePurchase.
8478 UNION ALL
8479 SELECT 0, ISNULL(Amount, 0), 0, 0 FROM Trade WHERE TradeType IN (1, 10) -- SpecialComps.
8480 UNION ALL
8481 SELECT 0, ISNULL(-Amount, 0), 0, 0 FROM Trade WHERE TradeType = 9 -- ReverseComps.
8482 UNION ALL
8483 SELECT 0, 0, ISNULL(Amount, 0), 0 FROM Trade WHERE TradeType = 2 -- Redeem.
8484 UNION ALL
8485 SELECT 0, 0, 0, ISNULL(Amount, 0) FROM Trade WHERE TradeType = 4 -- FreeEntry.
8486 ) tt
8487 ) t
8488END
8489GO
8490/****** Object: StoredProcedure [dbo].[NSP_Pos_Shift_EndCurrentShift] Script Date: 01/08/2018 04:04:21 ******/
8491SET ANSI_NULLS ON
8492GO
8493SET QUOTED_IDENTIFIER ON
8494GO
8495/*
8496 ==================================================================
8497 Description
8498 çµç®—ç›®å‰ç資訊.
8499 ==================================================================
8500 History
8501 2014/08/20 LJC Created.
8502 2015/02/03 LJC Modify - ä¿®æ£äº¤æ˜“記錄Bug.
8503 2015/10/27 LJC Modify - 修改ç的記錄方å¼.
8504 ==================================================================
8505 Step
8506 ==================================================================
8507 Result
8508 RETURN 0 - æˆåŠŸ.
8509 RETURN 1 - PosUserä¸å˜åœ¨.
8510 ==================================================================
8511 Example
8512 EXEC [dbo].[NSP_Pos_Shift_EndCurrentShift]
8513 @account = 'boss',
8514 @password = '123456',
8515 @posId = 1
8516
8517*/
8518CREATE PROCEDURE [dbo].[NSP_Pos_Shift_EndCurrentShift]
8519 @account VARCHAR(16),
8520 @password VARCHAR(16),
8521 @posId INT
8522AS
8523BEGIN
8524 SET NOCOUNT ON;
8525
8526 -- 查詢User.
8527 DECLARE @uid INT;
8528 SELECT @uid = UserID FROM dbo.PosUser WHERE UserAccount = @account AND UserPassword = @password
8529 IF (@uid IS NULL)
8530 BEGIN
8531 RETURN 1;
8532 END
8533
8534 DECLARE @shiftId INT
8535 SELECT @shiftId = ShiftID FROM dbo.ShiftReport WHERE LogoutTime IS NULL AND PosID = @posId
8536
8537 -- çµç®—ShiftReport.
8538 ;WITH ShiftDetail AS
8539 (
8540 SELECT * FROM dbo.ShiftReport_Detail WHERE ShiftID = @shiftId
8541 )
8542 , Trade AS
8543 (
8544 SELECT b.TradeType, SUM(b.Amount) AS Amount
8545 FROM ShiftDetail a INNER JOIN dbo.TradeRecord b ON a.TradeID = b.ID
8546 WHERE a.ShiftID = @shiftId
8547 GROUP BY b.TradeType
8548 )
8549 UPDATE dbo.ShiftReport
8550 SET
8551 dbo.ShiftReport.InitialAmount = d.InitialAmount
8552 , dbo.ShiftReport.TotalFills = d.TotalFills
8553 , dbo.ShiftReport.TotalBleeds = d.TotalBleeds
8554 , dbo.ShiftReport.TotalPurchase = t.TotalPurchase
8555 , dbo.ShiftReport.TotalSpecialComps = t.TotalSpecialComps
8556 , dbo.ShiftReport.TotalRedeem = t.TotalRedeem
8557 , dbo.ShiftReport.TotalFreeEntry = t.TotalFreeEntry
8558 , dbo.ShiftReport.MembersID = @uid
8559 , dbo.ShiftReport.LogoutTime = GETDATE()
8560 FROM
8561 (
8562 SELECT SUM(InitialAmount) AS InitialAmount
8563 , SUM(Fills) AS TotalFills
8564 , SUM(Bleeds) AS TotalBleeds
8565 FROM ShiftDetail a INNER JOIN dbo.DrawerReport b ON a.DrawerID = b.DrawerID
8566 ) d,
8567 (
8568 SELECT SUM(TotalPurchase) AS TotalPurchase
8569 , SUM(TotalSpecialComps) AS TotalSpecialComps
8570 , SUM(TotalRedeem) AS TotalRedeem
8571 , SUM(TotalFreeEntry) AS TotalFreeEntry
8572 FROM
8573 (
8574 SELECT 0 AS TotalPurchase, 0 AS TotalSpecialComps, 0 AS TotalRedeem, 0 AS TotalFreeEntry
8575 UNION ALL
8576 SELECT ISNULL(Amount, 0), 0, 0, 0 FROM Trade WHERE TradeType = 0 -- Purchase.
8577 UNION ALL
8578 SELECT ISNULL(-Amount, 0), 0, 0, 0 FROM Trade WHERE TradeType = 8 -- ReversePurchase.
8579 UNION ALL
8580 SELECT 0, ISNULL(Amount, 0), 0, 0 FROM Trade WHERE TradeType IN (1, 10) -- SpecialComps.
8581 UNION ALL
8582 SELECT 0, ISNULL(-Amount, 0), 0, 0 FROM Trade WHERE TradeType = 9 -- ReverseComps.
8583 UNION ALL
8584 SELECT 0, 0, ISNULL(Amount, 0), 0 FROM Trade WHERE TradeType = 2 -- Redeem.
8585 UNION ALL
8586 SELECT 0, 0, 0, ISNULL(Amount, 0) FROM Trade WHERE TradeType = 4 -- FreeEntry.
8587 ) tt
8588 ) t
8589 WHERE ShiftID = @shiftId
8590
8591 -- 新建ShiftReport.
8592 INSERT INTO dbo.ShiftReport ( LoginTime , MembersID, PosID )
8593 VALUES ( GETDATE() , -1, @posId )
8594
8595 EXEC [dbo].[NSP_Pos_Shift_GetShiftByID] @shiftId
8596 RETURN 0;
8597END
8598GO
8599/****** Object: StoredProcedure [dbo].[NSP_Pos_SetFunctionByUserId] Script Date: 01/08/2018 04:04:21 ******/
8600SET ANSI_NULLS ON
8601GO
8602SET QUOTED_IDENTIFIER ON
8603GO
8604/*
8605 ==================================================================
8606 Description
8607 ¨ÌUserID³]©wÂ¥\¯à ¦CªÃ.
8608 ==================================================================
8609 History
8610 2014/09/04 LJC Created.
8611 ==================================================================
8612 Step
8613 ==================================================================
8614 Result
8615 RETURN 0 - ¥¿½T.
8616 RETURN 1 - ¦¹USER¤£¦s¦b.
8617 ==================================================================
8618 Example
8619 EXEC [dbo].[NSP_ProcedureName]
8620 @userId = 1,
8621 @funcId = 1,
8622 @enabled = 1
8623
8624*/
8625CREATE PROCEDURE [dbo].[NSP_Pos_SetFunctionByUserId]
8626 @userId INT,
8627 @funcId INT,
8628 @enabled INT
8629AS
8630BEGIN
8631 SET NOCOUNT ON;
8632
8633 DECLARE @userRoleId INT;
8634 SELECT @userRoleId = RoleID FROM dbo.PosUser WHERE UserID = @userId
8635 IF (@userRoleId IS NULL)
8636 BEGIN
8637 RETURN 1;
8638 END
8639
8640 DELETE FROM dbo.PosUserFunction_Authority WHERE UserID = @userId AND FunctionID = @funcId
8641 IF (@enabled = 0)
8642 BEGIN
8643 -- ¦bRoleFunction¤WÂnÃö³¬ªº.
8644 INSERT INTO dbo.PosUserFunction_Authority
8645 SELECT @userId, FunctionID, @enabled FROM dbo.PosFunction
8646 WHERE FunctionID IN (SELECT FunctionID FROM dbo.PosRoleFunction_Authority WHERE RoleID = @userRoleId)
8647 AND FunctionID = @funcId
8648 END
8649 ELSE
8650 BEGIN
8651 -- ¤£¦bRoleFunction¤WÂn¥´¶}ªº.
8652 INSERT INTO dbo.PosUserFunction_Authority
8653 SELECT @userId, FunctionID, @enabled FROM dbo.PosFunction
8654 WHERE FunctionID NOT IN (SELECT FunctionID FROM dbo.PosRoleFunction_Authority WHERE RoleID = @userRoleId)
8655 AND FunctionID = @funcId
8656 END
8657
8658 RETURN 0;
8659END
8660GO
8661/****** Object: StoredProcedure [dbo].[NSP_Pos_SetFunctionByPosUser] Script Date: 01/08/2018 04:04:21 ******/
8662SET ANSI_NULLS ON
8663GO
8664SET QUOTED_IDENTIFIER ON
8665GO
8666/*
8667 ==================================================================
8668 Description
8669 ¨ÌPosUser³]©wÂ¥\¯à ¦CªÃ.
8670 ==================================================================
8671 History
8672 2014/08/18 LJC Created.
8673 ==================================================================
8674 Step
8675 ==================================================================
8676 Result
8677 RETURN 0 - ¥¿½T.
8678 RETURN 1 - ¦¹USER¤£¦s¦b.
8679 ==================================================================
8680 Example
8681 EXEC [dbo].[NSP_Pos_SetFunctionByPosUser]
8682 @userAccount = 'boss',
8683 @userPassword = '123456',
8684 @funcId = 13,
8685 @enabled = 0
8686
8687*/
8688CREATE PROCEDURE [dbo].[NSP_Pos_SetFunctionByPosUser]
8689 @userAccount VARCHAR(16),
8690 @userPassword VARCHAR(16),
8691 @funcId INT,
8692 @enabled INT
8693AS
8694BEGIN
8695 SET NOCOUNT ON;
8696
8697 DECLARE @userId INT;
8698 DECLARE @userRole INT;
8699 SELECT @userId = UserID, @userRole = RoleID FROM dbo.PosUser WHERE UserAccount = @userAccount AND UserPassword = @userPassword
8700 IF (@userId IS NULL)
8701 BEGIN
8702 RETURN 1;
8703 END
8704
8705 DELETE FROM dbo.PosUserFunction_Authority WHERE UserID = @userId AND FunctionID = @funcId
8706 IF (@enabled = 0)
8707 BEGIN
8708 -- ¦bRoleFunction¤WÂnÃö³¬ªº.
8709 INSERT INTO dbo.PosUserFunction_Authority
8710 SELECT @userId, FunctionID, @enabled FROM dbo.PosFunction
8711 WHERE FunctionID IN (SELECT FunctionID FROM dbo.PosRoleFunction_Authority WHERE RoleID = @userRole)
8712 AND FunctionID = @funcId
8713 END
8714 ELSE
8715 BEGIN
8716 -- ¤£¦bRoleFunction¤WÂn¥´¶}ªº.
8717 INSERT INTO dbo.PosUserFunction_Authority
8718 SELECT @userId, FunctionID, @enabled FROM dbo.PosFunction
8719 WHERE FunctionID NOT IN (SELECT FunctionID FROM dbo.PosRoleFunction_Authority WHERE RoleID = @userRole)
8720 AND FunctionID = @funcId
8721 END
8722
8723 RETURN 0;
8724END
8725GO
8726/****** Object: StoredProcedure [dbo].[NSP_Pos_GetFunctionByUserId] Script Date: 01/08/2018 04:04:21 ******/
8727SET ANSI_NULLS ON
8728GO
8729SET QUOTED_IDENTIFIER ON
8730GO
8731/*
8732 ==================================================================
8733 Description
8734 ¨Ì¨Ã¥ÎªÌID¨ú±oÂ¥\¯à ¦CªÃ.
8735 ==================================================================
8736 History
8737 2014/08/18 LJC Created.
8738 ==================================================================
8739 Step
8740 -- ÀˬdUserID¬O§_¥¿½T.
8741 -- ¨ú¥XFunction.
8742 ==================================================================
8743 Result
8744 RETURN 0 - ¥¿½T.
8745 RETURN 1 - UserID¤£¦s¦b.
8746 ==================================================================
8747 Example
8748 EXEC [dbo].[NSP_Pos_GetFunctionByUserId]
8749 @targetUserId = 12345,
8750
8751*/
8752CREATE PROCEDURE [dbo].[NSP_Pos_GetFunctionByUserId]
8753 @targetUserId INT
8754AS
8755BEGIN
8756 SET NOCOUNT ON;
8757
8758 -- ÀˬdUserID¬O§_¥¿½T.
8759 DECLARE @userId INT;
8760 DECLARE @roleId INT;
8761 SELECT @userId = UserID, @roleId = RoleID FROM dbo.PosUser WHERE UserID = @targetUserId
8762 IF (@userId IS NULL)
8763 BEGIN
8764 RETURN 1;
8765 END
8766
8767 -- ¨ú¥XFunction.
8768 SELECT FunctionID, FunctionName, FunctionDisplayName, MenuButtonName, AuthAdjustable FROM dbo.PosFunction WHERE FunctionID IN
8769 (
8770 SELECT FunctionID FROM dbo.PosRoleFunction_Authority
8771 WHERE RoleID = @roleId
8772 AND FunctionID NOT IN
8773 (
8774 SELECT FunctionID FROM dbo.PosUserFunction_Authority WHERE UserID = @userId AND IsEnabled = 0
8775 )
8776 UNION ALL
8777 SELECT FunctionID FROM dbo.PosUserFunction_Authority WHERE UserID = @userId AND IsEnabled = 1
8778 ) ORDER BY DisplayOrder
8779 RETURN 0;
8780END
8781GO
8782/****** Object: StoredProcedure [dbo].[NSP_Web_Redeem] Script Date: 01/08/2018 04:04:21 ******/
8783SET ANSI_NULLS ON
8784GO
8785SET QUOTED_IDENTIFIER ON
8786GO
8787/*
8788 ==================================================================
8789 Description
8790 é€éŽWebåšRedeem
8791 ==================================================================
8792 History
8793 2015/05/27 LJC Created.
8794 ==================================================================
8795 Step
8796 ==================================================================
8797 Result
8798 ==================================================================
8799 Example
8800 EXEC [dbo].[NSP_Web_Redeem]
8801 @customerId = '34567',
8802 @userAccount = '73000300'
8803
8804*/
8805CREATE PROCEDURE [dbo].[NSP_Web_Redeem]
8806 @customerId VARCHAR(16),
8807 @userAccount VARCHAR(16)
8808AS
8809BEGIN
8810 SET NOCOUNT ON;
8811
8812 DECLARE @cid INT
8813 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
8814 IF (@cid = -1)
8815 BEGIN
8816 RETURN 1
8817 END
8818
8819 DECLARE @amount INT = 0
8820 SELECT @amount = (Credit + Winnings) FROM dbo.Customer WHERE ID = @cid
8821
8822 UPDATE dbo.Customer SET Credit = 0, Winnings = 0, Release = 1 WHERE ID = @cid
8823
8824 DECLARE @posUserId INT = 0
8825 SELECT @posUserId = UserID FROM dbo.PosUser WHERE UserAccount = @userAccount
8826
8827 INSERT INTO dbo.TradeRecord ( RecordTime , CustomerID , TradeType , Amount, PosID, PosUserID )
8828 VALUES ( GETDATE() , @cid , 2 , @amount, 0, @posUserId )
8829 RETURN 0;
8830END
8831GO
8832/****** Object: StoredProcedure [dbo].[NSP_R_GenerateCustomerDailyReportOnBoot] Script Date: 01/08/2018 04:04:21 ******/
8833SET ANSI_NULLS ON
8834GO
8835SET QUOTED_IDENTIFIER ON
8836GO
8837/*
8838 ==================================================================
8839 Description
8840 é–‹æ©Ÿæ™‚ç”¢ç”Ÿé¡§å®¢æ¯æ—¥å ±è¡¨.
8841 ==================================================================
8842 History
8843 2015/10/02 LJC Created.
8844 ==================================================================
8845 Step
8846 ==================================================================
8847 Result
8848 RecordDate ç›®å‰æœ€å¾Œä¸€ç†è³‡æ–™çš„æ—¥æœŸ.
8849 ==================================================================
8850 Example
8851 EXEC [dbo].[NSP_R_GenerateCustomerDailyReportOnBoot]
8852
8853*/
8854CREATE PROCEDURE [dbo].[NSP_R_GenerateCustomerDailyReportOnBoot]
8855AS
8856BEGIN
8857 SET NOCOUNT ON;
8858
8859 DECLARE @lastRecordDate DATE;
8860 -- CustomerID為空('')表示當日資料çµå°¾ï¼Œä¸¦åˆ¤æ–·å·²ç”¢ç”Ÿè³‡æ–™çš„æ™‚é–“.
8861 SELECT @lastRecordDate = MAX(RecordDate) FROM dbo.CustomerDailyReport WHERE CustomerID = ''
8862 IF (@lastRecordDate IS NULL)
8863 BEGIN
8864 -- 資料為空時,åªç”¢ç”Ÿå‰ä¸€å¤©(ç›®å‰æ—¥æœŸ - 2Day)的資料.
8865 DECLARE @dayBefore DATE = DATEADD(dd, -2, GETDATE())
8866 EXEC dbo.NSP_R_GenerateCustomerDailyReport @targetDate = @dayBefore
8867 END
8868 ELSE
8869 BEGIN
8870 -- 產生æ¯ä¸€å¤©çš„資料.
8871 DECLARE @nowDate DATE = GETDATE()
8872 DECLARE @date DATE = DATEADD(dd, 1, @lastRecordDate)
8873 WHILE (@date < @nowDate)
8874 BEGIN
8875 EXEC dbo.NSP_R_GenerateCustomerDailyReport @targetDate = @date
8876 SET @date = DATEADD(dd, 1, @date)
8877 END
8878 END
8879
8880 SELECT MAX(RecordDate) FROM dbo.CustomerDailyReport WHERE CustomerID = ''
8881END
8882GO
8883/****** Object: StoredProcedure [dbo].[NSP_Pos_GetFunctionByUserAccount] Script Date: 01/08/2018 04:04:21 ******/
8884SET ANSI_NULLS ON
8885GO
8886SET QUOTED_IDENTIFIER ON
8887GO
8888/*
8889 ==================================================================
8890 Description
8891 ¨Ì¨Ã¥ÎªÌ±b¸¹¨ú±oÂ¥\¯à ¦CªÃ.
8892 ==================================================================
8893 History
8894 2014/08/18 LJC Created.
8895 ==================================================================
8896 Step
8897 ==================================================================
8898 Result
8899 RETURN 0 - ¥¿½T.
8900 RETURN 1 - ¦¹USER¤£¦s¦b.
8901 ==================================================================
8902 Example
8903 EXEC [dbo].[NSP_Pos_GetFunctionByPosUser]
8904 @userAccount = 'boss',
8905 @userPassword = '123456'
8906
8907*/
8908CREATE PROCEDURE [dbo].[NSP_Pos_GetFunctionByUserAccount]
8909 @userAccount VARCHAR(16),
8910 @userPassword VARCHAR(16)
8911AS
8912BEGIN
8913 SET NOCOUNT ON;
8914
8915 DECLARE @userId INT;
8916
8917 SELECT @userId = UserID FROM dbo.PosUser WHERE UserAccount = @userAccount AND UserPassword = @userPassword
8918 IF (@userId IS NULL)
8919 BEGIN
8920 RETURN 1;
8921 END
8922
8923 DECLARE @return_value INT;
8924 EXEC @return_value = [dbo].[NSP_Pos_GetFunctionByUserId] @targetUserId = 2
8925 IF (@return_value = 1)
8926 BEGIN
8927 RETURN 2;
8928 END
8929
8930 RETURN 0;
8931END
8932GO
8933/****** Object: StoredProcedure [dbo].[NSP_C_LoadingStationPurchase] Script Date: 01/08/2018 04:04:21 ******/
8934SET ANSI_NULLS ON
8935GO
8936SET QUOTED_IDENTIFIER ON
8937GO
8938/*
8939 ==================================================================
8940 Description
8941 處ç†LoadingStation Purchase.
8942 ==================================================================
8943 History
8944 2014/02/10 LJC Created.
8945 2015/12/10 WCS Modify. Add WebstoreCouponPoints
8946 ==================================================================
8947 Step
8948 1. 確èªÂMachine是å¦å˜在.
8949 2. Amount有å•Â題ä¸Â處ç†.
8950 3. Customerä¸Âå˜在ä¸Â處ç†.
8951 4. Purchase的金é¡Â為0時ä¸Âçâ€Â¢Ã§â€Å¸Ã¤ÂºÂ¤Ã¦Ëœâ€œÃ¨Â¨ËœÃ©Å’„.
8952 5. çâ€Â¢Ã§â€Å¸Ã¤ÂºÂ¤Ã¦Ëœâ€œÃ¨Â¨ËœÃ©Å’„.
8953 6. 新增至CashBox.
8954 ==================================================================
8955 Result
8956 RETURN 0 æˆÂ功.
8957 RETURN 1 Machineä¸Âå˜在.
8958 RETURN 2 Amount有å•Â題.
8959 RETURN 3 Customerä¸Âå˜在.
8960 RETURN 4 Purchase的金é¡Â為0.
8961 ==================================================================
8962 Example
8963 DECLARE @c UDT_Cashs
8964 INSERT INTO @c VALUES(1,1)
8965 INSERT INTO @c VALUES(5,1)
8966 INSERT INTO @c VALUES(10,1)
8967 INSERT INTO @c VALUES(20,1)
8968 INSERT INTO @c VALUES(100,1)
8969 INSERT INTO @c VALUES(200,1)
8970
8971 EXEC [LocalServer].[dbo].[NSP_C_LoadingStationPurchase]
8972 @machineId = 0,
8973 @customerId = N'1',
8974 @amount = 1000,
8975 @cashs = @c
8976
8977*/
8978CREATE PROCEDURE [dbo].[NSP_C_LoadingStationPurchase]
8979 @machineId INT,
8980 @customerId VARCHAR(12),
8981 @amount INT,
8982 @cashs UDT_Cashs READONLY
8983AS
8984BEGIN
8985 SET NOCOUNT ON;
8986
8987 -- 確èªÂMachine是å¦å˜在.
8988 IF NOT EXISTS (SELECT * FROM dbo.LoadingStation WHERE MachineID = @machineId)
8989 BEGIN
8990 RETURN 1;
8991 END
8992
8993 -- Amount有å•Â題ä¸Â處ç†.
8994 IF (@amount < 0)
8995 BEGIN
8996 RETURN 2;
8997 END
8998
8999 -- Customerä¸Âå˜在ä¸Â處ç†.
9000 DECLARE @cid INT
9001 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
9002 IF (@cid = -1)
9003 BEGIN
9004 RETURN 3;
9005 END
9006
9007 DECLARE @entry INT
9008 EXEC @entry = dbo.NSP_S_ConvertToEntry @amount;
9009
9010 DECLARE @unit INT
9011 SELECT @unit = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'InternetTimeUnit'
9012
9013 UPDATE dbo.Customer
9014 SET InternetTime = (SELECT InternetTime FROM dbo.Customer WHERE ID = @cid) + (@amount * @unit * 60)
9015 , Credit = (SELECT Credit FROM dbo.Customer WHERE ID = @cid) + @entry
9016 WHERE dbo.Customer.ID = @cid
9017
9018 -- WebstoreCoupon
9019 EXEC dbo.NSP_C_WebstoreCoupon_Purchase
9020 @customerId = @customerId,
9021 @purchase = @amount
9022
9023 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
9024
9025 -- Purchase的金é¡Â為0時ä¸Âçâ€Â¢Ã§â€Å¸Ã¤ÂºÂ¤Ã¦Ëœâ€œÃ¨Â¨ËœÃ©Å’„.
9026 IF (@entry = 0)
9027 BEGIN
9028 RETURN 4;
9029 END
9030
9031 -- çâ€Â¢Ã§â€Å¸Ã¤ÂºÂ¤Ã¦Ëœâ€œÃ¨Â¨ËœÃ©Å’„.
9032 INSERT INTO dbo.TradeRecord
9033 ( RecordTime , CustomerID , TradeType , Amount )
9034 VALUES ( GETDATE() , @cid , 6 , @amount )
9035
9036 -- 新增至CashBox.
9037 IF NOT EXISTS(SELECT TOP 1 * FROM @cashs)
9038 BEGIN
9039 EXEC dbo.NSP_C_LoadingStationCashBoxAdd @machineId, @amount
9040 END
9041 ELSE
9042 BEGIN
9043 DECLARE @cashs_temp TABLE
9044 (
9045 RowID INT,
9046 CashType INT,
9047 CashCounts INT
9048 )
9049
9050 INSERT INTO @cashs_temp
9051 SELECT ROW_NUMBER() OVER(ORDER BY Type) AS RowID, Type, Counts FROM @cashs
9052
9053 DECLARE @i AS INT = 1
9054 DECLARE @j AS INT = 0
9055 DECLARE @max AS INT = (SELECT MAX(RowID)FROM @cashs_temp)
9056 DECLARE @Cash_Amount INT
9057 DECLARE @Cash_Counts INT
9058
9059 WHILE @i <= @max BEGIN
9060 SELECT @Cash_Amount = CashType, @Cash_Counts = CashCounts FROM @cashs_temp WHERE RowID = @i
9061 SET @j = 0
9062 WHILE @j < @Cash_Counts BEGIN
9063 EXEC dbo.NSP_C_LoadingStationCashBoxAdd @machineId, @Cash_Amount
9064 SET @j = @j + 1
9065 END
9066 SET @i = @i + 1
9067 END --WHILE
9068 END -- IF ELSE
9069
9070 RETURN 0
9071END
9072GO
9073/****** Object: StoredProcedure [dbo].[NSP_Event_Calculate] Script Date: 01/08/2018 04:04:21 ******/
9074SET ANSI_NULLS ON
9075GO
9076SET QUOTED_IDENTIFIER ON
9077GO
9078/*
9079 ==================================================================
9080 Description
9081 計算並處ç†Event.
9082 ==================================================================
9083 History
9084 2014/12/12 LJC Created.
9085 ==================================================================
9086 Step
9087 1. 檢查æ¯å€‹CustomerID.
9088 2. è™•ç†æ¯å€‹Task.
9089 ==================================================================
9090 Result
9091 RETURN 0 - 處ç†å®Œæˆ.
9092 RETURN 1 - Customerä¸å˜åœ¨.
9093 ==================================================================
9094 Example
9095 EXEC [dbo].[NSP_Event_Calculate]
9096 @customerId = '12345',
9097 @type = 0,
9098 @value = 30
9099
9100*/
9101CREATE PROCEDURE [dbo].[NSP_Event_Calculate]
9102 @customerId VARCHAR(12),
9103 @type INT,
9104 @value INT
9105AS
9106BEGIN
9107 SET NOCOUNT ON;
9108
9109 DECLARE @cid INT
9110
9111 -- 檢查æ¯å€‹CustomerID.
9112 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
9113 IF (@cid = -1)
9114 BEGIN
9115 RETURN 1;
9116 END
9117
9118 DECLARE @taskId INT
9119
9120 DECLARE CUR_LIST CURSOR FAST_FORWARD READ_ONLY FOR
9121 SELECT TaskID FROM dbo.Event_EventSetting WHERE TaskEnabled = 1 AND Condition1Type = @type
9122
9123 OPEN CUR_LIST
9124
9125 FETCH NEXT FROM CUR_LIST INTO @taskId
9126 WHILE @@FETCH_STATUS = 0
9127 BEGIN
9128
9129 -- è™•ç†æ¯å€‹Task.
9130 EXEC dbo.NSP_Event_CalculateByTask @cid, @taskId, @value
9131
9132 FETCH NEXT FROM CUR_LIST INTO @taskId
9133 END
9134
9135 CLOSE CUR_LIST
9136 DEALLOCATE CUR_LIST
9137
9138 RETURN 0;
9139END
9140GO
9141/****** Object: StoredProcedure [dbo].[NSP_C_DoPurchase] Script Date: 01/08/2018 04:04:21 ******/
9142SET ANSI_NULLS ON
9143GO
9144SET QUOTED_IDENTIFIER ON
9145GO
9146/*
9147 ==================================================================
9148 Description
9149 購買點數(KeyIn).
9150 ==================================================================
9151 History
9152 2013/11/27 LJC Created.
9153 2013/09/03 LJC Modify - 新增Step 5.
9154 2015/12/09 WCS Modify - 新增WebstoreCoupon
9155 ==================================================================
9156 Step
9157 1. Amount有å•Â題ä¸Â處ç†.
9158 2. Customerä¸Âå˜在ä¸Â處ç†.
9159 3. Purchase的金é¡Â為0時ä¸Âçâ€Â¢Ã§â€Å¸Ã¤ÂºÂ¤Ã¦Ëœâ€œÃ¨Â¨ËœÃ©Å’„.
9160 4. çâ€Â¢Ã§â€Å¸Ã¤ÂºÂ¤Ã¦Ëœâ€œÃ¨Â¨ËœÃ©Å’„.
9161 5. æ›´æ–°LastPurchase.
9162 ==================================================================
9163 Result
9164 RETURN 0 æˆÂ功.
9165 RETURN 1 Amount有å•Â題.
9166 RETURN 2 Customerä¸Âå˜在.
9167 RETURN 3 Purchase的金é¡Â為0.
9168 ==================================================================
9169 Example
9170 EXEC [dbo].[NSP_C_DoPurchase]
9171 @customerId = N'1',
9172 @amount = 100,
9173 @posId = 1,
9174 @posUserId = 1
9175*/
9176CREATE PROCEDURE [dbo].[NSP_C_DoPurchase]
9177 @customerId VARCHAR(12),
9178 @amount INT,
9179 @posId INT,
9180 @posUserId INT
9181AS
9182BEGIN
9183 SET NOCOUNT ON;
9184
9185 -- Amount有å•Â題ä¸Â處ç†.
9186 IF (@amount < 0)
9187 BEGIN
9188 RETURN 1
9189 END
9190
9191 -- Customerä¸Âå˜在ä¸Â處ç†.
9192 DECLARE @cid INT
9193 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
9194 IF (@cid = -1)
9195 BEGIN
9196 RETURN 2
9197 END
9198
9199 DECLARE @entry INT
9200 EXEC @entry = dbo.NSP_S_ConvertToEntry @amount;
9201
9202 DECLARE @unit INT
9203 SELECT @unit = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'InternetTimeUnit'
9204
9205 UPDATE dbo.Customer
9206 SET InternetTime = (SELECT InternetTime FROM dbo.Customer WHERE ID = @cid) + (@amount * @unit * 60)
9207 , Credit = (SELECT Credit FROM dbo.Customer WHERE ID = @cid) + @entry
9208 WHERE dbo.Customer.ID = @cid
9209
9210 -- WebstoreCoupon
9211 EXEC dbo.NSP_C_WebstoreCoupon_Purchase
9212 @customerId = @customerId,
9213 @purchase = @amount
9214
9215 EXEC [dbo].[NSP_C_GetCustomerAccountById] @cid
9216
9217 -- Purchase的金é¡Â為0時ä¸Âçâ€Â¢Ã§â€Å¸Ã¤ÂºÂ¤Ã¦Ëœâ€œÃ¨Â¨ËœÃ©Å’„.
9218 IF (@entry = 0)
9219 BEGIN
9220 RETURN 3
9221 END
9222
9223 -- çâ€Â¢Ã§â€Å¸Ã¤ÂºÂ¤Ã¦Ëœâ€œÃ¨Â¨ËœÃ©Å’„.
9224 INSERT INTO dbo.TradeRecord ( RecordTime , CustomerID , TradeType , Amount, PosID, PosUserID )
9225 VALUES ( GETDATE() , @cid , 0 , @amount, @posId, @posUserId )
9226
9227 -- æ›´æ–°LastPurchase.
9228 DELETE FROM dbo.LastPurchase WHERE CustomerID = @cid
9229 INSERT INTO dbo.LastPurchase VALUES ( @cid, SCOPE_IDENTITY() )
9230
9231 RETURN 0
9232END
9233GO
9234/****** Object: StoredProcedure [dbo].[NSP_C_CustomerLoginLog] Script Date: 01/08/2018 04:04:21 ******/
9235SET ANSI_NULLS ON
9236GO
9237SET QUOTED_IDENTIFIER ON
9238GO
9239/*
9240 ==================================================================
9241 Description
9242 Customer 登入紀錄
9243 ==================================================================
9244 History
9245 2014/01/13 HJC Created.
9246 ==================================================================
9247 Step
9248 --
9249 ==================================================================
9250 Result
9251 RETURN 0
9252 ==================================================================
9253 Example
9254 EXEC [dbo].[NSP_C_CustomerLoginLog]
9255 @CustomerID = '1'
9256
9257*/
9258CREATE PROCEDURE [dbo].[NSP_C_CustomerLoginLog]
9259 @CustomerID VARCHAR(12)
9260AS
9261BEGIN
9262 SET NOCOUNT ON;
9263
9264 DECLARE @SID INT
9265
9266 EXEC @SID = dbo.NSP_C_GetCustomerSid @CustomerID
9267
9268 IF (@SID != -1)
9269 BEGIN
9270 -- 先把舊記錄清除
9271 EXEC [dbo].NSP_C_CustomerLogOutLog @CustomerID
9272
9273 INSERT INTO dbo.CustomerOnlineLog
9274 ([CustomerSID], [CustomerID], [IsOnline], [LoginDateTime], [LogoutDateTime], [UsedTime])
9275 VALUES
9276 (@SID, @CustomerID, 1, GETDATE(), NULL, '----:--:--')
9277 END
9278
9279 RETURN 0
9280END
9281GO
9282/****** Object: StoredProcedure [dbo].[NSP_C_DoReversePurchase] Script Date: 01/08/2018 04:04:21 ******/
9283SET ANSI_NULLS ON
9284GO
9285SET QUOTED_IDENTIFIER ON
9286GO
9287/*
9288 ==================================================================
9289 Description
9290 Reverse Purchase交易
9291 ==================================================================
9292 History
9293 2014/07/16 LJC Created.
9294 2015/12/10 WCS WebstoreCoupon
9295 ==================================================================
9296 Step
9297 1. 確èªÂ是å¦å¯以退回Purchase.
9298 2. 更新Customer資訊.
9299 3. 刪除LastPurchase記錄.
9300 4. 新增Reverse交易記錄.
9301 ==================================================================
9302 Result
9303 RETURN 0 - æÂ£å¸¸.
9304 RETURN 1 - 交易金é¡Â為0.
9305 RETURN 2 - 找ä¸Â到該顧客.
9306 RETURN 3 - 找ä¸Â到è¦ÂReverse的交易記錄.
9307 RETURN 4 - 顧客的InternetTimeé¡Â度已無法處ç†æÂ¤ç†交易.
9308 RETURN 5 - 顧客的Credité¡Â度已無法處ç†æÂ¤ç†交易.
9309 ==================================================================
9310 Example
9311 EXEC [dbo].[NSP_C_DoReversePurchase]
9312 @customerId = '1'
9313
9314*/
9315CREATE PROCEDURE [dbo].[NSP_C_DoReversePurchase]
9316 @customerId VARCHAR(12),
9317 @posId INT,
9318 @userId INT
9319AS
9320BEGIN
9321 SET NOCOUNT ON;
9322
9323 -- 確èªÂ是å¦å¯以退回Purchase.
9324 DECLARE @checkResult INT;
9325 EXEC @checkResult = dbo.NSP_C_CheckPurchaseReversible @customerId = @customerId
9326 IF (@checkResult != 0)
9327 BEGIN
9328 RETURN @checkResult;
9329 END
9330
9331 DECLARE @purchaseAmount INT;
9332 DECLARE @compsAmount INT = 0;
9333 DECLARE @dCompsAmount INT = 0;
9334 SELECT @purchaseAmount = c.Amount FROM dbo.LastPurchase a INNER JOIN dbo.Customer b ON a.CustomerID = b.ID INNER JOIN dbo.TradeRecord c ON a.TradeID = c.ID WHERE b.Release = 0 AND b.CustomerID = @customerId AND c.TradeType = 0
9335 SELECT @compsAmount = c.Amount FROM dbo.LastPurchase a INNER JOIN dbo.Customer b ON a.CustomerID = b.ID INNER JOIN dbo.TradeRecord c ON a.TradeID = c.ID WHERE b.Release = 0 AND b.CustomerID = @customerId AND c.TradeType = 1
9336 SELECT @dCompsAmount = c.Amount FROM dbo.LastPurchase a INNER JOIN dbo.Customer b ON a.CustomerID = b.ID INNER JOIN dbo.TradeRecord c ON a.TradeID = c.ID WHERE b.Release = 0 AND b.CustomerID = @customerId AND c.TradeType = 10
9337
9338 DECLARE @cid INT
9339 EXEC @cid = dbo.NSP_C_GetCustomerSid @customerId
9340
9341 DECLARE @unit INT
9342 SELECT @unit = CONVERT(INT, SettingValue) FROM dbo.SystemSetting WHERE SettingKey = N'InternetTimeUnit'
9343
9344 DECLARE @amount INT = @purchaseAmount + @compsAmount + @dCompsAmount
9345 DECLARE @addCredit INT
9346 EXEC @addCredit = dbo.NSP_S_ConvertToEntry @amount;
9347
9348 -- 更新Customer資訊.
9349 UPDATE dbo.Customer
9350 SET
9351 InternetTime = InternetTime - (@purchaseAmount * @unit * 60)
9352 , Credit = Credit - @addCredit
9353 WHERE ID = @cid
9354
9355 IF EXISTS (SELECT * FROM dbo.Customer WHERE ID = @cid AND InternetTime < 0)
9356 BEGIN
9357 UPDATE dbo.Customer SET InternetTime = 0 WHERE ID = @cid
9358 END
9359
9360 IF (@dCompsAmount > 0)
9361 BEGIN
9362 UPDATE dbo.Customer SET LastDailySpecialCompTime = DATEADD(dd, -1, LastDailySpecialCompTime)
9363 WHERE ID = @cid
9364 END
9365
9366 -- WebstoreCoupon
9367 DECLARE @tradeId INT = (SELECT a.TradeID FROM dbo.LastPurchase a INNER JOIN dbo.Customer b ON a.CustomerID = b.ID INNER JOIN dbo.TradeRecord c ON a.TradeID = c.ID WHERE b.Release = 0 AND b.CustomerID = @customerId AND c.TradeType = 0)
9368 EXEC dbo.NSP_C_WebstoreCoupon_Reverse @tradeId
9369
9370
9371 -- 刪除LastPurchase記錄.
9372 DELETE FROM dbo.LastPurchase WHERE CustomerID = @cid
9373
9374 -- 新增Reverse交易記錄.
9375 INSERT INTO dbo.TradeRecord ( RecordTime , CustomerID , TradeType , Amount, PosID, PosUserID )
9376 VALUES ( GETDATE() , @cid , 8 , @purchaseAmount, @posId, @userId )
9377
9378 IF (@compsAmount > 0 OR @dCompsAmount > 0)
9379 BEGIN
9380 INSERT INTO dbo.TradeRecord ( RecordTime , CustomerID , TradeType , Amount, PosID, PosUserID )
9381 VALUES ( GETDATE() , @cid , 9 , (@compsAmount + @dCompsAmount), @posId, @userId )
9382 END
9383 RETURN 0;
9384END
9385GO
9386/****** Object: Default [DF_ClientShiftReport_StartTime] Script Date: 01/08/2018 04:04:19 ******/
9387ALTER TABLE [dbo].[ClientShiftReport] ADD CONSTRAINT [DF_ClientShiftReport_StartTime] DEFAULT (getdate()) FOR [StartTime]
9388GO
9389/****** Object: Default [DF_ClientShiftReport_TotalPurchase] Script Date: 01/08/2018 04:04:19 ******/
9390ALTER TABLE [dbo].[ClientShiftReport] ADD CONSTRAINT [DF_ClientShiftReport_TotalPurchase] DEFAULT ((0)) FOR [TotalPurchase]
9391GO
9392/****** Object: Default [DF_ClientShiftReport_TotalSpecialComps] Script Date: 01/08/2018 04:04:19 ******/
9393ALTER TABLE [dbo].[ClientShiftReport] ADD CONSTRAINT [DF_ClientShiftReport_TotalSpecialComps] DEFAULT ((0)) FOR [TotalSpecialComps]
9394GO
9395/****** Object: Default [DF_ClientShiftReport_TotalRedeem] Script Date: 01/08/2018 04:04:19 ******/
9396ALTER TABLE [dbo].[ClientShiftReport] ADD CONSTRAINT [DF_ClientShiftReport_TotalRedeem] DEFAULT ((0)) FOR [TotalRedeem]
9397GO
9398/****** Object: Default [DF_ClientShiftReport_IsClosedReport] Script Date: 01/08/2018 04:04:19 ******/
9399ALTER TABLE [dbo].[ClientShiftReport] ADD CONSTRAINT [DF_ClientShiftReport_IsClosedReport] DEFAULT ((0)) FOR [IsClosedReport]
9400GO
9401/****** Object: Default [DF__Customer__Intern__0910ADDC] Script Date: 01/08/2018 04:04:19 ******/
9402ALTER TABLE [dbo].[Customer] ADD DEFAULT ((0)) FOR [InternetTime]
9403GO
9404/****** Object: Default [DF__Customer__Credit__0A04D215] Script Date: 01/08/2018 04:04:19 ******/
9405ALTER TABLE [dbo].[Customer] ADD DEFAULT ((0)) FOR [Credit]
9406GO
9407/****** Object: Default [DF__Customer__Winnin__0AF8F64E] Script Date: 01/08/2018 04:04:19 ******/
9408ALTER TABLE [dbo].[Customer] ADD DEFAULT ((0)) FOR [Winnings]
9409GO
9410/****** Object: Default [DF__Customer__Addres__0BED1A87] Script Date: 01/08/2018 04:04:19 ******/
9411ALTER TABLE [dbo].[Customer] ADD DEFAULT ('') FOR [Address]
9412GO
9413/****** Object: Default [DF__Customer__City__0CE13EC0] Script Date: 01/08/2018 04:04:19 ******/
9414ALTER TABLE [dbo].[Customer] ADD DEFAULT ('') FOR [City]
9415GO
9416/****** Object: Default [DF__Customer__State__0DD562F9] Script Date: 01/08/2018 04:04:19 ******/
9417ALTER TABLE [dbo].[Customer] ADD DEFAULT ('') FOR [State]
9418GO
9419/****** Object: Default [DF__Customer__Zip__0EC98732] Script Date: 01/08/2018 04:04:19 ******/
9420ALTER TABLE [dbo].[Customer] ADD DEFAULT ('') FOR [Zip]
9421GO
9422/****** Object: Default [DF__Customer__Phone__0FBDAB6B] Script Date: 01/08/2018 04:04:19 ******/
9423ALTER TABLE [dbo].[Customer] ADD DEFAULT ('') FOR [Phone]
9424GO
9425/****** Object: Default [DF__Customer__Email__10B1CFA4] Script Date: 01/08/2018 04:04:19 ******/
9426ALTER TABLE [dbo].[Customer] ADD DEFAULT ('') FOR [Email]
9427GO
9428/****** Object: Default [DF__Customer__Releas__11A5F3DD] Script Date: 01/08/2018 04:04:19 ******/
9429ALTER TABLE [dbo].[Customer] ADD DEFAULT ((0)) FOR [Release]
9430GO
9431/****** Object: Default [DF__Customer__IsPres__129A1816] Script Date: 01/08/2018 04:04:19 ******/
9432ALTER TABLE [dbo].[Customer] ADD DEFAULT ((0)) FOR [IsPresentSpecialComp]
9433GO
9434/****** Object: Default [DF_Customer_Birthday] Script Date: 01/08/2018 04:04:19 ******/
9435ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_Birthday] DEFAULT (getdate()) FOR [Birthday]
9436GO
9437/****** Object: Default [DF__Customer__LastLo__14826088] Script Date: 01/08/2018 04:04:19 ******/
9438ALTER TABLE [dbo].[Customer] ADD DEFAULT (getdate()) FOR [LastLoginTime]
9439GO
9440/****** Object: Default [DF_Customer_LastDailyFreeEntryTime] Script Date: 01/08/2018 04:04:19 ******/
9441ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_LastDailyFreeEntryTime] DEFAULT (getdate()) FOR [LastDailyFreeEntryTime]
9442GO
9443/****** Object: Default [DF_Customer_LastDailySpecialCompTime] Script Date: 01/08/2018 04:04:19 ******/
9444ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_LastDailySpecialCompTime] DEFAULT (getdate()) FOR [LastDailySpecialCompTime]
9445GO
9446/****** Object: Default [DF_Customer_CreateDateTime] Script Date: 01/08/2018 04:04:19 ******/
9447ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_CreateDateTime] DEFAULT (getdate()) FOR [CreateDateTime]
9448GO
9449/****** Object: Default [DF_Customer_Hands] Script Date: 01/08/2018 04:04:19 ******/
9450ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_Hands] DEFAULT ((0)) FOR [Hands]
9451GO
9452/****** Object: Default [DF_Customer_LastLogoutTime] Script Date: 01/08/2018 04:04:19 ******/
9453ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_LastLogoutTime] DEFAULT (getdate()) FOR [LastLogoutTime]
9454GO
9455/****** Object: Default [DF_Customer_IdentityLicense] Script Date: 01/08/2018 04:04:19 ******/
9456ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_IdentityLicense] DEFAULT ('') FOR [IdentityLicense]
9457GO
9458/****** Object: Default [DF_Customer_Gender] Script Date: 01/08/2018 04:04:19 ******/
9459ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_Gender] DEFAULT ((0)) FOR [Gender]
9460GO
9461/****** Object: Default [DF__Customer__Websto__5F056577] Script Date: 01/08/2018 04:04:19 ******/
9462ALTER TABLE [dbo].[Customer] ADD DEFAULT ((0)) FOR [WebstoreCouponPoints]
9463GO
9464/****** Object: Default [DF_CustomerTicket_ConsumeTime] Script Date: 01/08/2018 04:04:19 ******/
9465ALTER TABLE [dbo].[CustomerTicket] ADD CONSTRAINT [DF_CustomerTicket_ConsumeTime] DEFAULT (NULL) FOR [ConsumeTime]
9466GO
9467/****** Object: Default [DF_CustomerTicket_ConsumeAmount] Script Date: 01/08/2018 04:04:19 ******/
9468ALTER TABLE [dbo].[CustomerTicket] ADD CONSTRAINT [DF_CustomerTicket_ConsumeAmount] DEFAULT (NULL) FOR [ConsumeAmount]
9469GO
9470/****** Object: Default [DF_CustomerTicketUsed_ConsumeTime] Script Date: 01/08/2018 04:04:19 ******/
9471ALTER TABLE [dbo].[CustomerTicketUsed] ADD CONSTRAINT [DF_CustomerTicketUsed_ConsumeTime] DEFAULT (NULL) FOR [ConsumeTime]
9472GO
9473/****** Object: Default [DF_CustomerTicketUsed_ConsumeAmount] Script Date: 01/08/2018 04:04:19 ******/
9474ALTER TABLE [dbo].[CustomerTicketUsed] ADD CONSTRAINT [DF_CustomerTicketUsed_ConsumeAmount] DEFAULT (NULL) FOR [ConsumeAmount]
9475GO
9476/****** Object: Default [DF__DailyRepo__Total__59BCC963] Script Date: 01/08/2018 04:04:20 ******/
9477ALTER TABLE [dbo].[DailyReports] ADD CONSTRAINT [DF__DailyRepo__Total__59BCC963] DEFAULT ((0)) FOR [TotalPurchase]
9478GO
9479/****** Object: Default [DF__DailyRepo__Total__5AB0ED9C] Script Date: 01/08/2018 04:04:20 ******/
9480ALTER TABLE [dbo].[DailyReports] ADD CONSTRAINT [DF__DailyRepo__Total__5AB0ED9C] DEFAULT ((0)) FOR [TotalSpecialComps]
9481GO
9482/****** Object: Default [DF__DailyRepo__Total__5BA511D5] Script Date: 01/08/2018 04:04:20 ******/
9483ALTER TABLE [dbo].[DailyReports] ADD CONSTRAINT [DF__DailyRepo__Total__5BA511D5] DEFAULT ((0)) FOR [TotalRedeem]
9484GO
9485/****** Object: Default [DF__DailyRepo__GameR__5C99360E] Script Date: 01/08/2018 04:04:20 ******/
9486ALTER TABLE [dbo].[DailyReports] ADD CONSTRAINT [DF__DailyRepo__GameR__5C99360E] DEFAULT ('-') FOR [GameReports]
9487GO
9488/****** Object: Default [DF__DailyRepo__IsRep__5D8D5A47] Script Date: 01/08/2018 04:04:20 ******/
9489ALTER TABLE [dbo].[DailyReports] ADD CONSTRAINT [DF__DailyRepo__IsRep__5D8D5A47] DEFAULT ((0)) FOR [IsReport]
9490GO
9491/****** Object: Default [DF_DailyReports_TotalBillIn] Script Date: 01/08/2018 04:04:20 ******/
9492ALTER TABLE [dbo].[DailyReports] ADD CONSTRAINT [DF_DailyReports_TotalBillIn] DEFAULT ((0)) FOR [TotalBillIn]
9493GO
9494/****** Object: Default [DF_DailyReports_TotalFantasyBet] Script Date: 01/08/2018 04:04:20 ******/
9495ALTER TABLE [dbo].[DailyReports] ADD CONSTRAINT [DF_DailyReports_TotalFantasyBet] DEFAULT ((0)) FOR [TotalFantasyBet]
9496GO
9497/****** Object: Default [DF_DailyReports_ReversePurchase] Script Date: 01/08/2018 04:04:20 ******/
9498ALTER TABLE [dbo].[DailyReports] ADD CONSTRAINT [DF_DailyReports_ReversePurchase] DEFAULT ((0)) FOR [ReversePurchase]
9499GO
9500/****** Object: Default [DF_DeviceSettingOptions_IsEnable] Script Date: 01/08/2018 04:04:20 ******/
9501ALTER TABLE [dbo].[DeviceSettingOptions] ADD CONSTRAINT [DF_DeviceSettingOptions_IsEnable] DEFAULT ((1)) FOR [IsEnable]
9502GO
9503/****** Object: Default [DF_DeviceSettingOptions_Args] Script Date: 01/08/2018 04:04:20 ******/
9504ALTER TABLE [dbo].[DeviceSettingOptions] ADD CONSTRAINT [DF_DeviceSettingOptions_Args] DEFAULT ('') FOR [Args]
9505GO
9506/****** Object: Default [DF_DeviceSettingOptions_ButtonColor] Script Date: 01/08/2018 04:04:20 ******/
9507ALTER TABLE [dbo].[DeviceSettingOptions] ADD CONSTRAINT [DF_DeviceSettingOptions_ButtonColor] DEFAULT ('Green') FOR [ButtonColor]
9508GO
9509/****** Object: Default [DF_DeviceSettingOptions_IsVisable] Script Date: 01/08/2018 04:04:20 ******/
9510ALTER TABLE [dbo].[DeviceSettingOptions] ADD CONSTRAINT [DF_DeviceSettingOptions_IsVisable] DEFAULT ((1)) FOR [IsVisable]
9511GO
9512/****** Object: Default [DF_DeviceSettingOptions_DisplayOrder] Script Date: 01/08/2018 04:04:20 ******/
9513ALTER TABLE [dbo].[DeviceSettingOptions] ADD CONSTRAINT [DF_DeviceSettingOptions_DisplayOrder] DEFAULT ((0)) FOR [DisplayOrder]
9514GO
9515/****** Object: Default [DF_DeviceSettings_IsVisable] Script Date: 01/08/2018 04:04:20 ******/
9516ALTER TABLE [dbo].[DeviceSettings] ADD CONSTRAINT [DF_DeviceSettings_IsVisable] DEFAULT ((1)) FOR [IsVisable]
9517GO
9518/****** Object: Default [DF_DeviceSettings_DisplayOrder] Script Date: 01/08/2018 04:04:20 ******/
9519ALTER TABLE [dbo].[DeviceSettings] ADD CONSTRAINT [DF_DeviceSettings_DisplayOrder] DEFAULT ((0)) FOR [DisplayOrder]
9520GO
9521/****** Object: Default [DF__DrawerRep__Creat__3E93D1DB] Script Date: 01/08/2018 04:04:20 ******/
9522ALTER TABLE [dbo].[DrawerReport] ADD CONSTRAINT [DF__DrawerRep__Creat__3E93D1DB] DEFAULT (getdate()) FOR [CreateDate]
9523GO
9524/****** Object: Default [DF__DrawerRep__Initi__3F87F614] Script Date: 01/08/2018 04:04:20 ******/
9525ALTER TABLE [dbo].[DrawerReport] ADD CONSTRAINT [DF__DrawerRep__Initi__3F87F614] DEFAULT ((0)) FOR [InitialAmount]
9526GO
9527/****** Object: Default [DF__DrawerRep__Fills__407C1A4D] Script Date: 01/08/2018 04:04:20 ******/
9528ALTER TABLE [dbo].[DrawerReport] ADD CONSTRAINT [DF__DrawerRep__Fills__407C1A4D] DEFAULT ((0)) FOR [Fills]
9529GO
9530/****** Object: Default [DF__DrawerRep__Bleed__41703E86] Script Date: 01/08/2018 04:04:20 ******/
9531ALTER TABLE [dbo].[DrawerReport] ADD CONSTRAINT [DF__DrawerRep__Bleed__41703E86] DEFAULT ((0)) FOR [Bleeds]
9532GO
9533/****** Object: Default [DF_DrawerReport_PosID] Script Date: 01/08/2018 04:04:20 ******/
9534ALTER TABLE [dbo].[DrawerReport] ADD CONSTRAINT [DF_DrawerReport_PosID] DEFAULT ((-1)) FOR [PosID]
9535GO
9536/****** Object: Default [DF_DrawerReport_PosUserID] Script Date: 01/08/2018 04:04:20 ******/
9537ALTER TABLE [dbo].[DrawerReport] ADD CONSTRAINT [DF_DrawerReport_PosUserID] DEFAULT ((-1)) FOR [PosUserID]
9538GO
9539/****** Object: Default [DF_EventAccumulate_AccumulateValue] Script Date: 01/08/2018 04:04:20 ******/
9540ALTER TABLE [dbo].[Event_EventAccumulate] ADD CONSTRAINT [DF_EventAccumulate_AccumulateValue] DEFAULT ((0)) FOR [AccumulateValue]
9541GO
9542/****** Object: Default [DF__Game__Enable__2B65C5E0] Script Date: 01/08/2018 04:04:20 ******/
9543ALTER TABLE [dbo].[Game] ADD DEFAULT ((1)) FOR [Enable]
9544GO
9545/****** Object: Default [DF__Game__IsVisible__2C59EA19] Script Date: 01/08/2018 04:04:20 ******/
9546ALTER TABLE [dbo].[Game] ADD DEFAULT ((1)) FOR [IsVisible]
9547GO
9548/****** Object: Default [DF_Game_LobbyGameZone] Script Date: 01/08/2018 04:04:20 ******/
9549ALTER TABLE [dbo].[Game] ADD CONSTRAINT [DF_Game_LobbyGameZone] DEFAULT ((0)) FOR [LobbyGameZone]
9550GO
9551/****** Object: Default [DF_Game_LobbyGameZoneOrder] Script Date: 01/08/2018 04:04:20 ******/
9552ALTER TABLE [dbo].[Game] ADD CONSTRAINT [DF_Game_LobbyGameZoneOrder] DEFAULT ((0)) FOR [LobbyGameZoneOrder]
9553GO
9554/****** Object: Default [DF_Game_LobbyGameType] Script Date: 01/08/2018 04:04:20 ******/
9555ALTER TABLE [dbo].[Game] ADD CONSTRAINT [DF_Game_LobbyGameType] DEFAULT ((0)) FOR [LobbyGameType]
9556GO
9557/****** Object: Default [DF_Game_LobbyJpType] Script Date: 01/08/2018 04:04:20 ******/
9558ALTER TABLE [dbo].[Game] ADD CONSTRAINT [DF_Game_LobbyJpType] DEFAULT ((0)) FOR [LobbyJpType]
9559GO
9560/****** Object: Default [DF__GameRepor__Total__34EF301A] Script Date: 01/08/2018 04:04:20 ******/
9561ALTER TABLE [dbo].[GameReports] ADD DEFAULT ((0)) FOR [TotalPlay]
9562GO
9563/****** Object: Default [DF__GameRepor__Total__35E35453] Script Date: 01/08/2018 04:04:20 ******/
9564ALTER TABLE [dbo].[GameReports] ADD DEFAULT ((0)) FOR [TotalWin]
9565GO
9566/****** Object: Default [DF__GameRepor__Total__36D7788C] Script Date: 01/08/2018 04:04:20 ******/
9567ALTER TABLE [dbo].[GameReports] ADD DEFAULT ((0)) FOR [TotalPlayTimes]
9568GO
9569/****** Object: Default [DF__GameRepor__Total__37CB9CC5] Script Date: 01/08/2018 04:04:20 ******/
9570ALTER TABLE [dbo].[GameReports] ADD DEFAULT ((0)) FOR [TotalWinTimes]
9571GO
9572/****** Object: Default [DF__Jackpots__IsVisi__452597E3] Script Date: 01/08/2018 04:04:20 ******/
9573ALTER TABLE [dbo].[Jackpots] ADD DEFAULT ((1)) FOR [IsVisible]
9574GO
9575/****** Object: Default [DF_JackpotSettings_SelectBindingID] Script Date: 01/08/2018 04:04:20 ******/
9576ALTER TABLE [dbo].[JackpotSettings] ADD CONSTRAINT [DF_JackpotSettings_SelectBindingID] DEFAULT ((0)) FOR [SelectBindingID]
9577GO
9578/****** Object: Default [DF_LoadingStationShiftReport_Dollar1] Script Date: 01/08/2018 04:04:20 ******/
9579ALTER TABLE [dbo].[LoadingStationShiftReport] ADD CONSTRAINT [DF_LoadingStationShiftReport_Dollar1] DEFAULT ((0)) FOR [Dollar1]
9580GO
9581/****** Object: Default [DF_LoadingStationShiftReport_Dollar2] Script Date: 01/08/2018 04:04:20 ******/
9582ALTER TABLE [dbo].[LoadingStationShiftReport] ADD CONSTRAINT [DF_LoadingStationShiftReport_Dollar2] DEFAULT ((0)) FOR [Dollar2]
9583GO
9584/****** Object: Default [DF_LoadingStationShiftReport_Dollar5] Script Date: 01/08/2018 04:04:20 ******/
9585ALTER TABLE [dbo].[LoadingStationShiftReport] ADD CONSTRAINT [DF_LoadingStationShiftReport_Dollar5] DEFAULT ((0)) FOR [Dollar5]
9586GO
9587/****** Object: Default [DF_LoadingStationShiftReport_Dollar10] Script Date: 01/08/2018 04:04:20 ******/
9588ALTER TABLE [dbo].[LoadingStationShiftReport] ADD CONSTRAINT [DF_LoadingStationShiftReport_Dollar10] DEFAULT ((0)) FOR [Dollar10]
9589GO
9590/****** Object: Default [DF_LoadingStationShiftReport_Dollar20] Script Date: 01/08/2018 04:04:20 ******/
9591ALTER TABLE [dbo].[LoadingStationShiftReport] ADD CONSTRAINT [DF_LoadingStationShiftReport_Dollar20] DEFAULT ((0)) FOR [Dollar20]
9592GO
9593/****** Object: Default [DF_LoadingStationShiftReport_Dollar50] Script Date: 01/08/2018 04:04:20 ******/
9594ALTER TABLE [dbo].[LoadingStationShiftReport] ADD CONSTRAINT [DF_LoadingStationShiftReport_Dollar50] DEFAULT ((0)) FOR [Dollar50]
9595GO
9596/****** Object: Default [DF_LoadingStationShiftReport_Dollar100] Script Date: 01/08/2018 04:04:20 ******/
9597ALTER TABLE [dbo].[LoadingStationShiftReport] ADD CONSTRAINT [DF_LoadingStationShiftReport_Dollar100] DEFAULT ((0)) FOR [Dollar100]
9598GO
9599/****** Object: Default [DF_Machines_RegisterID] Script Date: 01/08/2018 04:04:20 ******/
9600ALTER TABLE [dbo].[Machines] ADD CONSTRAINT [DF_Machines_RegisterID] DEFAULT ('-') FOR [RegisterID]
9601GO
9602/****** Object: Default [DF_Machines_BindingID] Script Date: 01/08/2018 04:04:20 ******/
9603ALTER TABLE [dbo].[Machines] ADD CONSTRAINT [DF_Machines_BindingID] DEFAULT ('-') FOR [BindingID]
9604GO
9605/****** Object: Default [DF_Machines_MachineName] Script Date: 01/08/2018 04:04:20 ******/
9606ALTER TABLE [dbo].[Machines] ADD CONSTRAINT [DF_Machines_MachineName] DEFAULT ('') FOR [MachineName]
9607GO
9608/****** Object: Default [DF__Members__FailTim__5467DB73] Script Date: 01/08/2018 04:04:20 ******/
9609ALTER TABLE [dbo].[Members] ADD DEFAULT ((0)) FOR [FailTimes]
9610GO
9611/****** Object: Default [DF_Members_SpecifyLogin] Script Date: 01/08/2018 04:04:20 ******/
9612ALTER TABLE [dbo].[Members] ADD CONSTRAINT [DF_Members_SpecifyLogin] DEFAULT ((0)) FOR [SpecifyLogin]
9613GO
9614/****** Object: Default [DF_MenuButton_ButtonDisplayName] Script Date: 01/08/2018 04:04:20 ******/
9615ALTER TABLE [dbo].[MenuButton] ADD CONSTRAINT [DF_MenuButton_ButtonDisplayName] DEFAULT ('DEFAULT') FOR [ButtonDisplayName]
9616GO
9617/****** Object: Default [DF_MenuButton_IsEnable] Script Date: 01/08/2018 04:04:20 ******/
9618ALTER TABLE [dbo].[MenuButton] ADD CONSTRAINT [DF_MenuButton_IsEnable] DEFAULT ((1)) FOR [IsEnable]
9619GO
9620/****** Object: Default [DF_MenuButtonPermission_ButtonOrder] Script Date: 01/08/2018 04:04:20 ******/
9621ALTER TABLE [dbo].[MenuButtonPermission] ADD CONSTRAINT [DF_MenuButtonPermission_ButtonOrder] DEFAULT ((0)) FOR [ButtonOrder]
9622GO
9623/****** Object: Default [DF_MenuButtonPermission_ActionType] Script Date: 01/08/2018 04:04:20 ******/
9624ALTER TABLE [dbo].[MenuButtonPermission] ADD CONSTRAINT [DF_MenuButtonPermission_ActionType] DEFAULT ((0)) FOR [ActionType]
9625GO
9626/****** Object: Default [DF_PosFunction_MenuButtonName] Script Date: 01/08/2018 04:04:20 ******/
9627ALTER TABLE [dbo].[PosFunction] ADD CONSTRAINT [DF_PosFunction_MenuButtonName] DEFAULT ('') FOR [MenuButtonName]
9628GO
9629/****** Object: Default [DF_PosFunction_AuthAdjustable] Script Date: 01/08/2018 04:04:20 ******/
9630ALTER TABLE [dbo].[PosFunction] ADD CONSTRAINT [DF_PosFunction_AuthAdjustable] DEFAULT ((0)) FOR [AuthAdjustable]
9631GO
9632/****** Object: Default [DF_PosFunction_DisplayOrder] Script Date: 01/08/2018 04:04:20 ******/
9633ALTER TABLE [dbo].[PosFunction] ADD CONSTRAINT [DF_PosFunction_DisplayOrder] DEFAULT ((0)) FOR [DisplayOrder]
9634GO
9635/****** Object: Default [DF_PosFunction_IsEnabled] Script Date: 01/08/2018 04:04:20 ******/
9636ALTER TABLE [dbo].[PosFunction] ADD CONSTRAINT [DF_PosFunction_IsEnabled] DEFAULT ((1)) FOR [IsEnabled]
9637GO
9638/****** Object: Default [DF_PosUser_UserClosed] Script Date: 01/08/2018 04:04:20 ******/
9639ALTER TABLE [dbo].[PosUser] ADD CONSTRAINT [DF_PosUser_UserClosed] DEFAULT ((0)) FOR [UserAccountClosed]
9640GO
9641/****** Object: Default [DF_SettingItemList_SystemName] Script Date: 01/08/2018 04:04:20 ******/
9642ALTER TABLE [dbo].[SettingItemList] ADD CONSTRAINT [DF_SettingItemList_SystemName] DEFAULT ('') FOR [SystemName]
9643GO
9644/****** Object: Default [DF_ShiftReport_IsClosedReport] Script Date: 01/08/2018 04:04:20 ******/
9645ALTER TABLE [dbo].[ShiftReport] ADD CONSTRAINT [DF_ShiftReport_IsClosedReport] DEFAULT ((0)) FOR [TotalFreeEntry]
9646GO
9647/****** Object: Default [DF_ShiftReport_PosID] Script Date: 01/08/2018 04:04:20 ******/
9648ALTER TABLE [dbo].[ShiftReport] ADD CONSTRAINT [DF_ShiftReport_PosID] DEFAULT ((0)) FOR [PosID]
9649GO
9650/****** Object: Default [DF__DailySpec__IsEna__303AC58C] Script Date: 01/08/2018 04:04:20 ******/
9651ALTER TABLE [dbo].[SpecialCompsSetting] ADD CONSTRAINT [DF__DailySpec__IsEna__303AC58C] DEFAULT ((0)) FOR [IsEnable]
9652GO
9653/****** Object: Default [DF__DailySpec__Purch__312EE9C5] Script Date: 01/08/2018 04:04:20 ******/
9654ALTER TABLE [dbo].[SpecialCompsSetting] ADD CONSTRAINT [DF__DailySpec__Purch__312EE9C5] DEFAULT ((20)) FOR [PurchaseAmount]
9655GO
9656/****** Object: Default [DF__DailySpec__Speci__32230DFE] Script Date: 01/08/2018 04:04:20 ******/
9657ALTER TABLE [dbo].[SpecialCompsSetting] ADD CONSTRAINT [DF__DailySpec__Speci__32230DFE] DEFAULT ((5)) FOR [SpecialCompAmount]
9658GO
9659/****** Object: Default [DF_SpecialCompsSetting_SpecialCompType] Script Date: 01/08/2018 04:04:20 ******/
9660ALTER TABLE [dbo].[SpecialCompsSetting] ADD CONSTRAINT [DF_SpecialCompsSetting_SpecialCompType] DEFAULT ((0)) FOR [SpecialCompType]
9661GO
9662/****** Object: Default [DF__StoreInfo__Store__649E433C] Script Date: 01/08/2018 04:04:20 ******/
9663ALTER TABLE [dbo].[StoreInfo] ADD DEFAULT ('') FOR [StoreName]
9664GO
9665/****** Object: Default [DF__StoreInfo__City__65926775] Script Date: 01/08/2018 04:04:20 ******/
9666ALTER TABLE [dbo].[StoreInfo] ADD DEFAULT ('') FOR [City]
9667GO
9668/****** Object: Default [DF__StoreInfo__State__66868BAE] Script Date: 01/08/2018 04:04:20 ******/
9669ALTER TABLE [dbo].[StoreInfo] ADD DEFAULT ('') FOR [State]
9670GO
9671/****** Object: Default [DF__StoreInfo__Zip__677AAFE7] Script Date: 01/08/2018 04:04:20 ******/
9672ALTER TABLE [dbo].[StoreInfo] ADD DEFAULT ('') FOR [Zip]
9673GO
9674/****** Object: Default [DF__StoreInfo__Phone__686ED420] Script Date: 01/08/2018 04:04:20 ******/
9675ALTER TABLE [dbo].[StoreInfo] ADD DEFAULT ('') FOR [Phone]
9676GO
9677/****** Object: Default [DF_StoreInfo_Address1] Script Date: 01/08/2018 04:04:20 ******/
9678ALTER TABLE [dbo].[StoreInfo] ADD CONSTRAINT [DF_StoreInfo_Address1] DEFAULT ('') FOR [Address1]
9679GO
9680/****** Object: Default [DF_StoreInfo_Address2] Script Date: 01/08/2018 04:04:20 ******/
9681ALTER TABLE [dbo].[StoreInfo] ADD CONSTRAINT [DF_StoreInfo_Address2] DEFAULT ('') FOR [Address2]
9682GO
9683/****** Object: Default [DF_SystemConfig_SettingKey] Script Date: 01/08/2018 04:04:20 ******/
9684ALTER TABLE [dbo].[SystemConfig] ADD CONSTRAINT [DF_SystemConfig_SettingKey] DEFAULT ('') FOR [SettingKey]
9685GO
9686/****** Object: Default [DF_SystemConfig_SettingValue] Script Date: 01/08/2018 04:04:20 ******/
9687ALTER TABLE [dbo].[SystemConfig] ADD CONSTRAINT [DF_SystemConfig_SettingValue] DEFAULT ('') FOR [SettingValue]
9688GO
9689/****** Object: Default [DF_SystemSecurity_Id] Script Date: 01/08/2018 04:04:20 ******/
9690ALTER TABLE [dbo].[SystemSecurity] ADD CONSTRAINT [DF_SystemSecurity_Id] DEFAULT ((0)) FOR [Id]
9691GO
9692/****** Object: Default [DF_SystemSecurity_SecureCount] Script Date: 01/08/2018 04:04:20 ******/
9693ALTER TABLE [dbo].[SystemSecurity] ADD CONSTRAINT [DF_SystemSecurity_SecureCount] DEFAULT ((0)) FOR [SecureCount]
9694GO
9695/****** Object: Default [DF_SystemSecurity_IsSecureFail] Script Date: 01/08/2018 04:04:20 ******/
9696ALTER TABLE [dbo].[SystemSecurity] ADD CONSTRAINT [DF_SystemSecurity_IsSecureFail] DEFAULT ((0)) FOR [IsSecureFail]
9697GO
9698/****** Object: Default [DF_SystemSettingA_SettingKey] Script Date: 01/08/2018 04:04:20 ******/
9699ALTER TABLE [dbo].[SystemSetting] ADD CONSTRAINT [DF_SystemSettingA_SettingKey] DEFAULT ('') FOR [SettingKey]
9700GO
9701/****** Object: Default [DF_SystemSettingA_SettingValue] Script Date: 01/08/2018 04:04:20 ******/
9702ALTER TABLE [dbo].[SystemSetting] ADD CONSTRAINT [DF_SystemSettingA_SettingValue] DEFAULT ('') FOR [SettingValue]
9703GO
9704/****** Object: Default [DF_TradeRecord_PosID] Script Date: 01/08/2018 04:04:20 ******/
9705ALTER TABLE [dbo].[TradeRecord] ADD CONSTRAINT [DF_TradeRecord_PosID] DEFAULT ((-1)) FOR [PosID]
9706GO
9707/****** Object: Default [DF_TradeRecord_PosUserID] Script Date: 01/08/2018 04:04:20 ******/
9708ALTER TABLE [dbo].[TradeRecord] ADD CONSTRAINT [DF_TradeRecord_PosUserID] DEFAULT ((-1)) FOR [PosUserID]
9709GO
9710/****** Object: ForeignKey [FK_PosRoleFunction_Authority_PosRole] Script Date: 01/08/2018 04:04:20 ******/
9711ALTER TABLE [dbo].[PosRoleFunction_Authority] WITH CHECK ADD CONSTRAINT [FK_PosRoleFunction_Authority_PosRole] FOREIGN KEY([RoleID])
9712REFERENCES [dbo].[PosRole] ([RoleID])
9713GO
9714ALTER TABLE [dbo].[PosRoleFunction_Authority] CHECK CONSTRAINT [FK_PosRoleFunction_Authority_PosRole]
9715GO
9716/****** Object: ForeignKey [FK_PosUserFunction_Authority_PosUser] Script Date: 01/08/2018 04:04:20 ******/
9717ALTER TABLE [dbo].[PosUserFunction_Authority] WITH CHECK ADD CONSTRAINT [FK_PosUserFunction_Authority_PosUser] FOREIGN KEY([UserID])
9718REFERENCES [dbo].[PosUser] ([UserID])
9719GO
9720ALTER TABLE [dbo].[PosUserFunction_Authority] CHECK CONSTRAINT [FK_PosUserFunction_Authority_PosUser]
9721GO