public List <DowntimeParts> GetBreaksDowntimeParts( List <DowntimeDto> downtime, SwotTargetWithDeptId swotTarget ) { var breaksDowntime = downtime .Where(x => x.Reason2.ToLower().Contains("breaks")) .GroupBy(x => new { x.Line, x.ShifDate, x.Shift }) .Select( x => { var pph = swotTarget?.TargetPartsPerHour ?? 0; var ppm = (decimal)pph / 60; var downtimeMinutes = x.Sum(d => d.DowntimeLoss ?? 0); var downtimeParts = downtimeMinutes * ppm; return(new DowntimeParts { Line = x.Key.Line, ShiftDate = x.Key.ShifDate, Shift = x.Key.Shift, Downtime = downtimeMinutes, DowntimeInParts = downtimeParts }); } ) .ToList(); return(breaksDowntime); }
public decimal GetScrapTarget(SwotTargetWithDeptId data, string scrapType) { switch (scrapType) { case "Foundry": return(data.FoundryScrapTarget); case "Machining": return(data.MachineScrapTarget); case "Anodize": case "Skirt Coat": case "Assembly": return(data.AfScrapTarget); } return(0); }