コード例 #1
0
        /// <summary>
        /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка
        /// </summary>
        /// <inheritdoc />
        public void AdditionalInitializeComponent()
        {
            _reportFile = Common.GetReportFilePath(ReportFileName);                      // Путь к файлу отчёта

            // Запрос параметров отчёта в отдельном окне

            const bool   isPeriod         = false;
            const bool   isMounthOrYeath  = true;
            const bool   isWarehouse      = false;
            const bool   isWorkGuild      = false;
            const bool   isDate           = true;
            const bool   isDatePeriod     = false;
            const bool   isMonthYear      = false;
            const bool   isProduct        = true;
            const bool   isCompany        = false;
            const bool   isTypeProduct    = false;
            const bool   isFormaPayment   = false;
            const bool   isAbroad         = false;
            const string message          = "Выберите период выборки и продукт";
            var          parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isWarehouse,
                                                                       isWorkGuild, isDate, isDatePeriod, isMonthYear, isProduct, isCompany, isTypeProduct, isFormaPayment,
                                                                       isAbroad, message)
            {
                Owner = Common.GetOwnerWindow()
            };

            parametersWindow.ShowDialog();
            if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true)
            {
                return;
            }
            // Получение введённых пользователем параметров
            var monthOrYear          = parametersWindow.SelectedMonthOrYear();
            var nullableLoadDateTime = parametersWindow.SelectedDateTime();

            if (nullableLoadDateTime == null)
            {
                const string           errorMessage = "Дата не указана";
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }
            var loadDateTime = (DateTime)nullableLoadDateTime;
            var product      = parametersWindow.SelectedProduct();

            // Формирование одиночных строковых параметров отчёта
            _reportParameters = new[] { new ReportParameter("Date", loadDateTime.ToShortDateString()) };
            try
            {
                var          resultReportList = ShipmentByProductService.GetShipmentByProduct(monthOrYear, loadDateTime, product);
                const string dataSourceName   = "ShipmentByProduct";
                _reportDataSource  = new ReportDataSource(dataSourceName, resultReportList);
                ReportViewer.Load += ReportViewer_Load;                     // Подписка на метод загрузки и отображения отчёта
            }
            catch (StorageException ex)
            {
                Common.ShowDetailExceptionMessage(ex);
            }
        }
