Exemplo n.º 1
0
        private void btnExcel_Click(object sender, EventArgs e)
        {
            Logging.StartFirstLevel(79);
            Logging.Comment("Выгрузка отчета со списком оплат по договору в Excel файл");
            Logging.Comment("Дата заключения договора: " + dateDoc);
            Logging.Comment("№ договора: " + numDoc);
            Logging.Comment("Арендатор ID: " + idArend + " ; Наименование: " + nameArend);

            Logging.Comment("Место: " + position);

            Logging.Comment("Дата начала:" + dateStartDoc);
            Logging.Comment("Дата окончания:" + dateEndDoc);


            Logging.Comment("Операцию выполнил: ID:" + Nwuram.Framework.Settings.User.UserSettings.User.Id
                            + " ; ФИО:" + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername);
            Logging.StopFirstLevel();


            HandmadeReport Rep = new HandmadeReport();

            Rep.AddSingleValue("Список оплат по договору", 2, 2);
            Rep.SetFontSize(2, 2, 2, 2, 14);
            Rep.SetFontBold(2, 2, 2, 2);

            Rep.AddSingleValue("№ договора:", 4, 2);
            Rep.AddSingleValue("Дата договора:", 5, 2);
            Rep.AddSingleValue("Арендатор:", 6, 2);
            Rep.AddSingleValue("Аренда (руб.):", 7, 2);

            string date = dtpDate.Value.ToShortDateString();

            Rep.AddSingleValue(txtNum.Text, 4, 4);
            //Rep.AddSingleValue(dtpDate.Value.ToString("dd.MM.yyyy"), 5, 4);
            Rep.AddSingleValue(date, 5, 4);
            Rep.AddSingleValue(txtTenant.Text, 6, 4);
            Rep.AddSingleValue(txtSum.Text, 7, 4);

            DataTable dtPrint = GridToDataTable.GetDataTableFromGridWithNum(grdPayments);

            for (int i = 0; dtPrint.Rows.Count > i; i++)
            {
                try
                {
                    dtPrint.Rows[i]["Дата оплаты"] = DateTime.Parse(dtPrint.Rows[i]["Дата оплаты"].ToString()).ToShortDateString();
                }
                catch { }
            }

            Rep.AddMultiValue(dtPrint, 9, 1);
            Rep.SetFontBold(9, 1, 9, grdPayments.Columns.Count);

            //Итого
            decimal total = 0;

            for (int i = 0; grdPayments.Rows.Count > i; i++)
            {
                total += decimal.Parse(numTextBox.ConvertToCompPunctuation(grdPayments.Rows[i].Cells["PaymentSum"].Value.ToString()));
            }

            Rep.AddSingleValue("ИТОГО:", grdPayments.Rows.Count + 10, 2);
            Rep.AddSingleValue(numTextBox.ConvertToSqlPunctuation(total.ToString("0.00")), grdPayments.Rows.Count + 10, 3);

            Rep.SetColumnAutoSize(1, 1, grdPayments.Rows.Count + 10, dtPrint.Columns.Count + 2);

            /*
             * Rep.SetColumnWidth(1, 1, 1, 1, 13);
             * Rep.SetColumnWidth(1, 2, 1, 2, 10);
             * Rep.SetColumnWidth(1, 3, 1, 3, 10);
             * Rep.SetColumnWidth(1, 4, 1, 4, 10);
             */

            Rep.SetBorders(9, 1, grdPayments.Rows.Count + 10, dtPrint.Columns.Count);

            /*
             * Rep.SetCellAlignmentToCenter(5, 1, 5, grdReal.Columns.Count);
             * Rep.SetCellAlignmentToCenter(6, 1, grdReal.Rows.Count + 5, 1);
             * Rep.SetCellAlignmentToRight(6, 2, grdReal.Rows.Count + 7, grdReal.Columns.Count);
             */


            /*
             * Rep.SetFormat(6, 2, grdReal.Rows.Count + 7, 2, "0,000");
             * Rep.SetFormat(6, 3, grdReal.Rows.Count + 7, grdReal.Columns.Count, "0,00");
             * Rep.SetFormat(6, 1, grdReal.Rows.Count + 5, 1, "ДД.ММ.ГГГГ");
             */

            Rep.Show();
        }
