protected internal virtual void btnReport_Click(object sender, EventArgs e)
 {
     if (dgvDataShow.Rows.Count - 1 > 0)
     {
         Main.PGB pgb = new Main.PGB();
         pgb.progressBar1.Style = ProgressBarStyle.Marquee;
         pgb.progressBar1.MarqueeAnimationSpeed = 2000;
         pgb.Text = "啟動報表";
         pgb.label1.Text = "報表啟動中.....請稍候";
         pgb.Show();
         Application.DoEvents();
         DataSet insert = new DataSet();
         srcDataMergeDefect();
         insert.Tables.Add(mergeData);
         insert.WriteXmlSchema("TEMP.xml");
         try
         {
             DevelopmentProductDailyReportLF report = new DevelopmentProductDailyReportLF();
             report.SetDataSource(insert);
             rtpDevelopmentProduct rptdlp = new rtpDevelopmentProduct();
             rptdlp.crystalReportViewer1.ReportSource = report;
             rptdlp.Show();
             pgb.Dispose();
         }
         catch (Exception ex)
         {
             sysMessage.SystemEx(ex.Message);
         }
     }
     else
     {
         sysMessage.NoData();
     }
 }
 private void btnReport_Click(object sender, EventArgs e)
 {
     if (dgvData.Rows.Count - 1 > 0)
     {
         Main.PGB pgb = new Main.PGB();
         pgb.progressBar1.Style = ProgressBarStyle.Marquee;
         pgb.progressBar1.MarqueeAnimationSpeed = 2000;
         pgb.Text = "啟動報表";
         pgb.label1.Text = "報表啟動中.....請稍候";
         pgb.Show();
         Application.DoEvents();
         if (srcData.Columns.Contains("ID"))
         {
             srcData.Columns.Remove("ID");
         }
         DataSet insert = new DataSet();
         insert.Tables.Add(srcData);
         insert.WriteXmlSchema("TEMP.xml");
         try
         {
             Application.DoEvents();
             VCutProductCheckReport report = new VCutProductCheckReport();
             report.SetDataSource(insert);
             rtpVCutProductCheckRefer rvpcr = new rtpVCutProductCheckRefer();
             rvpcr.crystalReportViewer1.ReportSource = report;
             rvpcr.Show();
             insert.Tables.Remove(srcData);
             insert.Dispose();
             pgb.Dispose();
         }
         catch (Exception ex)
         {
             sysMessage.SystemEx(ex.Message);
         }
     }
     else
     {
         sysMessage.NoData();
     }
 }
 private void btnMath3MonthReport_Click(object sender, EventArgs e)
 {
     DateTime minDate = DateTime.Now;
     DateTime maxDate = DateTime.Today.AddMonths(3);
     TimeSpan spanDay = maxDate - minDate;
     int Day = spanDay.Days;
     List<string> Date = new List<string>();
     List<double> SPnl = new List<double>();
     Main.PGB pgb = new Main.PGB();
     pgb.progressBar1.Minimum = 0;
     pgb.progressBar1.Maximum = Day + 1;
     pgb.progressBar1.Step = 1;
     pgb.Show();
     for (int i = 0; i <= Day; i++)
     {
         DataTable result = GetSQL.Get3MonthSPOdOrderSub(minDate.ToString("yyyy-MM-dd 00:00:00"),
             minDate.ToString("yyyy-MM-dd 23:59:59"));
         if (result.Rows.Count != 0)
         {
             Date.Add(minDate.ToString("yyyy-MM-dd"));
             SPnl.Add(ewMath.SPnlSumByReport(result));
         }
         minDate = minDate.AddDays(1);
         pgb.progressBar1.Value++;
         Application.DoEvents();
         if (pgb.progressBar1.Value == Day + 1)
         {
             pgb.label1.Text = "報表啟動中,請稍候.....";
         }
         
     }
     DataTable mergeResult = new DataTable();
     mergeResult.Columns.Add("Date");
     mergeResult.Columns.Add("SPnl");
     for (int i = 0; i < Date.Count; i++)
     {
         DataRow row = mergeResult.NewRow();
         row["Date"] = Date[i];
         row["SPnl"] = SPnl[i];
         mergeResult.Rows.Add(row);
     }
     DataSet insert = new DataSet();
     insert.Tables.Add(mergeResult);
     insert.WriteXmlSchema("TEMP.xml");
     try
     {
         SPnl3Month report = new SPnl3Month();
         report.SetDataSource(insert);
         rptSPnl3Month rptsp3m = new rptSPnl3Month();
         rptsp3m.crystalReportViewer1.ReportSource = report;
         rptsp3m.Show();
         pgb.Dispose();
     }
     catch (Exception ex)
     {
         sysMessage.SystemEx(ex.Message);
     }
 }
 private void btnCompare_Click(object sender, EventArgs e)
 {
     chkPartNum.Checked = false;
     rtbPartNum.Text = "";
     if (dgvFMEdIssue.Rows.Count - 1 <= 0)
     {
         sysMessage.NoSourceData("製令明細表");
     }
     else if (txtProcCode.Text == "")
     {
         sysMessage.NoInputProcCode();
     }
     else
     {
         DataTable source = new DataTable();
         DataTable result = new DataTable();
         Main.PGB pgb = new Main.PGB();
         pgb.Text = "底片比對";
         pgb.label1.Text = "正在比對底片中,請稍候...";
         pgb.progressBar1.Value = 0;
         pgb.progressBar1.Maximum = dgvFMEdIssue.Rows.Count - 1;
         pgb.progressBar1.Step = 1;
         pgb.Show();
         //先將製令明細表的料號及版序一併存入陣列
         string[] strList = new string[dgvFMEdIssue.Rows.Count - 1];
         for (int p=0;p<dgvFMEdIssue.Rows.Count-1;p++)
         {
             strList[p] = dgvFMEdIssue.Rows[p].Cells["PartNum"].Value.ToString().Trim() +
                 dgvFMEdIssue.Rows[p].Cells["Revision"].Value.ToString().Trim();
             pgb.progressBar1.Value++;
             Application.DoEvents();
         }
         //過濾掉重覆料號並塞入另一個新的陣列
         string[] strResult = strList.Distinct().ToArray();
         //將陣列進行排序
         Array.Sort(strResult);
         //將過濾掉重覆料號的陣列指定給ComboBox當來源
         cboPartNum.DataSource = strResult;
         cboPartNum.SelectedIndex = -1;
         cboPartNum.DropDownStyle = ComboBoxStyle.DropDownList;
         pgb.progressBar1.Maximum += strResult.Count();
         for (int i = 0; i < strResult.Count(); i++)
         {
             source = GetSQL.GetAwtablemainOnFMEdIssue(strResult[i].ToString().Substring(0,11),
                 strResult[i].ToString().Substring(11, 4), txtProcCode.Text);
             if (source.Rows.Count == 0)
             {
                 rtbPartNum.Text += strResult[i].ToString().Substring(0, 11) + " " +
                     strResult[i].ToString().Substring(11, 4) + "\r\n";
             }
             else
             {
                 //若目的地資料表尚無任何資料,則先將來源資料表的格式COPY至目的地資料表
                 if (result.Rows.Count == 0)
                 {
                     result = source.Clone();
                 }
                 for (int x = 0; x < source.Rows.Count; x++)
                 {
                     result.ImportRow(source.Rows[x]);
                 }
             }
             pgb.progressBar1.Value++;
             Application.DoEvents();
         }
         pgb.Dispose();
         dgvNegative.DataSource = result;
         bindPartNum.DataSource = result;
         dgvNegativeFormat();
         lblNegativeCount.Text = "共 " + Convert.ToInt32(dgvNegative.Rows.Count - 1) + " 筆";
     }
 }