コード例 #2
0
        /// <summary>
        /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка
        /// </summary>
        /// <inheritdoc />
        public void AdditionalInitializeComponent()
        {
            _reportFile = Common.GetReportFilePath(ReportFileName);                      // Путь к файлу отчёта

            // Запрос параметров отчёта в отдельном окне

            const bool isPeriod        = false;
            const bool isMounthOrYeath = false;
            const bool isWarehouse     = false;
            const bool isWorkGuild     = false;
            const bool isDate          = false;
            const bool isDatePeriod    = false;
            const bool isMonthYear     = true;
            const bool isProduct       = false;
            const bool isCompany       = false;
            const bool isTypeProduct   = false;
            const bool isFormaPayment  = false;
            const bool isAbroad        = false;

            const string message          = "Выберите период";
            var          parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isWarehouse,
                                                                       isWorkGuild, isDate, isDatePeriod, isMonthYear, isProduct, isCompany, isTypeProduct, isFormaPayment,
                                                                       isAbroad, message)
            {
                Owner = Common.GetOwnerWindow()
            };

            parametersWindow.ShowDialog();
            if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true)
            {
                return;
            }

            var monthYear = parametersWindow.SelectedMonthAndYear();

            if (monthYear.Item2 != null && monthYear.Item1 != null)
            {
                var startDate = new DateTime((int)monthYear.Item2, (int)monthYear.Item1, 1);
                var endDate   = startDate.AddMonths(1).AddDays(-1);

                // Формирование одиночных строковых параметров отчёта
                _reportParameters = new[]
                {
                    new ReportParameter("Date", endDate.ToString("MMMM yyyy"))
                };
                try
                {
                    var          resultReportList = AtTheExpenseOfWagesService.GetAtTheExpenseOfWages(startDate, endDate);
                    const string dataSourceName   = "AtTheExpenseOfWages";
                    _reportDataSource  = new ReportDataSource(dataSourceName, resultReportList);
                    ReportViewer.Load += ReportViewer_Load;                         // Подписка на метод загрузки и отображения отчёта
                }
                catch (StorageException ex)
                {
                    Common.ShowDetailExceptionMessage(ex);
                }
            }
        }
        /// <summary>
        /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка
        /// </summary>
        /// <inheritdoc />
        public void AdditionalInitializeComponent()
        {
            _reportFile = Common.GetReportFilePath(ReportFileName);          // Путь к файлу отчёта

            // Запрос параметров отчёта в отдельном окне

            const bool   isPeriod         = false;
            const bool   isMounthOrYeath  = true;
            const bool   isWarehouse      = false;
            const bool   isWorkGuild      = false;
            const bool   isDate           = true;
            const bool   isDatePeriod     = false;
            const bool   isMonthYear      = false;
            const bool   isProduct        = false;
            const bool   isCompany        = false;
            const bool   isTypeProduct    = false;
            const bool   isFormaPayment   = false;
            const bool   isAbroad         = false;
            const string message          = "Выберите период, дату";
            var          parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isWarehouse,
                                                                       isWorkGuild, isDate, isDatePeriod, isMonthYear, isProduct, isCompany, isTypeProduct, isFormaPayment,
                                                                       isAbroad, message)
            {
                Owner = Common.GetOwnerWindow()
            };

            parametersWindow.ShowDialog();
            if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true)
            {
                return;
            }

            // Получение введённых пользователем параметров
            var monthOrYear          = parametersWindow.SelectedMonthOrYear();
            var nullableLoadDateTime = parametersWindow.SelectedDateTime();

            if (nullableLoadDateTime == null)
            {
                const string           errorMessage = "Дата не указана";
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }
            var endDate = (DateTime)nullableLoadDateTime;

            DateTime startDate = new DateTime(endDate.Year, 1, 1);

            // Формирование одиночных строковых параметров отчёта
            _reportParameters = new[]
            {
                new ReportParameter("Date", endDate.ToShortDateString()),
                new ReportParameter("Name", "Оборудование(скл.39)"),
                new ReportParameter("TodayYear", endDate.Year.ToString())
            };
            try
            {
                const string dataSourceName = "ExportAccounting";

                var resultReportList =
                    ExportAccountingService.GetExportAccountingsEquipment(startDate, endDate);

                if (monthOrYear == "m")
                {
                    var mounthNumber      = endDate.AddDays(-1).Month;
                    var resultReportList2 = new List <ExportAccounting>();
                    foreach (var item in resultReportList)
                    {
                        if (item.IdMonth == mounthNumber)
                        {
                            resultReportList2.Add(item);
                        }
                    }
                    _reportDataSource = new ReportDataSource(dataSourceName, resultReportList2);
                }
                else
                {
                    _reportDataSource = new ReportDataSource(dataSourceName, resultReportList);
                }

                ReportViewer.Load += ReportViewer_Load;     // Подписка на метод загрузки и отображения отчёта
            }
            catch (StorageException ex)
            {
                Common.ShowDetailExceptionMessage(ex);
            }
        }
        /// <summary>
        /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка
        /// </summary>
        /// <inheritdoc />
        public void AdditionalInitializeComponent()
        {
            _reportFile = Common.GetReportFilePath(ReportFileName);          // Путь к файлу отчёта

            // Запрос параметров отчёта в отдельном окне

            const bool   isPeriod         = false;
            const bool   isMounthOrYeath  = false;
            const bool   isWarehouse      = false;
            const bool   isWorkGuild      = false;
            const bool   isDate           = true;
            const bool   isDatePeriod     = false;
            const bool   isMonthYear      = false;
            const bool   isProduct        = false;
            const bool   isCompany        = false;
            const bool   isTypeProduct    = false;
            const bool   isFormaPayment   = false;
            const bool   isAbroad         = false;
            const string message          = "Выберите дату";
            var          parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isWarehouse,
                                                                       isWorkGuild, isDate, isDatePeriod, isMonthYear, isProduct, isCompany, isTypeProduct, isFormaPayment,
                                                                       isAbroad, message)
            {
                Owner = Common.GetOwnerWindow()
            };

            parametersWindow.ShowDialog();
            if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true)
            {
                return;
            }

            // Получение введённых пользователем параметров
            var nullableLoadDateTime = parametersWindow.SelectedDateTime();

            if (nullableLoadDateTime == null)
            {
                const string           errorMessage = "Дата не указана";
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }
            var endDate = (DateTime)nullableLoadDateTime;

            var startDate = new DateTime(endDate.AddDays(-1).Year - 1, 1, 1);

            // Формирование одиночных строковых параметров отчёта
            _reportParameters = new[]
            {
                new ReportParameter("Text", "готовой продукции по курсу на дату отгрузки"),
                new ReportParameter("Date", endDate.AddDays(-1).ToShortDateString()),
                new ReportParameter("OldYear", (endDate.AddDays(-1).Year - 1).ToString()),
                new ReportParameter("TodayYear", endDate.AddDays(-1).Year.ToString())
            };
            try
            {
                const string dataSourceName   = "ExportByTerritory";
                var          resultReportList =
                    ExportByTerritoryService.GetExportByTerritoryFinishedProductsByDateShipment(startDate, endDate);

                _reportDataSource  = new ReportDataSource(dataSourceName, resultReportList);
                ReportViewer.Load += ReportViewer_Load; // Подписка на метод загрузки и отображения отчёта
            }
            catch (StorageException ex)
            {
                Common.ShowDetailExceptionMessage(ex);
            }
        }
        /// <summary>
        /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка
        /// </summary>
        /// <inheritdoc />
        public void AdditionalInitializeComponent()
        {
            _reportFile = Common.GetReportFilePath(ReportFileName);             // Путь к файлу отчёта

            // Запрос параметров отчёта в отдельном окне

            const bool isPeriod                  = false;
            const bool isMounthOrYeath           = false;
            const bool isDate                    = false;
            const bool isDatePeriod              = false;
            const bool isKoefT                   = true;
            const bool isKoefZ                   = true;
            const bool isWorkGuild               = true;
            const bool isArea                    = false;
            const bool isWorkGuildSpecifiedOrAll = false;
            const bool isProduct                 = false;
            const bool isDetail                  = false;

            const bool isProductSpecifiedOrAll = false;
            const bool isAssemblyUnit          = false;
            const bool isMonthYear             = false;

            const bool isTimeFund                         = false;
            const bool isProcentageOfLossTime             = false;
            const bool isProcentageOfPerformanceStandarts = false;
            const bool isAreaSpecifiedOrAll               = false;

            const string message          = "Введите коэффициенты";
            var          parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isDate, isDatePeriod, isKoefT,
                                                                       isKoefZ, isWorkGuild, isArea, isWorkGuildSpecifiedOrAll, isProduct, isDetail, isProductSpecifiedOrAll,
                                                                       isAssemblyUnit, isMonthYear, isTimeFund,
                                                                       isProcentageOfLossTime, isProcentageOfPerformanceStandarts, isAreaSpecifiedOrAll, message)
            {
                Owner = Common.GetOwnerWindow()
            };

            parametersWindow.ShowDialog();
            if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true)
            {
                return;
            }
            // Получение введённых пользователем параметров

            var loadDateTime = DateTime.Today;

            var nullableKoeft = parametersWindow.KoefTDecimalUpDown.Value;
            var nullableKoefz = parametersWindow.KoefZDecimalUpDown.Value;

            if (nullableKoeft == null || nullableKoefz == null)
            {
                const string           errorMessage = "Не указаны коэффициенты";
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }
            var koefT = nullableKoeft;
            var koefZ = nullableKoefz;

            var nullanleworkGuild = parametersWindow.SelectedWorkGuild();

            if (nullanleworkGuild == null)
            {
                const string           errorMessage = "Не указан цех";
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }

            var workGuild = nullanleworkGuild;

            // Формирование одиночных строковых параметров отчёта
            _reportParameters = new[] { new ReportParameter("Date", loadDateTime.ToShortDateString()),
                                        new ReportParameter("Koeft", koefT.ToString()),
                                        new ReportParameter("Koefz", koefZ.ToString()),
                                        new ReportParameter("WorkGuild", workGuild.Id.ToString()) };
            try
            {
                var          resultReportList = SummeryOfProductInContextOfWorkGuildAndAreaForWorkGuildService.GetSummeryOfProductInContextOfWorkGuildAndAreaForWorkGuildService(workGuild.Id);
                const string dataSourceName   = "SummeryOfProductInContextOdWorkGuildAndAreaForWorkGuild";
                _reportDataSource  = new ReportDataSource(dataSourceName, resultReportList);
                ReportViewer.Load += ReportViewer_Load;                     // Подписка на метод загрузки и отображения отчёта
            }
            catch (StorageException ex)
            {
                Common.ShowDetailExceptionMessage(ex);
            }
        }
        /// <summary>
        /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка
        /// </summary>
        /// <inheritdoc />
        public void AdditionalInitializeComponent()
        {
            _reportFile = Common.GetReportFilePath(ReportFileName);             // Путь к файлу отчёта

            // Запрос параметров отчёта в отдельном окне
            const bool isPeriod                  = false;
            const bool isMounthOrYeath           = false;
            const bool isDate                    = false;
            const bool isDatePeriod              = false;
            const bool isKoefT                   = false;
            const bool isKoefZ                   = false;
            const bool isWorkGuild               = false;
            const bool isArea                    = false;
            const bool isWorkGuildSpecifiedOrAll = true;
            const bool isProduct                 = true;
            const bool isDetail                  = false;

            const bool isProductSpecifiedOrAll = false;
            const bool isAssemblyUnit          = false;
            const bool isMonthYear             = false;

            const bool isTimeFund                         = false;
            const bool isProcentageOfLossTime             = false;
            const bool isProcentageOfPerformanceStandarts = false;
            const bool isAreaSpecifiedOrAll               = false;

            const string message          = "Укажите цех и изделие";
            var          parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isDate, isDatePeriod,
                                                                       isKoefT, isKoefZ, isWorkGuild, isArea, isWorkGuildSpecifiedOrAll, isProduct, isDetail, isProductSpecifiedOrAll,
                                                                       isAssemblyUnit, isMonthYear, isTimeFund,
                                                                       isProcentageOfLossTime, isProcentageOfPerformanceStandarts, isAreaSpecifiedOrAll, message)
            {
                Owner = Common.GetOwnerWindow()
            };

            parametersWindow.ShowDialog();
            if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true)
            {
                return;
            }
            // Получение введённых пользователем параметров

            var loadDateTime = DateTime.Today;

            var nullableProduct = parametersWindow.SelectedProduct();

            if (nullableProduct == null)
            {
                const string           errorMessage = "Не указан код изделия";
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }

            var product = nullableProduct;

            var workGuild = parametersWindow.SelectedWorkGuildOrAll();

            // Формирование одиночных строковых параметров отчёта
            _reportParameters = new[] { new ReportParameter("Date", loadDateTime.ToShortDateString()),
                                        new ReportParameter("WorkGuild", workGuild != null ? "цех " + workGuild.Id.ToString(CultureInfo.InvariantCulture) : "по всему заводу") };
            try
            {
                var          resultReportList = PrintingOfProsuctInContextOfDetalOperationsService.GetPrintingOfProsuctInContextOfDetalOperations(product.Id, workGuild);
                const string dataSourceName   = "PrintingOfProductInContextOfDetalOperations";
                _reportDataSource  = new ReportDataSource(dataSourceName, resultReportList);
                ReportViewer.Load += ReportViewer_Load;                     // Подписка на метод загрузки и отображения отчёта
            }
            catch (StorageException ex)
            {
                Common.ShowDetailExceptionMessage(ex);
            }
        }
