public FrmAnaliselookaHead(string idir, ExternalCommandData irevit, DataTable dtDownload)
        {
            revit = irevit;
            InitializeComponent();
            ConstruirQtdePSA();
            dtpInicio.Value = DateTime.Today.AddDays(-30);
            dtpTermino.Value = DateTime.Today;
            manipulacao = new Plan_servico_amoNegocio(idir);
            dtGrid.Columns.Add("INSUMO_ID", typeof(int));
            dtGrid.Columns.Add("INSUMO", typeof(string));
            dtGrid.Columns.Add("UNID", typeof(string));
            dtGrid.Columns.Add("QTDE_TOTAL_ENTRADA", typeof(double));
            dtGrid.Columns.Add("QTDE_CONSUMIDA", typeof(double));
            dtGrid.Columns.Add("QTDE_SOLICITADA_LOOK_A_HEAD", typeof(double));
            dtGrid.Columns.Add("SALDO", typeof(double));
            dtGrid.Columns["SALDO"].Expression = "QTDE_TOTAL_ENTRADA - QTDE_CONSUMIDA - QTDE_SOLICITADA_LOOK_A_HEAD";

            dtGrid.Columns.Add("SERVICO_ID", typeof(string));

            dtGrid.Columns.Add("CONSUMO_INSUMO", typeof(double));
            dtGrid.Columns.Add("ORIGEM", typeof(int));

            DataGridViewCellStyle formatoNumerico = new DataGridViewCellStyle();
            formatoNumerico.Format = "N2";
            ds.Tables.Add(dtGrid);
            bs.DataSource = ds;
            bs.DataMember = dtGrid.TableName;
            dataGridView1.DataSource = bs;
            dataGridView1.Columns["INSUMO_ID"].Width = 90;
            dataGridView1.Columns["INSUMO_ID"].HeaderText = "Insumo";
            dataGridView1.Columns["INSUMO"].Width = 200;
            dataGridView1.Columns["INSUMO"].HeaderText = "Desc. Inusmo";

            dataGridView1.Columns["QTDE_TOTAL_ENTRADA"].Width = 120;
            dataGridView1.Columns["QTDE_TOTAL_ENTRADA"].HeaderText = "Entrada";
            dataGridView1.Columns["QTDE_TOTAL_ENTRADA"].DefaultCellStyle = formatoNumerico;

            dataGridView1.Columns["QTDE_CONSUMIDA"].Width = 120;
            dataGridView1.Columns["QTDE_CONSUMIDA"].HeaderText = "Saída";
            dataGridView1.Columns["QTDE_CONSUMIDA"].DefaultCellStyle = formatoNumerico;

            dataGridView1.Columns["QTDE_SOLICITADA_LOOK_A_HEAD"].Width = 120;
            dataGridView1.Columns["QTDE_SOLICITADA_LOOK_A_HEAD"].HeaderText = "Lookahead";
            dataGridView1.Columns["QTDE_SOLICITADA_LOOK_A_HEAD"].DefaultCellStyle = formatoNumerico;

            dataGridView1.Columns["SALDO"].Width = 120;
            dataGridView1.Columns["SALDO"].HeaderText = "Saldo";
            dataGridView1.Columns["SALDO"].DefaultCellStyle = formatoNumerico;


            FrmProcurar procurar = new FrmProcurar();
            StringBuilder sb = new StringBuilder();

            sb.Append("    select ");
            sb.Append("   obra_id,  ");
            sb.Append("   obra  ");
            sb.Append("   ");
            sb.Append(" from obra ");
            ResultadoProcura rp = new ResultadoProcura();
            rp = procurar.Pesquisar(idir, "Escolher Obra",
                                      sb.ToString(), "Obra;Desc. Obra;",
                                                    "80;250;");



            EscolherData escolherData1 = new EscolherData();
            DialogResult resultado1 = escolherData1.inputar(ref mesAnalise, "Escolha o mes de análise", ref continuar);


            EscolherData escolherData = new EscolherData();
            DialogResult resultado = escolherData.inputar(ref diaAnalise, "Escolha o dia", ref continuar);

            if (continuar)
            {
                if (procurar.resultadoProcura.fResultadoProcura)
                {
                    atualizando = true;
                    cmbServico.SelectedItem = 0;
                    foreach (DataRow dr2 in dtDownload.Rows)
                    {
                        cmbServico.Items.Add(dr2["UAU_COMP"].ToString());
                    }
                    atualizando = false;
                    BuscarInsumoLookAHead(dtDownload, diaAnalise, Convert.ToInt32( rp.vCampo));
                    BuscarQtdePSA(dtDownload);                  
                }
            }
            escolherData.Dispose();
            uiApp = revit.Application;
            uiDoc = uiApp.ActiveUIDocument.Document;
            Selection sel = uiApp.ActiveUIDocument.Selection;
            Util.uiDoc = uiDoc;
            selecao = new revitDB.FilteredElementCollector(uiDoc).OfClass(typeof(Autodesk.Revit.DB.View));

            foreach (revitDB.View view in selecao)
            {
                try
                {
                    if (view.AreGraphicsOverridesAllowed())
                        if (view.LookupParameter("tocVistaAvanco").AsValueString() == "Sim")
                            vistasDeAvanco.Add(view);
                }
                catch
                {

                }

            }

            preenchimentoId = (Util.FindElementByName(typeof(revitDB.Material), "Previsto") as revitDB.Material).SurfacePatternId;
            /* orgRestricao= Util.GetOverrideGraphicSettings(Util.GetColorRevit(CorLinhaResticao),
                                                          Util.GetColorRevit(CorSuperficieRestricao),
                                                          preenchimentoId, 0);*/
        }