decomp DBCServer_Release and inspect/document database

This commit is contained in:
Benjamin Palko 2026-10-14 23:22:03 -04:00
parent 4b267cbe05
commit 7834b98bf0
28222 changed files with 843300 additions and 144 deletions

View file

@ -0,0 +1,138 @@
CREATE PROCEDURE [dbo].[up_char_sanction]
@kind tinyint, -- 1 : sanction, 2:release
@sanction_uid uniqueidentifier,
@personnel nvarchar(50),
@releaser nvarchar(50),
@comment nvarchar(128),
@character_id uniqueidentifier,
@sanction_type tinyint,
@sanction_count tinyint,
@sanction_period_type tinyint
as
set nocount on
begin tran
declare @get_uid uniqueidentifier,
@period int,
@cur_time datetime,
@end_time datetime,
@new_uid uniqueidentifier,
@is_insert tinyint
set @get_uid = '00000000-0000-0000-0000-000000000000'
if @sanction_period_type = 1 set @period = 3
if @sanction_period_type = 2 set @period = 7
if @sanction_period_type = 3 set @period = 10
if @sanction_period_type = 4 set @period = 15
if @sanction_period_type = 5 set @period = -1
-- select @get_uid=uid from Character_Sanction where
-- character_id = @character_id and sanction_count=@sanction_count
set @cur_time = getdate()
if @sanction_type <> 5
begin
set @end_time = dateadd(day, @period, @cur_time)
end
else
begin
set @end_time = NULL
end
set @new_uid = '00000000-0000-0000-0000-000000000000'
set @is_insert = 0
if @kind = 1
begin
if @get_uid <> '00000000-0000-0000-0000-000000000000'
begin
set @new_uid = @get_uid
set @is_insert = 1
update Character_Sanction set
sanction_type = @sanction_type,
sanction_count = @sanction_count,
sanction_period_type = @sanction_period_type,
period = @period,
start_time = @cur_time,
end_time = @end_time,
personnel = @personnel,
releaser = '', -- Rlease init
comment = '',
is_apply = 1,
reg_date = @cur_time
where uid = @get_uid
end
else
begin
set @new_uid = NEWID()
set @is_insert = 1
insert into Character_Sanction(
uid,
sanction_type,
sanction_count,
sanction_period_type,
period,
character_id,
start_time,
end_time,
personnel,
releaser,
comment,
is_apply,
reg_date)
values(
@new_uid,
@sanction_type,
@sanction_count,
@sanction_period_type,
@period,
@character_id,
@cur_time,
@end_time,
@personnel,
'', -- Rlease init
'',
1,
@cur_time)
end
end
else
begin
set @new_uid = @sanction_uid
set @is_insert = 0
select @new_uid = uid from Character_Sanction with (READUNCOMMITTED) where
character_id = @character_id and is_apply = 1
update Character_Sanction set
releaser = @releaser,
comment = @comment,
is_apply = 0
where character_id = @character_id
-- where uid = @sanction_uid
end
if EXISTS (select uid from Character_Sanction with (READUNCOMMITTED) where
character_id = @character_id and is_apply = 1)
begin
update CharacterTable set Block_YN = 'Y' where character_id=@character_id
end
else
begin
update CharacterTable set Block_YN = 'N' where character_id=@character_id
end
declare @ERR int
SET @ERR = @@ERROR
IF @ERR <> 0 BEGIN
RAISERROR('처리오류', 16, 10)
IF @@TRANCOUNT <> 0 ROLLBACK
RETURN (@ERR)
END
COMMIT TRAN
select NEW_ID = @new_uid, IS_INSERT = @is_insert