コード例 #7
0
        /// <summary>
        /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка
        /// </summary>
        /// <inheritdoc />
        public void AdditionalInitializeComponent()
        {
            _reportFile = Common.GetReportFilePath(ReportFileName);                      // Путь к файлу отчёта

            // Запрос параметров отчёта в отдельном окне

            const bool isPeriod        = true;
            const bool isMounthOrYeath = false;
            const bool isWarehouse     = false;
            const bool isWorkGuild     = false;
            const bool isDate          = false;
            const bool isDatePeriod    = false;
            const bool isMonthYear     = false;
            const bool isProduct       = false;
            const bool isCompany       = false;
            const bool isTypeProduct   = false;
            const bool isFormaPayment  = true;
            const bool isAbroad        = false;

            const string message          = "Выберите период, дату и оплату";
            var          parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isWarehouse,
                                                                       isWorkGuild, isDate, isDatePeriod, isMonthYear, isProduct, isCompany, isTypeProduct, isFormaPayment,
                                                                       isAbroad, message)
            {
                Owner = Common.GetOwnerWindow()
            };

            parametersWindow.ShowDialog();
            if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true)
            {
                return;
            }

            DateTime startDate;
            DateTime endDate;

            var period = parametersWindow.SelectedPeriod();

            if (period != "p")
            {
                // Получение введённых пользователем параметров
                var nullableLoadDateTime = parametersWindow.SelectedDateTime();
                if (nullableLoadDateTime == null)
                {
                    const string           errorMessage = "Дата не указана";
                    const MessageBoxButton buttons      = MessageBoxButton.OK;
                    const MessageBoxImage  messageType  = MessageBoxImage.Error;
                    MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                    return;
                }

                var loadDateTime = (DateTime)nullableLoadDateTime;

                endDate   = loadDateTime.AddDays(-1);
                startDate = period == "m"
                                        ? Common.GetBeginOfMonthWithOffset(endDate)
                                        : new DateTime(endDate.Year, 1, 1);
            }
            else
            {
                // Получение введённых пользователем параметров
                var nullableStartDateTime = parametersWindow.SelectedDateTimeStart();
                var nullableEndDateTime   = parametersWindow.SelectedDateTimeEnd();
                if (nullableStartDateTime == null || nullableEndDateTime == null)
                {
                    const string           errorMessage = "Дата не указана";
                    const MessageBoxButton buttons      = MessageBoxButton.OK;
                    const MessageBoxImage  messageType  = MessageBoxImage.Error;
                    MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                    return;
                }

                endDate   = ((DateTime)nullableEndDateTime).AddDays(-1);
                startDate = Common.GetBeginOfMonthWithOffset(endDate);
            }

            var formaPayment = parametersWindow.SelectedFormaPayment();

            // Формирование одиночных строковых параметров отчёта
            _reportParameters = new[]
            {
                new ReportParameter("StartDate", startDate.ToShortDateString()),
                new ReportParameter("EndDate", endDate.ToShortDateString())
            };
            try
            {
                var          resultReportList = ControlDebtsService.GetControlDebts(startDate, endDate, formaPayment);
                const string dataSourceName   = "ControlDebts";
                _reportDataSource  = new ReportDataSource(dataSourceName, resultReportList);
                ReportViewer.Load += ReportViewer_Load;                     // Подписка на метод загрузки и отображения отчёта
            }
            catch (StorageException ex)
            {
                Common.ShowDetailExceptionMessage(ex);
            }
        }
