private void ToolStripMenuItem_ERPMoreMtl_Click(object sender, EventArgs e) { ProgressRuning = true; ProgressBarBot.Value = 0; List <Entity.ERP.Model.Part> datas = new List <Entity.ERP.Model.Part>(); Task.Run(() => { try { using (Entity.PLM.PLMDbContext PLMDB = new Entity.PLM.PLMDbContext(SysConfig.PLMConn)) { var MPART = PLMDB.MPART.Where(o => o.DEL == false).ToList(); var MATERIAL = PLMDB.MATERIAL.Where(o => o.DEL == false).ToList(); var PRODUCT = PLMDB.PRODUCT.Where(o => o.DEL == false).ToList(); var MTL = PLMDB.MTL.Where(o => o.DEL == false).ToList(); var MACH = PLMDB.MACH.Where(o => o.DEL == false).ToList(); var PLMAllPart = PLM.ConvertMPART(MPART, MATERIAL, PRODUCT, MTL, MACH); foreach (var item in BasicDatas.ErpPart) { if (PLMAllPart.Where(o => o.PartNum == item.PartNum).ToList().Count() <= 0) { datas.Add(item); } } } } catch (Exception ex) { ProgressRuning = false; ProgressBarBot.Value = 100; MessageBox.Show(ex.StackTrace); throw; } this.BeginInvoke(new Action(() => { dataGridViewMain.DataSource = datas; StatusLabelInfo.Text = "共获取" + datas.Count + "条数据"; tabControlMain.SelectedTab.Text = "ERP多余数据"; tabControlMain.SelectedIndex = 0; CurrentDgv = dataGridViewMain; ProgressRuning = false; ProgressBarBot.Value = 100; })); }); }
private void buttonUpdate_Click(object sender, EventArgs e) { progressBarSync.Value = 0; labelPecent.Text = "0%"; labelSyncStatus.Text = ""; string contents = rtboxPartNums.Text.Trim(); if (!string.IsNullOrEmpty(contents)) { string[] PartNums = contents.Split(new string[] { "\r\n" }, StringSplitOptions.None); if (PartNums.Length > 0) { labelSyncStatus.Text = "物料数据开始更新"; progressBarSync.Value += 10; Task.Run(() => { string MM = (DateTime.Now.Hour * 3600 + DateTime.Now.Minute * 60 + DateTime.Now.Second).ToString(); FileHelper.CreateDir("DMT" + MM, Application.StartupPath + @"\ExcelImport"); SaveFolderPath = Application.StartupPath + @"\ExcelImport\DMT" + MM; DataTable dt = new DataTable(); var dataPart = BasicDatas.PLM_MPART.Where(o => PartNums.Contains(o.NO)).ToList(); var dataMaterial = BasicDatas.PLM_MATERIAL.Where(o => PartNums.Contains(o.NO)).ToList(); var dataProduct = BasicDatas.PLM_PRODUCT.Where(o => PartNums.Contains(o.NO)).ToList(); var dataMtl = BasicDatas.PLM_MTL.Where(o => PartNums.Contains(o.NO)).ToList(); var dataMach = BasicDatas.PLM_MACH.Where(o => PartNums.Contains(o.NO)).ToList(); var lists = PLM.ConvertMPART(dataPart, dataMaterial, dataProduct, dataMtl, dataMach); List <ExportDto.MPART> data = Utilities.MapTo <List <ExportDto.MPART> >(lists); foreach (var it in data) { it.NonStock = Utilities.CheckNonStock(it.PartNum).ToString().ToUpper(); it.PartPlant_NonStock = it.NonStock; it.TrackLots = "TRUE"; it.PartPlant_CostMethod = it.CostMethod; it.PartWhse_WarehouseCode = "YJK"; } dt = Utility.ListToDataTable(data, "_", "#"); Utility.ExportExcel(dt, SaveFolderPath + "\\PART_UPDATE.xls"); this.BeginInvoke(new Action(() => { dgvMain.DataSource = data; labelSyncStatus.Text = "物料数据准备就绪"; progressBarSync.Value += 40; labelPecent.Text = progressBarSync.Value + "%"; if (data.Count > 0) { StartSync(); } else { labelPecent.Text = "0%"; labelSyncStatus.Text = "无物料数据"; progressBarSync.Value = 0; } })); }); } } else { rtboxPartNums.Focus(); MessageBox.Show("请输入物料编码!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } }