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.
221 lines
18 KiB
221 lines
18 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[PROC_PROMOTIONAL_CAMPAIGN] Script Date: 3/15/2024 3:21:36 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
ALTER PROC [dbo].[PROC_PROMOTIONAL_CAMPAIGN]
|
|
(
|
|
@FLAG VARCHAR(20)
|
|
--grid parameters
|
|
,@user VARCHAR(50) = NULL
|
|
,@pageSize VARCHAR(50) = NULL
|
|
,@pageNumber VARCHAR(50) = NULL
|
|
,@sortBy VARCHAR(50) = NULL
|
|
,@sortOrder VARCHAR(50) = NULL
|
|
,@PROMOTIONAL_CODE VARCHAR(20) = NULL
|
|
,@PROMOTIONAL_MSG VARCHAR(250) = NULL
|
|
,@PROMOTION_TYPE INT = NULL
|
|
,@COUNTRY_ID INT = NULL
|
|
,@PAYMENT_METHOD INT = NULL
|
|
,@ROW_ID INT = NULL
|
|
,@IS_ACTIVE BIT = NULL
|
|
,@START_DT VARCHAR(20) = NULL
|
|
,@END_DT VARCHAR(20) = NULL
|
|
,@PROMOTION_VALUE MONEY = NULL
|
|
,@MIN_AMT MONEY = NULL
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
SET XACT_ABORT ON;
|
|
BEGIN
|
|
DECLARE @table VARCHAR(MAX)
|
|
,@select_field_list VARCHAR(MAX)
|
|
,@extra_field_list VARCHAR(MAX)
|
|
,@sql_filter VARCHAR(MAX)
|
|
|
|
IF @FLAG = 'I'
|
|
BEGIN
|
|
--IF EXISTS (SELECT 1 FROM TBL_PROMOTIONAL_CAMAPAIGN (NOLOCK)
|
|
-- WHERE COUNTRY_ID = @COUNTRY_ID
|
|
-- AND ISNULL(PAYMENT_METHOD, 0) = ISNULL(@PAYMENT_METHOD, 0)
|
|
-- AND IS_ACTIVE = 1)
|
|
--BEGIN
|
|
-- SELECT '0' ErrorCode , 'Record already exists, please use existing record or disable it first.' Msg , NULL id
|
|
-- RETURN
|
|
--END
|
|
--IF EXISTS (SELECT 1 FROM TBL_PROMOTIONAL_CAMAPAIGN (NOLOCK)
|
|
-- WHERE COUNTRY_ID = @COUNTRY_ID
|
|
-- AND ISNULL(PAYMENT_METHOD, @PAYMENT_METHOD) = @PAYMENT_METHOD
|
|
-- AND IS_ACTIVE = 1)
|
|
--BEGIN
|
|
-- SELECT '0' ErrorCode , 'Record already exists for all payment methods, please use existing record.' Msg , NULL id
|
|
-- RETURN
|
|
--END
|
|
|
|
INSERT INTO TBL_PROMOTIONAL_CAMAPAIGN (PROMOTIONAL_CODE, PROMOTIONAL_MSG, PROMOTION_TYPE, COUNTRY_ID, PAYMENT_METHOD, IS_ACTIVE
|
|
, createdBy, createdDate, START_DT, END_DT, PROMOTION_VALUE, MIN_SENDING_AMT)
|
|
SELECT @PROMOTIONAL_CODE, @PROMOTIONAL_MSG, @PROMOTION_TYPE, @COUNTRY_ID, @PAYMENT_METHOD, @IS_ACTIVE
|
|
, @USER, GETDATE(), @START_DT, @END_DT, @PROMOTION_VALUE, @MIN_AMT
|
|
|
|
SELECT '0' ErrorCode , 'Record has been added successfully.' Msg , NULL id
|
|
END
|
|
IF @FLAG = 'u'
|
|
BEGIN
|
|
--INSERT INTO TblPartnerwiseCountryHistory (partnerWiseCountryRowId, CountryId, AgentId, IsActive, PaymentMethod, ModifiedBy, ModifiedDate,isRealTime,minTxnLimit,maxTxnLimit,LimitCurrency,exRateCalByPartner)
|
|
--SELECT @rowId, CountryId, AgentId, IsActive, PaymentMethod, @user, GETDATE(),isRealTime,minTxnLimit,maxTxnLimit,LimitCurrency,exRateCalByPartner FROM TblPartnerwiseCountry (NOLOCK) WHERE id = @rowId
|
|
IF exists(SELECT 1 FROM TBL_PROMOTIONAL_CAMAPAIGN_MOD WHERE ROW_ID = @ROW_ID )
|
|
BEGIN
|
|
UPDATE TBL_PROMOTIONAL_CAMAPAIGN_MOD SET PROMOTIONAL_CODE = @PROMOTIONAL_CODE,
|
|
PROMOTIONAL_MSG = @PROMOTIONAL_MSG,
|
|
PROMOTION_TYPE = @PROMOTION_TYPE,
|
|
COUNTRY_ID = @COUNTRY_ID,
|
|
PAYMENT_METHOD = @PAYMENT_METHOD,
|
|
IS_ACTIVE = @IS_ACTIVE,
|
|
modifiedBy = @USER,
|
|
modifiedDate = GETDATE(),
|
|
START_DT = @START_DT,
|
|
PROMOTION_VALUE = @PROMOTION_VALUE,
|
|
END_DT = @END_DT,
|
|
MIN_SENDING_AMT = @MIN_AMT
|
|
WHERE ROW_ID = @ROW_ID
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO TBL_PROMOTIONAL_CAMAPAIGN_MOD (ROW_ID, PROMOTIONAL_CODE, PROMOTIONAL_MSG, PROMOTION_TYPE, COUNTRY_ID, PAYMENT_METHOD, IS_ACTIVE
|
|
, modifiedBy, modifiedDate, START_DT, END_DT, PROMOTION_VALUE, modType, MIN_SENDING_AMT)
|
|
SELECT @ROW_ID, @PROMOTIONAL_CODE, @PROMOTIONAL_MSG, @PROMOTION_TYPE, @COUNTRY_ID, @PAYMENT_METHOD, @IS_ACTIVE, @USER, GETDATE(), @START_DT, @END_DT, @PROMOTION_VALUE, 'U', @MIN_AMT
|
|
END
|
|
|
|
UPDATE TBL_PROMOTIONAL_CAMAPAIGN set approvedDate = null, approvedBy = null,modifiedBy=@user,modifiedDate=GETDATE()
|
|
WHERE ROW_ID = @ROW_ID
|
|
|
|
SELECT '0' ErrorCode , 'Data has been edited successfully and is waiting for approval.' Msg , NULL id
|
|
END
|
|
ELSE IF @FLAG = 'select'
|
|
BEGIN
|
|
SELECT *, START_DATE = CONVERT(VARCHAR(10), START_DT, 121), END_DATE = CONVERT(VARCHAR(10), END_DT, 121)
|
|
FROM TBL_PROMOTIONAL_CAMAPAIGN (NOLOCK) WHERE ROW_ID = @ROW_ID
|
|
END
|
|
ELSE IF @FLAG = 'S'
|
|
BEGIN
|
|
SET @sortBy = 'ROW_ID'
|
|
SET @sortOrder = 'desc'
|
|
|
|
SET @table = '( SELECT TP.ROW_ID
|
|
,PROMOTION_TYPE = S.detailTitle
|
|
,[PAYOUT_METHOD] = ISNULL(SM.typeTitle, ''ALL'')
|
|
,TP.PROMOTIONAL_CODE
|
|
,TP.PROMOTIONAL_MSG
|
|
,TP.START_DT
|
|
,TP.END_DT
|
|
,TP.PROMOTION_VALUE
|
|
,CM.COUNTRYNAME
|
|
,TP.COUNTRY_ID
|
|
,TP.MIN_SENDING_AMT
|
|
,IS_ACTIVE = CASE WHEN TP.IS_ACTIVE = 0 THEN ''NO'' ELSE ''YES'' END
|
|
,hasChanged = CASE WHEN (TP.approvedBy IS NULL) THEN ''Y'' ELSE ''N'' END
|
|
,modifiedBy = CASE WHEN TP.approvedBy IS NULL AND TP.modifiedBy IS NULL THEN TP.createdBy ELSE TP.modifiedBy END
|
|
FROM TBL_PROMOTIONAL_CAMAPAIGN TP(NOLOCK)
|
|
INNER JOIN countryMaster CM(NOLOCK) ON CM.countryId = TP.COUNTRY_ID
|
|
INNER JOIN STATICDATAVALUE S(NOLOCK) ON S.VALUEID = TP.PROMOTION_TYPE
|
|
LEFT JOIN serviceTypeMaster SM(NOLOCK) ON SM.serviceTypeId = TP.PAYMENT_METHOD '
|
|
|
|
SET @sql_filter = ''
|
|
SET @table = @table + ')x'
|
|
|
|
IF @COUNTRY_ID <> 0
|
|
SET @sql_filter = @sql_filter+' And COUNTRY_ID = '''+CAST(@COUNTRY_ID AS VARCHAR)+''''
|
|
|
|
SET @select_field_list = '
|
|
ROW_ID,PROMOTION_TYPE,PAYOUT_METHOD,PROMOTION_VALUE,PROMOTIONAL_CODE,PROMOTIONAL_MSG,START_DT,END_DT,COUNTRYNAME,IS_ACTIVE,hasChanged,modifiedBy,MIN_SENDING_AMT'
|
|
|
|
EXEC dbo.proc_paging @table, @sql_filter, @select_field_list, @extra_field_list
|
|
, @sortBy, @sortOrder, @pageSize, @pageNumber
|
|
END
|
|
ELSE IF @FLAG = 'enable-disable'
|
|
BEGIN
|
|
IF @IS_ACTIVE = 'YES'
|
|
BEGIN
|
|
update TBL_PROMOTIONAL_CAMAPAIGN set IS_ACTIVE = 0 where ROW_ID = @ROW_ID
|
|
|
|
SELECT '0' ErrorCode , 'Record has been disabled successfully.' Msg , @ROW_ID id
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
update TBL_PROMOTIONAL_CAMAPAIGN set IS_ACTIVE = 1 where ROW_ID = @ROW_ID
|
|
|
|
SELECT '0' ErrorCode , 'Record has been enabled successfully.' Msg , @ROW_ID id
|
|
END
|
|
END
|
|
ELSE IF @FLAG = 'approve'
|
|
BEGIN
|
|
INSERT INTO TBL_PROMOTIONAL_CAMAPAIGNHISTORY (ROW_ID, PROMOTIONAL_CODE, PROMOTIONAL_MSG, PROMOTION_TYPE, COUNTRY_ID, PAYMENT_METHOD, IS_ACTIVE
|
|
, modifiedBy, modifiedDate, START_DT, END_DT, PROMOTION_VALUE, MIN_SENDING_AMT)
|
|
SELECT @ROW_ID, @PROMOTIONAL_CODE, @PROMOTIONAL_MSG, @PROMOTION_TYPE, @COUNTRY_ID, @PAYMENT_METHOD, @IS_ACTIVE, @USER, GETDATE(), @START_DT, @END_DT, @PROMOTION_VALUE, @MIN_AMT
|
|
|
|
|
|
IF EXISTS(SELECT 1 FROM TBL_PROMOTIONAL_CAMAPAIGN_MOD (NOLOCK) WHERE ROW_ID = @ROW_ID)
|
|
BEGIN
|
|
select @PROMOTIONAL_CODE = PROMOTIONAL_CODE
|
|
,@PROMOTIONAL_MSG = PROMOTIONAL_MSG
|
|
,@PROMOTION_TYPE = PROMOTION_TYPE
|
|
,@START_DT = START_DT
|
|
,@END_DT = END_DT
|
|
,@COUNTRY_ID = COUNTRY_ID
|
|
,@PAYMENT_METHOD = PAYMENT_METHOD
|
|
,@IS_ACTIVE = IS_ACTIVE
|
|
,@PROMOTION_VALUE = PROMOTION_VALUE
|
|
,@MIN_AMT = MIN_SENDING_AMT
|
|
from TBL_PROMOTIONAL_CAMAPAIGN_MOD (NOLOCK)
|
|
WHERE ROW_ID = @ROW_ID
|
|
|
|
|
|
UPDATE TBL_PROMOTIONAL_CAMAPAIGN SET PROMOTIONAL_CODE = @PROMOTIONAL_CODE,
|
|
PROMOTIONAL_MSG = @PROMOTIONAL_MSG,
|
|
PROMOTION_TYPE = @PROMOTION_TYPE,
|
|
START_DT = @START_DT,
|
|
END_DT = @END_DT,
|
|
COUNTRY_ID = @COUNTRY_ID,
|
|
PAYMENT_METHOD = @PAYMENT_METHOD,
|
|
IS_ACTIVE = @IS_ACTIVE,
|
|
approvedBy = @user,
|
|
approvedDate = GETDATE() ,
|
|
PROMOTION_VALUE = @PROMOTION_VALUE,
|
|
MIN_SENDING_AMT = @MIN_AMT
|
|
where ROW_ID = @ROW_ID
|
|
|
|
DELETE FROM TBL_PROMOTIONAL_CAMAPAIGN_MOD where ROW_ID = @ROW_ID
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE TBL_PROMOTIONAL_CAMAPAIGN SET approvedBy = @user,
|
|
approvedDate = GETDATE()
|
|
where ROW_ID = @ROW_ID
|
|
END
|
|
|
|
EXEC proc_errorHandler 0, 'Changes approved successfully.', @user
|
|
|
|
END
|
|
ELSE IF @FLAG = 'reject'
|
|
BEGIN
|
|
IF EXISTS(SELECT * FROM TBL_PROMOTIONAL_CAMAPAIGN_MOD (NOLOCK) WHERE ROW_ID = @ROW_ID)
|
|
BEGIN
|
|
DELETE FROM TBL_PROMOTIONAL_CAMAPAIGN_MOD where ROW_ID = @ROW_ID
|
|
|
|
UPDATE TBL_PROMOTIONAL_CAMAPAIGN set approvedDate= GETDATE(),approvedBy = @user WHERE ROW_ID = @ROW_ID
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO TBL_PROMOTIONAL_CAMAPAIGNHISTORY (ROW_ID, PROMOTIONAL_CODE, PROMOTIONAL_MSG, PROMOTION_TYPE, COUNTRY_ID, PAYMENT_METHOD, IS_ACTIVE
|
|
, createdBy, createdDate, START_DT, END_DT, PROMOTION_VALUE,MIN_SENDING_AMT)
|
|
SELECT @ROW_ID, @PROMOTIONAL_CODE, @PROMOTIONAL_MSG, @PROMOTION_TYPE, @COUNTRY_ID, @PAYMENT_METHOD, @IS_ACTIVE, @USER, GETDATE(), @START_DT, @END_DT, @PROMOTION_VALUE, @MIN_AMT
|
|
|
|
DELETE FROM TBL_PROMOTIONAL_CAMAPAIGN WHERE ROW_ID = @ROW_ID
|
|
END
|
|
|
|
EXEC proc_errorHandler 0, 'Changes rejected successfully.', @user
|
|
END
|
|
END
|