USP_GROUP_GETWEALTHSUMMARY
Returns a group's wealth summary.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@GROUPID | uniqueidentifier | IN | |
@REALESTATEASSETS | money | INOUT | |
@SECURITIESASSETS | money | INOUT | |
@BUSINESSASSETS | money | INOUT | |
@AFFLUENCEINDICATORSASSETS | money | INOUT | |
@OTHERASSETS | money | INOUT | |
@TOTALASSETS | money | INOUT | |
@INCOME | money | INOUT | |
@SALARY | money | INOUT | |
@COMPENSATION | money | INOUT | |
@C_REALESTATEASSETS | money | INOUT | |
@C_SECURITIESASSETS | money | INOUT | |
@C_BUSINESSASSETS | money | INOUT | |
@C_AFFLUENCEINDICATORSASSETS | money | INOUT | |
@C_OTHERASSETS | money | INOUT | |
@C_TOTALASSETS | money | INOUT | |
@C_INCOME | money | INOUT | |
@C_SALARY | money | INOUT | |
@C_COMPENSATION | money | INOUT | |
@NBIOGRAPHICAL | int | INOUT | |
@NCAMPAIGN | int | INOUT | |
@NFOUNDATION | int | INOUT | |
@NGIFT | int | INOUT | |
@NINCOME | int | INOUT | |
@NAFFLUENCEINDICATORS | int | INOUT | |
@NNONPROFIT | int | INOUT | |
@NOTHERASSETS | int | INOUT | |
@NBUSINESS | int | INOUT | |
@NREALESTATE | int | INOUT | |
@NSECURITIES | int | INOUT | |
@C_NBIOGRAPHICAL | int | INOUT | |
@C_NCAMPAIGN | int | INOUT | |
@C_NFOUNDATION | int | INOUT | |
@C_NGIFT | int | INOUT | |
@C_NINCOME | int | INOUT | |
@C_NAFFLUENCEINDICATORS | int | INOUT | |
@C_NNONPROFIT | int | INOUT | |
@C_NOTHERASSETS | int | INOUT | |
@C_NBUSINESS | int | INOUT | |
@C_NREALESTATE | int | INOUT | |
@C_NSECURITIES | int | INOUT |
Definition
Copy
CREATE procedure dbo.USP_GROUP_GETWEALTHSUMMARY
(
@GROUPID uniqueidentifier,
@REALESTATEASSETS money = null output,
@SECURITIESASSETS money = null output,
@BUSINESSASSETS money = null output,
@AFFLUENCEINDICATORSASSETS money = null output,
@OTHERASSETS money = null output,
@TOTALASSETS money = null output,
@INCOME money = null output,
@SALARY money = null output,
@COMPENSATION money = null output,
@C_REALESTATEASSETS money = null output,
@C_SECURITIESASSETS money = null output,
@C_BUSINESSASSETS money = null output,
@C_AFFLUENCEINDICATORSASSETS money = null output,
@C_OTHERASSETS money = null output,
@C_TOTALASSETS money = null output,
@C_INCOME money = null output,
@C_SALARY money = null output,
@C_COMPENSATION money = null output,
@NBIOGRAPHICAL int = null output,
@NCAMPAIGN int = null output,
@NFOUNDATION int = null output,
@NGIFT int = null output,
@NINCOME int = null output,
@NAFFLUENCEINDICATORS int = null output,
@NNONPROFIT int = null output,
@NOTHERASSETS int = null output,
@NBUSINESS int = null output,
@NREALESTATE int = null output,
@NSECURITIES int = null output,
@C_NBIOGRAPHICAL int = null output,
@C_NCAMPAIGN int = null output,
@C_NFOUNDATION int = null output,
@C_NGIFT int = null output,
@C_NINCOME int = null output,
@C_NAFFLUENCEINDICATORS int = null output,
@C_NNONPROFIT int = null output,
@C_NOTHERASSETS int = null output,
@C_NBUSINESS int = null output,
@C_NREALESTATE int = null output,
@C_NSECURITIES int = null output
)
as
set nocount on
-- Store group members in a table variable
declare @CURRENTDATEEARLIESTTIME datetime;
set @CURRENTDATEEARLIESTTIME = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
declare @GROUPMEMBERS table
(
MEMBERID uniqueidentifier
)
insert into @GROUPMEMBERS (MEMBERID)
select
ID
from dbo.UFN_GROUP_GETCURRENTMEMBERSNOPERMISSIONCHECK(@GROUPID);
with CTE as
(
select
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from (
select
PARTIALHASH, DATECHANGED
from dbo.WPBIOGRAPHICAL
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
REJECTED=0
union all
select
PARTIALHASH, DATECHANGED
from dbo.WPBIOGRAPHICALDEMOGRAPHIC
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
REJECTED=0
) BIO
)
select
@NBIOGRAPHICAL = count(*)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from dbo.WPPOLITICALDONATION
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
REJECTED=0
)
select
@NCAMPAIGN = count(*)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
row_number() over(partition by MATCHHASH order by DATECHANGED desc) as ROWNUMBER,
MATCHHASH
from dbo.WPPHILANTHROPICGIFT
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
REJECTED=0
)
select
@NGIFT = count(*)
from CTE
where
ROWNUMBER = 1 or
(MATCHHASH = '' or MATCHHASH is null);
with CTE as
(
select
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH,
SALARY
from dbo.WPNONPROFITAFFILIATION
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
REJECTED=0
)
select
@NNONPROFIT = count(*),
@SALARY = sum(SALARY)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH,
COMP
from dbo.WPPRIVATEFOUNDATION
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
REJECTED=0
)
select
@NFOUNDATION = count(*),
@COMPENSATION = sum(COMP)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from (
select
PARTIALHASH, DATECHANGED
from dbo.WPBIOGRAPHICAL
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
CONFIRMED=1
union all
select
PARTIALHASH, DATECHANGED
from dbo.WPBIOGRAPHICALDEMOGRAPHIC
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
CONFIRMED=1
) BIO
)
select
@C_NBIOGRAPHICAL = count(*)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from dbo.WPPOLITICALDONATION
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
CONFIRMED=1
)
select
@C_NCAMPAIGN = count(*)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from dbo.WPPHILANTHROPICGIFT
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
CONFIRMED=1
)
select
@C_NGIFT = count(*)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH,
SALARY
from dbo.WPNONPROFITAFFILIATION
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
CONFIRMED=1
)
select
@C_NNONPROFIT = count(*),
@C_SALARY = sum(SALARY)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH,
COMP
from dbo.WPPRIVATEFOUNDATION
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
CONFIRMED=1
)
select
@C_NFOUNDATION = count(*),
@C_COMPENSATION = sum(COMP)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
begin try;
with CTE as
(
select
OWNERSHIPVALUE,
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from dbo.WPBUSINESSOWNERSHIP
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
REJECTED=0
)
select
@NBUSINESS = count(*),
@BUSINESSASSETS = sum(OWNERSHIPVALUE)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
RPASSETS,
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from dbo.WPAFFLUENCEINDICATOR
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
REJECTED=0
)
select
@NAFFLUENCEINDICATORS = count(*),
@AFFLUENCEINDICATORSASSETS = sum(RPASSETS)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
select
@NOTHERASSETS =count(*),
@OTHERASSETS =sum(VALUE)
from dbo.WPOTHERASSET
where WEALTHID in (select MEMBERID from @GROUPMEMBERS) and REJECTED=0;
with CTE as
(
select
TOTALCOMPENSATION,
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from dbo.WPINCOMECOMPENSATION
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
REJECTED=0 and
HISTORICCODE <> 1
)
select
@NINCOME = count(*),
@INCOME = sum(TOTALCOMPENSATION)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
PROPERTYVALUATION,
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from dbo.WPREALESTATE
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
REJECTED=0 and
HISTORICCODE <> 1
)
select
@NREALESTATE = count(*),
@REALESTATEASSETS = sum(PROPERTYVALUATION)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
VALUEDIRECT,
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from dbo.WPSECURITIES
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
REJECTED=0
)
select
@NSECURITIES = count(*),
@SECURITIESASSETS = sum(VALUEDIRECT)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
OWNERSHIPVALUE,
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from dbo.WPBUSINESSOWNERSHIP
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
CONFIRMED=1
)
select
@C_NBUSINESS = count(*),
@C_BUSINESSASSETS = sum(OWNERSHIPVALUE)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
RPASSETS,
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from dbo.WPAFFLUENCEINDICATOR
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
CONFIRMED=1
)
select
@C_NAFFLUENCEINDICATORS = count(*),
@C_AFFLUENCEINDICATORSASSETS = sum(RPASSETS)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
select @C_NOTHERASSETS = count(*), @C_OTHERASSETS = sum(VALUE) from dbo.WPOTHERASSET where WEALTHID in (select MEMBERID from @GROUPMEMBERS) and CONFIRMED=1;
with CTE as
(
select
TOTALCOMPENSATION,
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from dbo.WPINCOMECOMPENSATION
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
CONFIRMED=1 and
HISTORICCODE <> 1
)
select
@C_NINCOME = count(*),
@C_INCOME = sum(TOTALCOMPENSATION)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
PROPERTYVALUATION,
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from dbo.WPREALESTATE
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
CONFIRMED=1 and
HISTORICCODE <> 1
)
select
@C_NREALESTATE = count(*),
@C_REALESTATEASSETS = sum(PROPERTYVALUATION)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
with CTE as
(
select
VALUEDIRECT,
row_number() over(partition by PARTIALHASH order by DATECHANGED desc) as ROWNUMBER,
PARTIALHASH
from dbo.WPSECURITIES
where
WEALTHID in (select MEMBERID from @GROUPMEMBERS) and
CONFIRMED=1
)
select
@C_NSECURITIES = count(*),
@C_SECURITIESASSETS = sum(VALUEDIRECT)
from CTE
where
ROWNUMBER = 1 or
(PARTIALHASH = '' or PARTIALHASH is null);
end try
begin catch
end catch
begin try
set @C_TOTALASSETS =coalesce( @C_REALESTATEASSETS,0)+coalesce( @C_SECURITIESASSETS,0)+coalesce( @C_BUSINESSASSETS,0)+coalesce( @C_AFFLUENCEINDICATORSASSETS,0)+coalesce(@C_OTHERASSETS,0)+coalesce( @C_INCOME,0);
set @TOTALASSETS =coalesce( @REALESTATEASSETS,0)+coalesce( @SECURITIESASSETS,0)+coalesce( @BUSINESSASSETS,0)+coalesce( @AFFLUENCEINDICATORSASSETS,0)+coalesce(@OTHERASSETS,0)+coalesce( @INCOME,0);
end try
begin catch
set @C_TOTALASSETS = 0
set @TOTALASSETS = 0
end catch