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.
242 lines
11 KiB
242 lines
11 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_countryRateMaster] Script Date: 3/26/2024 5:41:59 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
ALTER PROCEDURE [dbo].[proc_countryRateMaster] @flag VARCHAR(50) = NULL
|
|
,@user VARCHAR(30) = NULL
|
|
,@depositType VARCHAR(200) = NULL
|
|
,@countryId INT = NULL
|
|
,@actualrate FLOAT = NULL
|
|
,@promRate FLOAT = NULL
|
|
,@countryName VARCHAR(200) = NULL
|
|
,@activeStatus CHAR(1) = NULL
|
|
,@sortBy VARCHAR(50) = NULL
|
|
,@sortOrder VARCHAR(5) = NULL
|
|
,@pageSize INT = NULL
|
|
,@pageNumber INT = NULL
|
|
,@receiverId BIGINT = NULL
|
|
AS
|
|
SET NOCOUNT ON
|
|
SET XACT_ABORT ON
|
|
|
|
BEGIN TRY
|
|
SET NOCOUNT ON;
|
|
|
|
CREATE TABLE #msg (
|
|
errorCode INT
|
|
,msg VARCHAR(100)
|
|
,id INT
|
|
)
|
|
|
|
DECLARE @sql VARCHAR(MAX)
|
|
,@oldValue VARCHAR(MAX)
|
|
,@newValue VARCHAR(MAX)
|
|
,@module VARCHAR(10)
|
|
,@tableAlias VARCHAR(100)
|
|
,@logIdentifier VARCHAR(50)
|
|
,@logParamMod VARCHAR(100)
|
|
,@logParamMain VARCHAR(100)
|
|
,@table VARCHAR(MAX)
|
|
,@select_field_list VARCHAR(MAX)
|
|
,@extra_field_list VARCHAR(MAX)
|
|
,@sql_filter VARCHAR(MAX)
|
|
,@logType VARCHAR(10)
|
|
,@oldRate FLOAT
|
|
,@oldPromRate FLOAT
|
|
|
|
SELECT @logIdentifier = 'depositType'
|
|
,@logParamMain = 'countryRateMaster'
|
|
,@logParamMod = 'countryRateMasterMod'
|
|
,@module = '20'
|
|
,@tableAlias = ''
|
|
|
|
IF @flag = 'i-rate'
|
|
BEGIN
|
|
BEGIN TRANSACTION
|
|
|
|
IF NOT EXISTS (
|
|
SELECT 'X'
|
|
FROM dbo.countryWiseExchangeRate
|
|
WHERE countryId = @countryId
|
|
AND depositType = @depositType
|
|
)
|
|
BEGIN
|
|
INSERT INTO countryWiseExchangeRate (
|
|
countryId
|
|
,depositType
|
|
,margin
|
|
,purchaseRate
|
|
,isActive
|
|
,createdBy
|
|
,createdDate
|
|
)
|
|
SELECT @countryId
|
|
,@depositType
|
|
,@actualrate
|
|
,ISNULL(@promRate, '')
|
|
,@activeStatus
|
|
,@user
|
|
,GETDATE()
|
|
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
|
|
EXEC proc_errorHandler 0
|
|
,'Record has been added successfully.'
|
|
,@depositType
|
|
END
|
|
ELSE IF EXISTS (
|
|
SELECT 'X'
|
|
FROM dbo.countryWiseExchangeRate
|
|
WHERE countryId = @countryId
|
|
AND depositType = @depositType
|
|
)
|
|
BEGIN
|
|
INSERT INTO dbo.countryWiseExchangeRateHistory (
|
|
countryId
|
|
,margin
|
|
,purchaseRate
|
|
,modType
|
|
,createdBy
|
|
,createdDate
|
|
)
|
|
SELECT countryId
|
|
,margin
|
|
,purchaseRate
|
|
,'UPDATE'
|
|
,@user
|
|
,GETDATE()
|
|
FROM dbo.countryWiseExchangeRate
|
|
WHERE countryId = @countryId
|
|
AND depositType = @depositType
|
|
|
|
UPDATE countryWiseExchangeRate
|
|
SET depositType = @depositType
|
|
,margin = @actualrate
|
|
,purchaseRate = ISNULL(@promRate, '')
|
|
,isActive = @activeStatus
|
|
WHERE countryId = @countryId
|
|
AND depositType = @depositType
|
|
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
|
|
EXEC proc_errorHandler 0
|
|
,'Record has been added successfully.'
|
|
,@depositType
|
|
END
|
|
END
|
|
ELSE IF @flag = 'get-list'
|
|
BEGIN
|
|
--SELECT * FROM countryWiseExchangeRate WITH(NOLOCK) WHERE countryId = @countryId
|
|
IF @sortBy IS NULL
|
|
SET @sortBy = 'depositType'
|
|
|
|
IF @sortOrder IS NULL
|
|
SET @sortOrder = 'ASC'
|
|
SET @table = '(
|
|
SELECT
|
|
main.countryId
|
|
,main.depositType
|
|
,main.margin
|
|
,main.purchaseRate
|
|
,main.createdBy
|
|
,main.createdDate
|
|
,main.isActive
|
|
FROM countryWiseExchangeRate main WITH(NOLOCK)
|
|
WHERE 1 = 1 AND main.countryId = ' + CAST(@countryId AS VARCHAR) + '
|
|
) x'
|
|
SET @sql_filter = ''
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(isActive, '''') <> ''N'''
|
|
|
|
IF @depositType IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND depositType LIKE ''' + @depositType + '%'''
|
|
SET @select_field_list = '
|
|
countryId
|
|
,depositType
|
|
,margin
|
|
,purchaseRate
|
|
,createdBy
|
|
,createdDate
|
|
,isActive '
|
|
|
|
EXEC dbo.proc_paging @table
|
|
,@sql_filter
|
|
,@select_field_list
|
|
,@extra_field_list
|
|
,@sortBy
|
|
,@sortOrder
|
|
,@pageSize
|
|
,@pageNumber
|
|
END
|
|
ELSE IF @flag = 'getById'
|
|
BEGIN
|
|
SELECT *
|
|
FROM dbo.countryWiseExchangeRate
|
|
WHERE countryId = @countryId
|
|
AND depositType = @depositType
|
|
END
|
|
ELSE IF @flag = 'payment-method'
|
|
BEGIN
|
|
SELECT depositType AS detailTitle
|
|
,ISNULL(margin, 0) AS valueId
|
|
FROM countryWiseExchangeRate
|
|
WHERE countryId = @countryId
|
|
END
|
|
ELSE IF @flag = 'getListById'
|
|
BEGIN
|
|
|
|
IF(@receiverId iS NOT NULL)
|
|
BEGIN
|
|
SELECT CR.depositType AS detailTitle
|
|
,ISNULL(margin, 0) AS detailDesc
|
|
FROM dbo.countryWiseExchangeRate CR(NOLOCK)
|
|
INNER JOIN countryMaster CM(NOLOCK) ON CM.countryId = CR.countryId
|
|
INNER JOIN receiverInformation RI(NOLOCK) ON RI.country = CM.countryName
|
|
WHERE RI.receiverId = @receiverId and CR.isActive='Y'
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT depositType AS detailTitle
|
|
,ISNULL(margin, 0) AS detailDesc
|
|
FROM countryWiseExchangeRate
|
|
WHERE countryId = '151' and isActive='Y'
|
|
END
|
|
END
|
|
ELSE IF @flag = 'delete'
|
|
BEGIN
|
|
BEGIN TRANSACTION
|
|
|
|
UPDATE countryWiseExchangeRate
|
|
SET isDeleted = 'Y'
|
|
,isActive = 'N'
|
|
,modifiedBy = @user
|
|
,modifiedDate = GETDATE()
|
|
WHERE countryId = @countryId
|
|
AND depositType = @depositType
|
|
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
|
|
SELECT 0 error_code
|
|
,'Record deleted successfully.' mes
|
|
,@countryId id
|
|
END
|
|
END TRY
|
|
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
|
|
DECLARE @errorMessage VARCHAR(MAX)
|
|
|
|
SET @errorMessage = ERROR_MESSAGE()
|
|
|
|
EXEC proc_errorHandler 1
|
|
,@errorMessage
|
|
,@depositType
|
|
END CATCH
|