예제 #1
0
        private void btn_OBOM_Execute_Click(object sender, EventArgs e)
        {
            bool DirPass = false;
            tbx_OBOM_Result.Text = "";
            try
            {
                DirectoryInfo Dir = new DirectoryInfo(tbx_OBOMDir.Text);
                FileInfo[] trySourceFiles = Dir.GetFiles();
 
                DirPass = true;
            }
            catch
            {
                tbx_OBOM_Result.Text += "Wrong Directory";
            }
            if (DirPass)
            {
                try
                {
                    DirectoryInfo Dir = new DirectoryInfo(tbx_OBOMDir.Text);
                    FileInfo[] SourceFiles = Dir.GetFiles("*.xls");
                    int Sequence = 1;
                    foreach (var t in SourceFiles)
                    {
                        Broadcast Test = new Broadcast(tbx_Setting_VIN.Text, tbx_Setting_Project.Text);

                        Test.GetAttributesFromOBOM(t.FullName, Sequence);
                        if (cbx_OBOM_ImportEBOM.Checked == true && this.tbx_Setting_EBOM.Text != "")
                        {
                            Test.OBOM_GetPartsFromEBOM(t.FullName, this.tbx_Setting_EBOM.Text, this.tbx_Setting_EBOMExtra.Text, this.tbx_Setting_SWTP.Text, this.tbx_Setting_SWCP_SheetName.Text, Convert.ToInt32(this.nud_Setting_SWCP_BoughtinCol.Value) - 1, Convert.ToInt32(this.nud_Setting_SWCPTopCol.Value) - 1);
                        }

                        Test.WriteBroadcastToFile(tbx_OBOMDir.Text);
                        Sequence++;
                        AddResult(t.Name + " Created", this.tbx_OBOM_Result);
                    }
                    AddResult("Finished", this.tbx_OBOM_Result);
                    MessageBox.Show("Broadcast Generated");

                }
                catch
                {
                    MessageBox.Show("Generate Process Error, Please Check Settings");
                }
            }
        }
