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.

120 lines
6.4 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[ws_proc_getServiceCharge] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE proc [dbo].[ws_proc_getServiceCharge] (
  9. @flag VARCHAR(50) = NULL
  10. ,@USER_ID VARCHAR(50) = NULL
  11. ,@PASSWORD VARCHAR(50) = NULL
  12. ,@AGENT_CODE VARCHAR(50) = NULL
  13. ,@AGENT_SESSION_ID VARCHAR(50) = NULL
  14. ,@PAYMENT_MODE VARCHAR(20) = NULL
  15. ,@PAYOUT_AMOUNT VARCHAR(20) = NULL
  16. ,@DISTRICT_ID VARCHAR(20) = NULL
  17. )
  18. AS
  19. SET NOCOUNT ON;
  20. SET XACT_ABORT ON;
  21. BEGIN TRY
  22. DECLARE
  23. @errCode VARCHAR(100)
  24. ,@sBranch VARCHAR(20) = NULL
  25. ,@deliveryMethod VARCHAR(50) = NULL
  26. ,@pLocation INT = NULL
  27. ,@serviceCharge MONEY = NULL
  28. ,@sAgentComm MONEY = NULL
  29. ,@sSuperAgentComm MONEY = NULL
  30. ,@deliveryMethodId INT = NULL
  31. ,@pLocationName VARCHAR(200) = NULL
  32. EXEC proc_checkAuthntication @USER_ID,@PASSWORD,@AGENT_CODE,@errCode OUT
  33. IF (@errCode = 1)
  34. BEGIN
  35. EXEC proc_errorHandler 1000 , 'Authentication Fail', NULL
  36. RETURN
  37. END
  38. IF @AGENT_SESSION_ID IS NULL
  39. BEGIN
  40. EXEC proc_errorHandler 1105, 'Agent Session Id is Empty' , NULL
  41. RETURN
  42. END
  43. IF @PAYMENT_MODE IS NULL
  44. BEGIN
  45. EXEC proc_errorHandler 1105, 'Payment Mode Field is Empty' , NULL
  46. RETURN
  47. END
  48. IF @PAYMENT_MODE <> 'C' AND @PAYMENT_MODE <> 'B'
  49. BEGIN
  50. EXEC proc_errorHandler 1105, 'Invalid Payment Type, Must be C - Cash Pickup B - Account Deposit to Bank',NULL
  51. RETURN
  52. END
  53. IF @DISTRICT_ID IS NULL
  54. BEGIN
  55. EXEC proc_errorHandler 1105, 'District Id is Empty' , NULL
  56. RETURN
  57. END
  58. IF ISNUMERIC(@DISTrICT_ID)=0 AND @DISTRICT_ID IS NOT NULL
  59. BEGIN
  60. EXEC proc_errorHandler 1102, 'District Id Must Be Numeric' , NULL
  61. RETURN
  62. END
  63. SELECT
  64. @sBranch = agentId
  65. FROM applicationUsers WITH(NOLOCK)
  66. WHERE userName = @USER_ID
  67. -->> ## CALCULATING SERVICE CHARGE
  68. SET @deliveryMethod =
  69. CASE UPPER(@PAYMENT_MODE)
  70. WHEN 'C' THEN 'Cash Payment'
  71. WHEN 'B' THEN 'Bank Deposit'
  72. END
  73. SELECT
  74. @pLocationName = districtName
  75. ,@pLocation = @DISTRICT_ID
  76. FROM api_DistrictList WITH(NOLOCK)
  77. WHERE districtCode = @DISTRICT_ID
  78. SELECT
  79. @deliveryMethodId = serviceTypeId
  80. FROM serviceTypeMaster WITH(NOLOCK)
  81. WHERE typeTitle = @deliveryMethod
  82. AND ISNULL(isDeleted, 'N') = 'N'
  83. SELECT
  84. @serviceCharge = ISNULL(serviceCharge, 0)
  85. ,@sAgentComm = ISNULL(sAgentComm, 0)
  86. ,@sSuperAgentComm = ISNULL(ssAgentComm, 0)
  87. FROM dbo.FNAGetDomesticSendComm(@sBranch, NULL, @pLocation, @deliveryMethodId, @PAYOUT_AMOUNT)
  88. SELECT
  89. 100 errorCode
  90. ,'Location :' + @pLocationName msg
  91. ,@AGENT_SESSION_ID AGENT_SESSION_ID
  92. ,CAST(@PAYOUT_AMOUNT AS MONEY) + @serviceCharge COLLECT_AMT
  93. ,'NPR' COLLECT_CURRENCY
  94. ,@serviceCharge SERVICE_CHARGE
  95. ,@PAYOUT_AMOUNT PAYOUT_AMOUNT
  96. ,'NPR' PAYOUT_CURRENCY
  97. END TRY
  98. BEGIN CATCH
  99. IF @@TRANCOUNT > 0
  100. ROLLBACK TRANSACTION
  101. EXEC proc_errorHandler 9999, 'Exceptional Error Occured From DB', @USER_ID
  102. END CATCH
  103. GO