Exemplo n.º 1
0
    protected void FillDD_CDNG_potyanka_skv()
    {
        ACSDB     db = new ACSDB((System.Configuration.ConfigurationManager.ConnectionStrings["SQLSRVDEVTESTConnectionToKMG"].ConnectionString));
        DataTable dt = db.GetDataTable("SELECT cdngno,cdngname FROM CDNG where ngduid = " + ddl_ngdu_portyanka_skv.SelectedItem.Value.ToString() + " ORDER BY cdngno");

        ddl_cdng_portyanka_skv.DataSource     = dt;
        ddl_cdng_portyanka_skv.DataTextField  = "cdngname";
        ddl_cdng_portyanka_skv.DataValueField = "cdngno";
        ddl_cdng_portyanka_skv.DataBind();
    }
Exemplo n.º 2
0
    protected void FillDD_month_portyanka_skv()
    {
        ACSDB     db = new ACSDB((System.Configuration.ConfigurationManager.ConnectionStrings["SQLSRVDEVTESTConnectionToKMG"].ConnectionString));
        DataTable dt = db.GetDataTable("SELECT monthid,monthnamerus FROM MONTHS ORDER BY monthid");

        ddl_month_portyanka_skv.DataSource     = dt;
        ddl_month_portyanka_skv.DataTextField  = "monthnamerus";
        ddl_month_portyanka_skv.DataValueField = "monthid";
        ddl_month_portyanka_skv.DataBind();
    }
