Beispiel #1
0
        /// <summary>
        /// Заголовок сметы
        /// </summary>
        /// <param name="report">Отчет</param>
        /// <param name="current">Текущая смета</param>
        /// <returns>Отчет</returns>
        ExcelUnLoad addHeader(ExcelUnLoad report, DataRow current)
        {
            DataTable dtDep = readSQL.getSingleDepartamens(Convert.ToInt32(current["id_Dep"].ToString()));

            report.Merge(1, 1, 1, 7);
            report.AddSingleValue("Смета на закупку компьютерного оборудования/комплектующих", 1, 1);
            report.SetFontSize(1, 1, 1, 1, 14);
            report.SetFontBold(1, 1, 1, 1);
            report.SetCellAlignmentToCenter(1, 1, 1, 1);

            report.Merge(2, 1, 2, 2);
            report.AddSingleValue("Дата создания сметы:", 2, 1);
            report.Merge(3, 1, 3, 2);
            report.AddSingleValue("Наименование сметы:", 3, 1);
            report.Merge(4, 1, 4, 2);
            report.AddSingleValue("Название сметы:", 4, 1);
            report.Merge(5, 1, 5, 2);
            report.AddSingleValue("Отдел:", 5, 1);

            report.AddSingleValue(current["Date"].ToString(), 2, 3);
            report.AddSingleValue(current["EstimateName"].ToString(), 3, 3);
            report.AddSingleValue(current["EstimateDetail"].ToString(), 4, 3);
            report.AddSingleValue(dtDep.Rows[0]["cName"].ToString(), 5, 3);

            report.SetFontBold(2, 1, 5, 1);

            return(report);
        }
Beispiel #2
0
        /// <summary>
        /// Заголовок отчета по оборудованию ожидающим постоновки на баланс
        /// </summary>
        /// <param name="report">Отчет</param>
        /// <returns>Отчет</returns>
        ExcelUnLoad addHeader(ExcelUnLoad report)
        {
            report.Merge(1, 1, 1, 7);
            report.AddSingleValue("Отчет \"Оборудование, ожидающее постановки на баланс\"", 1, 1);
            report.SetFontSize(1, 1, 1, 1, 14);
            report.SetFontBold(1, 1, 1, 1);
            report.SetCellAlignmentToCenter(1, 1, 1, 1);

            report.Merge(2, 1, 2, 2);
            report.AddSingleValue("Дата выгрузки:", 2, 1);

            report.AddSingleValue(DateTime.Now.ToShortDateString(), 2, 3);

            report.SetFontBold(2, 1, 2, 1);

            return(report);
        }
Beispiel #3
0
        private void printToExcel_Click(object sender, EventArgs e)
        {
            Logging.StartFirstLevel(79);
            Logging.Comment("Выгрузка отчета по оборудованию");
            Logging.Comment($"Местоположение:{cbLocation.Text}");
            Logging.Comment($"Ответственный:{cbResponsibles.Text}");
            Logging.Comment($"Статус:{cbStatus.Text}");
            Logging.Comment($"Комплектующие или Оборудование:{(rbHrdWare.Checked? rbHrdWare.Text:rbComponents.Text)}");
            Logging.Comment($"Показать данные за N дней:{(chbDays.Checked ? nudDays.Value.ToString() : "Показать данные за все время")}");

            Logging.Comment($"Поиск по Инв.№:{tbNumber.Text}");
            Logging.Comment($"поиск по EAN:{tbEAN.Text}");
            Logging.Comment($"поиск по наименованию:{tbName.Text}");
            Logging.Comment($"поиск по Номеру СЗ:{tbNumberSZ.Text}");
            Logging.StopFirstLevel();


            var report = new ExcelUnLoad();

            report.AddSingleValue("Инв. №", 1, 1);
            report.AddSingleValue("EAN", 1, 2);
            report.AddSingleValue("Наименование", 1, 3);
            report.AddSingleValue("Объект", 1, 4);
            report.AddSingleValue("Оборудование/Комплектующие", 1, 5);
            report.AddSingleValue("Местоположение", 1, 6);
            report.AddSingleValue("Ответственный", 1, 7);
            report.AddSingleValue("Статус", 1, 8);
            report.SetBorders(1, 1, 1, 8);
            report.SetFontBold(1, 1, 1, 8);

            var rowCount = 2;

            foreach (DataGridViewRow row in dgvData.Rows)
            {
                var rowCountStart = rowCount;
                report.AddSingleValue(row.Cells["cNum"].Value.ToString(), rowCount, 1);
                report.AddSingleValue(row.Cells["cEAN"].Value.ToString(), rowCount, 2);
                report.AddSingleValue(row.Cells["cName"].Value.ToString(), rowCount, 3);
                report.AddSingleValue(row.Cells["LocationComment"].Value.ToString(), rowCount, 4);
                report.AddSingleValue(row.Cells["cHardWare"].Value.ToString(), rowCount, 5);
                report.AddSingleValue(row.Cells["cLocation"].Value.ToString(), rowCount, 6);
                report.AddSingleValue(row.Cells["cResponsible"].Value.ToString(), rowCount, 7);
                report.AddSingleValue(row.Cells["cStatus"].Value.ToString(), rowCount, 8);

                rowCount++;
                for (var i = 1; i < 8; i++)
                {
                    report.Merge(rowCountStart, i, rowCount - 1, i);
                    report.SetBorders(rowCountStart, 1, rowCount - 1, 8);
                }
            }
            report.SetColumnAutoSize(1, 1, rowCount, 8);
            report.SetColumnWidth(1, 1, rowCount, 1, 8);
            report.SetWrapText(1, 1, rowCount, 8);
            report.Show();
        }
