Files
BI/server/DongfangHydro.Dashboard.Api/Contracts/DashboardContracts.cs
T

148 lines
3.2 KiB
C#

namespace DongfangHydro.Dashboard.Api.Contracts;
public sealed record ProductionNodeDto(
Guid Id,
Guid OrderId,
Guid? ParentId,
string Code,
string OperationCode,
string MaterialCode,
string Name,
string SourceSequence,
string Specification,
string Material,
decimal? UnitWeight,
decimal? TotalWeight,
string UnitWeightText,
string TotalWeightText,
decimal? BomQuantity,
string BomQuantityText,
string Remark,
string SourceSheet,
int SourceRow,
int Level,
string NodeType,
string SupplyType,
int RequiredQty,
int CompletedQty,
int DefectQty,
int Progress,
string Status,
string RiskLevel,
int DelayDays,
string DelayReason,
string PlannedStart,
string PlannedEnd,
string ActualStart,
string ActualEnd,
string Owner,
string Vendor,
string StationName,
string VisualKey,
string Version,
IReadOnlyList<ProductionNodeDto> Children);
public sealed record TrendPointDto(
string Time,
int Completion,
int Risk,
int PlannedQty,
int ActualQty,
double Achievement);
public sealed record RiskEventDto(
Guid Id,
Guid OrderId,
Guid NodeId,
string OrderCode,
string NodeName,
string RiskLevel,
string Message,
string Time,
string HandlingStatus);
public sealed record OrderSummaryDto(
Guid Id,
string Code,
string ProductName,
int BatchQty,
int RequiredQty,
int CompletedQty,
int Progress,
string Status,
string RiskLevel,
int DelayDays,
string PlannedStart,
string PlannedEnd,
string LineName,
string Owner,
double PlanAchievement,
double DailyDelta,
string ThumbnailKey,
ProductionNodeDto Root,
IReadOnlyList<TrendPointDto> Trend,
IReadOnlyList<RiskEventDto> Events);
public sealed record MaterialQuotaDto(
Guid Id,
Guid OrderId,
string Category,
string SourceSequence,
string MaterialCode,
string MaterialName,
string Specification,
string Unit,
decimal? Quantity,
decimal? NetWeight,
decimal? ConsumptionQuota,
string QuantityText,
string NetWeightText,
string ConsumptionQuotaText,
string Brand,
string Remark,
string SourceSheet,
int SourceRow);
public sealed record PagedResult<T>(
IReadOnlyList<T> Items,
int Total,
int Page,
int PageSize);
public sealed record DashboardOverviewDto(
int TotalOrders,
int TotalRequiredQty,
int TotalCompletedQty,
double OverallProgress,
int DelayedOrders,
int CriticalOrders,
int WarningOrders,
double PlanAchievement,
DateTimeOffset RefreshedAt);
public sealed record DelayTopItemDto(
int Rank,
Guid OrderId,
string OrderCode,
string ProductName,
int DelayDays,
string DelayReason,
string RiskLevel);
public sealed record UpdateNodeProgressRequest(
int? CompletedQty,
string? ExpectedVersion,
string? Status,
string? RiskLevel,
int? DelayDays,
string? DelayReason,
int? DefectQty,
DateTime? ActualStart,
DateTime? ActualEnd);
public sealed record UpdateNodeProgressResultDto(
ProductionNodeDto Node,
OrderSummaryDto Order,
RiskEventDto? RiskEvent,
TrendPointDto TrendPoint);