using System; using System.Collections.Generic; namespace Haoliang.Models.Production { public class ProgramProductionSummaryDetailed { public int SummaryId { get; set; } public int DeviceId { get; set; } public string DeviceName { get; set; } public string ProgramName { get; set; } public int Quantity { get; set; } public DateTime ProductionDate { get; set; } public DateTime CreatedAt { get; set; } public DateTime UpdatedAt { get; set; } } public class ProductionStatisticsDetailed { public DateTime Date { get; set; } public int TotalDevices { get; set; } public int ActiveDevices { get; set; } public int TotalProduction { get; set; } public decimal AverageProduction { get; set; } public int TotalPrograms { get; set; } public decimal QualityRate { get; set; } public Dictionary ProductionByDevice { get; set; } public Dictionary ProductionByProgram { get; set; } } public class ProductionRecordDetailed { public int RecordId { get; set; } public int DeviceId { get; set; } public string DeviceName { get; set; } public string ProgramName { get; set; } public int Quantity { get; set; } public DateTime ProductionDate { get; set; } public TimeSpan ProductionTime { get; set; } public bool IsCompleted { get; set; } public string Operator { get; set; } public DateTime CreatedAt { get; set; } public DateTime UpdatedAt { get; set; } } public class ProductionSummary { public int SummaryId { get; set; } public DateTime ProductionDate { get; set; } public int DeviceId { get; set; } public string DeviceName { get; set; } public int TotalQuantity { get; set; } public int ProgramCount { get; set; } public TimeSpan? TotalProductionTime { get; set; } public decimal QualityRate { get; set; } public DateTime CreatedAt { get; set; } public DateTime UpdatedAt { get; set; } } public class ProductionStatistics { public DateTime Date { get; set; } public int TotalDevices { get; set; } public int ActiveDevices { get; set; } public int TotalProduction { get; set; } public decimal AverageProduction { get; set; } public int TotalPrograms { get; set; } public decimal QualityRate { get; set; } public Dictionary ProductionByDevice { get; set; } public Dictionary ProductionByProgram { get; set; } } public class ProductionRecord { public int RecordId { get; set; } public int DeviceId { get; set; } public string DeviceName { get; set; } public string ProgramName { get; set; } public int Quantity { get; set; } public DateTime ProductionDate { get; set; } public TimeSpan ProductionTime { get; set; } public bool IsCompleted { get; set; } public string Operator { get; set; } public DateTime CreatedAt { get; set; } public DateTime UpdatedAt { get; set; } } public class DeviceProductionSummary { public int DeviceId { get; set; } public string DeviceName { get; set; } public int TotalQuantity { get; set; } public int ProgramCount { get; set; } public List Programs { get; set; } } public class ProgramSummary { public string ProgramName { get; set; } public int Quantity { get; set; } public decimal Percentage { get; set; } } public class DailyProductionSummary { public DateTime Date { get; set; } public int TotalQuantity { get; set; } public int DeviceCount { get; set; } } public class WeeklyProductionSummary { public DateTime WeekStart { get; set; } public DateTime WeekEnd { get; set; } public int TotalDevices { get; set; } public int TotalQuantity { get; set; } public decimal AverageDailyQuantity { get; set; } public List DailySummaries { get; set; } } public class MonthlyProductionSummary { public int Year { get; set; } public int Month { get; set; } public int TotalDevices { get; set; } public int TotalQuantity { get; set; } public decimal AverageDailyQuantity { get; set; } public List WeeklySummaries { get; set; } } public class ProductionYield { public int DeviceId { get; set; } public string DeviceName { get; set; } public DateTime Date { get; set; } public int TotalProduced { get; set; } public int GoodPieces { get; set; } public int DefectivePieces { get; set; } public decimal QualityPercentage { get; set; } public string Shift { get; set; } } }