コード例 #8
0
        /// <summary>
        /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка
        /// </summary>
        /// <inheritdoc />
        public void AdditionalInitializeComponent()
        {
            _reportFile = Common.GetReportFilePath(ReportFileName); // Путь к файлу отчёта

            // Запрос параметров отчёта в отдельном окне
            const bool isPeriod                  = false;
            const bool isMounthOrYeath           = false;
            const bool isDate                    = false;
            const bool isDatePeriod              = false;
            const bool isKoefT                   = false;
            const bool isKoefZ                   = false;
            const bool isWorkGuild               = false;
            const bool isArea                    = false;
            const bool isWorkGuildSpecifiedOrAll = false;
            const bool isProduct                 = false;
            const bool isDetail                  = true;
            const bool isProductSpecifiedOrAll   = false;
            const bool isAssemblyUnit            = false;
            const bool isMonthYear               = false;

            const bool isTimeFund                         = false;
            const bool isProcentageOfLossTime             = false;
            const bool isProcentageOfPerformanceStandarts = false;
            const bool isAreaSpecifiedOrAll               = false;

            const string message          = "Укажите анулируемое изделие";
            var          parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isDate, isDatePeriod, isKoefT,
                                                                       isKoefZ, isWorkGuild, isArea, isWorkGuildSpecifiedOrAll, isProduct, isDetail, isProductSpecifiedOrAll,
                                                                       isAssemblyUnit, isMonthYear, isTimeFund,
                                                                       isProcentageOfLossTime, isProcentageOfPerformanceStandarts, isAreaSpecifiedOrAll, message)
            {
                Owner = Common.GetOwnerWindow()
            };

            parametersWindow.ShowDialog();
            if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true)
            {
                return;
            }

            // Получение введённых пользователем параметров
            var nullableDetail = parametersWindow.SelectedDetail();

            if (nullableDetail == null || nullableDetail == null)
            {
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const string           errorMessage = "Не указана деталь!";
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }

            var detail = nullableDetail.CodeDetail;

            // Формирование одиночных строковых параметров отчёта

            _reportParameters = new[]
            {
                new ReportParameter("DetalId", detail.ToString())
            };
            try
            {
                var          resultReportList = CancelledDetailsService.GetCancelledDetails(detail);
                const string dataSourceName   = "CancelledDetails";
                _reportDataSource  = new ReportDataSource(dataSourceName, resultReportList);
                ReportViewer.Load += ReportViewer_Load;     // Подписка на метод загрузки и отображения отчёта
            }
            catch (StorageException ex)
            {
                Common.ShowDetailExceptionMessage(ex);
            }
        }