예제 #2
0
        private void btn_V6000_Execute_Click(object sender, EventArgs e)
        {
            List<Broadcast> V6000_Broadcast = new List<Broadcast>();
            this.tbx_V6000_Result.Text="";

            DataTable BOM = new DataTable();
            List<string> SWCP = new List<string>();


            try
            {
                if (cbx_V6000_ImportEBOM.Checked)
                {

                    BOM.Columns.Add("PN");
                    for (int i = 0; i < Convert.ToInt32(nud_V6000_VehicleNumber.Value); i++)
                        BOM.Columns.Add();

                    object missing = Missing.Value;
                    Microsoft.Office.Interop.Excel.Application xlApp = null;
                    Microsoft.Office.Interop.Excel.Workbook BOM_xlBook = null;
                    Microsoft.Office.Interop.Excel.Worksheet BOM_xlSheet = null;
                    Microsoft.Office.Interop.Excel.Workbook SWCP_xlBook = null;
                    Microsoft.Office.Interop.Excel.Worksheet SWCP_xlSheet = null;

                    xlApp = new Microsoft.Office.Interop.Excel.Application();
                    xlApp.DisplayAlerts = false;


                    AddResult("Reading SWCP", tbx_V6000_Result);
                    SWCP_xlBook = xlApp.Workbooks.Add(tbx_Setting_SWTP.Text);
                    SWCP_xlSheet = SWCP_xlBook.Sheets[tbx_Setting_SWCP_SheetName.Text];

                    int Rows = 2;
                    string SWCPAssy = SWCP_xlSheet.Cells[Convert.ToInt32(nud_Setting_SWCPTopCol.Value)][Rows].Value;
                    while (SWCPAssy != null && SWCPAssy != "")
                    {
                        SWCP.Add(SWCPAssy);
                        Rows++;
                        SWCPAssy = SWCP_xlSheet.Cells[Convert.ToInt32(nud_Setting_SWCPTopCol.Value)][Rows].Value;
                        if (Rows % 10 == 0)
                            AddResult((Rows / 10).ToString("00"), tbx_V6000_Result);
                    }

                    SWCP_xlBook.Close();


                    AddResult("Reading BOM", tbx_V6000_Result);
                    BOM_xlBook = xlApp.Workbooks.Add(tbx_V6000_BOM.Text);
                    BOM_xlSheet = BOM_xlBook.Sheets[tbx_V6000_BOMSheetName.Text];

                    Rows = 0;
                    string BOMAssy = BOM_xlSheet.Cells[(Convert.ToInt32(nud_V6000_BOMAssyCol.Value))][Convert.ToInt32(nud_V6000_BOMStartRow.Value) + Rows].Value;
                    while (BOMAssy != null && BOMAssy != "")
                    {
                        DataRow Target = BOM.NewRow();
                        Target[0] = BOMAssy;
                        for (int i = 0; i < Convert.ToInt32(nud_V6000_VehicleNumber.Value); i++)
                        {
                            object isFit = BOM_xlSheet.Cells[Convert.ToInt32(nud_V6000_BOMVehicleStartCol.Value) + i][ Convert.ToInt32(nud_V6000_BOMStartRow.Value) + Rows].Value;
                            if (isFit == null)
                                Target[i + 1] = "";
                            else
                                Target[i + 1] = isFit.ToString();
                        }

                        BOM.Rows.Add(Target);
                        Rows++;
                        BOMAssy = BOM_xlSheet.Cells[Convert.ToInt32(nud_V6000_BOMAssyCol.Value)][Convert.ToInt32(nud_V6000_BOMStartRow.Value) + Rows].Value;


                        if (Rows % 100 == 0)
                            AddResult((Rows / 100).ToString("0000"), tbx_V6000_Result);


                    }

                    BOM_xlBook.Close();

                    xlApp.Quit();


                }


                for (int i = 0; i < Convert.ToInt32(nud_V6000_VehicleNumber.Value); i++)
                {
                    Broadcast Target = new Broadcast(tbx_Setting_VIN.Text, tbx_Setting_Project.Text);
                    Target.GetAttributesFromV6000(tbx_V6000_Feature.Text, i, tbx_V6000_SWCPSheetName.Text,
                        Convert.ToInt32(nud_V6000_VINRow.Value),
                        Convert.ToInt32(nud_V6000_OrderRow.Value),
                        Convert.ToInt32(nud_V6000_ModelRow.Value),
                        Convert.ToInt32(nud_V6000_FeatureCol.Value),
                        Convert.ToInt32(nud_V6000_FamilyCol.Value),
                        Convert.ToInt32(nud_V6000_FeatureVehicleStartCol.Value),
                        Convert.ToInt32(nud_V6000_FeatureStartRow.Value)
                        );
                    
                    
                    if (cbx_V6000_ImportEBOM.Checked)
                    {

                        /*
                        Target.V6000_GetPartsInfo_Old(i, 
                            tbx_V6000_BOM.Text,
                            tbx_V6000_BOMSheetName.Text,
                            tbx_Setting_SWTP.Text,
                            tbx_Setting_SWCP_SheetName.Text,
                            tbx_Setting_EBOM.Text,
                            Convert.ToInt32(nudColumnAssy.Value),
                            Convert.ToInt32(nud_V6000_BOMAssyCol.Value),
                            Convert.ToInt32(nud_V6000_BOMStartRow.Value),
                            Convert.ToInt32(nud_V6000_BOMVehicleStartCol.Value)
                            );
                         * */
                        Target.V600_GetPartsInfo(i, SWCP, BOM, tbx_Setting_EBOM.Text, tbx_Setting_EBOMExtra.Text);
                    }


                    Target.WriteBroadcastToFile(tbx_V6000_OutputFolder.Text);


                    AddResult(Target.GetVIN() + " Created", tbx_V6000_Result);
                }
                AddResult("Finished", tbx_V6000_Result);
                MessageBox.Show("Broadcast Generated");


            }
            catch(Exception f)
            {
                MessageBox.Show(f.ToString() + "\r\n" + "Process Failed. Please Check Settings");
            }
        }