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.
259 lines
18 KiB
259 lines
18 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_msgBroadCast] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE proc [dbo].[proc_msgBroadCast]
|
|
@flag VARCHAR(50) = NULL
|
|
,@user VARCHAR(30) = NULL
|
|
,@msgBroadCastId VARCHAR(30) = NULL
|
|
,@countryId INT = NULL
|
|
,@agentId INT = NULL
|
|
,@branchId INT = NULL
|
|
,@countryName VARCHAR(50) = NULL
|
|
,@agentName VARCHAR(50) = NULL
|
|
,@branchName VARCHAR(50) = NULL
|
|
,@msgTitle NVARCHAR(500) = NULL
|
|
,@msgDetail NVARCHAR(MAX) = NULL
|
|
,@sortBy VARCHAR(50) = NULL
|
|
,@isActive VARCHAR(2) = NULL
|
|
,@userType VARCHAR(50) = NULL
|
|
,@sortOrder VARCHAR(5) = NULL
|
|
,@pageSize INT = NULL
|
|
,@pageNumber INT = NULL
|
|
|
|
|
|
AS
|
|
/*
|
|
flag Purpose
|
|
----------------------------
|
|
d Delete
|
|
a Select by id
|
|
i Insert
|
|
u Update
|
|
s Select
|
|
*/
|
|
|
|
SET NOCOUNT ON
|
|
SET XACT_ABORT ON
|
|
BEGIN TRY
|
|
CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
|
|
DECLARE
|
|
@sql VARCHAR(MAX)
|
|
DECLARE
|
|
@select_field_list VARCHAR(MAX)
|
|
,@extra_field_list VARCHAR(MAX)
|
|
,@table VARCHAR(MAX)
|
|
,@sql_filter VARCHAR(MAX)
|
|
,@newValue VARCHAR(MAX)
|
|
,@oldValue VARCHAR(MAX)
|
|
,@modType VARCHAR(6)
|
|
IF @flag = 'i'
|
|
BEGIN
|
|
--IF EXISTS (SELECT 'X' FROM msgBroadCast WHERE countryId = @countryId AND agentId = @agentId AND branchId = @branchId
|
|
-- AND ISNULL(isDeleted, 'N') <> 'Y')
|
|
-- BEGIN
|
|
-- EXEC proc_errorHandler 1, 'Cannot Insert Duplicate Message For Same Branch', NULL
|
|
-- RETURN
|
|
-- END
|
|
|
|
BEGIN TRANSACTION
|
|
INSERT INTO msgBroadCast (
|
|
countryId
|
|
,agentId
|
|
,branchId
|
|
,msgTitle
|
|
,msgDetail
|
|
,isActive
|
|
,createdBy
|
|
,createdDate
|
|
,userType
|
|
)
|
|
SELECT
|
|
@countryId
|
|
,@agentId
|
|
,@branchId
|
|
,@msgTitle
|
|
,@msgDetail
|
|
,@isActive
|
|
,@user
|
|
,GETDATE()
|
|
,@userType
|
|
SET @msgBroadCastId = SCOPE_IDENTITY()
|
|
SET @modType = 'insert'
|
|
|
|
EXEC [dbo].proc_GetColumnToRow 'msgBroadCast', 'msgBroadCastId', @msgBroadCastId, @newValue OUTPUT
|
|
INSERT INTO #msg(errorCode, msg, id)
|
|
|
|
EXEC proc_applicationLogs 'i', NULL, @modType, 'Message Broadcast Setup', @msgBroadCastId, @user, @oldValue, @newValue
|
|
IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
|
|
BEGIN
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
EXEC proc_errorHandler 1, 'Failed to Insert.', @msgBroadCastId
|
|
RETURN
|
|
END
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
|
|
EXEC proc_errorHandler 0, 'Record has been Inserted successfully.', @msgBroadCastId
|
|
END
|
|
|
|
ELSE IF @flag = 'u'
|
|
BEGIN
|
|
--IF EXISTS (SELECT 'X' FROM msgBroadCast WHERE countryId = @countryId AND agentId = @agentId AND branchId = @branchId
|
|
-- AND msgBroadCastId <> @msgBroadCastId AND ISNULL(isDeleted, 'N') <> 'Y')
|
|
-- BEGIN
|
|
-- EXEC proc_errorHandler 1, 'Cannot Update Message For Already Existed Branch ', NULL
|
|
-- RETURN
|
|
-- END
|
|
BEGIN TRANSACTION
|
|
UPDATE msgBroadCast SET
|
|
countryId = @countryId
|
|
,agentId = @agentId
|
|
,branchId = @branchId
|
|
,msgTitle = @msgTitle
|
|
,msgDetail = @msgDetail
|
|
,isActive = @isActive
|
|
,modifiedBy = @user
|
|
,modifiedDate = GETDATE()
|
|
,userType = @userType
|
|
WHERE msgBroadCastId = @msgBroadCastId
|
|
|
|
SET @modType = 'update'
|
|
|
|
EXEC [dbo].proc_GetColumnToRow 'msgBroadCast', 'msgBroadCastId', @msgBroadCastId, @newValue OUTPUT
|
|
INSERT INTO #msg(errorCode, msg, id)
|
|
|
|
EXEC proc_applicationLogs 'i', NULL, @modType, 'Message Broadcast Setup', @msgBroadCastId, @user, @oldValue, @newValue
|
|
IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
|
|
BEGIN
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
EXEC proc_errorHandler 1, 'Failed to Update.', @msgBroadCastId
|
|
RETURN
|
|
END
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
|
|
EXEC proc_errorHandler 0, 'Record has been Updated successfully.', @msgBroadCastId
|
|
|
|
END
|
|
|
|
ELSE IF @flag = 'd'
|
|
BEGIN
|
|
BEGIN TRANSACTION
|
|
UPDATE msgBroadCast SET
|
|
isDeleted = 'Y'
|
|
WHERE msgBroadCastId = @msgBroadCastId
|
|
SET @modType = 'delete'
|
|
|
|
EXEC [dbo].proc_GetColumnToRow 'msgBroadCast', 'msgBroadCastId', @msgBroadCastId, @newValue OUTPUT
|
|
INSERT INTO #msg(errorCode, msg, id)
|
|
|
|
EXEC proc_applicationLogs 'i', NULL, @modType, 'Message Broadcast Setup', @msgBroadCastId, @user, @oldValue, @newValue
|
|
IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
|
|
BEGIN
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
EXEC proc_errorHandler 1, 'Failed to Delete.', @msgBroadCastId
|
|
RETURN
|
|
END
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
|
|
EXEC proc_errorHandler 0, 'Record has been Deleted successfully.', @msgBroadCastId
|
|
END
|
|
|
|
ELSE IF @flag = 's'
|
|
BEGIN
|
|
IF @sortBy IS NULL
|
|
SET @sortBy = 'msgBroadCastId'
|
|
IF @sortOrder IS NULL
|
|
SET @sortOrder = 'ASC'
|
|
SET @table = '(
|
|
SELECT
|
|
main.msgBroadCastId
|
|
,countryName = ISNULL(cm.countryName,''All'')
|
|
,agentName = ISNULL(am.agentName,''All'')
|
|
,branchName = ISNULL(am1.agentName,''All'')
|
|
,main.msgTitle
|
|
,main.msgDetail
|
|
,main.createdBy
|
|
,main.createdDate
|
|
,isActive = case when main.isActive=''N'' then ''Inactive'' else ''Active'' end
|
|
,userType = case when main.userType is null then ''All'' else main.userType end
|
|
FROM msgBroadCast main WITH(NOLOCK)
|
|
LEFT JOIN countryMaster cm WITH(NOLOCK) ON cm.countryId = main.countryId
|
|
LEFT JOIN agentMaster am WITH(NOLOCK) ON am.agentId = main.agentId
|
|
LEFT JOIN agentMaster am1 WITH(NOLOCK) ON am1.agentId = main.branchId
|
|
WHERE ISNULL(main.isDeleted, ''N'') <> ''Y''
|
|
) x'
|
|
SET @sql_filter = ''
|
|
|
|
IF @countryName IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND countryName LIKE ''%' + @countryName + '%'''
|
|
|
|
IF @agentName IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND agentName LIKE ''%' + @agentName + '%'''
|
|
|
|
IF @branchName IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND branchName LIKE ''%' + @branchName + '%'''
|
|
|
|
SET @select_field_list ='
|
|
msgBroadCastId
|
|
,countryName
|
|
,agentName
|
|
,branchName
|
|
,msgTitle
|
|
,msgDetail
|
|
,createdDate
|
|
,createdBy
|
|
,isActive
|
|
,userType
|
|
'
|
|
|
|
EXEC dbo.proc_paging
|
|
@table
|
|
,@sql_filter
|
|
,@select_field_list
|
|
,@extra_field_list
|
|
,@sortBy
|
|
,@sortOrder
|
|
,@pageSize
|
|
,@pageNumber
|
|
END
|
|
|
|
ELSE IF @flag = 'a'
|
|
BEGIN
|
|
SELECT
|
|
main.countryId
|
|
,main.agentId
|
|
,main.branchId
|
|
,countryName = cm.countryName
|
|
,agentName = am.agentName
|
|
,branchName = am1.agentName
|
|
,main.msgTitle
|
|
,main.msgDetail
|
|
,main.isActive
|
|
,main.userType
|
|
FROM msgBroadCast main WITH(NOLOCK)
|
|
LEFT JOIN countryMaster cm WITH(NOLOCK) ON cm.countryId = main.countryId
|
|
LEFT JOIN agentMaster am WITH(NOLOCK) ON am.agentId = main.agentId
|
|
LEFT JOIN agentMaster am1 WITH(NOLOCK) ON am1.agentId = main.branchId
|
|
WHERE msgBroadCastId = @msgBroadCastId
|
|
END
|
|
END TRY
|
|
|
|
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
SELECT 1 errorCode, ERROR_MESSAGE() mes, null id
|
|
END CATCH
|
|
|
|
|
|
|
|
GO
|