Redesign refresh status table with summary counts and detail popup, sort pipeline dropdown alphabetically
Replace 11 per-table record columns on /refresh-status with Passed/Failed summary counts and a click-to-expand detail dialog showing per-table results. Add date-range SQL query to push filtering to the database. Sort pipeline dropdown alphabetically on /data-sync/requests.
This commit is contained in:
@@ -2,38 +2,25 @@ namespace JdeScoping.Core.Models.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// DTO for data refresh/sync status display.
|
||||
/// Aggregates record counts from multiple table updates into a single row.
|
||||
/// Summarises a single sync run with pass/fail counts and per-table detail.
|
||||
/// </summary>
|
||||
public class DataUpdateDto
|
||||
{
|
||||
/// <summary>The start time of the data update.</summary>
|
||||
public DateTime StartDt { get; set; }
|
||||
|
||||
/// <summary>The end time of the data update.</summary>
|
||||
public DateTime? EndDt { get; set; }
|
||||
|
||||
/// <summary>The number of branch records updated.</summary>
|
||||
public int BranchRecords { get; set; }
|
||||
/// <summary>The number of profit center records updated.</summary>
|
||||
public int ProfitCenterRecords { get; set; }
|
||||
/// <summary>The number of work center records updated.</summary>
|
||||
public int WorkCenterRecords { get; set; }
|
||||
/// <summary>The number of organizational hierarchy records updated.</summary>
|
||||
public int OrgHierarchyRecords { get; set; }
|
||||
/// <summary>The number of status code records updated.</summary>
|
||||
public int StatusCodeRecords { get; set; }
|
||||
/// <summary>The number of user records updated.</summary>
|
||||
public int UserRecords { get; set; }
|
||||
/// <summary>The number of item records updated.</summary>
|
||||
public int ItemRecords { get; set; }
|
||||
/// <summary>The number of lot records updated.</summary>
|
||||
public int LotRecords { get; set; }
|
||||
/// <summary>The number of work order records updated.</summary>
|
||||
public int WorkOrderRecords { get; set; }
|
||||
/// <summary>The number of work order step records updated.</summary>
|
||||
public int WorkOrderStepRecords { get; set; }
|
||||
/// <summary>The number of work order component records updated.</summary>
|
||||
public int WorkOrderComponentRecords { get; set; }
|
||||
|
||||
/// <summary>Whether the data update was successful.</summary>
|
||||
/// <summary>Whether the data update was successful overall.</summary>
|
||||
public bool WasSuccessful { get; set; }
|
||||
|
||||
/// <summary>Number of table syncs that succeeded.</summary>
|
||||
public int PassedCount { get; set; }
|
||||
|
||||
/// <summary>Number of table syncs that failed.</summary>
|
||||
public int FailedCount { get; set; }
|
||||
|
||||
/// <summary>Per-table detail for this sync run.</summary>
|
||||
public List<DataUpdateItemDto> Items { get; set; } = [];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace JdeScoping.Core.Models.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Per-table detail within a data sync run.
|
||||
/// </summary>
|
||||
public class DataUpdateItemDto
|
||||
{
|
||||
/// <summary>The cache table that was synced.</summary>
|
||||
public string TableName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>Whether this table sync succeeded.</summary>
|
||||
public bool WasSuccessful { get; set; }
|
||||
|
||||
/// <summary>Number of records synced for this table.</summary>
|
||||
public long NumberRecords { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user