Beispiel #4
0
        private void ObjectReport(ref int crow)
        {
            rep.AddSingleValue($"План - {Config.month[dtpDate.Value.Month]} {dtpDate.Value.Year}", crow, 1);
            rep.SetFontBold(crow, 1, crow, 1);
            crow++;
            int startRow = crow;

            rep.AddSingleValue("Объект", crow, 1);
            rep.AddSingleValue("План", crow, 2);
            rep.AddSingleValue("Оплаты плана", crow, 3);
            rep.AddSingleValue("Суммарный % оплаты", crow, 4);
            rep.AddSingleValue("Долг за предыдущий период", crow, 5);
            rep.AddSingleValue("План с учетом предыдущего долга", crow, 6);
            rep.AddSingleValue("Оплаты всего", crow, 7);
            rep.AddSingleValue("% оплаты с учетом долга", crow, 8);
            rep.SetCellAlignmentToCenter(crow, 1, crow, 8);
            rep.SetCellAlignmentToJustify(crow, 1, crow, 8);
            rep.SetFontBold(crow, 1, crow, 8);
            rep.SetWrapText(crow, 1, crow, 8);
            crow++;
            foreach (DataRow dr in dtMonthReport.Rows)
            {
                rep.AddSingleValue(dr["nameObj"].ToString(), crow, 1); // объект
                rep.AddSingleValueObject(dr["sumPlan"], crow, 2);      // план
                rep.AddSingleValueObject(dr["currPayment"], crow, 3);  // оплаты плана
                if (decimal.Parse(dr["sumPlan"].ToString()) > 0)
                {
                    rep.AddSingleValue((Math.Round(decimal.Parse(dr["currPayment"].ToString()) * 100 / decimal.Parse(dr["sumPlan"].ToString()), 1)).ToString("0.0") + "%", crow, 4); //суммарный % оплаты
                }
                rep.AddSingleValueObject(dr["debt"], crow, 5);                                                                                                                       //долг за предыдущий период
                rep.AddSingleValueObject(dr["planWithDebt"], crow, 6);                                                                                                               //план с учетом пред. долга
                rep.AddSingleValueObject(dr["allPayments"], crow, 7);                                                                                                                //оплаты всего
                if (decimal.Parse(dr["sumPlan"].ToString()) > 0)
                {
                    rep.AddSingleValue((Math.Round(decimal.Parse(dr["allPayments"].ToString()) * 100 / decimal.Parse(dr["planWithDebt"].ToString()), 1)).ToString("0.0") + "%", crow, 8); //суммарный % оплаты
                }
                crow++;
            }
            rep.SetBorders(2, 1, crow - 1, 8);
            crow++;
        }
