コード例 #1
0
        public async Task <byte[]> GetAsync(BillingAgingListSearch option, CancellationToken token = default(CancellationToken))
        {
            var companyTask = companyQueryProcessor.GetAsync(new CompanySearch {
                Id = option.CompanyId,
            }, token);
            var columnTask = columnNameSettingQueryProcessor.GetAsync(new ColumnNameSetting {
                CompanyId  = option.CompanyId,
                TableName  = nameof(Billing),
                ColumnName = nameof(Billing.Note1),
            }, token);
            var loadTask = billingAgingListQueryProcessor.GetDetailsAsync(option, token);

            await Task.WhenAll(companyTask, columnTask, loadTask);

            var items = loadTask.Result.ToList();

            if (!items.Any())
            {
                return(null);
            }

            var company = companyTask.Result.First();
            var column  = columnTask.Result.First();
            var title   = $"請求残高年齢表(明細){ DateTime.Today:yyyyMMdd}";

            var report = new BillingAgingListDetailSectionReport();

            report.SetBasicPageSetting(company.Code, company.Name);
            report.Name = title;
            report.SetData(items, option.Precision, column);

            report.Run();

            return(report.Convert());
        }
コード例 #2
0
        public async Task <byte[]> GetAsync(ReceiptApportionForReportSource source, CancellationToken token = default(CancellationToken))
        {
            if (!(source.Apportions?.Any() ?? false))
            {
                return(null);
            }

            var companyId = source.CompanyId;

            var companyTask = companyQueryProcessor.GetAsync(new CompanySearch {
                Id = companyId
            }, token);
            var appConTask = applicationControlGetByCompanyQueryProcessor.GetAsync(companyId, token);
            var nameTask   = columnNameSettingQueryProcessor.GetAsync(new ColumnNameSetting {
                CompanyId = companyId, TableName = nameof(Receipt),
            }, token);

            await Task.WhenAll(companyTask, appConTask, nameTask);

            var company   = companyTask.Result.First();
            var appCon    = appConTask.Result;
            var naming    = nameTask.Result.ToList();
            var precision = 0;

            var report = new ReceiptApportionSectionReport();

            report.Name = "入金データ振分リスト" + DateTime.Now.ToString("yyyyMMdd");
            report.SetBasicPageSetting(company.Code, company.Name);
            report.SetHeaderSetting(source.Header, source.CategoryName);
            report.SetPageDataSetting(source.Apportions, appCon.UseReceiptSection, precision);

            report.Run();

            return(report.Convert());
        }
コード例 #3
0
        public async Task <byte[]> GetAsync(TransactionImportSource source, CancellationToken token = default(CancellationToken))
        {
            var companyId    = source.CompanyId;
            var importDataId = source.ImportDataId.Value;
            var objectType   = source.IsValidData ? 0 : 1;

            var companyTask = companyQueryProcessor.GetAsync(new CompanySearch {
                Id = companyId,
            }, token);
            var appConTask     = applicationControlGetByCompanyQueryProcessor.GetAsync(companyId, token);
            var columnNameTask = columnNameSettingQueryProcessor.GetAsync(new ColumnNameSetting
            {
                CompanyId  = companyId,
                TableName  = nameof(Billing),
                ColumnName = nameof(Billing.Note1),
            }, token);
            var itemsTask = importDataDetailQueryProcessor.GetAsync(importDataId, objectType, token);

            await Task.WhenAll(companyTask, appConTask, columnNameTask, itemsTask);

            var company = companyTask.Result.First();
            var appCon  = appConTask.Result;
            var note1   = columnNameTask.Result.FirstOrDefault()?.DisplayColumnName ?? "備考";
            var details = itemsTask.Result.ToArray();
            var items   = details.Select(x => serializer.UnpackSingleObject(x.RecordItem)).ToList();

            if (!items.Any())
            {
                return(null);
            }

            var useForeignCurrency = appCon.UseForeignCurrency == 1;

            var report = new BillingImporterSectionReport();

            var title = $"請求フリーインポーター 取込{(source.IsValidData ? "可能" : "不可能")}データ一覧{DateTime.Now:yyyyMMdd}";

            report.SetBasicPageSetting(company.Code, company.Name);
            report.Name = title;
            report.SetData(items, title, useForeignCurrency, note1);
            report.Run();

            return(report.Convert());
        }
コード例 #4
0
        public async Task <byte[]> GetAsync(JournalizingOption option, CancellationToken token = default(CancellationToken))
        {
            var companyTask = companyQueryProcessor.GetAsync(new CompanySearch {
                Id = option.CompanyId,
            }, token);
            var appConTask = applicationControlGetByCompanyQueryProcessor.GetAsync(option.CompanyId, token);
            var nameTask   = columnNameSettingQueryProcessor.GetAsync(new ColumnNameSetting {
                CompanyId = option.CompanyId, TableName = nameof(Receipt),
            }, token);
            var loadTask = receiptJournalizingQueryProcessor.ExtractAsync(option, token);

            await Task.WhenAll(companyTask, appConTask, nameTask, loadTask);

            var company = companyTask.Result.First();
            var appCon  = appConTask.Result;
            var naming  = nameTask.Result.ToList();
            var items   = loadTask.Result.ToList();

            if (!items.Any())
            {
                return(null);
            }

            var report = new ReceiptJournalizingSectionReport();

            var reoutput = option.OutputAt?.Any() ?? false;
            var fileName = $"{(reoutput ? "再出力" : "")}入金仕訳{DateTime.Now:yyyyMMdd_HHmmss}";

            report.SetBasicPageSetting(company.Code, company.Name);
            report.Name = fileName;
            report.SetData(items, option.Precision, appCon.UseForeignCurrency == 1, naming);

            report.Run();

            return(report.Convert());
        }
コード例 #5
0
        public async Task <byte[]> GetAsync(ScheduledPaymentListSearch option, CancellationToken token = default(CancellationToken))
        {
            var companyTask = companyQueryProcessor.GetAsync(new CompanySearch {
                Id = option.CompanyId
            }, token);
            var settingTask = reportSettingQueryProcessor.GetAsync(option.CompanyId, ReportId, token);
            var nameTask    = columnNameSettingQueryProcessor.GetAsync(new ColumnNameSetting {
                CompanyId = option.CompanyId, TableName = nameof(Billing),
            }, token);
            var loadTask = scheduledPaymentListQueryProcessor.GetAsync(option, token);

            var requireSettingLoad = !(option.ReportSettings?.Any() ?? false);

            var tasks = new List <Task>();

            tasks.Add(companyTask);
            if (requireSettingLoad)
            {
                tasks.Add(settingTask);
            }
            tasks.Add(nameTask);
            tasks.Add(loadTask);

            await Task.WhenAll(tasks);

            if (requireSettingLoad)
            {
                option.ReportSettings = settingTask.Result.ToList();
            }
            var company = companyTask.Result.First();
            var naming  = nameTask.Result.ToList();
            var items   = loadTask.Result.ToList();

            if (!items.Any())
            {
                return(null);
            }

            GrapeCity.ActiveReports.SectionReport report;

            if (option.CustomerSummaryFlag)
            {
                var reportTemp = new ScheduledPaymentCustomerListSectionReport();

                reportTemp.SetBasicPageSetting(company.Code, company.Name);
                reportTemp.SetData(items, option.Precision, option.ReportSettings);

                report = reportTemp;
            }
            else
            {
                var reportTemp = new ScheduledPaymentListSectionReport();

                reportTemp.SetBasicPageSetting(company.Code, company.Name);
                reportTemp.SetData(items, option.Precision, option.ReportSettings, naming);

                report = reportTemp;
            }

            report.Name = "入金予定明細表" + DateTime.Today.ToString("yyyyMMdd");
            report.Run();

            return(report.Convert());
        }
コード例 #6
0
        public async Task <byte[]> GetAsync(ArrearagesListSearch option, CancellationToken token = default(CancellationToken))
        {
            var companyTask = companyQueryProcessor.GetAsync(new CompanySearch {
                Id = option.CompanyId,
            }, token);
            var columnTask = columnNameSettingQueryProcessor.GetAsync(new ColumnNameSetting {
                CompanyId = option.CompanyId, TableName = nameof(Billing),
            }, token);
            var settingTask = reportSettingQueryProcessor.GetAsync(option.CompanyId, ReportId, token);
            var loadTask    = arrearagesListQueryProcessor.GetAsync(option, token);
            var ccyCode     = string.IsNullOrEmpty(option.CurrencyCode) ? Constants.DefaultCurrencyCode : option.CurrencyCode;
            var ccyTask     = currencyGetByCodeQueryProcessor.GetByCodeAsync(option.CompanyId, ccyCode);

            var tasks = new List <Task>()
            {
                companyTask, columnTask, loadTask, ccyTask
            };
            var requireSetting = !(option.ReportSettings?.Any() ?? false);

            if (requireSetting)
            {
                tasks.Add(settingTask);
            }

            await Task.WhenAll(tasks);

            var company   = companyTask.Result.First();
            var columns   = columnTask.Result.ToList();
            var items     = loadTask.Result.ToList();
            var precision = ccyTask.Result.Precision;

            if (!items.Any())
            {
                return(null);
            }

            if (requireSetting)
            {
                option.ReportSettings = settingTask.Result.ToList();
            }

            var processor = option.CustomerSummaryFlag ?
                            (IProcessor) new ArrearagesListSummaryDocumentProcessor {
                Company   = company,
                Items     = items,
                Precision = precision,
            } : new ArrearagesListDocumentProcessor {
                Company   = company,
                Items     = items,
                Precision = precision,
                Note1     = columns.FirstOrDefault(x => x.ColumnName == nameof(ArrearagesList.Note1))?.DisplayColumnName ?? "備考1",
            };

            using (var stream = new MemoryStream())
            {
                using (var document = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook))
                {
                    processor.Process(document);
                }
                return(stream.ToArray());
            }
        }
コード例 #7
0
 public async Task <IEnumerable <ColumnNameSetting> > GetAsync(ColumnNameSetting setting, CancellationToken token = default(CancellationToken))
 => await columnNameSettingQueryProcessor.GetAsync(setting, token);
コード例 #8
0
        public async Task <byte[]> GetAsync(ArrearagesListSearch option, CancellationToken token = default(CancellationToken))
        {
            var companyTask = companyQueryProcessor.GetAsync(new CompanySearch {
                Id = option.CompanyId,
            }, token);
            var columnTask = columnNameSettingQueryProcessor.GetAsync(new ColumnNameSetting {
                CompanyId = option.CompanyId, TableName = nameof(Billing),
            }, token);
            var settingTask = reportSettingQueryProcessor.GetAsync(option.CompanyId, ReportId, token);
            var loadTask    = arrearagesListQueryProcessor.GetAsync(option, token);

            var tasks = new List <Task>()
            {
                companyTask, columnTask, loadTask
            };
            var requireSetting = !(option.ReportSettings?.Any() ?? false);

            if (requireSetting)
            {
                tasks.Add(settingTask);
            }

            await Task.WhenAll(tasks);

            var company = companyTask.Result.First();
            var columns = columnTask.Result.ToList();
            var items   = loadTask.Result.ToList();

            if (!items.Any())
            {
                return(null);
            }

            if (requireSetting)
            {
                option.ReportSettings = settingTask.Result.ToList();
            }

            GrapeCity.ActiveReports.SectionReport report;
            var title = $"滞留明細一覧表{DateTime.Today:yyyyMMdd}";

            if (option.CustomerSummaryFlag)
            {
                var reportTemp = new ArrearagesCustomerListReport();
                reportTemp.SetBasicPageSetting(company.Code, company.Name);
                reportTemp.SetData(items, option.Precision, option.ReportSettings);

                report = reportTemp;
            }
            else
            {
                var reportTemp = new ArrearagesListReport();
                reportTemp.SetBasicPageSetting(company.Code, company.Name);
                reportTemp.SetData(items, option.Precision, option.ReportSettings, columns);

                report = reportTemp;
            }
            report.Name = title;
            report.Run();

            return(report.Convert());
        }