Exemplo n.º 2
0
        private void btPrint_Click(object sender, EventArgs e)
        {
            DataTable dtReport = new DataTable();

            dtReport = _proc.GetLordlandDailyReport(id_LandLord, dtpDate.Value.Date);

            if ((dtReport != null) && (dtReport.Rows.Count > 0))
            {
                for (int i = 0; dtReport.Rows.Count > i; i++)
                {
                    dtReport.Rows[i]["arendaSum"]  = numTextBox.ConvertToCompPunctuation(dtReport.Rows[i]["arendaSum"].ToString());
                    dtReport.Rows[i]["arendaPeni"] = numTextBox.ConvertToCompPunctuation(dtReport.Rows[i]["arendaPeni"].ToString());
                    dtReport.Rows[i]["dopSum"]     = numTextBox.ConvertToCompPunctuation(dtReport.Rows[i]["dopSum"].ToString());
                }

                DateTime CurDate = _proc.getdatetime();


                Logging.StartFirstLevel(79);
                Logging.Comment("Выгрузка ежедневного отчета по арендадателю");

                Logging.Comment("Арендадатель ID: " + _id + " ; Наименование: " + _nameArend);
                Logging.Comment("ФИО представителя: " + _FIO);
                Logging.Comment("Адрес : " + _addres_1);
                Logging.Comment("Адрес сдаваемого помещения : " + _addres_2);

                Logging.Comment("Параметры отчета");
                Logging.Comment("Дата отчета: " + dtpDate.Value.ToShortDateString());



                Logging.Comment("Операцию выполнил: ID:" + Nwuram.Framework.Settings.User.UserSettings.User.Id
                                + " ; ФИО:" + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername);
                Logging.StopFirstLevel();


                HandmadeReport Rep = new HandmadeReport();

                Rep.AddSingleValue("Ежедневный отчет по арендодателю", 3, 2);
                Rep.AddSingleValue(Name_LandLord, 3, 5);

                Rep.SetFontSize(3, 2, 3, 2, 14);
                Rep.SetFontBold(3, 2, 3, 2);

                Rep.AddSingleValue("Дата:", 2, 7);
                Rep.AddSingleValue(CurDate.ToString(), 2, 8);
                //Rep.AddSingleValue(CurDate.ToString("dd.MM.yyyy"), 2, 8);

                Rep.AddSingleValue("Отчет №", 6, 1);
                Rep.AddSingleValue("Дата", 6, 2);
                Rep.AddSingleValue("№ договора", 6, 3);
                Rep.AddSingleValue("Арендатор", 6, 4);
                Rep.AddSingleValue("Оплата аренды", 6, 5);
                Rep.AddSingleValue("Дополнительные оплаты", 6, 8);

                Rep.AddSingleValue("Сумма", 7, 5);
                Rep.AddSingleValue("Месяц", 7, 6);
                Rep.AddSingleValue("Пени", 7, 7);
                Rep.AddSingleValue("Тип оплаты", 7, 8);
                Rep.AddSingleValue("Сумма оплаты", 7, 9);

                Rep.SetFontBold(6, 1, 7, 9);

                Rep.AddMultiValue(dtReport, 8, 3);

                Rep.Merge(6, 1, 7, 1);
                Rep.Merge(6, 2, 7, 2);
                Rep.Merge(6, 3, 7, 3);
                Rep.Merge(6, 4, 7, 4);
                Rep.Merge(6, 5, 6, 7);
                Rep.Merge(6, 8, 6, 9);

                Rep.SetBorders(6, 1, dtReport.Rows.Count + 6 + 1, 9);

                //Итого
                decimal total = 0;

                for (int i = 0; dtReport.Rows.Count > i; i++)
                {
                    decimal d = 0;
                    decimal.TryParse(dtReport.Rows[i]["arendaSum"].ToString(), out d);
                    total += d;
                }

                Rep.AddSingleValue("ИТОГО:", dtReport.Rows.Count + 7 + 1, 4);
                Rep.AddSingleValue(total.ToString("### ### ### ##0.00"), dtReport.Rows.Count + 7 + 1, 5);
                Rep.SetBorders(dtReport.Rows.Count + 7 + 1, 5, dtReport.Rows.Count + 7 + 1, 5);

                /*
                 * Rep.SetColumnAutoSize(1, 1, grdPayments.Rows.Count + 10, dtPrint.Columns.Count);
                 */


                int t = 1;
                Rep.SetColumnWidth(1, t, 1, t, 10); //Отчет №
                t++;
                Rep.SetColumnWidth(1, t, 1, t, 10); //Дата
                t++;
                Rep.SetColumnWidth(1, t, 1, t, 15); //№ договора
                t++;
                Rep.SetColumnWidth(1, t, 1, t, 30); //Арендатор
                t++;
                Rep.SetColumnWidth(1, t, 1, t, 10); //Сумма
                t++;
                Rep.SetColumnWidth(1, t, 1, t, 15); //Месяц
                t++;
                Rep.SetColumnWidth(1, t, 1, t, 10); //Пени
                t++;
                Rep.SetColumnWidth(1, t, 1, t, 15); //Тип оплаты
                t++;
                Rep.SetColumnWidth(1, t, 1, t, 10); //Сумма оплаты


                Rep.SetWrapText(6, 1, 7, 9);

                Rep.SetCellAlignmentToCenter(6, 1, 7, 9);

                Rep.AddSingleValue(dtpDate.Value.ToString("dd.MM.yyyy"), 8, 2);

                Rep.SetCellAlignmentToRight(8, 3, dtReport.Rows.Count + 6 + 1, 3);
                Rep.SetCellAlignmentToRight(8, 5, dtReport.Rows.Count + 6 + 1 + 1, 5);
                Rep.SetCellAlignmentToRight(8, 7, dtReport.Rows.Count + 6 + 1, 7);
                Rep.SetCellAlignmentToRight(8, 9, dtReport.Rows.Count + 6 + 1, 9);

                Rep.SetFormat(8, 5, dtReport.Rows.Count + 6 + 1 + 1, 5, "0,00");
                Rep.SetFormat(8, 7, dtReport.Rows.Count + 6 + 1, 7, "0,00");
                Rep.SetFormat(8, 9, dtReport.Rows.Count + 6 + 1, 9, "0,00");

                /*
                 * Rep.SetCellAlignmentToCenter(7, 1, dtReport.Rows.Count + 6, 1);
                 * Rep.SetCellAlignmentToRight(7, 3, dtReport.Rows.Count + 6, 3);
                 * Rep.SetCellAlignmentToCenter(7, 4, dtReport.Rows.Count + 6, 4);
                 * Rep.SetCellAlignmentToRight(7, 5, dtReport.Rows.Count + 6, 5);
                 * Rep.SetCellAlignmentToRight(7, 7, dtReport.Rows.Count + 6, 7);
                 * Rep.SetCellAlignmentToRight(7, 8, dtReport.Rows.Count + 7, 8);
                 *
                 * Rep.SetFormat(7, 4, dtReport.Rows.Count + 6, 4, "ДД.ММ.ГГГГ");
                 * Rep.SetFormat(7, 5, dtReport.Rows.Count + 6, 5, "0,00");
                 * Rep.SetFormat(7, 7, dtReport.Rows.Count + 6, 7, "0,00");
                 * Rep.SetFormat(7, 8, dtReport.Rows.Count + 7, 8, "0,00");
                 */

                Rep.Show();
            }
            else
            {
                MessageBox.Show("Данных для отчета нет.", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Exemplo n.º 3
0
        private void btPrint_Click(object sender, EventArgs e)
        {
            //морозов последний договор
            bool error = false;

            if ((cboContract.SelectedValue == null) || (int.Parse(cboContract.SelectedValue.ToString()) == -1))
            {
                MessageBox.Show("Не выбран договор.", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            DataTable dtReport1 = new DataTable();

            dtReport1 = _proc.GetTenantReport1(int.Parse(cboContract.SelectedValue.ToString()), dtpDate1.Value.Date, dtpDate2.Value.Date);

            if (dtReport1 == null)
            {
                error = true;
            }

            DataTable dtReport2 = new DataTable();

            dtReport2 = _proc.GetTenantReport2(int.Parse(cboContract.SelectedValue.ToString()), dtpDate1.Value.Date, dtpDate2.Value.Date);

            if (dtReport2 == null)
            {
                error = true;
            }

            if ((dtReport1.Rows.Count == 0) && (dtReport2.Rows.Count == 0))
            {
                error = true;
            }

            if (error)
            {
                MessageBox.Show("Данных для отчета нет.", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            int id_fin = 0;

            for (int i = 0; dtReport2.Rows.Count > i; i++)
            {
                if (i == 0)
                {
                    id_fin = int.Parse(dtReport2.Rows[i]["id"].ToString());
                }
                else
                {
                    if (id_fin == int.Parse(dtReport2.Rows[i]["id"].ToString()))
                    {
                        dtReport2.Rows[i]["dopDateFines"]   = "";
                        dtReport2.Rows[i]["dopTypePayment"] = "";
                        dtReport2.Rows[i]["dopSumma"]       = "";
                    }
                    else
                    {
                        id_fin = int.Parse(dtReport2.Rows[i]["id"].ToString());
                    }
                }
            }

            for (int i = 0; dtReport2.Rows.Count > i; i++)
            {
                dtReport2.Rows[i]["dopSumma"] = numTextBox.ConvertToCompPunctuation(dtReport2.Rows[i]["dopSumma"].ToString());
            }

            dtReport2.Columns.Remove("id");

            DataTable dtAgreem = new DataTable();

            dtAgreem = _proc.GetLD(int.Parse(cboContract.SelectedValue.ToString()));

            DateTime CurDate = _proc.getdatetime();


            Logging.StartFirstLevel(79);
            Logging.Comment("Выгрузка отчета по арендатору");

            Logging.Comment("Арендатор ID: " + _id + " ; Наименование: " + _Tenent);
            Logging.Comment("ФИО представителя: " + _Pred);
            Logging.Comment("Местоположение: " + _Locate);
            Logging.Comment("Примечание: " + _remark);

            Logging.Comment("Параметры отчета");
            Logging.Comment("Период с " + dtpDate1.Value.ToShortDateString() + " по " + dtpDate2.Value.ToShortDateString());
            Logging.Comment("Договор ID: " + cboContract.SelectedValue + " ; Наименование: " + cboContract.Text);

            Logging.Comment($"Эл.почта:{dtAgreem.Rows[0]["email"]}");
            Logging.Comment($"Раб.телефон:{dtAgreem.Rows[0]["Work_phone"]}");

            Logging.Comment("Операцию выполнил: ID:" + Nwuram.Framework.Settings.User.UserSettings.User.Id
                            + " ; ФИО:" + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername);
            Logging.StopFirstLevel();

            HandmadeReport Rep = new HandmadeReport();

            Rep.AddSingleValue("Отчет по арендатору " + Name_Tenant
                               + " за период с " + dtpDate1.Value.ToString("dd.MM.yyyy")
                               + " по " + dtpDate2.Value.ToString("dd.MM.yyyy"), 2, 1);

            Rep.SetFontSize(2, 1, 2, 1, 14);
            Rep.SetFontBold(2, 1, 2, 1);

            Rep.AddSingleValue("Договор №", 4, 1);
            Rep.AddSingleValue("Дата договора:", 5, 1);
            Rep.AddSingleValue("Сумма по договору:", 6, 1);

            DateTime dAgr = DateTime.Parse(dtAgreem.Rows[0]["Date_of_Conclusion"].ToString());

            Rep.AddSingleValue(dtAgreem.Rows[0]["Agreement"].ToString(), 4, 3);
            Rep.AddSingleValue(dAgr.ToString("dd.MM.yyyy"), 5, 3);

            if (decimal.Parse(dtAgreem.Rows[0]["Reklama"].ToString()) > 0)
            {
                Rep.AddSingleValue(dtAgreem.Rows[0]["Reklama"].ToString(), 6, 3);
            }
            else
            {
                Rep.AddSingleValue(dtAgreem.Rows[0]["Total_Sum"].ToString(), 6, 3);
            }


            Rep.SetFormat(6, 2, 6, 2, "0,00");

            Rep.AddSingleValue("Дата:", 4, 8);
            Rep.SetFormat(4, 9, 4, 9, "@");
            Rep.AddSingleValue(CurDate.ToString("dd.MM.yyyy HH:mm"), 4, 9);
            //Rep.AddSingleValue(CurDate.ToString("dd.MM.yyyy"), 2, 8);

            dtReport1.Columns.RemoveAt(2);
            dtReport1.Columns.RemoveAt(1);
            dtReport1.Columns.RemoveAt(0);
            dtReport1.AcceptChanges();


            Rep.AddSingleValue("№", 8, 1);
            Rep.AddSingleValue("Оплата аренды", 8, 2);
            Rep.AddSingleValue("Дополнительные оплаты", 8, 6);

            Rep.AddSingleValue("Дата оплаты", 9, 2);
            Rep.AddSingleValue("Сумма оплаты", 9, 3);
            Rep.AddSingleValue("Месяц", 9, 5);
            Rep.AddSingleValue("Дата выписки оплаты", 9, 6);
            Rep.AddSingleValue("Тип оплаты", 9, 7);
            Rep.AddSingleValue("Сумма выписанн. оплаты", 9, 8);
            Rep.AddSingleValue("Дата оплаты", 9, 9);
            Rep.AddSingleValue("Сумма", 9, 10);

            Rep.AddSingleValue("Аренда", 10, 3);
            Rep.AddSingleValue("Пени", 10, 4);

            Rep.SetFontBold(8, 1, 10, 10);

            Rep.AddMultiValue(dtReport1, 11, 2);

            Rep.AddMultiValue(dtReport2, 11, 6);

            int num = 0;

            if (dtReport1.Rows.Count > dtReport2.Rows.Count)
            {
                num = dtReport1.Rows.Count;
            }
            else
            {
                num = dtReport2.Rows.Count;
            }

            for (int i = 0; num > i; i++)
            {
                Rep.AddSingleValue((i + 1).ToString(), 11 + i, 1);
            }

            int t = 1;

            Rep.SetColumnWidth(1, t, 1, t, 10); //№
            t++;
            Rep.SetColumnWidth(1, t, 1, t, 10); //Дата оплаты
            t++;
            Rep.SetColumnWidth(1, t, 1, t, 10); //Аренда
            t++;
            Rep.SetColumnWidth(1, t, 1, t, 10); //Пени
            t++;
            Rep.SetColumnWidth(1, t, 1, t, 10); //Месяц
            t++;
            Rep.SetColumnWidth(1, t, 1, t, 10); //Дата выписки оплаты
            t++;
            Rep.SetColumnWidth(1, t, 1, t, 10); //Тип оплаты
            t++;
            Rep.SetColumnWidth(1, t, 1, t, 10); //Сумма выписанн. оплаты
            t++;
            Rep.SetColumnWidth(1, t, 1, t, 10); //Дата оплаты
            t++;
            Rep.SetColumnWidth(1, t, 1, t, 10); //Сумма

            Rep.Merge(8, 1, 10, 1);
            Rep.Merge(8, 2, 8, 5);
            Rep.Merge(9, 2, 10, 2);
            Rep.Merge(9, 3, 9, 4);
            Rep.Merge(9, 5, 10, 5);
            Rep.Merge(8, 6, 8, 10);
            Rep.Merge(9, 6, 10, 6);
            Rep.Merge(9, 7, 10, 7);
            Rep.Merge(9, 8, 10, 8);
            Rep.Merge(9, 9, 10, 9);
            Rep.Merge(9, 10, 10, 10);

            Rep.SetWrapText(8, 1, 10, 10);

            Rep.SetCellAlignmentToCenter(8, 1, 10, 10);

            Rep.SetBorders(8, 1, num + 8 + 2, 10);


            //Итого
            decimal totalAr   = 0;
            decimal totalPeni = 0;

            for (int i = 0; dtReport1.Rows.Count > i; i++)
            {
                decimal d = 0;
                decimal.TryParse(dtReport1.Rows[i]["arendaSum"].ToString(), out d);
                totalAr += d;

                d = 0;
                decimal.TryParse(dtReport1.Rows[i]["arendaPeni"].ToString(), out d);
                totalPeni += d;
            }

            Rep.AddSingleValue("ИТОГО:", num + 8 + 3, 2);
            Rep.AddSingleValue(totalAr.ToString("### ### ### ##0.00"), num + 8 + 3, 3);
            Rep.AddSingleValue(totalPeni.ToString("### ### ### ##0.00"), num + 8 + 3, 4);
            Rep.SetBorders(num + 8 + 3, 3, num + 8 + 3, 4);

            //Итого
            decimal totalDopSumToPay = 0;
            decimal totalDopSumPayed = 0;

            for (int i = 0; dtReport2.Rows.Count > i; i++)
            {
                decimal dToPay = 0;
                decimal.TryParse(dtReport2.Rows[i]["dopSumma"].ToString(), out dToPay);

                decimal dPayed = 0;
                decimal.TryParse(dtReport2.Rows[i]["dopSum"].ToString(), out dPayed);

                totalDopSumToPay += dToPay;
                totalDopSumPayed += dPayed;
            }

            Rep.AddSingleValue("ИТОГО:", num + 8 + 3, 9);
            Rep.AddSingleValue(totalDopSumPayed.ToString("### ### ### ##0.00"), num + 8 + 3, 10);
            Rep.SetBorders(num + 8 + 3, 10, num + 8 + 3, 10);

            Rep.AddSingleValue("Долг:", num + 8 + 3 + 2, 2);
            decimal TotalDebtSum = getDebt();

            Rep.AddSingleValue(TotalDebtSum.ToString("### ### ### ##0.00"), num + 8 + 3 + 2, 3);
            Rep.SetBorders(num + 8 + 3 + 2, 3, num + 8 + 3 + 2, 3);

            Rep.AddSingleValue("Долг:", num + 8 + 3 + 2, 9);
            decimal tt = totalDopSumToPay - totalDopSumPayed;

            Rep.AddSingleValue(tt.ToString("### ### ### ##0.00"), num + 8 + 3 + 2, 10);
            Rep.SetBorders(num + 8 + 3 + 2, 10, num + 8 + 3 + 2, 10);

            Rep.SetCellAlignmentToCenter(11, 1, 11 + num - 1, 1);
            Rep.SetCellAlignmentToCenter(11, 2, 11 + num - 1, 2);
            Rep.SetCellAlignmentToRight(11, 3, 11 + num + 2, 3);
            Rep.SetCellAlignmentToRight(11, 4, 11 + num, 4);
            Rep.SetCellAlignmentToCenter(11, 5, 11 + num - 1, 5);
            Rep.SetCellAlignmentToCenter(11, 6, 11 + num - 1, 6);
            Rep.SetCellAlignmentToCenter(11, 7, 11 + num - 1, 7);
            Rep.SetCellAlignmentToRight(11, 8, 11 + num - 1, 8);
            Rep.SetCellAlignmentToCenter(11, 9, 11 + num - 1, 9);
            Rep.SetCellAlignmentToRight(11, 10, 11 + num + 2, 10);


            Rep.SetFormat(11, 3, 11 + num, 3, "0,00");
            Rep.SetFormat(11, 4, 11 + num, 4, "0,00");
            Rep.SetFormat(11, 8, 11 + num - 1, 8, "0,00");
            Rep.SetFormat(11, 10, 11 + num, 10, "0,00");

            Rep.Show();
        }