dbo.S_ALL_LOG_DETAIL

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

True

Execute As
Assembly

Parameters

Name Data Type Length Description
@LOG_PARAM xml -1
@id int 4
@readonly int 4
@no varchar 2
@des varchar 1000

SQL Script

SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
create procedure dbo.S_ALL_LOG_DETAIL
 @LOG_PARAM xml,
 @id int output,
  @readonly int output,
 @no varchar(2) output,
 @des varchar(1000) output 
WITH 
encryption,
EXECUTE AS CALLER
as
 set @no='00'
 set @des ='success'
   declare 
 @Param_Log_from int,
 @Param_Log_session varchar(255),
  @Param_Log_IP  varchar(20) 
  SELECT
  @Param_Log_from=isnull(tempTable.item.value('s_f[1]', 'int'),0) ,
  @Param_Log_IP=isnull(tempTable.item.value('s_ip[1]', 'varchar(255)'),'') ,
  @Param_Log_session=isnull(tempTable.item.value('s_code[1]', 'varchar(255)'),'')    
  FROM @LOG_PARAM.nodes('param/session')  tempTable(item)
  
  
--CHECK IDE
 
  declare @motherboard_id varchar(255)
    declare @XMLValidString varchar(max)

 SELECT     
 TOP (1)
  @XMLValidString=isnull(CONVERT(varchar(MAX),DecryptByPassphrase('Ap4TanyaT4nya MauT4uAj4 4h'    , set_30)),'')   ,
 @motherboard_id=isnull(CONVERT(varchar(MAX),DecryptByPassphrase('Ap4TanyaT4nya MauT4uAj4 4h'    , set_23)),'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')   
  FROM         dt_app_set
 
 declare @ide_dekstop_sts int,
 @ide_web_sts int,
 @ide_ios_sts int,
 @ide_android_sts int,
 @ide_blackberry_sts int,
 @ide_exim_push_sts int

 if @XMLValidString <>''
 begin
   set @XMLValidString =isnull(substring(@XMLValidString,len(@motherboard_id)+1,LEN(@XMLValidString)-LEN(@motherboard_id)+1) ,'')
  declare  @XMLString xml 
  set @XMLString=@XMLValidString
   SELECT
   @ide_dekstop_sts= isnull(tempTable.item.value('dekstop[1]', 'int'),0),
   @ide_web_sts= isnull(tempTable.item.value('web[1]', 'int'),0),
   @ide_ios_sts= isnull(tempTable.item.value('ios[1]', 'int'),0),
   @ide_android_sts= isnull(tempTable.item.value('android[1]', 'int'),0),
   @ide_blackberry_sts= isnull(tempTable.item.value('blackberry[1]', 'int'),0),
   @ide_exim_push_sts= isnull(tempTable.item.value('exim_push[1]', 'int'),0)
   FROM @XMLString.nodes('module/ide')  tempTable(item);
   end 
 
  
  if @Param_Log_from=1
  begin
  if isnull(@ide_dekstop_sts,0)=0
  begin
   set @no='04';
   set @des=' Maaf Key IDE untuk DESKTOP APP belum di aktifkan atau status disable ';
   goto f
  end
  end
  else
  if @Param_Log_from=2
  begin
  if isnull(@ide_web_sts,0)=0
  begin
   set @no='05';
   set @des=' Maaf Key IDE untuk WEB APP belum di aktifkan atau status disable ';
   goto f
  end
  end
  else
  if @Param_Log_from=3
  begin
  if isnull(@ide_ios_sts,0) =0
  begin
   set @no='06';
   set @des=' Maaf Key IDE untuk IOS APP belum di aktifkan atau status disable ';
   goto f
  end
  end
  else
  if @Param_Log_from=4
  begin
  if isnull(@ide_android_sts,0) =0
  begin
   set @no='07';
   set @des=' Maaf Key IDE untuk ANDROID APP belum di aktifkan atau status disable ';
   goto f
  end
  end
  else
  if @Param_Log_from=5
  begin
  if isnull(@ide_blackberry_sts,0) =0
  begin
   set @no='08';
   set @des=' Maaf Key IDE untuk BLACKBERRY APP belum di aktifkan atau status disable ';
   goto f
  end
  end
  else
  if @Param_Log_from=6
  begin
  if isnull(@ide_exim_push_sts,0) =0
  begin
   set @no='09';
   set @des=' Maaf Key IDE untuk EXIM PUSH DATA APP belum di aktifkan atau status disable ';
   goto f
  end
  end
  else
  if @Param_Log_from=9898
  begin
    set @no='00';
   set @des='OK';
  end
  else
  begin
  if @Param_Log_from<>0
  begin
   set @no='09';
   set @des=' Maaf Key IDE untuk EXIM PUSH DATA APP belum di aktifkan atau status disable ';
   goto f
  end
  end
     

 declare @xLog_log_id varchar(255)
  ,@xLog_login_from_id int
   ,@xLog_start_date datetime
  ,@xLog_end_date datetime
  ,@xLog_from_ip  varchar(255)
  ,@xLog_closed bit

  declare  @_user_id  varchar(100)
  ,@_user_name varchar(100)
  ,@_user_pass  varchar(255)
   ,@_user_banned int
  ,@_user_banned_info varchar(255)
  ,@_id int
  ,@_level_user_id int
  ,@_status_users_name varchar(100)
  ,@_status_info varchar(2000)

  ,@_last_log_desktop varchar(255)
  ,@_last_log_web varchar(255)
  ,@_last_log_IOS varchar(255)
  ,@_last_log_Android varchar(255)
  ,@_last_log_blackberry varchar(255)
  ,@_last_log_Exim_Push varchar(255)
  ,@_last_log_push_multi varchar(255)
  ,@_last_log_ccsb_setting varchar(255)

  ,@_status_users_id int
  ,@_level_user_name varchar(255)
  
  SELECT       @_id =users.id, 
   @readonly= case when users.id=9999 then 0 else ccs_permissions.readonly end, 
  @_user_banned= case when users.id=9999 then 0 else isnull(users.banned,1) end, 
   @_user_banned_info=isnull(users.ban_reason,''), 
  @_status_users_id=users.status, 
  @_user_pass=users.password, 
  @_user_id=users.username, 
   @_level_user_name=ccs_roles.name,
  @_user_name=        ccs_user_profile.name,
  @xLog_log_id=dt_log.log_id, 
   @id= dt_log.id, 
  @xLog_start_date=dt_log.start_date, 
  @xLog_end_date=dt_log.end_date, 
  @xLog_from_ip=dt_log.from_ip, 
  @xLog_closed=isnull(dt_log.closed,1) 
   FROM            ccs_branch RIGHT OUTER JOIN
         ccs_division RIGHT OUTER JOIN
         ccs_user_profile RIGHT OUTER JOIN
         users INNER JOIN
         dt_log ON users.id = dt_log.id ON ccs_user_profile.user_id = users.id LEFT OUTER JOIN
         ccs_roles ON users.role_id = ccs_roles.id LEFT OUTER JOIN
         ccs_permissions ON users.id = ccs_permissions.id ON ccs_division.id_div = ccs_user_profile.divisionID ON ccs_branch.id_br = ccs_user_profile.branchID
  WHERE        (dt_log.log_id = @Param_Log_session) AND (dt_log.login_from_id = @Param_Log_from)

   