Пример #5
0
 private void btnAudit_Click(object sender, EventArgs e)
 {
     if (dgvDataShow.Rows.Count - 1 <= 0)
     {
         sysMessage.NoSourceData("沒有提供比對的底片借出紀錄");
     }
     else
     {
         rtbNoPartNum.Clear();
         DateTime nowDate = DateTime.Now;
         DateTime lastDate = nowDate.AddMonths(-1);
         DataTable Temp = new DataTable();
         DataTable NoValue = new DataTable();
         MistakeResult = SourceData.Copy();
         Main.PGB pgb = new Main.PGB();
         pgb.Text = "底片比對";
         pgb.label1.Text = "底片比對中.....請稍候.....";
         pgb.Show();
         Application.DoEvents();
         pgb.progressBar1.Style = ProgressBarStyle.Marquee;
         pgb.progressBar1.MarqueeAnimationSpeed = 2000;
         //建立NoValue欄位
         NoValue.Columns.Add("PartNum", typeof(string));
         NoValue.Columns.Add("Revision", typeof(string));
         for (int i = 0; i < SourceData.Rows.Count; i++)
         {
             Temp = GetSQL.GetArtWork(SourceData.Rows[i]["料號"].ToString().Trim(),
                 SourceData.Rows[i]["版序"].ToString().Substring(0,3),
                 lastDate.ToString("yyyy-MM-dd 00:00:00"), nowDate.ToString("yyyy-MM-dd 23:59:59"));
             if (Temp.Rows.Count <= 0)
             {
                 NoValue.Rows.Add(SourceData.Rows[i]["料號"].ToString().Trim(),
                 SourceData.Rows[i]["版序"].ToString().Trim());
                 MistakeResult.Rows[i].Delete();//Change DataTable.Rows Status to Delete
             }
         }
         MistakeResult.AcceptChanges();
         //將查無鑽孔漲縮值的底片借出資料,過濾掉重覆料號、版序
         DataTable distNoValue = NoValue.DefaultView.ToTable(true, "PartNum","Revision");
         distNoValue.DefaultView.Sort = "PartNum asc";
         for (int i = 0; i < distNoValue.Rows.Count; i++)
         {
             pgb.progressBar1.Value++;
             rtbNoPartNum.Text += distNoValue.DefaultView[i]["PartNum"].ToString() + " " +
                 distNoValue.DefaultView[i]["Revision"].ToString() + "\r\n";
         }
         //將查有鑽孔漲縮值的底片借出資料篩選掉不需檢查的工具別
         for (int i = 0; i < MistakeResult.Rows.Count; i++)
         {
             int result = 0;//用來計算不符合工具別時,要加總的值
             for (int x = 0; x < ewString.strTool.Count(); x++)
             {
                 if (MistakeResult.Rows[i]["工具"].ToString().Contains(ewString.strTool[x]))
                 {
                     break;
                 }
                 else
                 {
                     result++;
                 }
             }
             if (result == 5)
             {
                 MistakeResult.Rows[i].Delete();
             }
         }
         MistakeResult.AcceptChanges();
         for (int i = 0; i < MistakeResult.Rows.Count; i++)
         {
             double drillX, drillY = 0;
             DataTable temp = GetSQL.GetArtWork(MistakeResult.Rows[i]["料號"].ToString().Trim(),
                 MistakeResult.Rows[i]["版序"].ToString().Substring(0,3), lastDate.ToString("yyyy-MM-dd 00:00:00"),
                 nowDate.ToString("yyyy-MM-dd 23:59:59"));
             drillX = Convert.ToDouble(temp.Rows[0][1]);
             drillY = Convert.ToDouble(temp.Rows[0][2]);
             if (ewCheck.CheckNegative(MistakeResult.Rows[i]["料號"].ToString().Trim(),
                 MistakeResult.Rows[i]["版序"].ToString().Trim(), MistakeResult.Rows[i]["工具"].ToString().Trim(),
                 Convert.ToDouble(MistakeResult.Rows[i]["X"]), Convert.ToDouble(MistakeResult.Rows[i]["Y"]), drillX, drillY))
             {
                 MistakeResult.Rows[i].Delete();
             }
         }
         MistakeResult.AcceptChanges();
         pgb.Dispose();
         dgvMistakeShow.DataSource = MistakeResult;
         dgvMistakeShowFormat();
     }
 }