コード例 #9
0
        /// <summary>
        /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка
        /// </summary>
        /// <inheritdoc />
        public void AdditionalInitializeComponent()
        {
            _reportFile = Common.GetReportFilePath(ReportFileName);             // Путь к файлу отчёта

            // Запрос параметров отчёта в отдельном окне

            const bool isPeriod                  = false;
            const bool isMounthOrYeath           = false;
            const bool isDate                    = false;
            const bool isDatePeriod              = false;
            const bool isKoefT                   = false;
            const bool isKoefZ                   = false;
            const bool isWorkGuild               = false;
            const bool isArea                    = false;
            const bool isWorkGuildSpecifiedOrAll = true;
            const bool isProduct                 = false;
            const bool isDetail                  = false;
            const bool isProductSpecifiedOrAll   = false;
            const bool isAssemblyUnit            = false;
            const bool isMonthYear               = false;

            const bool isTimeFund                         = true;
            const bool isProcentageOfLossTime             = true;
            const bool isProcentageOfPerformanceStandarts = true;
            const bool isAreaSpecifiedOrAll               = true;

            const string message          = "Укажите цех(цех и участок), фонд времени, процент потери времени \nи процент выполнения норм выработки.";
            var          parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isDate, isDatePeriod, isKoefT, isKoefZ,
                                                                       isWorkGuild, isArea, isWorkGuildSpecifiedOrAll, isDetail,
                                                                       isProduct, isProductSpecifiedOrAll, isAssemblyUnit, isMonthYear, isTimeFund,
                                                                       isProcentageOfLossTime, isProcentageOfPerformanceStandarts, isAreaSpecifiedOrAll, message)
            {
                Owner = Common.GetOwnerWindow()
            };

            parametersWindow.ShowDialog();
            if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true)
            {
                return;
            }
            // Получение введённых пользователем параметров

            //Получение параметра фонда времени

            var nullabletimeFund = parametersWindow.TimeFundDecimalUpDown.Value;

            if (nullabletimeFund == null)
            {
                const string           errorMessage = "Не указан фонд времени";
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }

            var timeFund = nullabletimeFund;

            //Получение параметра процента потерь времени

            var nullableprocentageOfLossTime = parametersWindow.ProcentageOfLossTimeDecimalUpDown.Value;

            if (nullableprocentageOfLossTime == null)
            {
                const string           errorMessage = "Не указан процент потери времени";
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }

            var procentageOfLossTime = nullableprocentageOfLossTime;
            //Получение параметра процента выполнения норм выработки

            var nullableprocentageOfPerformaneStandarts = parametersWindow.ProcentageOfPerformanceStandartsDecimalUpDown.Value;

            if (nullableprocentageOfPerformaneStandarts == null)
            {
                const string           errorMessage = "Не указан процент выполнения норм выработки";
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }

            var procentageOfPerformaneStandarts = nullableprocentageOfPerformaneStandarts;

            //Получение параментра номера цеха
            var workGuild = parametersWindow.SelectedWorkGuildOrAll();

            //Получение параментра номера участка
            var area = parametersWindow.SelectedAreaOrAll();



            string workGuildArea;

            if (workGuild == null)
            {
                workGuildArea = "по всему заводу";
            }
            else
            {
                workGuildArea = area == null
                            ? $"по цеху {workGuild.Id} по всем участкам"
                            : $"по цеху {workGuild.Id} по участку {area.Id}";
            }

            // Формирование одиночных строковых параметров отчёта
            _reportParameters = new[] { new ReportParameter("FondVrem", timeFund.ToString()),
                                        new ReportParameter("Procpoter", procentageOfLossTime.ToString()),
                                        new ReportParameter("Procnorm", procentageOfPerformaneStandarts.ToString()),
                                        new ReportParameter("WorkGuildArea", workGuildArea) };
            try
            {
                var          resultReportList = CalculationNumberWorkguildWorkersRealasesService.GetCalculationNumberWorkguildWorkersRealases(workGuild, area);
                const string dataSourceName   = "CalculationNumberWorkguildWorkersRealase";
                _reportDataSource  = new ReportDataSource(dataSourceName, resultReportList);
                ReportViewer.Load += ReportViewer_Load;                     // Подписка на метод загрузки и отображения отчёта
            }
            catch (StorageException ex)
            {
                Common.ShowDetailExceptionMessage(ex);
            }
        }
        /// <summary>
        /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка
        /// </summary>
        /// <inheritdoc />
        public void AdditionalInitializeComponent()
        {
            _reportFile = Common.GetReportFilePath(ReportFileName); // Путь к файлу отчёта

            // Запрос параметров отчёта в отдельном окне
            const bool isPeriod                  = false;
            const bool isMounthOrYeath           = false;
            const bool isDate                    = false;
            const bool isDatePeriod              = false;
            const bool isKoefT                   = false;
            const bool isKoefZ                   = false;
            const bool isWorkGuild               = false;
            const bool isArea                    = false;
            const bool isWorkGuildSpecifiedOrAll = false;
            const bool isProduct                 = false;
            const bool isDetail                  = false;
            const bool isProductSpecifiedOrAll   = false;
            const bool isAssemblyUnit            = false;
            const bool isMonthYear               = true;

            const bool isTimeFund                         = false;
            const bool isProcentageOfLossTime             = false;
            const bool isProcentageOfPerformanceStandarts = false;
            const bool isAreaSpecifiedOrAll               = false;

            const string message          = "Укажите месяц и год";
            var          parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isDate, isDatePeriod, isKoefT,
                                                                       isKoefZ, isWorkGuild, isArea, isWorkGuildSpecifiedOrAll, isProduct, isDetail, isProductSpecifiedOrAll,
                                                                       isAssemblyUnit, isMonthYear, isTimeFund,
                                                                       isProcentageOfLossTime, isProcentageOfPerformanceStandarts, isAreaSpecifiedOrAll, message)
            {
                Owner = Common.GetOwnerWindow()
            };

            parametersWindow.ShowDialog();
            if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true)
            {
                return;
            }

            // Получение введённых пользователем параметров
            var nullableMonthYear = parametersWindow.SelectedMonthAndYear();

            if (nullableMonthYear.Item1 == null || nullableMonthYear.Item2 == null)
            {
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const string           errorMessage = "Не указаны месяц или год!";
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }
            var year       = (int)nullableMonthYear.Item2;
            var month      = (int)nullableMonthYear.Item1;
            var dayOfMonth = month == 12 ? 31 : new DateTime(year, month + 1, 1).AddDays(-1).Day;

            var startDateTime = new DateTime(year, month, 1);
            var endDateTime   = new DateTime(year, month, dayOfMonth);

            // Формирование одиночных строковых параметров отчёта
            const int monthOffset = 1;
            var       monthName   = DateTimeFormatInfo.GetInstance(CultureInfo.CurrentCulture).MonthNames[month - monthOffset];

            _reportParameters = new[]
            {
                new ReportParameter("Month", monthName),
                new ReportParameter("Yeath", year.ToString())
            };
            try
            {
                var resultReportList
                    = CancelledDetailsService.GetCancelledDetailsOnDate(startDateTime, endDateTime);
                const string dataSourceName = "CancelledDetails";
                _reportDataSource  = new ReportDataSource(dataSourceName, resultReportList);
                ReportViewer.Load += ReportViewer_Load;     // Подписка на метод загрузки и отображения отчёта
            }
            catch (StorageException ex)
            {
                Common.ShowDetailExceptionMessage(ex);
            }
        }