Beispiel #5
0
        private void AddHeaderSection(ref int crow)
        {
            int maxCol = 18;

            rep.AddSingleValue("Объект", crow, 1);
            rep.AddSingleValue("Секция", crow, 2);
            rep.AddSingleValue("Арендатор", crow, 3);
            rep.AddSingleValue("Номер договора", crow, 4);
            rep.AddSingleValue("Сумма по договору", crow, 5);
            rep.AddSingleValue($"План {monthPlan}", crow, 6);
            rep.AddSingleValue($"Долг на {datePlan}", crow, 7);
            rep.AddSingleValue($"Переплата на {datePlan}", crow, 8);
            rep.AddSingleValue($"Итого долг на {datePlan}", crow, 9);
            rep.AddSingleValue($"Итого переплата на {datePlan}", crow, 10);
            rep.AddSingleValue("Сумма оплаты", crow, 11);
            rep.Merge(crow, 11, crow + 1, 12);
            rep.AddSingleValue("Долг тек.", crow, 13);
            rep.AddSingleValue("Переплата тек.", crow, 15);
            rep.AddSingleValue("Тек. % долга", crow, 14);
            rep.AddSingleValue("Итого долг", crow, 16);
            //rep.AddSingleValue("Итого % долга", crow, 17);
            rep.AddSingleValue("Итого переплата", crow, 17);
            rep.AddSingleValue("Арендодатель", crow, 18);
            for (int i = 1; i <= 19; i++)
            {
                if (i == 11 || i == 12)
                {
                    continue;
                }
                rep.Merge(crow, i, crow + 1, i);
            }
            rep.SetCellAlignmentToCenter(crow, 1, crow, maxCol);
            rep.SetCellAlignmentToJustify(crow, 1, crow, maxCol);
            rep.SetFontBold(crow, 1, crow + 1, maxCol);
            rep.SetWrapText(crow, 1, crow + 1, maxCol);
            crow += 2;
        }
Beispiel #6
0
        /// <summary>
        /// Подвал сметы
        /// </summary>
        /// <param name="report">Отчет</param>
        /// <returns>Отчет</returns>
        ExcelUnLoad addFooter(ExcelUnLoad report)
        {
            report.AddSingleValue("Итого:", posFooter, 5);

            report.SetBorders(posFooter, 5, posFooter, 5);
            report.SetFontBold(posFooter, 5, posFooter, 5);
            report.SetCellAlignmentToRight(posFooter, 5, posFooter, 5);


            report.AddSingleValue(amount.ToString(), posFooter, 6);

            report.SetBorders(posFooter, 6, posFooter, 6);
            report.SetCellAlignmentToRight(posFooter, 6, posFooter, 6);

            return(report);
        }
Beispiel #7
0
        /// <summary>
        /// Шапка таблицы
        /// </summary>
        /// <param name="report">Отчет</param>
        /// <returns>Отчет</returns>
        ExcelUnLoad addHeaderColumn(ExcelUnLoad report)
        {
            report.AddSingleValue("№ п/п", 7, 1);
            report.SetColumnWidth(7, 1, 7, 1, 5);
            report.AddSingleValue("Тип оборудования/ комплектующих", 7, 2);
            report.SetColumnWidth(7, 2, 7, 2, 17);
            report.AddSingleValue("Наименование оборудования/ комплектующих", 7, 3);
            report.SetColumnWidth(7, 3, 7, 3, 20);
            report.AddSingleValue("Кол-во", 7, 4);
            report.AddSingleValue("Цена", 7, 5);
            report.SetColumnWidth(7, 5, 7, 5, 11);
            report.AddSingleValue("Сумма", 7, 6);
            report.AddSingleValue("Комментарии", 7, 7);
            report.SetColumnWidth(7, 7, 7, 7, 20);

            report.SetCellAlignmentToCenter(7, 1, 7, 7);
            report.SetFontBold(7, 1, 7, 7);
            report.SetBorders(7, 1, 7, 7);
            report.SetWrapText(7, 1, 7, 7);

            return(report);
        }
