expense filter by outlet and date range
This commit is contained in:
@@ -3,6 +3,7 @@ package service
|
||||
import (
|
||||
"apskel-pos-be/internal/appcontext"
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"apskel-pos-be/internal/constants"
|
||||
"apskel-pos-be/internal/contract"
|
||||
@@ -86,6 +87,23 @@ func (s *ExpenseServiceImpl) ListExpenses(ctx context.Context, apctx *appcontext
|
||||
if modelReq.Search != "" {
|
||||
filters["search"] = modelReq.Search
|
||||
}
|
||||
if modelReq.OutletID != "" {
|
||||
outletID, err := uuid.Parse(modelReq.OutletID)
|
||||
if err == nil {
|
||||
filters["outlet_id"] = outletID
|
||||
}
|
||||
}
|
||||
if modelReq.StartDate != "" {
|
||||
if startDate, err := time.Parse("2006-01-02", modelReq.StartDate); err == nil {
|
||||
filters["start_date"] = startDate
|
||||
}
|
||||
}
|
||||
if modelReq.EndDate != "" {
|
||||
if endDate, err := time.Parse("2006-01-02", modelReq.EndDate); err == nil {
|
||||
// include the full end date day
|
||||
filters["end_date"] = endDate.Add(24*time.Hour - time.Nanosecond)
|
||||
}
|
||||
}
|
||||
|
||||
expenses, totalPages, err := s.expenseProcessor.ListExpenses(ctx, apctx.OrganizationID, filters, modelReq.Page, modelReq.Limit)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user