Exemplo n.º 3
0
    protected void btn_getportyankaskvreport_Click(object sender, EventArgs e)
    {
        string cdng = ddl_cdng_portyanka_skv.SelectedItem.Text;
        string fond = ddl_fond_portyanka_skv.SelectedItem.Value.ToString();

        string filename = MapPath(@"~\Шаблоны\Сводка по проведенным прс По скважинам.xlsx");

        OpenExcelFile(filename);

        excelworksheet1 = (Excel.Worksheet)excelworkbook.Sheets[1];

        ACSDB     db = new ACSDB((System.Configuration.ConfigurationManager.ConnectionStrings["SQLSRVDEVTESTConnectionToKMG"].ConnectionString));
        DataTable rs2;
        DataTable rsSkv;
        DataTable rskol;
        int       monthint = Int32.Parse(ddl_month_portyanka_skv.SelectedItem.Value.ToString());
        string    monthstr = ddl_month_portyanka_skv.SelectedItem.Text;
        int       incol    = 8;

        rs2 = db.GetDataTable("SELECT Скважина,Дата,ГУ, МРП,ДлинаМ,[Технология добычи],[Сост НКТ],Бригада  FROM CITS where Month(Дата) = " + monthint + " and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "'  and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') order by Скважина ");
        int      curskv;
        int      prevskv;
        DateTime curdate;
        int      curdayint;
        double   curdlina;
        string   curgu;
        string   curmrp;
        string   curbrig;
        int      counter;
        string   curvid;
        string   curtech;
        string   cursost;

        counter = 0;
        int narabotka;
        int i;

        i         = 13;
        prevskv   = 0;
        narabotka = 0;
        ((Excel.Range)excelworksheet1.Cells[3, 3]).Value = cdng;
        ((Excel.Range)excelworksheet1.Cells[4, 3]).Value = fond;
        ((Excel.Range)excelworksheet1.Cells[5, 3]).Value = monthstr;
        int k;
        int curcol;

        if (rs2.Rows.Count != 0)
        {
            for (int ii = 0; ii < rs2.Rows.Count; ii++)
            {
                if (rs2.Rows[ii].ItemArray[0].ToString() != "")
                {
                    curskv = Int32.Parse(rs2.Rows[ii].ItemArray[0].ToString());
                }
                else
                {
                    continue;
                }
                if (rs2.Rows[ii].ItemArray[1].ToString() != "")
                {
                    curdate = DateTime.Parse(rs2.Rows[ii].ItemArray[1].ToString());
                }
                else
                {
                    continue;
                }
                if (rs2.Rows[ii].ItemArray[5].ToString() != "")
                {
                    curtech = rs2.Rows[ii].ItemArray[5].ToString();
                }
                else
                {
                    curtech = "";
                }
                if (rs2.Rows[ii].ItemArray[6].ToString() != "")
                {
                    cursost = rs2.Rows[ii].ItemArray[6].ToString();
                }
                else
                {
                    cursost = "";
                }

                if (rs2.Rows[ii].ItemArray[2].ToString() != "")
                {
                    curgu = rs2.Rows[ii].ItemArray[2].ToString();
                }
                else
                {
                    curgu = "";
                }
                if (rs2.Rows[ii].ItemArray[3].ToString() != "")
                {
                    curmrp = rs2.Rows[ii].ItemArray[3].ToString() + " д.";
                }
                else
                {
                    curmrp = "";
                }
                if (rs2.Rows[ii].ItemArray[4].ToString() != "")
                {
                    curdlina = Double.Parse(rs2.Rows[ii].ItemArray[4].ToString());
                }
                else
                {
                    curdlina = 0;
                }
                if (rs2.Rows[ii].ItemArray[7].ToString() != "")
                {
                    curbrig = rs2.Rows[ii].ItemArray[7].ToString();
                }
                else
                {
                    curbrig = "";
                }
                //if (rs2.Rows[i].ItemArray[5].ToString() != "")
                //{
                //  curvid = rs2.Rows[i].ItemArray[5].ToString();
                //}
                //else
                //{
                //curvid = "";
                //}
                curdayint = curdate.Day;
                curcol    = 8 + curdayint;
                if (prevskv != curskv)
                {
                    i       = i + 1;
                    counter = counter + 1;
                }
                if (cursost == "новые")
                {
                    ((Excel.Range)excelworksheet1.Cells[i, curcol]).Font.Color = System.Drawing.Color.Red;
                }
                rskol = db.GetDataTable("SELECT AVG(МРП)   FROM CITS where Month(Дата) = " + monthint + " and ЦДНГ = '" + cdng + "' and [Сост НКТ] = 'б/у' and [Скважина] =  " + curskv + "  and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
                if (rskol.Rows.Count != 0)
                {
                    if (rskol.Rows[0].ItemArray[0].ToString() != "")
                    {
                        Double val1 = Double.Parse(rskol.Rows[0].ItemArray[0].ToString());
                        ((Excel.Range)excelworksheet1.Cells[i, incol - 1]).Value = val1.ToString("####.0");
                    }
                }
                else
                {
                    ((Excel.Range)excelworksheet1.Cells[i, incol - 1]).Value = 0;
                }
                rskol.Clear();
                rskol = db.GetDataTable("SELECT AVG(МРП)   FROM CITS where Month(Дата) =" + monthint + " and  ЦДНГ = '" + cdng + "' and [Сост НКТ] = 'новые' and [Скважина] =  " + curskv + "  and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
                if (rskol.Rows.Count != 0)
                {
                    if (rskol.Rows[0].ItemArray[0].ToString() != "")
                    {
                        Double val2 = Double.Parse(rskol.Rows[0].ItemArray[0].ToString());
                        ((Excel.Range)excelworksheet1.Cells[i, incol]).Value = val2.ToString("####.0");
                    }
                }
                else
                {
                    ((Excel.Range)excelworksheet1.Cells[i, incol]).Value = 0;
                }
                rskol.Clear();

                if (((Excel.Range)excelworksheet1.Cells[i, curcol]).Text == "")
                {
                    ((Excel.Range)excelworksheet1.Cells[i, curcol]).Value = ((Excel.Range)excelworksheet1.Cells[i, curcol]).Text + curdate.ToString("dd.MM") + "-" + curmrp + "Бр:" + curbrig;
                }
                else
                {
                    ((Excel.Range)excelworksheet1.Cells[i, curcol]).Value = ((Excel.Range)excelworksheet1.Cells[i, curcol]).Text + "\n" + curdate.ToString("dd.MM") + "-" + curmrp + "Бр:" + curbrig;
                }
                if (curmrp == "")
                {
                    ((Excel.Range)excelworksheet1.Cells[i, curcol]).Interior.ColorIndex = 43;
                }
                ((Excel.Range)excelworksheet1.Cells[i, 1]).Value = counter;
                ((Excel.Range)excelworksheet1.Cells[i, 2]).Value = "UZN_" + curskv.ToString("000#");
                ((Excel.Range)excelworksheet1.Cells[i, 3]).Value = curgu;

                DataTable rsTR = db.GetDataTable("SELECT [Qж, м3],[Qн, т/сут]  FROM TREJIME where Скв = " + curskv + " and ЦДНГ = '" + cdng + "'");
                if (rsTR.Rows.Count != 0)
                {
                    ((Excel.Range)excelworksheet1.Cells[i, 4]).Value = rsTR.Rows[0].ItemArray[0].ToString();
                    ((Excel.Range)excelworksheet1.Cells[i, 5]).Value = rsTR.Rows[0].ItemArray[1].ToString();
                }
                else
                {
                    ((Excel.Range)excelworksheet1.Cells[i, 4]).Value = "-";
                    ((Excel.Range)excelworksheet1.Cells[i, 5]).Value = "-";
                }
                rsTR.Clear();
                ((Excel.Range)excelworksheet1.Cells[i, 6]).Value = curtech;

                ((Excel.Range)excelworksheet1.Range[excelworksheet1.Cells[i, 1], excelworksheet1.Cells[i, 39]]).Borders.LineStyle = Excel.XlLineStyle.xlContinuous;
                prevskv = curskv;
            }
        }
        string path = MapPath("~/Reports/Сводка по проведенным ПРС по скважинам по " + ddl_cdng_portyanka_skv.SelectedItem.Text + "  " + ddl_year_portyanka_skv.SelectedItem.Text + " год.xlsx");
        string file = Path.GetFileName(path);

        SaveToPath(path);
        KillExcelApp();
        DownloadReport(path);
        par_error_nkt.InnerText = "Отчет готов. ОН находится в Мои документы ->  Загрузки";
    }
Exemplo n.º 4
0
    protected void btn_get_narabotka_skv_Click(object sender, EventArgs e)
    {
        string cdng = ddl_cdng_nar.SelectedItem.Text;
        string fond = ddl_fond_nar.SelectedItem.Value.ToString();;

        string filename = MapPath(@"~\Шаблоны\Наработка по скважинам.xlsx");

        OpenExcelFile(filename);
        excelworksheet1 = (Excel.Worksheet)excelworkbook.Sheets[1];
        ACSDB db    = new ACSDB((System.Configuration.ConfigurationManager.ConnectionStrings["SQLSRVDEVTESTConnectionToKMG"].ConnectionString));
        int   incol = 8;

        int      curskv;
        int      prevskv;
        DateTime curdate;
        int      curmonthint;
        int      curdayint;
        int      curyearint;
        int      reccount;

        double curdlina;
        string curgu;
        string curmrp;
        int    counter;
        string curvid;
        string curtech;
        string cursost;

        counter = 0;
        int narabotka;
        int shift;

        DataTable rsSkv = db.GetDataTable("SELECT distinct Скважина  FROM CITS where ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') order by Скважина ");

        if (rsSkv.Rows.Count != 0)
        {
            reccount = rsSkv.Rows.Count;
        }
        else
        {
            reccount = 0;
        }
        int i;

        i         = 84;
        prevskv   = 0;
        narabotka = 0;
        shift     = 0;
        ((Excel.Range)excelworksheet1.Cells[44, 3]).Value = cdng;
        int       k;
        int       cmonth = 0;
        int       cyear  = 0;
        DataTable rskol;

        #region top report
        for (k = 1; k <= 16; k++)
        {
            if (k >= 1 & k <= 4)
            {
                cyear  = 2012;
                cmonth = 8 + k;
            }
            if (k > 4)
            {
                cyear  = 2013;
                cmonth = k - 4;
            }
            rskol = db.GetDataTable("SELECT count(*)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + "  and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'УЭЦН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
            if (rskol.Rows.Count != 0)
            {
                ((Excel.Range)excelworksheet1.Cells[4, incol + k]).Value = rskol.Rows[0].ItemArray[0];
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT SUM(МРП)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + "  and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'УЭЦН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
            if (rskol.Rows.Count != 0)
            {
                if (rskol.Rows[0].ItemArray[0].ToString() != "")
                {
                    ((Excel.Range)excelworksheet1.Cells[21, incol + k]).Value = rskol.Rows[0].ItemArray[0];
                }
                else
                {
                    ((Excel.Range)excelworksheet1.Cells[21, incol + k]).Value = 0;
                }
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT count(*)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + " and ЦДНГ = '" + cdng + "' and [Сост НКТ] ='б/у' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'УЭЦН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
            if (rskol.Rows.Count != 0)
            {
                ((Excel.Range)excelworksheet1.Cells[5, incol + k]).Value = rskol.Rows[0].ItemArray[0];
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT SUM(МРП)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + "  and ЦДНГ = '" + cdng + "' and [Сост НКТ] ='б/у' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'УЭЦН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
            if (rskol.Rows.Count != 0)
            {
                if (rskol.Rows[0].ItemArray[0].ToString() != "")
                {
                    ((Excel.Range)excelworksheet1.Cells[22, incol + k]).Value = rskol.Rows[0].ItemArray[0];
                }
                else
                {
                    ((Excel.Range)excelworksheet1.Cells[22, incol + k]).Value = 0;
                }
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT count(*)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + "  and ЦДНГ = '" + cdng + "' and [Сост НКТ] ='новые'  and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'УЭЦН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
            if (rskol.Rows.Count != 0)
            {
                ((Excel.Range)excelworksheet1.Cells[6, incol + k]).Value = rskol.Rows[0].ItemArray[0];
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT SUM(МРП)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + "  and ЦДНГ = '" + cdng + "' and [Сост НКТ] ='новые'  and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'УЭЦН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
            if (rskol.Rows.Count != 0)
            {
                if (rskol.Rows[0].ItemArray[0].ToString() != "")
                {
                    ((Excel.Range)excelworksheet1.Cells[23, incol + k]).Value = rskol.Rows[0].ItemArray[0];
                }
                else
                {
                    ((Excel.Range)excelworksheet1.Cells[23, incol + k]).Value = 0;
                }
            }
            rskol.Clear();

            //shgn kolvo
            rskol = db.GetDataTable("SELECT count(*)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + " and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'ШГН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
            if (rskol.Rows.Count != 0)
            {
                ((Excel.Range)excelworksheet1.Cells[7, incol + k]).Value = rskol.Rows[0].ItemArray[0];
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT SUM(МРП)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + " and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'ШГН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
            if (rskol.Rows.Count != 0)
            {
                if (rskol.Rows[0].ItemArray[0].ToString() != "")
                {
                    ((Excel.Range)excelworksheet1.Cells[24, incol + k]).Value = rskol.Rows[0].ItemArray[0];
                }
                else
                {
                    ((Excel.Range)excelworksheet1.Cells[24, incol + k]).Value = 0;
                }
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT count(*)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + " and [Сост НКТ] ='б/у' and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'ШГН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
            if (rskol.Rows.Count != 0)
            {
                ((Excel.Range)excelworksheet1.Cells[8, incol + k]).Value = rskol.Rows[0].ItemArray[0];
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT SUM(МРП)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + " and [Сост НКТ] ='б/у' and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'ШГН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
            if (rskol.Rows.Count != 0)
            {
                if (rskol.Rows[0].ItemArray[0].ToString() != "")
                {
                    ((Excel.Range)excelworksheet1.Cells[25, incol + k]).Value = rskol.Rows[0].ItemArray[0];
                }
                else
                {
                    ((Excel.Range)excelworksheet1.Cells[25, incol + k]).Value = 0;
                }
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT count(*)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + "  and  [Сост НКТ] ='новые' and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'ШГН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
            if (rskol.Rows.Count != 0)
            {
                ((Excel.Range)excelworksheet1.Cells[9, incol + k]).Value = rskol.Rows[0].ItemArray[0];
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT SUM(МРП)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + "  and  [Сост НКТ] ='новые' and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'ШГН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
            if (rskol.Rows.Count != 0)
            {
                if (rskol.Rows[0].ItemArray[0].ToString() != "")
                {
                    ((Excel.Range)excelworksheet1.Cells[26, incol + k]).Value = rskol.Rows[0].ItemArray[0];
                }
                else
                {
                    ((Excel.Range)excelworksheet1.Cells[26, incol + k]).Value = 0;
                }
            }
            rskol.Clear();

            //123123123123123
            rskol = db.GetDataTable("SELECT count(*)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + "  and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'УЭЦН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.') ");
            if (rskol.Rows.Count != 0)
            {
                ((Excel.Range)excelworksheet1.Cells[56, incol + k]).Value = rskol.Rows[0].ItemArray[0];
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT count(*)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + " and [Сост НКТ] ='б/у' and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'УЭЦН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.') ");
            if (rskol.Rows.Count != 0)
            {
                ((Excel.Range)excelworksheet1.Cells[57, incol + k]).Value = rskol.Rows[0].ItemArray[0];
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT count(*)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + " and [Сост НКТ] ='новые' and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'УЭЦН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.') ");
            if (rskol.Rows.Count != 0)
            {
                ((Excel.Range)excelworksheet1.Cells[58, incol + k]).Value = rskol.Rows[0].ItemArray[0];
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT count(*)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + "  and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'ШГН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.') ");
            if (rskol.Rows.Count != 0)
            {
                ((Excel.Range)excelworksheet1.Cells[59, incol + k]).Value = rskol.Rows[0].ItemArray[0];
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT count(*)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + " and [Сост НКТ] ='б/у' and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'ШГН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.') ");
            if (rskol.Rows.Count != 0)
            {
                ((Excel.Range)excelworksheet1.Cells[60, incol + k]).Value = rskol.Rows[0].ItemArray[0];
            }
            rskol.Clear();

            rskol = db.GetDataTable("SELECT count(*)   FROM CITS where Год = " + cyear + " and Месяц = " + cmonth + " and [Сост НКТ] ='новые' and ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "' and [Технология добычи] = 'ШГН' and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.') ");
            if (rskol.Rows.Count != 0)
            {
                ((Excel.Range)excelworksheet1.Cells[61, incol + k]).Value = rskol.Rows[0].ItemArray[0];
            }
            rskol.Clear();
        }
        #endregion
        int i1;
        int j1;

        for (i1 = 1; i1 <= 6; i1++)
        {
            for (j1 = 1; j1 <= 16; j1++)
            {
                Double prnar    = Double.Parse(((Excel.Range)excelworksheet1.Cells[37 + i1, incol + j1]).Value.ToString());
                string prnarstr = prnar.ToString("###0");

                ((Excel.Range)excelworksheet1.Cells[46 + i1, incol + j1]).Value = ((Excel.Range)excelworksheet1.Cells[3 + i1, incol + j1]).Value.ToString() + "/" + ((Excel.Range)excelworksheet1.Cells[55 + i1, incol + j1]).Value.ToString() + "/" + prnarstr;
            }
        }

        int       curcol = 0;
        DataTable rs2    = db.GetDataTable("SELECT Скважина,Дата,ГУ, МРП,ДлинаМ,[Технология добычи],[Сост НКТ]  FROM CITS where  ЦДНГ = '" + cdng + "' and [Тип фонда] = '" + fond + "'  and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') order by Скважина ");
        if (rs2.Rows.Count != 0)
        {
            for (int ii = 0; ii < rs2.Rows.Count; ii++)
            {
                if (rs2.Rows[ii].ItemArray[0].ToString() != "")
                {
                    curskv = Int32.Parse(rs2.Rows[ii].ItemArray[0].ToString());
                }
                else
                {
                    continue;
                }
                if (rs2.Rows[ii].ItemArray[1].ToString() != "")
                {
                    curdate = DateTime.Parse(rs2.Rows[ii].ItemArray[1].ToString());
                }
                else
                {
                    continue;
                }
                if (rs2.Rows[ii].ItemArray[5].ToString() != "")
                {
                    curtech = rs2.Rows[ii].ItemArray[5].ToString();
                }
                else
                {
                    curtech = "";
                }
                if (rs2.Rows[ii].ItemArray[6].ToString() != "")
                {
                    cursost = rs2.Rows[ii].ItemArray[6].ToString();
                }
                else
                {
                    cursost = "";
                }

                if (rs2.Rows[ii].ItemArray[2].ToString() != "")
                {
                    curgu = rs2.Rows[ii].ItemArray[2].ToString();
                }
                else
                {
                    curgu = "";
                }
                if (rs2.Rows[ii].ItemArray[3].ToString() != "")
                {
                    curmrp = rs2.Rows[ii].ItemArray[3].ToString() + " д.";
                }
                else
                {
                    curmrp = "";
                }
                if (rs2.Rows[ii].ItemArray[4].ToString() != "")
                {
                    curdlina = Double.Parse(rs2.Rows[ii].ItemArray[4].ToString());
                }
                else
                {
                    curdlina = 0;
                }
                //if (rs2.Rows[i].ItemArray[5].ToString() != "")
                //{
                //  curvid = rs2.Rows[i].ItemArray[5].ToString();
                //}
                //else
                //{
                //curvid = "";
                //}
                curmonthint = curdate.Month;
                curdayint   = curdate.Day;
                curyearint  = curdate.Year;
                if (curyearint == 2012)
                {
                    curcol = curmonthint;
                }
                if (curyearint == 2013)
                {
                    curcol = 12 + curmonthint;
                }
                if (prevskv != curskv)
                {
                    i       = i + 1;
                    counter = counter + 1;
                }
                if (counter < (int)(reccount / 2 + 1))
                {
                    shift = 0;
                }
                if (counter == (int)(reccount / 2 + 1))
                {
                    shift = 0;
                }
                if (cursost == "новые")
                {
                    ((Excel.Range)excelworksheet1.Cells[i, curcol]).Font.Color = System.Drawing.Color.Red;
                }
                rskol = db.GetDataTable("SELECT AVG(МРП)   FROM CITS where ЦДНГ = '" + cdng + "' and [Сост НКТ] = 'б/у' and [Скважина] =  " + curskv + "  and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
                if (rskol.Rows.Count != 0)
                {
                    if (rskol.Rows[0].ItemArray[0].ToString() != "")
                    {
                        Double val1 = Double.Parse(rskol.Rows[0].ItemArray[0].ToString());
                        ((Excel.Range)excelworksheet1.Cells[i, incol - 1]).Value = val1.ToString("####.0");
                    }
                }
                else
                {
                    ((Excel.Range)excelworksheet1.Cells[i, incol - 1]).Value = 0;
                }
                rskol.Clear();
                rskol = db.GetDataTable("SELECT AVG(МРП)   FROM CITS where ЦДНГ = '" + cdng + "' and [Сост НКТ] = 'новые' and [Скважина] =  " + curskv + "  and Период in ('< 30 дн.','> 200 дн.','101-200дн.','31-100 дн.','ПР не было') ");
                if (rskol.Rows.Count != 0)
                {
                    if (rskol.Rows[0].ItemArray[0].ToString() != "")
                    {
                        Double val2 = Double.Parse(rskol.Rows[0].ItemArray[0].ToString());
                        ((Excel.Range)excelworksheet1.Cells[i, incol]).Value = val2.ToString("####.0");
                    }
                }
                else
                {
                    ((Excel.Range)excelworksheet1.Cells[i, incol]).Value = 0;
                }
                rskol.Clear();

                if (((Excel.Range)excelworksheet1.Cells[i, curcol]).Text == "")
                {
                    ((Excel.Range)excelworksheet1.Cells[i, curcol]).Value = ((Excel.Range)excelworksheet1.Cells[i, curcol]).Text + curdate.ToString("dd.MM") + "-" + curmrp;
                }
                else
                {
                    ((Excel.Range)excelworksheet1.Cells[i, curcol]).Value = ((Excel.Range)excelworksheet1.Cells[i, curcol]).Text + "\n" + curdate.ToString("dd.MM") + "-" + curmrp;
                }
                if (curmrp == "")
                {
                    ((Excel.Range)excelworksheet1.Cells[i, curcol]).Interior.ColorIndex = 43;
                }
                ((Excel.Range)excelworksheet1.Cells[i, 1]).Value = counter;
                ((Excel.Range)excelworksheet1.Cells[i, 2]).Value = "UZN_" + curskv.ToString("000#");
                ((Excel.Range)excelworksheet1.Cells[i, 3]).Value = curgu;

                DataTable rsTR = db.GetDataTable("SELECT [Qж, м3],[Qн, т/сут]  FROM TREJIME where Скв = " + curskv + " and ЦДНГ = '" + cdng + "'");
                if (rsTR.Rows.Count != 0)
                {
                    ((Excel.Range)excelworksheet1.Cells[i, 4]).Value = rsTR.Rows[0].ItemArray[0].ToString();
                    ((Excel.Range)excelworksheet1.Cells[i, 5]).Value = rsTR.Rows[0].ItemArray[1].ToString();
                }
                else
                {
                    ((Excel.Range)excelworksheet1.Cells[i, 4]).Value = "-";
                    ((Excel.Range)excelworksheet1.Cells[i, 5]).Value = "-";
                }
                rsTR.Clear();
                ((Excel.Range)excelworksheet1.Cells[i, 6]).Value = curtech;

                ((Excel.Range)excelworksheet1.Range[excelworksheet1.Cells[i, 1], excelworksheet1.Cells[i, 24]]).Borders.LineStyle = Excel.XlLineStyle.xlContinuous;
                prevskv = curskv;
            }
        }
        string path = MapPath("~/Reports/Наработка по скважинам по  " + ddl_ngdu_nar.SelectedItem.Text + "  " + ddl_cdng_nar.SelectedItem.Text + " " + ddl_year_nar.SelectedItem.Text + " год.xlsx");
        string file = Path.GetFileName(path);

        SaveToPath(path);
        KillExcelApp();
        DownloadReport(path);
        par_error_nkt.InnerText = "Отчет готов. ОН находится в Мои документы ->  Загрузки";
    }
Exemplo n.º 5
0
    protected void btn_getportyankareport_Click(object sender, EventArgs e)
    {
        try
        {
            string ngduname = ddl_ngdu.SelectedItem.Text;

            string filename = MapPath(@"~\Шаблоны\Сводка по проведенным ПРС по бригадам " + ngduname + ".xlsx");
            OpenExcelFile(filename);

            excelworksheet1 = (Excel.Worksheet)excelworkbook.Sheets[1];

            ACSDB db = new ACSDB((System.Configuration.ConfigurationManager.ConnectionStrings["SQLSRVDEVTESTConnectionToKMG"].ConnectionString));

            int       i        = 1;
            int       j        = 1;
            int       addpos   = 0;
            int       currow   = 0;
            string    curbrig  = "";
            int       curday   = 0;
            int       curmonth = 0;
            int       curyear  = 0;
            DateTime  curdate;
            DataTable dt;

            curmonth = Int32.Parse(ddl_nktreportmonth.SelectedItem.Value);
            curyear  = Int32.Parse(ddl_nktreportyear.SelectedItem.Value);
            for (i = 1; i <= 15; i++)
            {
                if (i == 1)
                {
                    addpos = 0;
                }
                if (i == 6)
                {
                    addpos = 2;
                }
                if (i == 11)
                {
                    addpos = 4;
                }
                currow  = 5 + addpos + (i - 1) * 4;
                curbrig = ((Excel.Range)excelworksheet1.Cells[currow, 3]).Text.ToString();
                for (j = 1; j <= 30; j++)
                {
                    curday  = Int32.Parse(((Excel.Range)excelworksheet1.Cells[4, j + 4]).Text.ToString());
                    curdate = new DateTime(curyear, curmonth, curday);
                    dt      = db.GetDataTable("SELECT  Скважина, ГУ, [Сост НКТ],ДлинаМ, МРП  FROM CITS where Бригада  = '" + curbrig + "' and Day(Дата)=" + curday + " and Year(Дата) =" + curyear + " and Month(Дата)=" + curmonth);
                    if (dt.Rows.Count != 0)
                    {
                        ((Excel.Range)excelworksheet1.Cells[currow + 0, j + 4]).Value     = dt.Rows[0].ItemArray[1] + "/" + dt.Rows[0].ItemArray[0];
                        ((Excel.Range)excelworksheet1.Cells[currow + 0, j + 4]).Font.Bold = true;
                        ((Excel.Range)excelworksheet1.Cells[currow + 1, j + 4]).Value     = "Наработка: " + dt.Rows[0].ItemArray[2] + " - " + dt.Rows[0].ItemArray[4];
                        ((Excel.Range)excelworksheet1.Cells[currow + 2, j + 4]).Value     = "Обновление: " + dt.Rows[0].ItemArray[3];
                        ((Excel.Range)excelworksheet1.Cells[currow + 3, j + 4]).Value     = "Ремонт себебі: ";
                    }
                }
            }


            string path = MapPath("~/Reports/Сводка по проведенным ПРС по бригадам " + ngduname + " за " + ddl_nktreportmonth.SelectedItem.Text + " " + ddl_nktreportyear.SelectedItem.Text + " год.xlsx");
            string file = Path.GetFileName(path);

            SaveToPath(path);
            KillExcelApp();
            DownloadReport(path);
            par_error_nkt.InnerText = "Отчет готов. ОН находится в Мои документы ->  Загрузки";
        }
        catch (Exception ex)
        {
            par_error_nkt.InnerText = "Попробуйте еще раз. Тескт ошибки: " + ex.Message;
            KillExcelApp();
        }
    }