/********************************************************************** 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 --°¡Á®¿Âµ¥ÀÌÅ͸¦ ó¸®ÇÑ´Ù. 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 --°ú±Ý°áÁ¦ÀÏ DECLARE @AddedDay SMALLINT --º¸»ó°ü·Ã DECLARE @AddedTime INT --Á¤·®Á¦ DECLARE @AddedMonth SMALLINT --Á¤¾×Á¦ DECLARE @BillEndDate SMALLDATETIME --ÀÚµ¿°áÁ¦Ãë¼Ò, °áÁ¦ÇØÁö ¸¸·áÀÏ 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 À¸·Î ¼¼ÆÃÇÔ. 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 -- ÇöÀç ¹«·á»ç¿ëÀÚÀÎÁö Ã¼Å©ÇØ¼­ ¹«·áÀÏÀÚ¸¦ ¾ø¾Ø´Ù. 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 -- Á¤¾×Á¦ÀÎ °æ¿ì 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 -- º¸»óÀÎ °æ¿ì 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 -- Á¤·®Á¦ÀÎ °æ¿ì IF @AddedTime <> 0 BEGIN UPDATE TblPersonBillingInfo SET intServiceTime = intServiceTime + @AddedTime,dateRegTime = GETDATE() WHERE strClientID = @ClientID IF @@ROWCOUNT <> 1 BEGIN ROLLBACK TRAN RETURN END END -- ÇØÁöÇ߰ųª ÀÚµ¿°áÁ¦°¡ Ãë¼ÒµÈ °æ¿ì 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 -- ½Å±Ô °ú±Ý µî·ÏÀÚ Àϰæ¿ì ELSE BEGIN if @AddedTime > 0 set @RegDate = null -- Á¤·®Á¦Àϰæ¿ì ¸¸·áÀÏÀ» ³ÖÁö ¾Ê´Â´Ù. 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 -- Àü¿¡ °¡Á®¿Ô´ø ÃÖ´ë°ª 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