USP_DATALIST_DAILYSALESREPORT

Returns list of sales made by users.

Parameters

Parameter Parameter Type Mode Description
@FROM datetime IN from
@TO datetime IN to
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@ALLSALESREPORT bit IN All sales report?
@SELECTEDAPPUSERID uniqueidentifier IN Selected report user

Definition

Copy


            CREATE procedure dbo.USP_DATALIST_DAILYSALESREPORT
            (
                @FROM datetime = null,
                @TO datetime = null,
                @CURRENTAPPUSERID uniqueidentifier = null,
                @ALLSALESREPORT bit = 0,
                @SELECTEDAPPUSERID uniqueidentifier = null
            )
            as
                set nocount on;

                declare @REPORTUSER uniqueidentifier = null;
                if @ALLSALESREPORT = 0
                    set @REPORTUSER = @CURRENTAPPUSERID;
                else
                    set @REPORTUSER = @SELECTEDAPPUSERID;

                select
                    [REVENUEPAYMENTMETHOD].[ID] as [PAYMENTID],
                    (
                        select dbo.UFN_APPUSER_GETNAME([APPUSER].[ID])
                        from dbo.[APPUSER]
                        where [APPUSER].[ID] = [SALESORDERPAYMENT].[APPUSERID]
                    ) as [TRANSACTIONSELLER],
                    [REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE],
                    [REVENUEPAYMENTMETHOD].[PAYMENTMETHOD],
                    convert(nvarchar(20), SALESORDER.SEQUENCEID) as [SALESORDERNUMBER],
                    'http://' + CONVERT(nvarchar(36),SALESORDER.ID) as [SALESORDERLINK],
                    [SALESORDER].[TRANSACTIONDATE],
                    [SALESORDERPAYMENT].[AMOUNT] as [AMOUNTPAID],
                    case [REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE] 
                        when 0 then ''
                        when 1 then (
                        select [CHECKNUMBER] + ', ' + convert(nvarchar(20), dbo.UFN_DATE_FROMFUZZYDATE(CHECKDATE), 101)
                            from dbo.[CHECKPAYMENTMETHODDETAIL]
                            where ID = [REVENUEPAYMENTMETHOD].[ID]
                        )
                        when 2 then (
                        select dbo.UFN_CREDITTYPECODE_GETDESCRIPTION(CREDITTYPECODEID) 
                            from dbo.[CREDITCARDPAYMENTMETHODDETAIL] 
                            where ID = [REVENUEPAYMENTMETHOD].[ID]
                        )
                        when 10 then (
                        select dbo.UFN_OTHERPAYMENTMETHODCODE_GETDESCRIPTION(OTHERPAYMENTMETHODCODEID)
                            from dbo.[OTHERPAYMENTMETHODDETAIL]
                            where ID = [REVENUEPAYMENTMETHOD].[ID]
                        )
                    end as [PAYMENTDETAILS],
                    case [REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE]
                        when 2 then (
                            select dbo.UFN_CREDITTYPECODE_GETDESCRIPTION(CREDITTYPECODEID) 
                            from dbo.[CREDITCARDPAYMENTMETHODDETAIL] 
                            where ID = [REVENUEPAYMENTMETHOD].[ID]
                        )
                        when 10 then (
                            select dbo.UFN_OTHERPAYMENTMETHODCODE_GETDESCRIPTION(OTHERPAYMENTMETHODCODEID)
                            from dbo.[OTHERPAYMENTMETHODDETAIL]
                            where ID = [REVENUEPAYMENTMETHOD].[ID]
                        )
                        else ''
                    end as [PAYMENTTYPE],
                    dbo.UFN_CONSTITUENT_BUILDNAME(SALESORDER.CONSTITUENTID) as [PATRONNAME]
                from dbo.[REVENUE]
                inner join dbo.[REVENUEPAYMENTMETHOD]
                    on [REVENUE].[ID] = [REVENUEPAYMENTMETHOD].[REVENUEID]
                inner join dbo.[SALESORDERPAYMENT]
                    on [REVENUE].[ID] = [SALESORDERPAYMENT].[PAYMENTID]
                inner join dbo.[SALESORDER]
                    on [SALESORDERPAYMENT].[SALESORDERID] = [SALESORDER].[ID]
                where
                    (
                        [SALESORDER].[APPUSERID] = @REPORTUSER or
                        @REPORTUSER is null
                    ) and
                    [SALESORDER].[TRANSACTIONDATE] between dbo.UFN_DATE_GETEARLIESTTIME(@FROM) and dbo.UFN_DATE_GETLATESTTIME(@TO) and
                    [SALESORDER].[STATUSCODE] = 1 and
                    [SALESORDERPAYMENT].[AMOUNT] <> 0
                order by 
                    [TRANSACTIONSELLER] ASC,
                    [REVENUEPAYMENTMETHOD].[PAYMENTMETHOD] ASC,
                    [SALESORDERNUMBER] ASC,
                    [SALESORDERPAYMENT].[AMOUNT] ASC;

            return 0;