Beispiel #8
0
        /// <summary>
        /// Подвал сметы
        /// </summary>
        /// <param name="report">Отчет</param>
        /// <param name="current">Текущая смета</param>
        /// <returns>Отчет</returns>
        ExcelUnLoad addFooter(ExcelUnLoad report, DataRow current)
        {
            int posStart = posFooter;

            report.AddSingleValue("Итого:", posFooter++, 5);
            report.AddSingleValue("Доставка:", posFooter++, 5);
            report.AddSingleValue("Итого с доставкой:", posFooter++, 5);

            report.SetBorders(posStart, 5, --posFooter, 5);
            report.SetWrapText(posStart, 5, posFooter, 5);
            report.SetFontBold(posStart, 5, posFooter, 5);

            posFooter = posStart;

            report.AddSingleValue(current["Shipping"].ToString(), posFooter++, 6);
            report.AddSingleValue(current["Delivery"].ToString(), posFooter++, 6);
            report.AddSingleValue(Convert.ToString(Convert.ToDecimal(current["Shipping"].ToString()) + Convert.ToDecimal(current["Delivery"].ToString())), posFooter++, 6);

            report.SetBorders(posStart, 6, --posFooter, 6);
            report.SetCellAlignmentToRight(posStart, 6, posFooter, 6);

            return(report);
        }
Beispiel #9
0
        /// <summary>
        /// Шапка таблицы
        /// </summary>
        /// <param name="report">Отчет</param>
        /// <returns>Отчет</returns>
        ExcelUnLoad addHeaderColumn(ExcelUnLoad report)
        {
            report.AddSingleValue("№ п/п", 3, 1);
            report.SetColumnWidth(3, 1, 3, 1, 5);
            report.AddSingleValue("Тип оборудования/ комплектующих", 3, 2);
            report.SetColumnWidth(3, 2, 3, 2, 18);
            report.AddSingleValue("Наименование оборудования/ комплектующих", 3, 3);
            report.SetColumnWidth(3, 3, 3, 3, 19);
            report.AddSingleValue("Количество", 3, 4);
            report.SetColumnWidth(3, 4, 3, 4, 12);
            report.Merge(3, 5, 3, 6);
            report.AddSingleValue("Итоговая сумма, руб", 3, 5);
            report.SetColumnWidth(3, 5, 3, 5, 10);
            report.SetColumnWidth(3, 6, 3, 6, 10);
            report.AddSingleValue("Дата выдачи денежных средств", 3, 7);
            report.SetColumnWidth(3, 7, 3, 7, 13);

            report.SetCellAlignmentToCenter(3, 1, 3, 7);
            report.SetFontBold(3, 1, 3, 7);
            report.SetBorders(3, 1, 3, 7);
            report.SetWrapText(3, 1, 3, 7);

            return(report);
        }
