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
120 lines
6.4 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[ws_proc_getServiceCharge] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE proc [dbo].[ws_proc_getServiceCharge] (
|
|
@flag VARCHAR(50) = NULL
|
|
,@USER_ID VARCHAR(50) = NULL
|
|
,@PASSWORD VARCHAR(50) = NULL
|
|
,@AGENT_CODE VARCHAR(50) = NULL
|
|
,@AGENT_SESSION_ID VARCHAR(50) = NULL
|
|
,@PAYMENT_MODE VARCHAR(20) = NULL
|
|
,@PAYOUT_AMOUNT VARCHAR(20) = NULL
|
|
,@DISTRICT_ID VARCHAR(20) = NULL
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
SET XACT_ABORT ON;
|
|
|
|
BEGIN TRY
|
|
DECLARE
|
|
@errCode VARCHAR(100)
|
|
,@sBranch VARCHAR(20) = NULL
|
|
,@deliveryMethod VARCHAR(50) = NULL
|
|
,@pLocation INT = NULL
|
|
,@serviceCharge MONEY = NULL
|
|
,@sAgentComm MONEY = NULL
|
|
,@sSuperAgentComm MONEY = NULL
|
|
,@deliveryMethodId INT = NULL
|
|
,@pLocationName VARCHAR(200) = NULL
|
|
|
|
EXEC proc_checkAuthntication @USER_ID,@PASSWORD,@AGENT_CODE,@errCode OUT
|
|
|
|
IF (@errCode = 1)
|
|
BEGIN
|
|
EXEC proc_errorHandler 1000 , 'Authentication Fail', NULL
|
|
RETURN
|
|
END
|
|
|
|
IF @AGENT_SESSION_ID IS NULL
|
|
BEGIN
|
|
EXEC proc_errorHandler 1105, 'Agent Session Id is Empty' , NULL
|
|
RETURN
|
|
END
|
|
|
|
IF @PAYMENT_MODE IS NULL
|
|
BEGIN
|
|
EXEC proc_errorHandler 1105, 'Payment Mode Field is Empty' , NULL
|
|
RETURN
|
|
END
|
|
IF @PAYMENT_MODE <> 'C' AND @PAYMENT_MODE <> 'B'
|
|
BEGIN
|
|
EXEC proc_errorHandler 1105, 'Invalid Payment Type, Must be C - Cash Pickup B - Account Deposit to Bank',NULL
|
|
RETURN
|
|
END
|
|
|
|
IF @DISTRICT_ID IS NULL
|
|
BEGIN
|
|
EXEC proc_errorHandler 1105, 'District Id is Empty' , NULL
|
|
RETURN
|
|
END
|
|
IF ISNUMERIC(@DISTrICT_ID)=0 AND @DISTRICT_ID IS NOT NULL
|
|
BEGIN
|
|
EXEC proc_errorHandler 1102, 'District Id Must Be Numeric' , NULL
|
|
RETURN
|
|
END
|
|
SELECT
|
|
@sBranch = agentId
|
|
FROM applicationUsers WITH(NOLOCK)
|
|
WHERE userName = @USER_ID
|
|
|
|
-->> ## CALCULATING SERVICE CHARGE
|
|
SET @deliveryMethod =
|
|
CASE UPPER(@PAYMENT_MODE)
|
|
WHEN 'C' THEN 'Cash Payment'
|
|
WHEN 'B' THEN 'Bank Deposit'
|
|
END
|
|
|
|
SELECT
|
|
@pLocationName = districtName
|
|
,@pLocation = @DISTRICT_ID
|
|
FROM api_DistrictList WITH(NOLOCK)
|
|
WHERE districtCode = @DISTRICT_ID
|
|
|
|
SELECT
|
|
@deliveryMethodId = serviceTypeId
|
|
FROM serviceTypeMaster WITH(NOLOCK)
|
|
WHERE typeTitle = @deliveryMethod
|
|
AND ISNULL(isDeleted, 'N') = 'N'
|
|
|
|
SELECT
|
|
@serviceCharge = ISNULL(serviceCharge, 0)
|
|
,@sAgentComm = ISNULL(sAgentComm, 0)
|
|
,@sSuperAgentComm = ISNULL(ssAgentComm, 0)
|
|
FROM dbo.FNAGetDomesticSendComm(@sBranch, NULL, @pLocation, @deliveryMethodId, @PAYOUT_AMOUNT)
|
|
|
|
|
|
SELECT
|
|
100 errorCode
|
|
,'Location :' + @pLocationName msg
|
|
,@AGENT_SESSION_ID AGENT_SESSION_ID
|
|
,CAST(@PAYOUT_AMOUNT AS MONEY) + @serviceCharge COLLECT_AMT
|
|
,'NPR' COLLECT_CURRENCY
|
|
,@serviceCharge SERVICE_CHARGE
|
|
,@PAYOUT_AMOUNT PAYOUT_AMOUNT
|
|
,'NPR' PAYOUT_CURRENCY
|
|
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
EXEC proc_errorHandler 9999, 'Exceptional Error Occured From DB', @USER_ID
|
|
END CATCH
|
|
|
|
|
|
|
|
GO
|