Exemplo n.º 1
0
        private void CallGetNewBOMFun()
        {
            try
            {
                List <Entity.DTO.DTO_MBOM> ds = new List <Entity.DTO.DTO_MBOM>();
                PLM.GetPLMBOM(tboxPartNum.Text, ds);
                ds    = ds.OrderBy(o => o.PartNum).ThenBy(o => o.MtlSeq).ToList();
                BOMDS = ds;
                this.BeginInvoke(new Action(() =>
                {
                    dataGridViewMain.DataSource     = ds;
                    tabControlMain.SelectedIndex    = 0;
                    tabControlMain.SelectedTab.Text = "PLM_BOM数据";
                    CurrentDgv = this.dataGridViewMain;

                    if (ds.Count > 0)
                    {
                        BindTreeView(ds, tboxPartNum.Text, treeViewLeft);
                    }
                    DataCount = ds.Count;

                    BtnGetNewBOM.Enabled = true;
                }));
            }
            catch (Exception err)
            {
                Utilities.Log(err);
                MessageBox.Show(err.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 2
0
        private void buttonGetBOM_Click(object sender, EventArgs e)
        {
            string contents = textBoxPartNums.Text.Trim();

            string[] PartNums = contents.Split(new string[] { "\r\n" }, StringSplitOptions.None);
            var      lists    = new List <Entity.DTO.DTO_MBOM>();

            foreach (var item in PartNums)
            {
                var exMBOM = PLM.GetPLMBOM(item);
                lists = lists.Union(exMBOM).ToList();
            }
            foreach (var item in lists)
            {
                item.RevisionNum = textBoxPartRev.Text;
            }
            BOM = Utilities.MapTo <List <ExportDto.MBOM> >(lists);
            dataGridViewBOM.DataSource = BOM;
            tabControl1.SelectedIndex  = 2;
        }
Exemplo n.º 3
0
 /// <summary>
 /// 获取新BOM
 /// </summary>
 private void CallGetNewBOM(string[] PartNumArr, bool IsOnly)
 {
     if (PartNumArr.Length > 0 && !IsOnly)
     {
         if (DataNewBOM == null)
         {
             List <Entity.DTO.DTO_MBOM> lists = new List <Entity.DTO.DTO_MBOM>();
             foreach (string PartNum in PartNumArr)
             {
                 //lists = lists.Union(PLM.GetPLMBOM(PartNum)).ToList();
                 PLM.GetPLMBOM(PartNum, lists);
             }
             List <ExportDto.MBOM> data = Utilities.MapTo <List <ExportDto.MBOM> >(lists);
             data       = data.OrderBy(o => o.PartNum).ThenBy(o => o.MtlSeq).ToList();
             DataNewBOM = Utility.ListToDataTable(data, "_", "#");
         }
     }
     Utility.ExportExcel(DataNewBOM, SaveFolderPath + "\\BOM.xls");
     pecentExe += 20;
     lblStatus  = "新BOM数据已就绪...";
 }
        private void BtnOK_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(tBoxPartNum.Text))
            {
                MessageBox.Show("物料编码必填!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            if (string.IsNullOrEmpty(tBoxJobNum.Text) && radioJob.Checked)
            {
                MessageBox.Show("工单号必填!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            BtnOK.Text    = "对比中...";
            BtnOK.Enabled = false;
            Task.Run(() =>
            {
                //获取ERP设计BOM
                ERP_DES_BOM = new List <DTO_MBOM>();
                ERP.GetERPBOM(tBoxPartNum.Text, ERP_DES_BOM, true, textBoxRev.Text);

                if (radioJob.Checked)
                {
                    //获取工单BOM
                    var JobAsmblDatas = ERP.GetJobAsmbl(tBoxJobNum.Text);
                    var JobMtlDatas   = ERP.GetJobMtl(tBoxJobNum.Text);
                    ERP_JOB_BOM       = new List <DTO_MBOM>();
                    string mainPart   = "";
                    try
                    {
                        mainPart = JobAsmblDatas.Where(o => o.JobNum == tBoxJobNum.Text && o.BomLevel == 0).FirstOrDefault().PartNum;
                    }
                    catch { }
                    ERP.GetJobBom(ERP_JOB_BOM, JobAsmblDatas, JobMtlDatas, mainPart);
                }
                else
                {
                    //获取PLMBOM
                    PLM_BOM = new List <DTO_MBOM>();
                    PLM.GetPLMBOM(tBoxPartNum.Text, PLM_BOM);
                }
                //List<DTO_MBOM> BOM_DIFF = CompareBOM(tBoxPartNum.Text, tBoxJobNum.Text);
                this.BeginInvoke(new Action(() =>
                {
                    BtnOK.Text    = "开始对比";
                    BtnOK.Enabled = true;
                    #region 导出对比结果
                    //var dt = Utility.ListToDataTable(BOM_DIFF, "_", "#");
                    //string rnd = Random.Next(0, 9999).ToString();
                    string filepath = SaveFolderPath + "\\" + tBoxPartNum.Text + "BOM_DIFF.xls";
                    long ticks      = DateTime.Now.Ticks;
                    if (radioJob.Checked)
                    {
                        filepath = SaveFolderPath + "\\DES_JOB_" + tBoxPartNum.Text + "_" + tBoxJobNum.Text + "_Compare" + ticks.ToString() + ".xls";
                        CreateDIFFBook(filepath, ERP_DES_BOM, ERP_JOB_BOM, "设计BOM", "工单BOM");
                    }
                    else
                    {
                        filepath = SaveFolderPath + "\\DES_PLM_" + tBoxPartNum.Text + "_Compare" + ticks.ToString() + ".xls";
                        CreateDIFFBook2(filepath, ERP_DES_BOM, PLM_BOM, "PLMBOM", "设计BOM");
                    }
                    //Utility.ExportExcel(dt, SaveFolderPath + "\\" + tBoxPartNum.Text + "BOM_DIFF" + rnd + ".xls");
                    System.Diagnostics.Process.Start(filepath);
                    #endregion
                }));
            });
        }