コード例 #11
0
        /// <summary>
        /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка
        /// </summary>
        /// <inheritdoc />
        public void AdditionalInitializeComponent()
        {
            _reportFile = Common.GetReportFilePath(ReportFileName);                      // Путь к файлу отчёта

            // Запрос параметров отчёта в отдельном окне

            const bool   isPeriod         = false;
            const bool   isMounthOrYeath  = true;
            const bool   isWarehouse      = false;
            const bool   isWorkGuild      = false;
            const bool   isDate           = true;
            const bool   isDatePeriod     = false;
            const bool   isMonthYear      = false;
            const bool   isProduct        = false;
            const bool   isCompany        = false;
            const bool   isTypeProduct    = false;
            const bool   isFormaPayment   = false;
            const bool   isAbroad         = false;
            const string message          = "Выберите период выборки";
            var          parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isWarehouse,
                                                                       isWorkGuild, isDate, isDatePeriod, isMonthYear, isProduct, isCompany, isTypeProduct, isFormaPayment,
                                                                       isAbroad, message)
            {
                Owner = Common.GetOwnerWindow()
            };

            parametersWindow.ShowDialog();
            if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true)
            {
                return;
            }
            // Получение введённых пользователем параметров
            var monthOrYear          = parametersWindow.SelectedMonthOrYear();
            var nullableLoadDateTime = parametersWindow.SelectedDateTime();

            if (nullableLoadDateTime == null)
            {
                const string           errorMessage = "Дата не указана";
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }
            var loadDateTime = (DateTime)nullableLoadDateTime;

            var endDate   = loadDateTime.AddDays(-1);
            var startDate = endDate;

            if (monthOrYear == "m")
            {
                startDate = new DateTime(endDate.Year, endDate.Month, 1);
            }
            else if (monthOrYear == "y")
            {
                startDate = new DateTime(endDate.Year, 1, 1);
            }

            // Формирование одиночных строковых параметров отчёта
            var reportParameter = new ReportParameter("Report", "");

            switch (_num)
            {
            case 1:
                reportParameter = new ReportParameter("Report", "по учету");
                break;

            case 2:
                reportParameter = new ReportParameter("Report", "на дату отгрузки");
                break;
            }

            _reportParameters = new[]
            {
                new ReportParameter("StartDate", startDate.ToShortDateString()),
                new ReportParameter("EndDate", endDate.ToShortDateString()),
                reportParameter
            };

            try
            {
                var          resultReportList = ExportByTypeSupplyService.GetExportByTypeSupply(startDate, endDate, _num);
                const string dataSourceName   = "ExportByTypeSupply";
                _reportDataSource  = new ReportDataSource(dataSourceName, resultReportList);
                ReportViewer.Load += ReportViewer_Load;                         // Подписка на метод загрузки и отображения отчёта}
            }
            catch (StorageException ex)
            {
                Common.ShowDetailExceptionMessage(ex);
            }
        }
