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.
330 lines
18 KiB
330 lines
18 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_agentProfileUpdate] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE procEDURE [dbo].[proc_agentProfileUpdate]
|
|
@flag varchar(50) = NULL
|
|
,@user varchar(50) = NULL
|
|
,@agentId VARCHAR(30) = NULL
|
|
,@authorizePerson VARCHAR(100) = NULL
|
|
,@contactPerson VARCHAR(100) = NULL
|
|
,@agentPhone1 VARCHAR(50) = NULL
|
|
,@agentPhone2 VARCHAR(50) = NULL
|
|
,@agentMobile1 VARCHAR(50) = NULL
|
|
,@agentMobile2 VARCHAR(50) = NULL
|
|
,@agentFax1 VARCHAR(50) = NULL
|
|
,@agentFax2 VARCHAR(50) = NULL
|
|
,@address1 VARCHAR(50) = NULL
|
|
,@address2 VARCHAR(50) = NULL
|
|
,@agentEmail1 VARCHAR(100) = NULL
|
|
,@agentEmail2 VARCHAR(100) = NULL
|
|
,@latitude VARCHAR(100) = NULL
|
|
,@longitude VARCHAR(100) = NULL
|
|
,@sortBy VARCHAR(50) = NULL
|
|
,@sortOrder VARCHAR(5) = NULL
|
|
,@pageSize INT = NULL
|
|
,@pageNumber INT = NULL
|
|
,@agentName VARCHAR(200) = NULL
|
|
,@id INT = NULL
|
|
,@rptType CHAR(2) = NULL
|
|
,@fromDate VARCHAR(20) = NULL
|
|
,@toDate VARCHAR(20) = NULL
|
|
|
|
AS
|
|
SET NOCOUNT ON
|
|
SET XACT_ABORT ON
|
|
BEGIN TRY
|
|
CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), membershipId 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)
|
|
,@modType VARCHAR(6)
|
|
,@errorMsg VARCHAR(MAX)
|
|
IF @flag = 'i'
|
|
BEGIN
|
|
|
|
IF EXISTS(SELECT 'x' FROM agentProfileUpdate WITH(NOLOCK) WHERE agentid = @agentId AND approvedDate IS NOT NULL)
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Your profile has been already approved.', NULL
|
|
RETURN
|
|
END
|
|
|
|
IF NOT EXISTS(SELECT 'x' FROM agentProfileUpdate WITH(NOLOCK) WHERE agentid = @agentId)
|
|
BEGIN
|
|
INSERT INTO agentProfileUpdate(
|
|
agentid
|
|
,authorizePerson
|
|
,contactPerson
|
|
,Phone1
|
|
,Phone2
|
|
,Mobile1
|
|
,Mobile2
|
|
,Fax1
|
|
,Fax2
|
|
,address1
|
|
,address2
|
|
,Email1
|
|
,Email2
|
|
,latitude
|
|
,longitude
|
|
,createdBy
|
|
,createdDate
|
|
)
|
|
SELECT
|
|
@agentId
|
|
,@authorizePerson
|
|
,@contactPerson
|
|
,@agentPhone1
|
|
,@agentPhone2
|
|
,@agentMobile1
|
|
,@agentMobile2
|
|
,@agentFax1
|
|
,@agentFax2
|
|
,@address1
|
|
,@address2
|
|
,@agentEmail1
|
|
,@agentEmail2
|
|
,@latitude
|
|
,@longitude
|
|
,@user
|
|
,GETDATE()
|
|
EXEC proc_errorHandler 0, 'Thank you very much, Your profile has been updated successfully.', NULL
|
|
RETURN
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE agentProfileUpdate SET
|
|
authorizePerson = @authorizePerson
|
|
,contactPerson = @contactPerson
|
|
,phone1 = @agentPhone1
|
|
,phone2 = @agentPhone2
|
|
,mobile1 = @agentMobile1
|
|
,mobile2 = @agentMobile2
|
|
,fax1 = @agentFax1
|
|
,fax2 = @agentFax2
|
|
,email1 = @agentEmail1
|
|
,email2 = @agentEmail2
|
|
,address1 = @address1
|
|
,address2 = @address2
|
|
,latitude = @latitude
|
|
,longitude = @longitude
|
|
,modifiedBy = @user
|
|
,modifiedDate = GETDATE()
|
|
WHERE agentid = @agentId
|
|
EXEC proc_errorHandler 0, 'Profile has been updated successfully.', NULL
|
|
RETURN
|
|
END
|
|
END
|
|
|
|
IF @flag ='a'
|
|
BEGIN
|
|
select * from agentProfileUpdate where agentid = @agentId
|
|
END
|
|
|
|
IF @flag ='s'
|
|
BEGIN
|
|
|
|
IF @sortBy IS NULL
|
|
SET @sortBy = 'id'
|
|
IF @sortOrder IS NULL
|
|
SET @sortOrder = 'ASC'
|
|
SET @table = '(
|
|
SELECT
|
|
id,
|
|
p.agentId,
|
|
am.agentName,
|
|
p.authorizePerson,
|
|
p.phone1,
|
|
p.mobile1,
|
|
p.email1,
|
|
p.address1,
|
|
p.createdBy,
|
|
p.createdDate
|
|
FROM agentProfileUpdate p WITH(NOLOCK) INNER JOIN agentMaster am with(nolock) on p.agentid = am.agentId
|
|
WHERE p.approvedDate IS NULL
|
|
) x'
|
|
|
|
SET @sql_filter = ''
|
|
IF @agentName is not null
|
|
SET @sql_filter = @sql_filter + ' AND agentName LIKE ''%' + @agentName + '%'''
|
|
|
|
SET @select_field_list ='
|
|
id,
|
|
agentId,
|
|
agentName,
|
|
authorizePerson,
|
|
phone1,
|
|
mobile1,
|
|
email1,
|
|
address1,
|
|
createdBy,
|
|
createdDate '
|
|
|
|
EXEC dbo.proc_paging
|
|
@table
|
|
,@sql_filter
|
|
,@select_field_list
|
|
,@extra_field_list
|
|
,@sortBy
|
|
,@sortOrder
|
|
,@pageSize
|
|
,@pageNumber
|
|
END
|
|
|
|
IF @flag ='approve'
|
|
BEGIN
|
|
if not exists(select 'x'
|
|
from agentProfileUpdate with(nolock) where id = @id and approvedDate is null)
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Record not found.', NULL
|
|
RETURN
|
|
END
|
|
--alter table agentMaster add latitude VARCHAR(100),longitude VARCHAR(100),agentAddress2 VARCHAR(MAX)
|
|
update main set
|
|
contactPerson1 = mode.authorizePerson,
|
|
contactPerson2 = mode.contactperson,
|
|
agentPhone1 = mode.phone1,
|
|
agentPhone2 = mode.phone2,
|
|
agentMobile1 = mode.mobile1,
|
|
agentMobile2 = mode.mobile2,
|
|
agentFax1 = mode.fax1,
|
|
agentFax2 = mode.fax2,
|
|
agentEmail1 = mode.email1,
|
|
agentEmail2 = mode.email2,
|
|
agentAddress = mode.address1,
|
|
agentAddress2 = mode.address2,
|
|
latitude = mode.latitude,
|
|
longitude = mode.longitude,
|
|
modifiedby = mode.createdby,
|
|
modifiedDate = mode.createdDate,
|
|
approvedBy = @user,
|
|
approvedDate = GETDATE()
|
|
FROM agentMaster main
|
|
INNER JOIN agentProfileUpdate mode ON main.agentId = mode.agentId
|
|
WHERE mode.id = @id
|
|
|
|
UPDATE agentProfileUpdate SET approvedBy = @user, approvedDate = GETDATE() WHERE id = @id
|
|
|
|
EXEC proc_errorHandler 0, 'Record has been approved successfully.', @id
|
|
END
|
|
|
|
IF @flag = 'check-update'
|
|
BEGIN
|
|
|
|
DECLARE @hasRight CHAR(1)
|
|
SET @hasRight = DBO.FNAHasRight(@user,'40133800')
|
|
IF @hasRight ='Y'
|
|
BEGIN
|
|
IF EXISTS(SELECT 'x' FROM agentProfileUpdate WITH(NOLOCK) WHERE agentId = @agentId)
|
|
BEGIN
|
|
SELECT @agentId agentId
|
|
RETURN;
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
DECLARE @date DATETIME
|
|
SELECT @date = approvedDate FROM agentMaster am WITH(NOLOCK) WHERE agentId = @agentId
|
|
IF @date > '2015-07-01'
|
|
BEGIN
|
|
SELECT @agentId agentId
|
|
RETURN;
|
|
END
|
|
SELECT 'NULL' agentId
|
|
RETURN;
|
|
END
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT '1001' agentId
|
|
RETURN;
|
|
END
|
|
END
|
|
|
|
|
|
IF @flag = 'rpt'
|
|
BEGIN
|
|
if @rptType <> 'nu'
|
|
BEGIN
|
|
SET @sql='SELECT
|
|
[Agent Id] = p.agentId,
|
|
[Agent Name] = am.agentName,
|
|
[Authorized Person] = p.authorizePerson,
|
|
[Phone1] = p.phone1,
|
|
[Mobile1] = p.mobile1,
|
|
[Email1] = p.email1,
|
|
[Address] = p.address1,
|
|
[Created By] = p.createdBy,
|
|
[Created Date] = p.createdDate,
|
|
[Approved By] = p.approvedBy,
|
|
[Approved Date] = p.approvedDate
|
|
FROM agentProfileUpdate p WITH(NOLOCK) INNER JOIN agentMaster am with(nolock) on p.agentid = am.agentId
|
|
WHERE P.createdDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'''
|
|
|
|
IF @agentId IS NOT NULL
|
|
SET @sql = @sql+ ' AND p.agentId = '''+@agentId+''''
|
|
IF @rptType = 'up'
|
|
SET @sql = @sql+ ' AND p.approvedDate is null'
|
|
IF @rptType = 'ua'
|
|
SET @sql = @sql+ ' AND p.approvedDate is not null'
|
|
|
|
EXEC(@SQL)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT agentId INTO #TEMP
|
|
FROM agentMaster a WITH(NOLOCK)
|
|
WHERE agentCountry = 'Nepal'
|
|
AND ((actAsBranch = 'Y' and agentType = 2903) OR agentType = 2904)
|
|
AND ISNULL(a.isDeleted, 'N') = 'N'
|
|
AND ISNULL(a.isActive, 'N') = 'Y'
|
|
|
|
DELETE FROM #TEMP
|
|
FROM #TEMP T
|
|
INNER JOIN agentProfileUpdate L WITH(NOLOCK) ON T.agentId = L.agentId
|
|
|
|
SELECT
|
|
[Agent Id] = am.agentId
|
|
,[Agent Name] = am.agentName
|
|
,[Zone] = agentState
|
|
,[District] = agentDistrict
|
|
,[Address] = agentAddress
|
|
,[Phone] = ISNULL(agentPhone1,agentMobile1)
|
|
FROM #TEMP A INNER JOIN agentMaster am with(nolock) on A.agentId = am.agentId
|
|
order by am.agentName
|
|
END
|
|
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
|
|
SELECT 'Date Range' head, 'From '+CONVERT(VARCHAR,@fromDate,101)+' to '+CONVERT(VARCHAR,@toDate,101) value UNION ALL
|
|
SELECT 'Agent',case when @agentId is null then 'All' else (select agentName from agentMaster with(nolock) where agentId =@agentId) end UNION ALL
|
|
SELECT 'Report Type',case when @rptType='nu' then 'Not Updated'
|
|
when @rptType='up' then 'Updated but pending'
|
|
when @rptType='ua' then 'Updated but approved' end
|
|
|
|
SELECT 'Agent Profile Update Report' title
|
|
END
|
|
END TRY
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
DECLARE @errorMessage VARCHAR(MAX)
|
|
SET @errorMessage = ERROR_MESSAGE()
|
|
EXEC proc_errorHandler 1, @errorMessage, @agentId
|
|
END CATCH
|
|
|
|
|
|
|
|
GO
|