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); } }
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); } }