Beispiel #10
0
        private void btnReport_Click(object sender, EventArgs e)
        {
            if (dtData == null || dtData.Rows.Count == 0)
            {
                return;
            }

            Logging.StartFirstLevel(79);

            Logging.Comment($"Объект ID:{cmbObject.SelectedValue}; Наименование:{cmbObject.Text}");
            Logging.Comment($"Тип договора ID:{cmbTypeContract.SelectedValue}; Наименование:{cmbTypeContract.Text}");

            Logging.Comment($"Договор:{tbAgreements.Text}");
            Logging.Comment($"Арендатор:{tbLandLord.Text}");

            Logging.Comment($"Подтвержденные скидки: {(chbIsAccept.Checked ? "Да" : "Нет")}");
            Logging.Comment($"Отклоненные скидки: {(chbNotActive.Checked ? "Да" : "Нет")}");

            Logging.Comment($"Дата начала:{dtpStart.Value.ToShortDateString()}");
            Logging.Comment($"Дата окончания:{dtpEnd.Value.ToShortDateString()}");
            Logging.Comment($"Отклоненные скидки: {(chbUnlimitedDiscount.Checked ? "Да" : "Нет")}");


            Logging.StopFirstLevel();

            ExcelUnLoad rep = new ExcelUnLoad("Скидки");
            int         row = 1;

            rep.AddSingleValue($"Отчет по скидкам с {dtpStart.Value.ToShortDateString()}" + (!chbIsAccept.Checked ? $" по {dtpEnd.Value.ToShortDateString()}" : ""), row, 1);
            rep.SetFontBold(row, 1, row, 1);
            row++;
            rep.AddSingleValue($"Дата выгрузки: {DateTime.Now.ToShortDateString()} {DateTime.Now.ToShortTimeString()}", row, 1);
            row++;
            rep.AddSingleValue($"Выгрузил: {UserSettings.User.FullUsername}", row, 1);
            row += 2;
            int startTable = row;

            #region шапка
            rep.AddSingleValue("Объект", row, 1);         //nameObjectLease
            rep.AddSingleValue("Арендатор", row, 2);      //nameLandLord
            rep.AddSingleValue("№ договора", row, 3);     //Agreement
            rep.AddSingleValue("Тип договора", row, 4);   //TypeContract
            rep.AddSingleValue("Дата начала", row, 5);    //DateStart
            rep.AddSingleValue("Дата окончания", row, 6); //DateEnd
            rep.AddSingleValue("Тип скидки", row, 7);     //nameTypeDiscount
            rep.AddSingleValue("Скидка", row, 8);         //Discount
            rep.SetFontBold(row, 1, row, 8);
            rep.SetWrapText(row, 1, row, 8);
            rep.SetCellAlignmentToCenter(row, 1, row, 8);
            rep.SetCellAlignmentToJustify(row, 1, row, 8);
            #endregion
            #region колонки
            rep.SetColumnWidth(1, 1, 1, 1, 8);
            rep.SetColumnWidth(2, 2, 2, 2, 23);
            rep.SetColumnWidth(3, 3, 3, 3, 15);
            rep.SetColumnWidth(4, 4, 4, 4, 20);
            rep.SetColumnWidth(5, 5, 5, 5, 12);
            rep.SetColumnWidth(6, 6, 6, 6, 12);
            rep.SetColumnWidth(7, 7, 7, 7, 25);
            rep.SetColumnWidth(8, 8, 8, 8, 15);
            rep.SetPageOrientationToLandscape();
            #endregion
            row++;
            rep.AddSingleValue("Неподтвержденные скидки", row, 1);
            rep.Merge(row, 1, row, 8);
            rep.SetCellAlignmentToCenter(row, 1, row, 1);
            rep.SetFontBold(row, 1, row, 1);
            row++;
            addTable(ref rep, ref row, 1);
            rep.AddSingleValue("Подтвержденные скидки", row, 1);
            rep.Merge(row, 1, row, 8);
            rep.SetCellAlignmentToCenter(row, 1, row, 1);
            rep.SetFontBold(row, 1, row, 1);
            row++;
            addTable(ref rep, ref row, 2);
            rep.AddSingleValue("Отклоненные скидки", row, 1);
            rep.Merge(row, 1, row, 8);
            rep.SetCellAlignmentToCenter(row, 1, row, 1);
            rep.SetFontBold(row, 1, row, 1);
            row++;
            addTable(ref rep, ref row, 3);

            rep.SetBorders(startTable, 1, row - 1, 8);
            rep.Show();
        }
Beispiel #11
0
        private void btnReport_Click(object sender, EventArgs e)
        {
            if (dtData.DefaultView.Count == 0)
            {
                return;
            }
            ExcelUnLoad rep = new ExcelUnLoad();

            int crow   = 1;
            int maxCol = 4;

            rep.SetColumnWidth(1, 1, 1, 1, 10);
            rep.SetColumnWidth(2, 2, 2, 2, 15);
            rep.SetColumnWidth(3, 3, 3, 3, 40);
            rep.SetColumnWidth(4, 4, 4, 4, 20);

            rep.AddSingleValue("Отчет о загрузке картинок", crow, 1);
            rep.Merge(crow, 1, crow, maxCol);
            rep.SetCellAlignmentToCenter(crow, 1, crow, maxCol);
            rep.SetCellAlignmentToJustify(crow, 1, crow, maxCol);
            rep.SetFontBold(crow, 1, crow, 1);

            crow += 2;

            rep.AddFilter("EAN", tbEan, ref crow);
            rep.AddFilter("Наименование", tbName, ref crow);
            rep.AddFilter("Артикул", tbIdTovar, ref crow);
            rep.AddFilter("Выбран вариант", chbIsNotFount, ref crow);
            rep.AddFilter("Выбран вариант", chbIsUpdated, ref crow);
            rep.AddFilter("Выбран вариант", chbNoImage, ref crow);

            crow++;
            int startRow = crow;
            int col      = 1;

            foreach (DataGridViewColumn dc in dgvData.Columns)
            {
                rep.AddSingleValue(dc.HeaderText, crow, col);
                rep.SetFontBold(crow, col, crow, col);
                rep.SetCellAlignmentToCenter(crow, col, crow, col);
                rep.SetCellAlignmentToJustify(crow, col, crow, col);
                rep.SetWrapText(crow, col, crow, col);
                col++;
            }

            foreach (DataRowView row in dtData.DefaultView)
            {
                crow++;
                col = 1;
                foreach (DataGridViewColumn dc in dgvData.Columns)
                {
                    rep.AddSingleValue(row[dc.DataPropertyName].ToString(), crow, col);
                    rep.SetWrapText(crow, col, crow, col);
                    Color color = Color.White;
                    if (row["result"].ToString() == "Обновлено")
                    {
                        color = panel1.BackColor;
                    }
                    else if (row["result"].ToString() == "Картинка не найдена")
                    {
                        color = panel2.BackColor;
                    }
                    else if (row["result"].ToString() == "Товар не найден")
                    {
                        color = panel3.BackColor;
                    }
                    rep.SetCellColor(crow, col, crow, col, color);
                    col++;
                }
            }
            rep.SetBorders(startRow, 1, crow, maxCol);

            rep.Show();
        }
