USP_DATALIST_BILLINGITEM

Shows all of the billing items.

Parameters

Parameter Parameter Type Mode Description
@INCLUDEINACTIVE bit IN Include inactive
@DATEFILTER tinyint IN Dates
@TYPEFILTER tinyint IN Type

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_BILLINGITEM
                (
                    @INCLUDEINACTIVE bit = 0,
                    @DATEFILTER tinyint = null,
                    @TYPEFILTER tinyint = null
                )
                as
                    set nocount on

                    declare @CURRENTDATE date

                    set @CURRENTDATE = GetDate()

                    select BILLINGITEM.ID,
                                 BILLINGITEM.NAME,
                                 case when BILLINGITEM.PRICETYPECODE = 1 then Coalesce((select TOP 1 PRICE from dbo.BILLINGITEMPRICE where BILLINGITEMPRICE.BILLINGITEMID=BILLINGITEM.ID and (DATERANGETYPECODE=0 OR (STARTDATE<=@CURRENTDATE and (ENDDATE>=@CURRENTDATE or ENDDATE IS NULL))) order by STARTDATE asc), (select TOP 1 PRICE from dbo.BILLINGITEMPRICE where BILLINGITEMPRICE.BILLINGITEMID=BILLINGITEM.ID order by STARTDATE desc)) else null end as COST,
                                 dbo.UFN_BILLINGITEM_GETALLVALIDDATES(ID) as DATES,
                                 BILLINGITEM.PRICETYPE,
                                 BILLINGITEM.DESCRIPTION,
                                 BILLINGITEM.ISINACTIVE,
                                 BILLINGITEM.PRICETYPECODE
                    from dbo.BILLINGITEM
                    where ((@INCLUDEINACTIVE = 1) or (ISINACTIVE = 0)) and
                    ((@TYPEFILTER is null) or (BILLINGITEM.PRICETYPECODE=@TYPEFILTER)) and
                    ((@DATEFILTER is null) or (@DATEFILTER=1 and ((exists(select * from dbo.BILLINGITEMPRICE where BILLINGITEMPRICE.BILLINGITEMID=BILLINGITEM.ID and ((DATERANGETYPECODE=0) or (STARTDATE<=@CURRENTDATE and (ENDDATE>=@CURRENTDATE or ENDDATE is null))))) or (exists(select * from dbo.BILLINGITEMDATES where BILLINGITEMDATES.BILLINGITEMID=BILLINGITEM.ID and ((DATERANGETYPECODE=0) or (STARTDATE<=@CURRENTDATE and (ENDDATE>=@CURRENTDATE or ENDDATE is null)))))))
                    or (@DATEFILTER=10 and (exists(select * from dbo.BILLINGITEMPRICE where BILLINGITEMPRICE.BILLINGITEMID=BILLINGITEM.ID and DATERANGETYPECODE=0) or exists(select * from dbo.BILLINGITEMDATES where BILLINGITEMDATES.BILLINGITEMID=BILLINGITEM.ID and DATERANGETYPECODE=0)))
                    or (@DATEFILTER=50 and (exists(select * from dbo.BILLINGITEMPRICE where BILLINGITEMPRICE.BILLINGITEMID=BILLINGITEM.ID and (DATERANGETYPECODE=0 or exists(select * from dbo.ACADEMICYEAR AY where AY.STARTDATE<=@CURRENTDATE and AY.ENDDATE>=@CURRENTDATE and BILLINGITEMPRICE.STARTDATE>=AY.BILLINGSTARTDATE and BILLINGITEMPRICE.ENDDATE<=AY.BILLINGENDDATE)))or exists(select * from dbo.BILLINGITEMDATES where BILLINGITEMDATES.BILLINGITEMID=BILLINGITEM.ID and (DATERANGETYPECODE=0 or exists(select * from dbo.ACADEMICYEAR AY where AY.STARTDATE<=@CURRENTDATE and AY.ENDDATE>=@CURRENTDATE and BILLINGITEMDATES.STARTDATE>=AY.BILLINGSTARTDATE and BILLINGITEMDATES.ENDDATE<=AY.BILLINGENDDATE)))))
                    or (@DATEFILTER=51 and (exists(select * from dbo.BILLINGITEMPRICE where BILLINGITEMPRICE.BILLINGITEMID=BILLINGITEM.ID and (DATERANGETYPECODE=0 or exists(select * from dbo.ACADEMICYEAR AY where AY.ACADEMICYEARNAMECODEID in (select top 1 AY1.ACADEMICYEARNAMECODEID from dbo.ACADEMICYEAR AY1 where AY1.STARTDATE>@CURRENTDATE order by AY1.STARTDATE asc) and BILLINGITEMPRICE.STARTDATE>=AY.BILLINGSTARTDATE and BILLINGITEMPRICE.ENDDATE<=AY.BILLINGENDDATE)))
                    or exists(select * from dbo.BILLINGITEMDATES where BILLINGITEMDATES.BILLINGITEMID=BILLINGITEM.ID and (DATERANGETYPECODE=0 or exists(select * from dbo.ACADEMICYEAR AY where AY.ACADEMICYEARNAMECODEID in (select top 1 AY1.ACADEMICYEARNAMECODEID from dbo.ACADEMICYEAR AY1 where AY1.STARTDATE>@CURRENTDATE order by AY1.STARTDATE asc) and BILLINGITEMDATES.STARTDATE>=AY.BILLINGSTARTDATE and BILLINGITEMDATES.ENDDATE<=AY.BILLINGENDDATE))))))
                    order by BILLINGITEM.PRICETYPECODE asc