private void Btn_chart_Click(object sender, EventArgs e) { List <MQCDataItems> listMQC = new List <MQCDataItems>(); LoadDataMQC loadDataMQC = new LoadDataMQC(); listMQC = loadDataMQC.listMQCDataItems(DateTime.Now.Date, DateTime.Now.Date.AddDays(1), mQCItem1.product, mQCItem1.PO, mQCItem1.process); List <chartdatabyDate> chartdata = new List <chartdatabyDate>(); List <chartdatabyDate> chartdataDefect = new List <chartdatabyDate>(); foreach (var item in listMQC) { if (item.item == "OUTPUT") { chartdata.Add(new chartdatabyDate { date = item.inspectdate, time = item.inspecttime, value = item.data }); } else if (item.remark == "NG") { chartdataDefect.Add(new chartdatabyDate { date = item.inspectdate, time = item.inspecttime, value = item.data }); } } if (chartdata != null) { MQCChart mQCChart = new MQCChart(mQCItem1, chartdata, chartdataDefect); mQCChart.ShowDialog(); } }
void bg_DoWork(object sender, DoWorkEventArgs e) { var worker = sender as BackgroundWorker; List <MQCDataItems> listMQC = new List <MQCDataItems>(); LoadDataMQC loadDataMQC = new LoadDataMQC(); listMQC = loadDataMQC.listMQCDataItems(dateTimeFrom, dateTimeTo, MQC.product, MQC.PO, MQC.process); chartdatabyDates = new List <chartdatabyDate>(); chartdatadefect = new List <chartdatabyDate>(); foreach (var item in listMQC) { if (item.item == "OUTPUT") { chartdatabyDates.Add(new chartdatabyDate { date = item.inspectdate, time = item.inspecttime, value = item.data }); } else if (item.remark == "NG") { chartdatadefect.Add(new chartdatabyDate { date = item.inspectdate, time = item.inspecttime, value = item.data }); } } LoadDataERPMQCToShow(); System.Threading.Thread.Sleep(100); }
private void LoadDataERPMQCToShow() { //Load data from m_ERPMQC LoadDataMQC dataMQC = new LoadDataMQC(); MQC = dataMQC.GetQCCItemOK(dateTimeFrom, dateTimeTo, MQC.product, MQC.PO, MQC.department, MQC.process); }
private void LoadDataERPMQCToShow() { //Load data from m_ERPMQC LoadDataMQC dataMQC = new LoadDataMQC(); dateTimeFrom = DateTime.Now.Date; dateTimeTo = DateTime.Now.Date.AddDays(1); mQCItem = dataMQC.GetQCCItemOK(dateTimeFrom, dateTimeTo, product, mQCItem.PO, dept, process); }
public MQCItemSummary GetMQCItemSummary(DateTime from, DateTime to, string site, string process) { MQCItemSummary itemSummary = new MQCItemSummary(); try { LoadDataMQC dataMQC = new LoadDataMQC(); List <MQCDataItems> mQCDataItems = dataMQC.listMQCDataItemsbySite(from, to, site, process); //Nhom theo san pham var ListItemsData = mQCDataItems .GroupBy(u => u.item) .Select(grp => grp.ToList()) .ToList(); var ListItemsTime = mQCDataItems .GroupBy(u => u.inspecttime) .ToList(); itemSummary.product = ""; itemSummary.defectItems = new List <DefectItem>(); //Khi thay doi ngay can phai chinh lai thoi gian itemSummary.Time_from = mQCDataItems.Min(d => d.inspecttime).ToString(); itemSummary.Time_To = mQCDataItems.Max(d => d.inspecttime).ToString(); foreach (var itemData in ListItemsData) { if (itemData[0].remark == "OP") { itemSummary.OutputQty = itemData.Select(d => d.data).Sum(); } else if (itemData[0].remark == "NG") { DefectItem item = new DefectItem(); item.DefectCode = itemData[0].item; item.Quantity = itemData.Select(d => d.data).Sum(); LoadDefectMapping defectMapping = new LoadDefectMapping(); NGItemsMapping nGItemsMapping = defectMapping.GetNGMapping(site, process, item.DefectCode); item.DefectSFT = nGItemsMapping.NGCode_SFT; item.DefectSFTName = nGItemsMapping.NGCodeName_SFT; itemSummary.defectItems.Add(item); itemSummary.NGQty += item.Quantity; } } itemSummary.QuantityTotal = itemSummary.OutputQty + itemSummary.NGQty; itemSummary.DefectRate = (itemSummary.QuantityTotal != 0) ? (itemSummary.NGQty / itemSummary.QuantityTotal) : 0; } catch (Exception ex) { Log.Logfile.Output(Log.StatusLog.Error, "GetMQCItemSummaries(DateTime from, DateTime to, string site, string process)", ex.Message); } return(itemSummary); }
private void LoadDataERPMQCToShow() { //Load data from m_ERPMQC LoadDataMQC dataMQC = new LoadDataMQC(); // DataTable dataLot = new DataTable(); mQCItem = dataMQC.GetQCCItemLineLot(dateTimeFrom, dateTimeTo, Line, Model, Lot, process); // } }
private void LoadDataERPMQCToShow() { //Load data from m_ERPMQC LoadDataMQC dataMQC = new LoadDataMQC(); DataTable dataLot = new DataTable(); dataLot = dataMQC.GetMQCDataFromLine(mQCItem.line); if (dataLot != null && dataLot.Rows.Count == 1) { mQCItem = dataMQC.GetQCCItemOK(dateTimeFrom, dateTimeTo, dataLot.Rows[0][1].ToString(), dataLot.Rows[0][0].ToString(), dept, process); } }
private void LoadDataERPMQCToShow() { //Load data from m_ERPMQC LoadDataMQC dataMQC = new LoadDataMQC(); dept = "B01"; process = "MQC"; ListMQCshow = dataMQC.listMQCItemsOfDept(dateTimeFrom, dateTimeTo, dept, process); int topCount = CountColumn * CountRow; ListMQCTake = ListMQCshow.Take(topCount).ToList(); layoutMain.Controls.Clear(); if (ListMQCTake.Count <= topCount) { int countList = 0; for (int i = 0; i < CountRow; i++) { for (int j = 0; j < CountColumn; j++) { if (countList < ListMQCTake.Count) { // line.Dispose(); if (this.WindowState == FormWindowState.Normal) { line = new LineUI(ListMQCTake[countList], cb_Department.Text, 20); } else if (this.WindowState == FormWindowState.Maximized) { line = new LineUI(ListMQCTake[countList], cb_Department.Text, 25); } line.Name = ListMQCTake[countList].product; line.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); layoutMain.Controls.Add(line, j, i); countList++; } } } } lb_Clock.Text = DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss"); }
//private void ScaleFont(Label lab) //{ // SizeF extent = TextRenderer.MeasureText(lab.Text, lab.Font); // float hRatio = lab.Height / extent.Height; // float wRatio = lab.Width / extent.Width; // float ratio = (hRatio < wRatio) ? hRatio : wRatio; // float newSize = lab.Font.Size * ratio; // lab.Font = new Font(lab.Font.FontFamily, newSize, lab.Font.Style); //} private void LoadDataERPMQCToShow() { //Load data from m_ERPMQC LoadDataMQC dataMQC = new LoadDataMQC(); dept = "B01"; process = "MQC"; ListMQCshow = dataMQC.listMQCItemsOfDept(dateTimeFrom, dateTimeTo, dept, process); var listshowline = ListMQCshow .OrderBy(u => u.line) .GroupBy(u => u.line) .Select(grp => grp.ToList()) .ToList(); List <MQCItem1> ListShowbyLine = new List <MQCItem1>(); foreach (var LineData in listshowline) { MQCItem1 mQC = new MQCItem1(); DateTime maxDate = LineData.Select(d => d.DateRun).Max(); mQC = LineData.Where(d => d.DateRun == maxDate).ToList()[0]; ListShowbyLine.Add(mQC); } int topCount = CountColumn * CountRow; //ListMQCTake = ListMQCshow.Take(topCount).ToList(); layoutMain.Controls.Clear(); if (ListShowbyLine.Count <= topCount) { int countList = 0; for (int i = 0; i < CountRow; i++) { for (int j = 0; j < CountColumn; j++) { if (countList < ListShowbyLine.Count) { // line.Dispose(); if (this.WindowState == FormWindowState.Normal) { line = new LineUI(ListShowbyLine[countList], cb_Department.Text, 20); } else if (this.WindowState == FormWindowState.Maximized) { line = new LineUI(ListShowbyLine[countList], cb_Department.Text, 25); } line.Name = ListShowbyLine[countList].line; line.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); layoutMain.Controls.Add(line, j, i); countList++; } } } } lb_Clock.Text = DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss"); }
public List <MQCItemSummary> GetMQCItemSummariesFromTo(DateTime from, DateTime to, string site, string process) { List <MQCItemSummary> qCItemSummaries = new List <MQCItemSummary>(); try { LoadDataMQC dataMQC = new LoadDataMQC(); List <MQCDataItems> mQCDataItems = dataMQC.listMQCDataItemsbySite(from, to, site, process); //Nhom theo san pham var ListMQCbyProduct = mQCDataItems .OrderBy(d => d.line) .GroupBy(u => u.lot) .Select(grp => grp.ToList()) .ToList(); foreach (var qCDataItems in ListMQCbyProduct) { MQCItemSummary itemSummary = new MQCItemSummary(); itemSummary.product = qCDataItems[0].model; itemSummary.defectItems = new List <DefectItem>(); itemSummary.ReworkItems = new List <DefectItem>(); var ListItemsData = qCDataItems .GroupBy(u => u.item) .Select(grp => grp.ToList()) .ToList(); itemSummary.Time_from = dataMQC.GetMinTimeProductionOfProduct(itemSummary.product, from, to); itemSummary.Time_To = dataMQC.GetMaxTimeProductionOfProduct(itemSummary.product, from, to); //Khi thay doi ngay can phai chinh lai thoi gian foreach (var itemData in ListItemsData) { itemSummary.product = itemData[0].model; itemSummary.Line = itemData[0].line; itemSummary.Lot = itemData[0].lot; if (itemData[0].remark == "OP") { itemSummary.OutputQty = itemData.Select(d => d.data).Sum(); } else if (itemData[0].remark == "NG") { DefectItem item = new DefectItem(); item.DefectCode = itemData[0].item; item.Quantity = itemData.Select(d => d.data).Sum(); LoadDefectMapping defectMapping = new LoadDefectMapping(); NGItemsMapping nGItemsMapping = defectMapping.GetNGMapping(site, process, item.DefectCode); item.DefectSFT = nGItemsMapping.NGCode_SFT; item.DefectSFTName = nGItemsMapping.NGCodeName_SFT; itemSummary.defectItems.Add(item); itemSummary.NGQty += item.Quantity; } else if (itemData[0].remark == "RW") { DefectItem item = new DefectItem(); item.DefectCode = itemData[0].item; item.Quantity = itemData.Select(d => d.data).Sum(); LoadDefectMapping defectMapping = new LoadDefectMapping(); NGItemsMapping nGItemsMapping = defectMapping.GetNGMapping(site, process, item.DefectCode.Replace("RW", "NG")); item.DefectSFT = nGItemsMapping.NGCode_SFT; item.DefectSFTName = nGItemsMapping.NGCodeName_SFT; itemSummary.ReworkItems.Add(item); itemSummary.ReworkQty += item.Quantity; } } itemSummary.QuantityTotal = itemSummary.OutputQty + itemSummary.NGQty /*+ itemSummary.ReworkQty*/; itemSummary.DefectRate = (itemSummary.QuantityTotal != 0) ? (itemSummary.NGQty / itemSummary.QuantityTotal) : 0; itemSummary.ReworkRate = (itemSummary.QuantityTotal != 0) ? (itemSummary.ReworkQty / itemSummary.QuantityTotal) : 0; qCItemSummaries.Add(itemSummary); } } catch (Exception ex) { SystemLog.Output(SystemLog.MSG_TYPE.Err, "GetMQCItemSummaries(DateTime from, DateTime to, string site, string process)", ex.Message); } return(qCItemSummaries); }
public MQCItemSummary GetMQCItemSummarybyLot(DateTime from, TimeSpan time_from, DateTime to, TimeSpan time_to, string site, string process, string lot) { MQCItemSummary itemSummary = new MQCItemSummary(); try { LoadDataMQC dataMQC = new LoadDataMQC(); List <MQCDataItems> mQCDataItems = dataMQC.listMQCDataItemsbylot(from, time_from, to, time_to, site, process, lot); //Nhom theo san pham var ListItemsData = mQCDataItems .GroupBy(u => u.remark) .Select(grp => grp.ToList()) .ToList(); var ListItemsTime = mQCDataItems .GroupBy(u => u.inspecttime) .ToList(); itemSummary.defectItems = new List <DefectItem>(); //Khi thay doi ngay can phai chinh lai thoi gian itemSummary.Time_from = (from + time_from).ToString("dd-MM-yyyy HH:mm:ss"); itemSummary.Time_To = (to + time_to).ToString("dd-MM-yyyy HH:mm:ss"); foreach (var itemData in ListItemsData) { itemSummary.product = itemData[0].model; itemSummary.Line = itemData[0].line; if (itemData[0].remark == "OP") { itemSummary.OutputQty = itemData.Select(d => d.data).Sum(); } else if (itemData[0].remark == "NG") { DefectItem item = new DefectItem(); item.DefectCode = itemData[0].item; item.Quantity = itemData.Select(d => d.data).Sum(); LoadDefectMapping defectMapping = new LoadDefectMapping(); NGItemsMapping nGItemsMapping = defectMapping.GetNGMapping(site, process, item.DefectCode); item.DefectSFT = nGItemsMapping.NGCode_SFT; item.DefectSFTName = nGItemsMapping.NGCodeName_SFT; itemSummary.defectItems.Add(item); itemSummary.NGQty += item.Quantity; } else if (itemData[0].remark == "RW") { DefectItem item = new DefectItem(); item.DefectCode = itemData[0].item; item.Quantity = itemData.Select(d => d.data).Sum(); itemSummary.ReworkQty += item.Quantity; } } itemSummary.QuantityTotal = itemSummary.OutputQty + itemSummary.NGQty + itemSummary.ReworkQty; itemSummary.DefectRate = (itemSummary.QuantityTotal != 0) ? (itemSummary.NGQty / itemSummary.QuantityTotal) : 0; itemSummary.ReworkRate = (itemSummary.QuantityTotal != 0) ? (itemSummary.ReworkQty / itemSummary.QuantityTotal) : 0; } catch (Exception ex) { SystemLog.Output(SystemLog.MSG_TYPE.Err, "GetMQCItemSummaries(DateTime from, DateTime to, string site, string process)", ex.Message); } return(itemSummary); }
public List <MQCItemSummary> GetMQCSummarybyYear(DateTime from, DateTime to, string site, string process) { // DateTime from = new DateTime(); DateTime to = new DateTime(); // DateTimeControl.ReturnDateTimePeriodProduction(period, ref from, ref to); string date = from.ToString("yyyy-MM-dd"); string time = from.ToString("HH:mm:ss"); List <MQCItemSummary> qCItemSummaries = new List <MQCItemSummary>(); try { LoadDataMQC dataMQC = new LoadDataMQC(); List <MQCDataItems> mQCDataItems = dataMQC.listMQCDataItemsbySite(from, to, site, process); //Nhom theo san pham var ListMQCbyProduct = mQCDataItems .OrderBy(d => d.inspectdate) .GroupBy(u => u.inspectdate) .Select(grp => grp.ToList()) .ToList(); foreach (var qCDataItems in ListMQCbyProduct) { MQCItemSummary itemSummary = new MQCItemSummary(); //DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo; //Calendar cal = dfi.Calendar; //int WeekNo = cal.GetWeekOfYear(qCDataItems[0].inspectdate, CalendarWeekRule.FirstDay, DayOfWeek.Monday); itemSummary.Time_from = qCDataItems[0].inspectdate.ToString("yyyy"); itemSummary.defectItems = new List <DefectItem>(); var ListItemsData = qCDataItems .GroupBy(u => u.item) .Select(grp => grp.ToList()) .ToList(); //Khi thay doi ngay can phai chinh lai thoi gian foreach (var itemData in ListItemsData) { itemSummary.product = itemData[0].model; itemSummary.Line = itemData[0].line; itemSummary.Lot = itemData[0].lot; if (itemData[0].remark == "OP") { itemSummary.OutputQty = itemData.Select(d => d.data).Sum(); } else if (itemData[0].remark == "NG") { DefectItem item = new DefectItem(); item.DefectCode = itemData[0].item; item.Quantity = itemData.Select(d => d.data).Sum(); LoadDefectMapping defectMapping = new LoadDefectMapping(); NGItemsMapping nGItemsMapping = defectMapping.GetNGMapping(site, process, item.DefectCode); if (nGItemsMapping != null) { item.DefectSFT = nGItemsMapping.NGCode_SFT; item.DefectSFTName = nGItemsMapping.NGCodeName_SFT; itemSummary.defectItems.Add(item); itemSummary.NGQty += item.Quantity; } } else if (itemData[0].remark == "RW") { DefectItem item = new DefectItem(); item.DefectCode = itemData[0].item; item.Quantity = itemData.Select(d => d.data).Sum(); itemSummary.ReworkQty += item.Quantity; } } itemSummary.QuantityTotal = itemSummary.OutputQty + itemSummary.NGQty /*+ itemSummary.ReworkQty*/; itemSummary.OutputRate = (itemSummary.QuantityTotal != 0) ? (itemSummary.OutputQty / itemSummary.QuantityTotal) : 0; itemSummary.DefectRate = (itemSummary.QuantityTotal != 0) ? (itemSummary.NGQty / itemSummary.QuantityTotal) : 0; itemSummary.ReworkRate = (itemSummary.QuantityTotal != 0) ? (itemSummary.ReworkQty / itemSummary.QuantityTotal) : 0; qCItemSummaries.Add(itemSummary); } } catch (Exception ex) { SystemLog.Output(SystemLog.MSG_TYPE.Err, "GetMQCItemSummaries(DateTime from, DateTime to, string site, string process)", ex.Message); } return(qCItemSummaries); }
private void LoadDataERPMQCToShow() { //Load data from m_ERPMQC LoadDataMQC dataMQC = new LoadDataMQC(); dept = "B01"; process = "MQC"; ListMQCshow = dataMQC.listMQCItemsOfLine(dateTimeFrom, dateTimeTo, Line, process); var MQCCurrent = ListMQCshow.Where(d => d.DateRun == ListMQCshow.Select(a => a.DateRun).Max()).ToList(); int topCount = CountColumn * CountRow; //ListMQCTake = ListMQCshow.Take(topCount).ToList(); layoutMain.Controls.Clear(); if (ListMQCshow != null) { int countList = 0; for (int i = 0; i < CountRow; i++) { for (int j = 0; j < CountColumn; j++) { if (countList < ListMQCshow.Count) { if (ListMQCshow[countList].PO == MQCCurrent[0].PO) { if (this.WindowState == FormWindowState.Normal) { line = new LineUI(ListMQCshow[countList], cb_Department.Text, 20, "Now"); } else if (this.WindowState == FormWindowState.Maximized) { line = new LineUI(ListMQCshow[countList], cb_Department.Text, 25, "Now"); } } else { // line.Dispose(); if (this.WindowState == FormWindowState.Normal) { line = new LineUI(ListMQCshow[countList], cb_Department.Text, 20); } else if (this.WindowState == FormWindowState.Maximized) { line = new LineUI(ListMQCshow[countList], cb_Department.Text, 25); } } line.Name = ListMQCshow[countList].line; line.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); layoutMain.Controls.Add(line, j, i); countList++; } } } } lb_Clock.Text = DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss"); }