Beispiel #12
0
        private void btnPrint_Click(object sender, EventArgs e)
        {
            Logging.StartFirstLevel(79);
            Logging.Comment("Выгрузка отчета о занятости секций");

            Logging.Comment($"Объект ID:{cmbObject.SelectedValue}; Наименование:{cmbObject.Text}");
            Logging.Comment($"Здание ID:{cmbBuilding.SelectedValue}; Наименование:{cmbBuilding.Text}");
            Logging.Comment($"Этаж ID:{cmbFloor.SelectedValue}; Наименование:{cmbFloor.Text}");
            Logging.Comment($"Поиск по секции:{tbSection.Text}");

            Logging.Comment($"{chbBusy.Text}:{(chbBusy.Checked?"Да":"Нет")}");
            Logging.Comment($"{chbClearing.Text}:{(chbClearing.Checked ? "Да" : "Нет")}");
            Logging.Comment($"{chbFree.Text}:{(chbFree.Checked ? "Да" : "Нет")}");

            Logging.StopFirstLevel();

            DataTable   dtReport = dtData.DefaultView.ToTable();
            ExcelUnLoad rep      = new ExcelUnLoad();

            rep.SetPageOrientationToLandscape();
            int maxColumns = 8;
            int cRow       = 1;

            #region колонки
            rep.SetColumnWidth(1, 1, 1, 1, 10);
            rep.SetColumnWidth(2, 2, 2, 2, 18);
            rep.SetColumnWidth(3, 3, 3, 3, 12);
            rep.SetColumnWidth(4, 4, 4, 4, 20);
            rep.SetColumnWidth(5, 5, 5, 5, 12);
            rep.SetColumnWidth(6, 6, 6, 6, 12);
            rep.SetColumnWidth(7, 7, 7, 7, 12);
            rep.SetColumnWidth(8, 8, 8, 8, 15);
            #endregion

            #region Шапка
            rep.AddSingleValue("Отчет по секциям", 1, 1);
            rep.Merge(cRow, 1, cRow, maxColumns);
            rep.SetCellAlignmentToCenter(1, 1, 1, 1);
            cRow++;
            rep.AddSingleValue("Объект", cRow, 1);
            rep.AddSingleValue(cmbObject.Text, cRow, 2);
            rep.AddSingleValue("Дата выгрузки", cRow, 3);
            rep.AddSingleValue(DateTime.Now.ToString(), cRow, 4);
            cRow++;
            rep.AddSingleValue("Здание", cRow, 1);
            rep.AddSingleValue(cmbBuilding.Text, cRow, 2);
            rep.AddSingleValue("Выгрузил", cRow, 3);
            rep.AddSingleValue(UserSettings.User.FullUsername, cRow, 4);
            cRow++;
            rep.AddSingleValue("Этаж", cRow, 1);
            rep.AddSingleValue(cmbFloor.Text, cRow, 2);

            cRow += 2;
            #endregion

            #region Шапка таблицы
            int startRow = cRow;
            rep.AddSingleValue("Объект", cRow, 1);
            rep.AddSingleValue("Здание", cRow, 2);
            rep.AddSingleValue("Этаж", cRow, 3);
            rep.AddSingleValue("Секция", cRow, 4);
            rep.AddSingleValue("Начало аренды", cRow, 5);
            rep.AddSingleValue("Конец аренды", cRow, 6);
            rep.AddSingleValue("Номер договора", cRow, 7);
            rep.AddSingleValue("Арендатор", cRow, 8);

            rep.SetFontBold(cRow, 1, cRow, maxColumns);
            rep.SetCellAlignmentToCenter(cRow, 1, cRow, maxColumns);
            rep.SetWrapText(cRow, 1, cRow, maxColumns);
            cRow++;
            #endregion

            #region таблица
            foreach (DataRow dr in dtReport.Rows)
            {
                rep.AddSingleValue(dr["nameObject"].ToString(), cRow, 1);
                rep.AddSingleValue(dr["nameBuilding"].ToString(), cRow, 2);
                rep.AddSingleValue(dr["nameFloor"].ToString(), cRow, 3);
                rep.AddSingleValue(dr["nameSection"].ToString(), cRow, 4);
                rep.AddSingleValue(dr["StartDate"].ToString().Length > 0 ?
                                   dr["StartDate"].ToString().Substring(0, 10) : dr["StartDate"].ToString(), cRow, 5);
                rep.AddSingleValue(dr["EndDate"].ToString().Length > 0 ? dr["EndDate"].ToString().Substring(0, 10) : dr["EndDate"].ToString(), cRow, 6);
                rep.AddSingleValue(dr["numDoc"].ToString(), cRow, 7);
                rep.AddSingleValue(dr["nameArenda"].ToString(), cRow, 8);
                if (dr["typeSection"].ToString() == "1")
                {
                    rep.SetCellColor(cRow, 1, cRow, maxColumns, panel2.BackColor);
                }
                if (dr["typeSection"].ToString() == "2")
                {
                    rep.SetCellColor(cRow, 1, cRow, maxColumns, panel1.BackColor);
                }
                cRow++;
            }
            cRow--;
            rep.SetWrapText(startRow, 1, cRow, maxColumns);
            rep.SetBorders(startRow, 1, cRow, maxColumns);

            cRow += 2;
            rep.SetCellColor(cRow, 1, cRow, 1, panel1.BackColor);
            rep.AddSingleValue("-Занятые секции", cRow, 2);
            cRow++;
            rep.SetCellColor(cRow, 1, cRow, 1, panel2.BackColor);
            rep.AddSingleValue("-Освобождающиеся секции", cRow, 2);

            #endregion
            rep.Show();
        }
