Exemplo n.º 1
0
 private void btn_MainSubSpecial_Click(object sender, EventArgs e)
 {
     try {
         if (CboSheet.Items.Count == 0 || cbosheettwo.Items.Count == 0)
         {
             MessageBox.Show("Please select file before pressing start", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
             return;
         }
         DataTable dt = new DataTable();
         datagridview_Result.DataSource = dt;
         dt.Columns.Add("PartNoBOM");
         dt.Columns.Add("Location");
         list_bom.Clear();
         list_ecs.Clear();
         Load_datatable_list_flash_memory();
         var result_bom = datagridview_BOM.Rows.OfType <DataGridViewRow>().Select(r => r.Cells.OfType <DataGridViewCell>().Select(c => c.Value).ToArray()).ToList();
         foreach (var item in result_bom)
         {
             var data_bom = new Data_BOM()
             {
                 BOM_Component = item[6].ToString(), Location = item[40].ToString().TrimEnd(' ') + item[41].ToString().TrimEnd(' ') + item[42].ToString().TrimEnd(' ')
             };
             list_bom.Add(data_bom);
         }
         var result_ecs = datagridview_ECS.Rows.OfType <DataGridViewRow>().Select(r => r.Cells.OfType <DataGridViewCell>().Select(c => c.Value).ToArray()).ToList();
         foreach (var item_ecs in result_ecs)
         {
             var data_ecs = new Data_ECS()
             {
                 PartNo = item_ecs[0].ToString(), Location = item_ecs[3].ToString().Replace("\n", "")
             };
             list_ecs.Add(data_ecs);
         }
         list_ecs.RemoveRange(0, 2);
         foreach (var items in list_ecs)
         {
             for (int i = 0; i < dttable.Rows.Count; i++)
             {
                 string name_part_bom = dttable.Rows[i]["PartNoBom"].ToString().Replace("\r\n", "");
                 string name_sub_bom  = dttable.Rows[i]["SubBom"].ToString().Replace("\r\n", "");
                 if (name_part_bom == items.PartNo || name_sub_bom == items.PartNo)
                 {
                     var addlist = new Result()
                     {
                         BOM = items.PartNo, Incomplete = items.Location
                     };
                     list_result.Add(addlist);
                     label5.Text      = "BOM_CUSTOMER CÓ TRONG MAIN_SUB ĐẶC BIỆT! ";
                     label5.ForeColor = Color.Green;
                     label5.Location  = new Point(100, 5);
                     dt.Rows.Add(addlist.BOM.ToString(), addlist.Incomplete.ToString());
                 }
             }
         }
         DataTable table = new DataTable();
         datagridview_Result_main.DataSource = table;
         table.Columns.Add("PartNoBOM");
         table.Columns.Add("Location");
         foreach (var items in list_bom)
         {
             for (int i = 0; i < dttable.Rows.Count; i++)
             {
                 string name_part_bom = dttable.Rows[i]["PartNoBom"].ToString().Replace("\r\n", "");
                 string name_sub_bom  = dttable.Rows[i]["SubBom"].ToString().Replace("\r\n", "");
                 if (name_part_bom == items.BOM_Component.Substring(0, 9) || name_sub_bom == items.BOM_Component.Substring(0, 9))
                 {
                     var addlist = new Result_Location_bomSap()
                     {
                         BOM = items.BOM_Component, Location = items.Location
                     };
                     list_location_bomsap.Add(addlist);
                     datagridview_Result_main.Visible = true;
                     panel3.Visible   = true;
                     label9.Text      = "BOM_SAP CÓ TRONG MAIN_SUB ĐẶC BIỆT! ";
                     label9.ForeColor = Color.Green;
                     label9.Location  = new Point(200, 5);
                     table.Rows.Add(addlist.BOM.ToString(), addlist.Location.ToString());
                 }
             }
         }
         bunifuCircleProgressbar2.Visible = true;
         label6.Visible = true;
         Properties.Settings.Default.Bom = CboSheet.Text;
         Properties.Settings.Default.ECS = cbosheettwo.Text;
         Properties.Settings.Default.Save();
         datagridview_Result.AutoResizeColumns();
         datagridview_Result.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
         datagridview_Result_main.AutoResizeColumns();
         datagridview_Result_main.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
         ON = false;
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Exemplo n.º 2
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            try
            {
                if (CboSheet.Items.Count == 0 || cbosheettwo.Items.Count == 0)
                {
                    MessageBox.Show("Please select file before pressing start", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                DataTable dt = new DataTable();
                datagridview_Result.DataSource = dt;
                dt.Columns.Add("Mã bom");
                dt.Columns.Add("Vị trí");
                list_bom.Clear();
                list_ecs.Clear();
                Load_datatable_list_flash_memory();
                var result_bom = datagridview_BOM.Rows.OfType <DataGridViewRow>().Select(r => r.Cells.OfType <DataGridViewCell>().Select(c => c.Value).ToArray()).ToList();
                foreach (var item in result_bom)
                {
                    var data_bom = new Data_BOM()
                    {
                        BOM_Component = item[6].ToString(), Location = item[40].ToString().TrimEnd(' ') + item[41].ToString().TrimEnd(' ') + item[42].ToString().TrimEnd(' ')
                    };
                    list_bom.Add(data_bom);
                }
                var result_ecs = datagridview_ECS.Rows.OfType <DataGridViewRow>().Select(r => r.Cells.OfType <DataGridViewCell>().Select(c => c.Value).ToArray()).ToList();
                foreach (var item_ecs in result_ecs)
                {
                    var data_ecs = new Data_ECS()
                    {
                        PartNo = item_ecs[0].ToString(), Location = item_ecs[3].ToString().Replace("\n", "")
                    };
                    list_ecs.Add(data_ecs);
                }
                list_ecs.RemoveRange(0, 2);
                if (bunifuSwitch1.Value == true)
                {
                    label5.Text      = "MÃ BOM KHÁCH HÀNG KHÔNG CÓ TRONG DANH SÁCH BOM SAP";
                    label5.ForeColor = Color.Green;
                    label5.Location  = new Point(100, 5);
                    foreach (var items in list_ecs)
                    {
                        var check_result = list_bom.Where(x => x.BOM_Component.Substring(0, 9) == items.PartNo).FirstOrDefault();
                        if (check_result == null)
                        {
                            var addlist = new Result()
                            {
                                BOM = items.PartNo, Incomplete = items.Location
                            };
                            list_result.Add(addlist);
                            // dt.Rows.Add(addlist.BOM.ToString(), addlist.Incomplete.ToString());
                        }
                    }
                    foreach (var item_flash in list_result)
                    {
                        var result_list_cus = list_flash_memory.Where(x => x.PartNoCUS == item_flash.BOM).FirstOrDefault();

                        if (result_list_cus == null)
                        {
                            var addlistd = new Result_Location()
                            {
                                BOM = item_flash.BOM, Location = item_flash.Incomplete
                            };
                            list_rl.Add(addlistd);
                            dt.Rows.Add(addlistd.BOM.ToString(), addlistd.Location.ToString());
                        }
                        else
                        {
                            string name_bom        = result_list_cus.PartNoBOM.ToString();
                            var    result_list_bom = list_bom.Where(x => x.BOM_Component.Substring(0, 9) == name_bom).FirstOrDefault();
                            if (result_list_bom == null)
                            {
                                var addlistd = new Result_Location()
                                {
                                    BOM = item_flash.BOM, Location = item_flash.Incomplete
                                };
                                list_rl.Add(addlistd);
                                dt.Rows.Add(addlistd.BOM.ToString(), addlistd.Location.ToString());
                            }
                        }
                    }
                    if (list_rl.Count() != 0)
                    {
                        label10.Text      = "NG - HAI FILE BOM SAP VÀ BOM CUSTOMER KHÔNG TRÙNG NHAU!";
                        label10.ForeColor = Color.Red;
                        label10.Size      = new Size(120, 14);
                    }
                    else
                    {
                        label10.Text      = "OK - HAI FILE BOM SAP VÀ BOM CUSTOMER TRÙNG NHAU!";
                        label10.ForeColor = Color.Green;
                        label10.Size      = new Size(120, 14);
                    }
                }
                else
                {
                    //foreach (var items in list_bom)
                    //{
                    //    string value_name_bom = items.BOM_Component.ToString().Substring(0, 9);
                    //    var check_result = list_ecs.Where(x => x.PartNo == value_name_bom).FirstOrDefault();
                    //    if (check_result != null)
                    //    {
                    //        string[] arrList_locationbom =( items.Location).Split(',');
                    //        string[] arrList_locationecs = check_result.Location.Split(',');
                    //        string[] result_dist = arrList_locationbom.Except(arrList_locationecs).ToArray();
                    //        string result = string.Join(",", result_dist);
                    //         //var result = arrList_locationbom.Distinct().ToArray();
                    //        if (result !=  "")
                    //        {
                    //            var addlist = new Result() { BOM = items.BOM_Component, Incomplete = result };
                    //            list_result.Add(addlist);
                    //            dt.Rows.Add(addlist.BOM.ToString(), addlist.Incomplete.ToString(),i);
                    //            label5.Text = "VỊ TRÍ CỦA BOM_SAP KHÔNG CÓ TRONG BOM_CUSTOMER";
                    //            label5.ForeColor = Color.Green;
                    //            label5.Location = new Point(100, 5);
                    //        }
                    //    }
                    //    i++;

                    //}


                    foreach (var items in list_bom)
                    {
                        string value_name_bom = items.BOM_Component.ToString().Substring(0, 9);
                        var    check_result   = list_ecs.Where(x => x.PartNo == value_name_bom).FirstOrDefault();
                        if (check_result != null)
                        {
                            string[] arrList_locationbom = (items.Location).Split(',');
                            string[] arrList_locationecs = check_result.Location.Split(',');
                            string[] result_dist         = arrList_locationbom.Except(arrList_locationecs).ToArray();
                            string   result = string.Join(",", result_dist);
                            //var result = arrList_locationbom.Distinct().ToArray();
                            if (result != "")
                            {
                                var addlist = new Result()
                                {
                                    BOM = items.BOM_Component, Incomplete = result
                                };
                                list_result.Add(addlist);
                            }
                        }
                        else
                        {
                            var addlist = new Result_Location()
                            {
                                BOM = items.BOM_Component, Location = items.Location
                            };
                            list_rl.Add(addlist);
                            var check_bom_in_listflash = list_flash_memory.Where(x => x.PartNoBOM == value_name_bom).FirstOrDefault();
                            if (check_bom_in_listflash != null)
                            {
                                string name_part_list        = check_bom_in_listflash.PartNoCUS.ToString();
                                var    check_bom_in_partlist = list_ecs.Where(x => x.PartNo == name_part_list).FirstOrDefault();
                                if (check_bom_in_partlist != null)
                                {
                                    string[] arrList_locationbom = (items.Location).Split(',');
                                    string[] arrList_locationecs = check_bom_in_partlist.Location.Split(',');
                                    string[] result_dist         = arrList_locationbom.Except(arrList_locationecs).ToArray();
                                    string   result = string.Join(",", result_dist);
                                    //var result = arrList_locationbom.Distinct().ToArray();
                                    if (result != "")
                                    {
                                        var addlist1 = new Result()
                                        {
                                            BOM = items.BOM_Component, Incomplete = result
                                        };
                                        list_result.Add(addlist1);
                                    }
                                }
                            }
                        }
                    }
                    foreach (var item in list_result)
                    {
                        dt.Rows.Add(item.BOM.ToString(), item.Incomplete.ToString());
                    }
                    if (list_result.Count() != 0)
                    {
                        label10.Text      = "NG - TÌM RA VỊ TRÍ CỦA BOM SAP KHÔNG CÓ TRONG BOM CUSTOMER!";
                        label10.ForeColor = Color.Red;
                        label10.Size      = new Size(120, 14);
                    }
                    else
                    {
                        label10.Text      = "OK - KHÔNG TÌM RA VỊ TRÍ CỦA BOM SAP THIẾU TRONG BOM CUSTOMER!";
                        label10.ForeColor = Color.Green;
                        label10.Size      = new Size(120, 14);
                    }
                    //Y81040012
                    //foreach (var items in disdistinctItems)
                    //{
                    //    list_result.Count();
                    //    for (int i = 0; i < list_result.Count(); i++)
                    //    {
                    //        if (list_result[i].BOM.ToString().Substring(0, 9) == items.BOM)
                    //        {
                    //            string incomlete_lr = list_result[i].Incomplete.ToString() + "," + items.Incomplete;
                    //            string[] incomplete = incomlete_lr.Split(',');
                    //            string[] dist = incomplete.Distinct().ToArray();
                    //            string result_dist = string.Join(",", dist);
                    //            items.Incomplete = result_dist;
                    //        }
                    //    }
                    //    list_rl.Add(new Result_Location() { BOM = items.BOM, Location = items.Incomplete });
                    //}
                    //foreach (var item_result in list_rl)
                    //{
                    //    for (int i = 0; i < list_ecs.Count(); i++)
                    //    {
                    //        if (item_result.BOM == list_ecs[i].PartNo)
                    //        {
                    //            string[] location_ecs = (list_ecs[i].Location.ToString()).Split(',');
                    //            string[] location_rl = item_result.Location.Split(',');
                    //            //string[] dist2 = dd.Distinct().ToArray();
                    //            //string result_dist2 = string.Join(",", dist2);
                    //            string[] result_dist2 = location_ecs.Except(location_rl).ToArray();
                    //            string dist2 = string.Join(",", result_dist2);
                    //            if (dist2 != "")
                    //            {

                    //                item_result.Location = dist2;
                    //                var add = new Result_Location_bomSap { BOM = item_result.BOM, Location = dist2 };
                    //                list_location_bomsap.Add(add);
                    //                label5.Text = "VỊ TRÍ CỦA BOM_SAP KHÔNG CÓ TRONG BOM_CUSTOMER";
                    //                label5.ForeColor = Color.Green;
                    //                label5.Location = new Point(100, 5);
                    //                dt.Rows.Add(add.BOM.ToString(), add.Location.ToString());
                    //            }
                    //        }
                    //        else
                    //        {
                    //            label5.Text = "KHÔNG CÓ VỊ TRÍ CỦA MÃ BOM SAP THIẾU TRONG MÃ BOM KHÁCH HÀNG!";
                    //            label5.ForeColor = Color.Red;
                    //            label5.Location = new Point(60, 5);
                    //        }
                    //    }
                    //}
                }

                bunifuCircleProgressbar2.Visible = true;
                label6.Visible = true;
                Properties.Settings.Default.Bom = CboSheet.Text;
                Properties.Settings.Default.ECS = cbosheettwo.Text;
                Properties.Settings.Default.Save();
                btnStart.Visible           = false;
                btn_MainSubSpecial.Visible = false;
                datagridview_Result.Columns["Vị trí"].Width = 500;
                ON = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }