chenluhua1980
2025-12-26 0222ece90a4caa554b1dd09aa37b95ad394bf893
SourceCode/Bond/Servo/ProductionStats.h
@@ -27,6 +27,10 @@
   long long pairsFail = 0;
   long long pairsNoResult = 0;
   double yield = 0.0;              // pairsPass / (pairsPass + pairsFail), 0 if denom==0
   // Average takt time derived from glass_log.t_start/t_end (per pair, seconds)
   double avgTaktSeconds = 0.0;
   long long taktSamplePairs = 0;
};
struct ProductionAlarmSummary {
@@ -54,5 +58,9 @@
   static bool GetCurrentShiftWindow(CConfiguration& config, ProductionShiftWindow& outWindow);
   static bool ComputeCurrentShiftSummary(CConfiguration& config, ProductionShiftSummary& outSummary);
   static void LogCurrentShiftSummary(CConfiguration& config);
};
   // Computes "current shift" and its adjacent other shift, so UI can always show Day+Night numbers.
   // - If current is Day: day=current day shift, night=previous night shift.
   // - If current is Night: night=current night shift, day=previous day shift.
   static bool ComputeDayNightSummaries(CConfiguration& config, ProductionShiftSummary& outDay, ProductionShiftSummary& outNight);
};