Beispiel #13
0
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            ExcelUnLoad rep = new ExcelUnLoad("Отчет по секциям");

            rep.AddSingleValue("Справочник секций", 1, 1);
            rep.Merge(1, 1, 1, 9);
            rep.SetBordersToBottom(1, 1, 9, true);
            rep.SetBordersToBottom(1, 2, 9, true);
            rep.SetBordersToBottom(1, 3, 9, true);
            rep.SetBordersToBottom(1, 4, 9, true);
            rep.SetBordersToBottom(1, 5, 9, true);
            rep.SetBordersToBottom(1, 6, 9, true);
            rep.SetBordersToBottom(1, 7, 9, true);
            rep.SetBordersToBottom(1, 8, 9, true);
            rep.SetBordersToBottom(1, 9, 9, true);

            // rep.SetBorders(1, 1, 1, 9);
            rep.SetFontBold(1, 1, 1, 1);
            rep.SetFontSize(1, 1, 1, 1, 16);
            rep.SetCellAlignmentToCenter(1, 1, 1, 1);
            int crow = 3;

            rep.AddSingleValue($"Объект: {obj}", crow, 1);
            crow++;
            rep.AddSingleValue($"Здание: {build}", crow, 1);
            crow++;
            rep.AddSingleValue($"Этаж: {floor}", crow, 1);
            crow += 2;
            rep.AddSingleValue($"Выгрузил: {Nwuram.Framework.Settings.User.UserSettings.User.FullUsername}", crow, 1);
            crow++;
            rep.AddSingleValue($"Дата выгрузки: {DateTime.Now}", crow, 1);
            crow += 2;
            int startRow = crow;

            #region Шапка
            rep.AddSingleValue("Секция", crow, 1);
            rep.AddSingleValue("Объект", crow, 2);
            rep.AddSingleValue("Здание", crow, 3);
            rep.AddSingleValue("Этаж", crow, 4);
            rep.AddSingleValue("Кол-во телефонных линий", crow, 5);
            rep.AddSingleValue("Кол-во светильников", crow, 6);
            rep.AddSingleValue("Номер телефона", crow, 7);
            rep.AddSingleValue("Оборудование и кол-во", crow, 8);
            rep.AddSingleValue("Приборы/части системы", crow, 9);

            #endregion

            #region ширина столбцов
            rep.SetColumnWidth(1, 1, 1, 1, 9);
            rep.SetColumnWidth(1, 2, 1, 2, 9);
            rep.SetColumnWidth(1, 3, 1, 3, 17);
            rep.SetColumnWidth(1, 4, 1, 4, 9);
            rep.SetColumnWidth(1, 5, 1, 5, 13);
            rep.SetColumnWidth(1, 6, 1, 6, 14);
            rep.SetColumnWidth(1, 7, 1, 7, 10);
            rep.SetColumnWidth(1, 8, 1, 8, 20);
            rep.SetColumnWidth(1, 9, 1, 9, 20);
            #endregion

            rep.SetFontBold(crow, 1, crow, 9);
            rep.SetCellAlignmentToCenter(crow, 1, crow, 9);
            rep.SetCellAlignmentToJustify(crow, 1, crow, 9);
            rep.SetWrapText(crow, 1, crow, 9);
            crow++;



            if (tSec.Rows.Count > 0)
            {
                for (int i = 0; i < view.Count; i++)
                {
                    string A, I, sEq = "";
                    string sDevices = "";
                    A = "A" + (i + 11);
                    I = "I" + (i + 11);

                    int isActive = 0;

                    if (checEq.Checked == true)
                    {
                        isActive = 1;
                    }
                    else
                    {
                        isActive = 0;
                    }

                    foreach (DataRow dr in _proc.GetEqVsSec(tSec.DefaultView[i]["id"].ToString(), isActive).Rows)
                    {
                        if (sEq.Length > 0)
                        {
                            sEq += "\n";
                        }
                        sEq += dr["cName"] + " " + dr["Quantity"] + " шт.";
                    }

                    DataTable dtDevices = _proc.GetSectionDevices(Convert.ToInt32(tSec.DefaultView[i]["id"]));
                    foreach (DataRow dr in dtDevices.Rows)
                    {
                        if (sDevices.Length > 0)
                        {
                            sDevices += "\n";
                        }
                        sDevices += dr["cname"].ToString() + " " + dr["quantity"].ToString() + " " + dr["unit"].ToString();
                    }

                    rep.AddSingleValue(tSec.DefaultView[i]["Sec"].ToString(), crow, 1);
                    rep.AddSingleValue(tSec.DefaultView[i]["Obj"].ToString(), crow, 2);
                    rep.AddSingleValue(tSec.DefaultView[i]["Build"].ToString(), crow, 3);
                    rep.AddSingleValue(tSec.DefaultView[i]["Floo"].ToString(), crow, 4);
                    rep.AddSingleValue(tSec.DefaultView[i]["Telephone_lines"].ToString(), crow, 5);
                    rep.AddSingleValue(tSec.DefaultView[i]["Lamps"].ToString(), crow, 6);
                    rep.AddSingleValue(tSec.DefaultView[i]["Phone_number"].ToString(), crow, 7);
                    rep.AddSingleValue(sEq, crow, 8);
                    rep.AddSingleValue(sDevices, crow, 9);
                    rep.SetWrapText(crow, 1, crow, 9);
                    rep.SetCellAlignmentToTop(crow, 1, crow, 9);
                    crow++;
                }
            }

            rep.SetBorders(startRow, 1, crow - 1, 9);
            rep.SetPageOrientationToLandscape();
            rep.Show();
            string logEvent = "Выгрузка справочника секций в Excel";

            string BuildName = "";
            cbZdan.Invoke((MethodInvoker) delegate
            {
                BuildName = cbZdan.Text;
            });

            string FloorName = "";

            cbZloor.Invoke((MethodInvoker) delegate
            {
                FloorName = cbZloor.Text;
            });

            Logging.StartFirstLevel(763);
            Logging.Comment(logEvent);
            Logging.Comment("Имя выгруженного excel файла \"" + file.Name + "\"");
            Logging.Comment("Выгрузка произведена для здания: \"" + BuildName + "\" и этажа: \"" + FloorName + "\". Выгружено " + view.Count.ToString() + " строк.");
            Logging.Comment("Завершение операции \"" + logEvent + "\"");
            Logging.StopFirstLevel();
        }