コード例 #12
0
        /// <summary>
        /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка
        /// </summary>
        /// <inheritdoc />
        public void AdditionalInitializeComponent()
        {
            _reportFile = Common.GetReportFilePath(ReportFileName);             // Путь к файлу отчёта

            // Запрос параметров отчёта в отдельном окне

            const bool   isPeriod         = false;
            const bool   isMounthOrYeath  = false;
            const bool   isWarehouse      = false;
            const bool   isWorkGuild      = false;
            const bool   isDate           = false;
            const bool   isDatePeriod     = true;
            const bool   isMonthYear      = false;
            const bool   isProduct        = false;
            const bool   isCompany        = false;
            const bool   isTypeProduct    = false;
            const bool   isFormaPayment   = false;
            const bool   isAbroad         = false;
            const string message          = "Выберите дату";
            var          parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isWarehouse,
                                                                       isWorkGuild, isDate, isDatePeriod, isMonthYear, isProduct, isCompany, isTypeProduct, isFormaPayment,
                                                                       isAbroad, message)
            {
                Owner = Common.GetOwnerWindow()
            };

            parametersWindow.ShowDialog();
            if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true)
            {
                return;
            }

            // Получение введённых пользователем параметров
            var nullableStartDateTime = parametersWindow.SelectedDateTimeStart();
            var nullableEndDateTime   = parametersWindow.SelectedDateTimeEnd();

            if (nullableStartDateTime == null || nullableEndDateTime == null)
            {
                const string           errorMessage = "Дата не указана";
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }

            var endDate   = (DateTime)nullableEndDateTime;
            var startDate = (DateTime)nullableStartDateTime;

            try
            {
                var resultReportList = ShipmentInRussiaService.GetShipmentInRussia(startDate, endDate);

                var summRusPerriod = 0M;
                var summUsdPerriod = 0M;

                foreach (var item in resultReportList)
                {
                    summRusPerriod += item.Cost * item.Count;
                    summUsdPerriod += item.CostUsd * item.Count;
                }

                // Формирование одиночных строковых параметров отчёта
                _reportParameters = new[]
                {
                    new ReportParameter("StartDate", startDate.ToShortDateString()),
                    new ReportParameter("EndDate", endDate.ToShortDateString()),
                    new ReportParameter("SummUsdYear", resultReportList.Count != 0 ?
                                        $"{resultReportList[0].YearSummaUsd:N2}" : "0"),
                    new ReportParameter("SummRusYear", resultReportList.Count != 0 ?
                                        $"{resultReportList[0].YearSumma:N2}" : "0"),
                    new ReportParameter("SummRusPeriod", $"{summRusPerriod:N2}"),
                    new ReportParameter("SummUsdPeriod", $"{summUsdPerriod:N2}")
                };

                const string dataSourceName = "ShipmentInRussia";
                _reportDataSource  = new ReportDataSource(dataSourceName, resultReportList);
                ReportViewer.Load += ReportViewer_Load;                 // Подписка на метод загрузки и отображения отчёта
            }
            catch (StorageException ex)
            {
                Common.ShowDetailExceptionMessage(ex);
            }
        }
        /// <summary>
        /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка
        /// </summary>
        /// <inheritdoc />
        public void AdditionalInitializeComponent()
        {
            _reportFile = Common.GetReportFilePath(ReportFileName); // Путь к файлу отчёта

            // Запрос параметров отчёта в отдельном окне
            const bool isPeriod                  = false;
            const bool isMounthOrYeath           = false;
            const bool isDate                    = false;
            const bool isDatePeriod              = false;
            const bool isKoefT                   = true;
            const bool isKoefZ                   = true;
            const bool isWorkGuild               = false;
            const bool isArea                    = false;
            const bool isWorkGuildSpecifiedOrAll = true;
            const bool isProduct                 = false;
            const bool isDetail                  = false;
            const bool isProductSpecifiedOrAll   = false;
            const bool isAssemblyUnit            = true;
            const bool isMonthYear               = false;

            const bool isTimeFund                         = false;
            const bool isProcentageOfLossTime             = false;
            const bool isProcentageOfPerformanceStandarts = false;
            const bool isAreaSpecifiedOrAll               = false;

            const string message          = "Укажите цех, сбор.ед. и коэффициенты";
            var          parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isDate, isDatePeriod, isKoefT,
                                                                       isKoefZ, isWorkGuild, isArea, isWorkGuildSpecifiedOrAll, isProduct, isDetail, isProductSpecifiedOrAll,
                                                                       isAssemblyUnit, isMonthYear, isTimeFund,
                                                                       isProcentageOfLossTime, isProcentageOfPerformanceStandarts, isAreaSpecifiedOrAll, message)
            {
                Owner = Common.GetOwnerWindow()
            };

            parametersWindow.ShowDialog();
            if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true)
            {
                return;
            }

            // Получение введённых пользователем параметров
            var nullableKoeft = parametersWindow.KoefTDecimalUpDown.Value;
            var nullableKoefz = parametersWindow.KoefZDecimalUpDown.Value;

            if (nullableKoeft == null || nullableKoefz == null)
            {
                const string           errorMessage = "Не указаны коэффициенты";
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }
            var koefT = (decimal)nullableKoeft;
            var koefZ = (decimal)nullableKoefz;

            var workGuild = parametersWindow.SelectedWorkGuildOrAll();

            var product = parametersWindow.SelectedProduct();

            if (product == null)
            {
                const string           errorMessage = "Не указано изделие";
                const MessageBoxButton buttons      = MessageBoxButton.OK;
                const MessageBoxImage  messageType  = MessageBoxImage.Error;
                MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType);
                return;
            }

            // Формирование одиночных строковых параметров отчёта
            _reportParameters = new[] { new ReportParameter("Koef", koefZ.ToString(CultureInfo.InvariantCulture)),
                                        new ReportParameter("Koef_t", koefT.ToString(CultureInfo.InvariantCulture)),
                                        new ReportParameter("ProductName", product.Name),
                                        new ReportParameter("ProductMark", product.Mark),
                                        new ReportParameter("ProductCode", product.Id.ToString(CultureInfo.InvariantCulture)) };
            try
            {
                var resultReportList
                    = workGuild != null
                        ? ComplexityAndSalaryOnUnitByWorkGuildsService.GetPrintingOfProsuctInContextOfDetails(
                          product.Id, workGuild)
                        : ComplexityAndSalaryOnUnitByWorkGuildsService.GetPrintingOfProsuctInContextOfDetailsAll(
                          product.Id);

                //var resultReportList = ComplexityAndSalaryOnUnitByWorkGuildsService.GetPrintingOfProsuctInContextOfDetails(
                //            product.Id, workGuild); Разбивает по цеху и участку если по всему заводу выбрано

                const string dataSourceName = "ComplexityAndSalaryOnUnitByWorkGuild";
                _reportDataSource  = new ReportDataSource(dataSourceName, resultReportList);
                ReportViewer.Load += ReportViewer_Load;     // Подписка на метод загрузки и отображения отчёта
            }
            catch (StorageException ex)
            {
                Common.ShowDetailExceptionMessage(ex);
            }
        }