Ejemplo n.º 1
0
        public IActionResult Index(LVSearchScreenerModel screener)
        {
            if (screener != null)
            {
                var model = context.LengthVariances.AsQueryable();
                if (screener.fromDate.HasValue)
                {
                    model = model.Where(x => x.Date > screener.fromDate);
                }
                if (screener.toDate.HasValue)
                {
                    model = model.Where(x => x.Date < screener.toDate);
                }
                if (!string.IsNullOrEmpty(screener.defect))
                {
                    model = model.Where(x => x.DefectCode.Contains(screener.defect));
                }
                if (screener.valueMin.HasValue)
                {
                    model = model.Where(x => x.Value > screener.valueMin);
                }
                if (screener.valueMax.HasValue)
                {
                    model = model.Where(x => x.Value < screener.valueMax);
                }

                return(View(model));
            }
            return(View(context.LengthVariances.ToList()));
        }
Ejemplo n.º 2
0
        public IActionResult LVByMachineNum(LVSearchScreenerModel screener)
        {
            var model = _context.LengthVariances.AsQueryable();

            if (screener != null)
            {
                if (screener.fromDate.HasValue)
                {
                    model = model.Where(x => x.Date >= screener.fromDate);
                }
                if (screener.toDate.HasValue)
                {
                    model = model.Where(x => x.Date <= screener.toDate);
                }
                if (!string.IsNullOrEmpty(screener.defect))
                {
                    model = model.Where(x => x.DefectCode.Contains(screener.defect));
                }
                if (screener.valueMin.HasValue)
                {
                    model = model.Where(x => x.Value > screener.valueMin);
                }
                if (screener.valueMax.HasValue)
                {
                    model = model.Where(x => x.Value < screener.valueMax);
                }
            }


            // top  10 defects
            var defectCodesGroup = model.GroupBy(x => x.DefectCode).Take(10);
            var defectCode       = new List <string>();
            var defectCodeCount  = new List <int>();

            foreach (var defect in defectCodesGroup)
            {
                defectCode.Add(defect.Key);
                defectCodeCount.Add(defect.Count());
            }
            ViewBag.DefectCode      = defectCode;
            ViewBag.DefectCodeCount = defectCodeCount;

            // monthly chart with dollar amount
            var monthlyLV2TotalByFlow = model.GroupBy(x => new { x.Date.Month, x.Cell })
                                        .OrderBy(g => g.Key.Month).ThenBy(g => g.Key.Cell).Select(g => new { month = g.Key.Month, flow = g.Key.Cell, value = g.OrderBy(x => x.Value) });

            var monthlyLVTotalByFlow2 = model.Where(x => x.Cell.Equals(712)).GroupBy(x => new { x.Date.Month })
                                        .OrderBy(g => g.Key.Month).Select(g => new { month = g.Key.Month, values = g.Sum(x => x.Value) });
            var monthlyLVTotalByFlow3 = model.Where(x => x.Cell.Equals(713)).GroupBy(x => new { x.Date.Month })
                                        .OrderBy(g => g.Key.Month).Select(g => new { month = g.Key.Month, values = g.Sum(x => x.Value) });
            var monthlyLVTotalByFlow4 = model.Where(x => x.Cell.Equals(714)).GroupBy(x => new { x.Date.Month })
                                        .OrderBy(g => g.Key.Month).Select(g => new { month = g.Key.Month, values = g.Sum(x => x.Value) });

            var month      = new List <string>();
            var flow2Total = new List <decimal>();
            var flow3Total = new List <decimal>();
            var flow4Total = new List <decimal>();

            foreach (var group in monthlyLVTotalByFlow2)
            {
                month.Add(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(group.month));
                flow2Total.Add(group.values);
            }

            foreach (var group in monthlyLVTotalByFlow3)
            {
                flow3Total.Add(group.values);
            }
            foreach (var group in monthlyLVTotalByFlow4)
            {
                flow4Total.Add(group.values);
            }

            ViewBag.MonthsLV       = month;
            ViewBag.Flow2LvDollars = flow2Total;
            ViewBag.Flow3LvDollars = flow3Total;
            ViewBag.Flow4LvDollars = flow4Total;

            ViewBag.Flow2LvDollarsSum = flow2Total.Sum();
            ViewBag.Flow3LvDollarsSum = flow3Total.Sum();
            ViewBag.Flow4LvDollarsSum = flow4Total.Sum();
            // LV count by flow
            var Flow2Wk   = new List <int?>();
            var Flow2LvCt = new List <int>();
            var Flow3Wk   = new List <int?>();
            var Flow3LvCt = new List <int>();
            var Flow4Wk   = new List <int?>();
            var Flow4LvCt = new List <int>();

            var LvCountByWorkstation = model.GroupBy(x => x.WorkStationId);

            foreach (var item in LvCountByWorkstation)
            {
                if (item.Key.ToString()[0] == '2')
                {
                    Flow2Wk.Add(item.Key);
                    Flow2LvCt.Add(item.Count());
                }
                else if (item.Key.ToString()[0] == '3')
                {
                    Flow3Wk.Add(item.Key);
                    Flow3LvCt.Add(item.Count());
                }
                else if (item.Key.ToString()[0] == '4')
                {
                    Flow4Wk.Add(item.Key);
                    Flow4LvCt.Add(item.Count());
                }
            }
            ViewBag.F2Workstations = Flow2Wk;
            ViewBag.F2LvCount      = Flow2LvCt;
            ViewBag.F3Workstations = Flow3Wk;
            ViewBag.F3LvCount      = Flow3LvCt;
            ViewBag.F4Workstations = Flow4Wk;
            ViewBag.F4LvCount      = Flow4LvCt;

            return(View(model));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> QualityByDept(int?dept, LVSearchScreenerModel screener)
        {
            if (dept == null || dept == 0)
            {
                dept = 2;
            }
            var extruderOne = 2101;
            var extruderTwo = 2102;

            if (dept == 3)
            {
                extruderOne = 3101;
                extruderTwo = 3102;
            }
            else if (dept == 4)
            {
                extruderOne = 4101;
                extruderTwo = 4701;
            }

            var model  = _context.NcrTags.Include(x => x.WorkStation).AsQueryable();
            var model2 = _context.FtBreakdowns.AsQueryable();

            if (screener != null)
            {
                if (screener.fromDate.HasValue)
                {
                    model  = model.Where(x => x.Date_Rej >= screener.fromDate);
                    model2 = model2.Where(x => x.Date >= screener.fromDate);
                }
                if (screener.toDate.HasValue)
                {
                    model  = model.Where(x => x.Date_Rej <= screener.toDate);
                    model2 = model2.Where(x => x.Date <= screener.toDate);
                }
            }

            //await model.Where(x => Convert.ToInt32(x.WorkStation.Department).Equals(dept)).Inclu.ToListAsync();

            var viewModel = new WorkStationNcrTagViewModel();

            viewModel.NcrTags = await model.Where(x => x.WorkStation.Department.Equals(dept)).ToListAsync();

            viewModel.NcrTags = await model.Where(x => (x.WorkStationId == extruderOne || x.WorkStationId == extruderTwo) && x.Defect.Contains("FT")).OrderBy(x => x.Date_Rej).ToListAsync();

            viewModel.FtBreakdowns = await model2.ToListAsync();

            ViewBag.ContaminationType      = model2.Where(x => !string.IsNullOrEmpty(x.SecondLevel)).GroupBy(x => x.SecondLevel).Select(x => x.Key).ToList();
            ViewBag.ContaminationTypeCount = model2.Where(x => !string.IsNullOrEmpty(x.SecondLevel)).GroupBy(x => x.SecondLevel).Select(x => x.Count()).ToList();

            var defectModel = await model.Where(x => Convert.ToInt32(x.WorkStation.Department).Equals(dept)).ToListAsync();

            ViewBag.Defects30Days      = defectModel.GroupBy(x => x.Defect).Select(x => x.Key).ToList();
            ViewBag.Defects30DaysCount = defectModel.GroupBy(x => x.Defect).Select(x => x.Count()).ToList();
            var NumofTags = defectModel.Count();

            // ft blows dataset
            var model2101 = model.Where(x => x.WorkStationId == extruderOne && x.Defect.Contains("FT")).ToList();

            ViewBag.Operators2101 = model2101.GroupBy(x => x.OperatorId).Select(x => x.Key).ToList();
            ViewBag.Ftcount2101   = model2101.GroupBy(x => x.OperatorId).Select(x => x.Count()).ToList();

            // ft blows dataset
            var model2102 = model.Where(x => x.WorkStationId == extruderTwo && x.Defect.Contains("FT")).ToList();

            ViewBag.Operators2102 = model2102.GroupBy(x => x.OperatorId).Select(x => x.Key).ToList();
            ViewBag.Ftcount2102   = model2102.GroupBy(x => x.OperatorId).Select(x => x.Count()).ToList();

            ViewBag.extruderOne = extruderOne;
            ViewBag.extruderTwo = extruderTwo;
            ViewBag.dept        = dept;
            return(View(viewModel));
        }