if @id is null
 set @id=-9
  
if @xLog_log_id is null
begin
  set @no='91' --LOGIN ERROR, PLEASE LOGIN BEFORE USE THIS APP
  set @des='Session Is nothing or expire, Please Login before use this app' --LOGIN ERROR, PLEASE LOGIN BEFORE USE THIS APP
   goto f
end


if   ( ISNULL(@_user_banned,1) =1)
begin
 set @no='03';
 set @des='Haii.. "' + @_user_name + '", Maaf anda ada dalam daftar banned user ';
 goto f
end


--- CHECK APAKAH ADA DATA INFO
declare @user_info_id bigint
 SELECT   top (1) 
 @user_info_id  =   user_info_id
,@_last_log_desktop =last_log_desktop  
,@_last_log_web=last_log_web  
,@_last_log_IOS=last_log_ios  
,@_last_log_Android=last_log_android 
,@_last_log_blackberry=last_log_blackberry  
,@_last_log_Exim_Push=last_log_push_exim
,@_last_log_push_multi=last_log_push_multi
,@_last_log_ccsb_setting=last_log_ccsb_setting
FROM            dt_user_info
WHERE        (id = @_id)


if (@Param_Log_from=1  and @xLog_log_id<>@_last_log_desktop) 
 or( @Param_Log_from=2  and @xLog_log_id<>@_last_log_web)  
 or( @Param_Log_from=3  and @xLog_log_id<>@_last_log_IOS)  
 or( @Param_Log_from=4  and @xLog_log_id<>@_last_log_Android)  
 or( @Param_Log_from=5  and @xLog_log_id<>@_last_log_blackberry)  
 or( @Param_Log_from=6  and @xLog_log_id<>@_last_log_Exim_Push)  
 or( @Param_Log_from=9898  and @xLog_log_id<>@_last_log_ccsb_setting)  
 or( @Param_Log_from=0  and @xLog_log_id<>@_last_log_push_multi)  
begin
  set @no='92' --LOGIN ERROR, PLEASE LOGIN BEFORE USE THIS APP
  set @des='Not last session , Another user already logged , Please Login before use this app' --LOGIN ERROR, PLEASE LOGIN BEFORE USE THIS APP
   goto f
end
 
  
if @xLog_closed =1
begin
  set @no='93' --LOGIN ERROR, PLEASE LOGIN BEFORE USE THIS APP
  set @des='Session already closed, Please Login before use this app' --LOGIN ERROR, PLEASE LOGIN BEFORE USE THIS APP
   goto f
end

UPDATE    dt_log
SET              end_date = GETDATE()
WHERE     (log_id = @Param_Log_session)

f:


GO