mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-09-30 07:13:12 +00:00
* feat(work-orders): enrich board search overdue filters and 0-based paging * fix(work-orders): align stacked services with CI build * fix(tests): pass userDataService in comment service unit test * fix(work-orders): use dedicated overdue query flag Stop treating WorkOrderType.Other as an overdue sentinel. Board and advanced search now accept overdue=true while types=Other filters real Other rows; combining both uses OR. * test(work-orders): cover overdue date/status boundary and Other type-filter Lock the PR #23 overdue regression boundary through the public advanced search service. Prove overdue filtering is driven by past-due date plus non-terminal status, not by the WorkOrderType.Other sentinel: - Other + future/not-completed excluded from overdue - past-due + Scheduled included; past-due + Completed/Canceled excluded - types=[PM, Other] keeps real Other rows and does not pull past-due rows - assert 0-based paging (Page=0) is preserved alongside overdue/type filters --------- Co-authored-by: Arthur Bassi <arthur.winiarski.ranger@outlook.com> Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
28 lines
845 B
C#
28 lines
845 B
C#
using Data.SeaHavenIndustries.Enums;
|
|
using SeaHaven.DataServices.Interfaces;
|
|
|
|
namespace SeaHaven.DataServices.Interfaces
|
|
{
|
|
public record WorkOrderAdvancedSearchQuery(
|
|
string? Search,
|
|
DateOnly DateFrom,
|
|
DateOnly DateTo,
|
|
IReadOnlyList<string>? Sites,
|
|
IReadOnlyList<WorkOrderType>? Types,
|
|
bool Overdue,
|
|
IReadOnlyList<string>? Dispatchers,
|
|
IReadOnlyList<LifecycleStatus>? Statuses,
|
|
IReadOnlyList<string>? PmTypes,
|
|
IReadOnlyList<int>? VendorIds,
|
|
IReadOnlyList<DocStatus>? DocStatuses,
|
|
bool MyWorkOrders,
|
|
string? CurrentUserId,
|
|
int Page,
|
|
int PageSize,
|
|
string SortBy,
|
|
string SortDir);
|
|
|
|
public record WorkOrderAdvancedSearchResult(
|
|
IReadOnlyList<WorkOrderBoardRawRow> Rows,
|
|
int TotalCount);
|
|
}
|