You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
9.5 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_agentLimit] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. /*
  9. EXEC proc_agentLimit @flag = 'u', @user = 'admin', @agentId = '9', @AC_ID = '104548', @DR_LIMIT = '14500', @LIMIT_EXPIRY = '05/05/2010'
  10. */
  11. CREATE PROC [dbo].[proc_agentLimit]
  12. @flag VARCHAR(50) = NULL
  13. ,@user VARCHAR(30) = NULL
  14. ,@agentId INT = NULL
  15. ,@AC_ID INT = NULL
  16. ,@DR_LIMIT money = NULL
  17. ,@LIMIT_EXPIRY datetime = NULL
  18. -- ,@sortBy VARCHAR(50) = NULL
  19. --,@sortOrder VARCHAR(5) = NULL
  20. --,@pageSize INT = NULL
  21. --,@pageNumber INT = NULL
  22. AS
  23. SET NOCOUNT ON
  24. SET XACT_ABORT ON
  25. BEGIN TRY
  26. CREATE TABLE #msg(error_code INT, msg VARCHAR(100), id INT)
  27. DECLARE
  28. @sql VARCHAR(MAX)
  29. ,@newValue VARCHAR(MAX)
  30. ,@tableName VARCHAR(50)
  31. IF @flag='a'
  32. BEGIN
  33. SELECT convert(varchar,lim_expiry,102)as limit,* FROM ac_master WHERE AGENT_ID=@agentId
  34. END
  35. IF @flag='ha'
  36. BEGIN
  37. SELECT * FROM limitHistory
  38. END
  39. IF @flag = 'u'
  40. BEGIN
  41. declare @oldvalue money,@old_lim_expiry varchar(20),@AVL_AMT varchar(30)
  42. if @LIMIT_EXPIRY < getdate()
  43. begin
  44. select 0 error_code,'Limit expiry should be greater than today' mes,@AC_ID id
  45. return
  46. end
  47. BEGIN TRANSACTION
  48. --EXEC [dbo].proc_GetColumnToRow 'agentLimit', 'ROWID', @ROWID, @oldValue OUTPUT
  49. select @oldvalue=DR_BAL_LIM,@old_lim_expiry=convert(varchar(20),lim_expiry,102) from ac_master where acct_id=@AC_ID
  50. update ac_master set
  51. DR_BAL_LIM=@DR_LIMIT,
  52. lim_expiry=@LIMIT_EXPIRY
  53. where acct_id=@AC_ID
  54. update ac_master set
  55. AVAILABLE_AMT=isnull(DR_BAL_LIM,0) + isnull(CLR_BAL_AMT,0) - isnull(SYSTEM_RESERVED_AMT,0) - isnull(LIEN_AMT,0)
  56. where acct_id=@AC_ID
  57. select @AVL_AMT=AVAILABLE_AMT from ac_master where acct_id=@AC_ID
  58. EXEC [dbo].proc_GetColumnToRow 'ac_master', 'AC_ID', @AC_ID, @newValue OUTPUT
  59. INSERT INTO #msg(error_code, msg, id)
  60. EXEC proc_applicationLogs 'i', NULL, 'update', 'ac_master', @AC_ID, @user, @oldValue, @newValue
  61. IF EXISTS (SELECT 'X' FROM #msg WHERE error_code <> 0 )
  62. BEGIN
  63. IF @@TRANCOUNT > 0
  64. ROLLBACK TRANSACTION
  65. SELECT 1 error_code, 'Record can not be updated.' mes, @AC_ID id
  66. RETURN
  67. END
  68. IF @@TRANCOUNT > 0
  69. COMMIT TRANSACTION
  70. insert into job_history(job_name,job_time,job_user,job_value,job_remarks,update_row,old_value)
  71. values ('ac_master',getdate(),@user,convert(varchar(50),@DR_LIMIT),'DRLimiUpdate:'+isnull(@old_lim_expiry,'') +'-'+ isnull((convert(varchar,@LIMIT_EXPIRY,102)),''),@AC_ID,@oldvalue)
  72. INSERT INTO limitHistory ( AGENT_ID,AC_ID,DR_LIMIT,LIMIT_EXPIRY,UTILISED_AMT,AVL_AMT,CREATED_BY,CREATED_DATE )
  73. SELECT @agentId,@AC_ID,@DR_LIMIT,@LIMIT_EXPIRY,0,@AVL_AMT ,@user ,GETDATE()
  74. SELECT 0 error_code, 'Record updated successfully.' mes, @AC_ID id
  75. END
  76. --ELSE IF @flag = 'd'
  77. -- BEGIN
  78. -- BEGIN TRANSACTION
  79. -- UPDATE agentLimit SET
  80. -- IS_DELETE = 'Y'
  81. -- ,MODIFY_BY = @user
  82. -- ,MODIFY_DATE=GETDATE()
  83. -- WHERE ROWID = @ROWID AND agentId=@agentId
  84. -- EXEC [dbo].proc_GetColumnToRow 'agentLimit', 'ROWID', @ROWID, @oldValue OUTPUT
  85. -- INSERT INTO #msg(error_code, msg, id)
  86. -- EXEC proc_applicationLogs 'i', NULL, 'delete', 'agentLimit', @ROWID, @user, @oldValue, @newValue
  87. -- IF EXISTS (SELECT 'X' FROM #msg WHERE error_code <> 0 )
  88. -- BEGIN
  89. -- IF @@TRANCOUNT > 0
  90. -- ROLLBACK TRANSACTION
  91. -- SELECT 1 error_code, 'Record can not be deleted.' mes, @ROWID id
  92. -- RETURN
  93. -- END
  94. -- IF @@TRANCOUNT > 0
  95. -- COMMIT TRANSACTION
  96. -- SELECT 0 error_code, 'Record deleted successfully.' mes, @ROWID id
  97. -- END
  98. END TRY
  99. BEGIN CATCH
  100. IF @@TRANCOUNT > 0
  101. ROLLBACK TRANSACTION
  102. SELECT 1 error_code, ERROR_MESSAGE() mes, null id
  103. END CATCH
  104. GO