Files
Client/Server/Database/DBScript/BillingDB/NHN_BILLING_ALTER_20041201.sql
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

296 lines
7.0 KiB
Transact-SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**********************************************************************
RYLCHECKT
KEEPERSEQ NUMBER NOT NULL
BILLNUM NUMBER NOT NULL
MEMBERID VARCHAR2(20) NOT NULL
RYLUID NUMBER
REGDATE DATE
ADDEDDAY NUMBER
ADDEDTIME NUMBER
ADDEDMONTH NUMBER
CHECKFLAG CHAR(1)
BILLENDDATE DATE
AUTOBILL CHAR(1)
**********************************************************************/
/*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
CREATE TABLE [TblPersonBilling_log]
(
[intIndex] [int] NULL ,
[strClientID] [varchar] (20) NULL ,
[UID] [int] NULL ,
[strBillingType] [char] (1) NULL ,
[dateEndTime] [smalldatetime] NULL ,
[intServiceTime] [int] NULL ,
[strConvertCHK] [char] (1) NULL ,
[dateInsertTime] [smalldatetime] NULL ,
CHECK ([strBillingType] = 'T' or [strBillingType] = 'D')
)
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*/
GO
USE RylBillingDB_LOG
GO
-- NHN BILLING TABLE
CREATE TABLE dbo.TblRYLCheckT_LOG
(
BillNum INT NOT NULL primary key
, ClientID varchar (20) NOT NULL
, UID INT NOT NULL
, RegDate SMALLDATETIME
, AddedDay SMALLINT
, AddedTime INT
, AddedMonth SMALLINT
, BillEndDate SMALLDATETIME
, AutoBill CHAR(1)
, CheckFlag CHAR(1)
, InsertTime SMALLDATETIME
)
GO
USE RylBillingDB
GO
-- NHN BILLING TABLE
CREATE TABLE dbo.TblRYLCheckT
(
BillNum INT NOT NULL primary key
, ClientID varchar (20) NOT NULL
, UID INT NOT NULL
, RegDate SMALLDATETIME
, AddedDay SMALLINT
, AddedTime INT
, AddedMonth SMALLINT
, BillEndDate SMALLDATETIME
, AutoBill CHAR(1)
, CheckFlag CHAR(1)
, InsertTime SMALLDATETIME
)
GO
--<2D><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>͸<EFBFBD> ó<><C3B3><EFBFBD>Ѵ<EFBFBD>.
ALTER PROC agt_PersonBilling_CHK
AS
SET NOCOUNT ON
DECLARE @ROWID INT
DECLARE @BILLNUM INT
DECLARE @ClientID VARCHAR(20)
DECLARE @UID INT
DECLARE @RegDate SMALLDATETIME --<2D><><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD><EFBFBD><EFBFBD>
DECLARE @AddedDay SMALLINT --<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DECLARE @AddedTime INT --<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DECLARE @AddedMonth SMALLINT --<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DECLARE @BillEndDate SMALLDATETIME --<2D>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DECLARE @strCorrentState CHAR(1)
DECLARE @TempTable TABLE
(
RowID INT IDENTITY(1,1) PRIMARY KEY
, BillNum INT NOT NULL
, ClientID varchar (20) NOT NULL
, UID INT NOT NULL
, RegDate SMALLDATETIME
, AddedDay SMALLINT
, AddedTime INT
, AddedMonth SMALLINT
, BillEndDate SMALLDATETIME
)
INSERT INTO @TempTable (BillNum,ClientID,UID,RegDate,AddedDay,AddedTime,AddedMonth,BillEndDate)
SELECT BillNum,ClientID,UID,RegDate,AddedDay,AddedTime,AddedMonth,BillEndDate
FROM TblRYLCheckT
WHERE CheckFlag = 'N' ORDER BY BillNum DESC
SET @ROWID = @@ROWCOUNT
WHILE @ROWID > 0
BEGIN
SELECT @BILLNUM = BILLNUM,@ClientID=ClientID,@UID=UID,@RegDate=RegDate,@AddedDay=AddedDay
,@AddedTime=AddedTime,@AddedMonth=AddedMonth,@BillEndDate=BillEndDate
FROM @TempTable
WHERE RowID = @ROWID
-- 2004-12-01 00:00:00 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
SET @RegDate = CAST( CONVERT(VARCHAR(10),@RegDate,102) AS SMALLDATETIME ) + 1
EXEC agt_PersonBilling_CHK_Include @BILLNUM,@ClientID,@UID,@RegDate,@AddedDay,@AddedTime,@AddedMonth,@BillEndDate
SET @ROWID = @ROWID - 1
END
GO
ALTER PROC agt_PersonBilling_CHK_Include @BILLNUM INT,@ClientID VARCHAR(20),@UID INT,@RegDate SMALLDATETIME,
@AddedDay SMALLINT,@AddedTime INT, @AddedMonth SMALLINT , @BillEndDate SMALLDATETIME
AS
SET NOCOUNT ON
DECLARE @nTime INT
-- <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ<C3BC>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD> <20><><EFBFBD>ش<EFBFBD>.
IF EXISTS (SELECT strClientID FROM TblPersonInfo WHERE UID =@UID)
BEGIN
SELECT @nTime = DATEDIFF(DAY,GETDATE(),RegLoginTime)
FROM TblPersonInfo WHERE UID = @UID
IF @nTime >= 0
BEGIN
UPDATE TblPersonInfo
SET RegLoginTime = GETDATE() - 1
WHERE UID = @UID
END
END
ELSE
BEGIN
INSERT INTO TblPersonInfo
VALUES (@UID,@ClientID,GETDATE()-1,GETDATE())
END
BEGIN TRAN
IF EXISTS (SELECT strClientID FROM TblPersonBillingInfo WHERE strClientID = @ClientID)
BEGIN
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
IF @AddedMonth <> 0
BEGIN
UPDATE TblPersonBillingInfo
SET dateEndTime = DATEADD(MONTH,@AddedMonth,@RegDate),dateRegTime = GETDATE()
WHERE strClientID = @ClientID
IF @@ROWCOUNT <> 1
BEGIN
ROLLBACK TRAN
RETURN
END
END
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
IF @AddedDay <> 0
BEGIN
Declare @dateEndTime smalldatetime
SELECT @dateEndTime = dateEndTime FROM TblPersonBillingInfo WHERE strClientID = @ClientID
IF ((@dateEndTime < GETDATE()) or (@dateEndTime IS NULL))
SET @dateEndTime = CONVERT(VARCHAR(10),GETDATE()+1,102)
UPDATE TblPersonBillingInfo
SET dateEndTime = @dateEndTime + @AddedDay, dateRegTime = GETDATE()
WHERE strClientID = @ClientID
IF @@ROWCOUNT <> 1
BEGIN
ROLLBACK TRAN
RETURN
END
END
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
IF @AddedTime <> 0
BEGIN
UPDATE TblPersonBillingInfo
SET intServiceTime = intServiceTime + @AddedTime,dateRegTime = GETDATE()
WHERE strClientID = @ClientID
IF @@ROWCOUNT <> 1
BEGIN
ROLLBACK TRAN
RETURN
END
END
-- <20><><EFBFBD><EFBFBD><EFBFBD>߰ų<DFB0> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҵ<EFBFBD> <20><><EFBFBD><EFBFBD>
IF ( @BillEndDate IS NOT NULL )
BEGIN
SET @BillEndDate = CAST (CONVERT(VARCHAR(10),@BillEndDate,102) AS SMALLDATETIME)
UPDATE TblPersonBillingInfo
SET dateEndTime = @BillEndDate,dateRegTime = GETDATE()
WHERE strClientID = @ClientID
IF @@ROWCOUNT <> 1
BEGIN
ROLLBACK TRAN
RETURN
END
END
END
-- <20>ű<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ϰ<EFBFBD><CFB0><EFBFBD>
ELSE
BEGIN
if @AddedTime > 0
set @RegDate = null -- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD><CFB0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʴ´<CAB4>.
INSERT INTO TblPersonBillingInfo VALUES (@ClientID,@UID,DATEADD(MONTH,@AddedMonth,@RegDate),@AddedTime,0,GETDATE())
IF @@ROWCOUNT <> 1
BEGIN
ROLLBACK TRAN
RETURN
END
END
UPDATE TblRYLCheckT
SET CheckFlag = 'Y'
WHERE BILLNUM =@BILLNUM AND CheckFlag = 'N'
IF @@ROWCOUNT <> 1
BEGIN
ROLLBACK TRAN
RETURN
END
COMMIT TRAN
GO
ALTER PROC agt_PersonBilling_Delete
AS
SET NOCOUNT ON
DECLARE @MIN INT -- <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD> <20>ִ밪
SELECT @MIN = intCount FROM TblImportedNum WHERE strCompType = 'H'
BEGIN TRAN
INSERT INTO RYLBillingDB_LOG.dbo.TblRYLCheckT_LOG
SELECT * FROM TblRYLCheckT
WHERE BillNum <= @MIN
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
RETURN
END
DELETE TblRYLCheckT
WHERE BillNum <= @MIN
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
RETURN
END
COMMIT TRAN