mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-09-30 18:53:12 +00:00
* fix(migrations): make Phase6 completion slide-over migration idempotent Use IF EXISTS / IF COL_LENGTH guards and explicit EF migration metadata so partial environments can apply Phase 6 safely. * feat(locations): add sites options endpoint and vendor contactName Expose GET /api/locations/sites for the WO create wizard and include vendor contactName on dropdown responses. * feat(work-orders): add structured service notes POC and vendor fields Persist primary/extra services, service notes, free-text POC, and tech/vendor notes on create/patch/board/detail instead of embedding them in description. * fix(work-orders): make stacked tip build for CI quality gates * fix(work-orders): align stacked services with CI build * fix(work-orders): keep FlagColor out of structured-notes slice Remove FlagColor model/API/tests from this PR so schema and EF model stay aligned with the structured-fields migration. FlagColor remains in the follow-on PR that adds its migration. --------- Co-authored-by: Arthur Bassi <arthur.winiarski.ranger@outlook.com>
64 lines
1.8 KiB
C#
64 lines
1.8 KiB
C#
using Data.SeaHavenIndustries.Enums;
|
|
|
|
namespace SeaHaven.DataServices.Interfaces
|
|
{
|
|
public record WorkOrderBoardQuery(
|
|
DateOnly WeekStart,
|
|
DateOnly WeekEnd,
|
|
IReadOnlyList<string>? Dispatchers,
|
|
bool MyWorkOrders,
|
|
IReadOnlyList<WorkOrderType>? Types,
|
|
string? Search,
|
|
string? CurrentUserId);
|
|
|
|
public record WorkOrderBoardRawRow(
|
|
int Id,
|
|
string? InternalWONumber,
|
|
int RescheduleCount,
|
|
int CarriedOver,
|
|
WorkOrderType? WorkOrderType,
|
|
string? SiteCode,
|
|
string? LocationName,
|
|
string? PocName,
|
|
string? PocPhone,
|
|
string? PocNotes,
|
|
LifecycleStatus? LifecycleStatus,
|
|
string? LegacyStatus,
|
|
string? AssignTo,
|
|
string? DispatcherFirstName,
|
|
string? DispatcherLastName,
|
|
string? Initials,
|
|
string? Color,
|
|
DateTime? DueDate,
|
|
DateTime? ScheduledDate,
|
|
DateTime? ScheduledStart,
|
|
DateTime? ScheduledEnd,
|
|
DateOnly? TargetWeek,
|
|
bool? ScheduleWeekOnly,
|
|
int? VendorId,
|
|
string? VendorName,
|
|
string? TechName,
|
|
string? TechPhone,
|
|
DateTime? DispatchApptDate,
|
|
string? Trade,
|
|
string? Problem,
|
|
string? ServiceNotes,
|
|
string? ExtraServices,
|
|
DocStatus? DocStatus,
|
|
int? PrimaryDispatchId,
|
|
byte[]? RowVersion,
|
|
byte[]? DispatchRowVersion,
|
|
bool IsUnscheduled);
|
|
|
|
public record WorkOrderBoardQueryResult(
|
|
IReadOnlyList<WorkOrderBoardRawRow> ScheduledRows,
|
|
IReadOnlyList<WorkOrderBoardRawRow> UnscheduledRows,
|
|
int ScheduledTotalBeforeSearch);
|
|
|
|
public record DispatcherLookupRow(
|
|
string Id,
|
|
string FirstName,
|
|
string? LastName,
|
|
string? Initials,
|
|
string? Color);
|
|
}
|