The problem is with the part of the WHERE clause
AND TransDate BETWEEN @DateFrom AND @DatTo
I suspect that you are using GEDATE() or DateTime.Now(); to derive the @DateFrom parameter and the Time is causing data to fall outside the range.
There are a couple of ways around this. Either change the parameter types to
Date
not DateTime
alter PROCEDURE [dbo].[Proc_RptDailySummaryPTCLBillsCollection_Result]
@DateFrom Date,
@DatTo Date,
Or change the WHERE clause to read "Between the start of day @DateFrom and the end of the day @DateTo" - the last part is the same as saying "...and the start of the day after @DateTo" - which can be done like this:
AND TransDate BETWEEN dateadd(dd, datediff(dd, 0, @DateFrom), 0) AND dateadd(dd, datediff(dd, 0, @DatTo) + 1, 0)