From e0bfb7369de498fe5b2838a234fbeaf5b4cd7836 Mon Sep 17 00:00:00 2001 From: "DozorovaA.A" Date: Sat, 20 May 2023 10:48:23 +0400 Subject: [PATCH] + --- .../BusinessLogics/ReportStorekeeperLogic.cs | 32 ++++++++++++------- .../AbstractSaveToPdf.cs | 3 +- .../Controllers/HomeController.cs | 13 +++----- .../Views/Home/CreateListMaterials.cshtml | 2 +- 4 files changed, 28 insertions(+), 22 deletions(-) diff --git a/FurnitureAssembly/FurnitureAssemblyBusinessLogic/BusinessLogics/ReportStorekeeperLogic.cs b/FurnitureAssembly/FurnitureAssemblyBusinessLogic/BusinessLogics/ReportStorekeeperLogic.cs index 812c9ed..23b6f14 100644 --- a/FurnitureAssembly/FurnitureAssemblyBusinessLogic/BusinessLogics/ReportStorekeeperLogic.cs +++ b/FurnitureAssembly/FurnitureAssemblyBusinessLogic/BusinessLogics/ReportStorekeeperLogic.cs @@ -55,21 +55,32 @@ namespace FurnitureAssemblyBusinessLogic.BusinessLogics public List GetOrders(ReportBindingModel model) { - var furnitures = _furnitureStorage.GetFilteredList(new FurnitureSearchModel + var furnitures = _furnitureStorage.GetFilteredList(new FurnitureSearchModel { DateFrom = model.DateFrom, DateTo = model.DateTo - }) - .Select(x => new MaterialViewModel + }).ToList(); + List orders = new List(); + foreach(var furniture in furnitures) { - Name = x.Name, - Cost = x.Cost, - }) - .ToList(); + var elemList = furniture.FurnitureMaterials; + var elem = elemList.Select(x => new MaterialViewModel + { + Name = x.Value.Item1.Name, + Cost = x.Value.Item2 * x.Value.Item1.Cost + }); + orders.AddRange(elem); + } + // .Select(x => new MaterialViewModel + // { + // Name = x.I, + // Cost = x.Cost, + // }) + //.ToList(); var materialsList = new List(); - materialsList = furnitures.GroupBy(x => x.Name).Select(x => new ReportMaterialsViewModel + materialsList = orders.GroupBy(x => x.Name).Select(x => new ReportMaterialsViewModel { MaterialName = x.Key, Sum = x.Sum(x => x.Cost) @@ -81,7 +92,6 @@ namespace FurnitureAssemblyBusinessLogic.BusinessLogics { _saveToExcel.CreateReport(new ExcelStoreKeeperInfo { - FileName = model.FileName, Title = "Список мебели", FurnitureMaterials = GetFurnitureComponent(model.Ids) }); @@ -91,7 +101,6 @@ namespace FurnitureAssemblyBusinessLogic.BusinessLogics { _saveToWord.CreateDoc(new WordStoreKeeperInfo { - FileName = model.FileName, Title = "Список мебели", FurnitureMaterialsList = GetFurnitureComponent(model.Ids) }); @@ -101,8 +110,7 @@ namespace FurnitureAssemblyBusinessLogic.BusinessLogics { _saveToPdf.CreateDoc(new PdfStoreKeeperInfo { - FileName = model.FileName, - Title = "Список заказов", + Title = "Список материалов", DateFrom = model.DateFrom!.Value, DateTo = model.DateTo!.Value, Materials = GetOrders(model) diff --git a/FurnitureAssembly/FurnitureAssemblyBusinessLogic/OfficePackage/StorekeeperSaveToFile/AbstractSaveToPdf.cs b/FurnitureAssembly/FurnitureAssemblyBusinessLogic/OfficePackage/StorekeeperSaveToFile/AbstractSaveToPdf.cs index e8cec60..2a0ed2d 100644 --- a/FurnitureAssembly/FurnitureAssemblyBusinessLogic/OfficePackage/StorekeeperSaveToFile/AbstractSaveToPdf.cs +++ b/FurnitureAssembly/FurnitureAssemblyBusinessLogic/OfficePackage/StorekeeperSaveToFile/AbstractSaveToPdf.cs @@ -33,6 +33,7 @@ namespace FurnitureAssemblyBusinessLogic.OfficePackage.StorekeeperSaveToFile ParagraphAlignment = PdfParagraphAlignmentType.Center }); double sum = 0; + CreateTable(new List { "6cm", "3cm" }); foreach (var material in info.Materials) { //CreateParagraph(new PdfParagraph @@ -41,7 +42,7 @@ namespace FurnitureAssemblyBusinessLogic.OfficePackage.StorekeeperSaveToFile // Style = "Normal", // ParagraphAlignment = PdfParagraphAlignmentType.Left //}); - //CreateTable(new List { "6cm", "3cm" }); + sum += material.Sum; CreateRow(new PdfRowParameters { diff --git a/FurnitureAssembly/FurnitureAssemblyStoreKeeperClientApp/Controllers/HomeController.cs b/FurnitureAssembly/FurnitureAssemblyStoreKeeperClientApp/Controllers/HomeController.cs index 3fbaa3a..ed4108d 100644 --- a/FurnitureAssembly/FurnitureAssemblyStoreKeeperClientApp/Controllers/HomeController.cs +++ b/FurnitureAssembly/FurnitureAssemblyStoreKeeperClientApp/Controllers/HomeController.cs @@ -450,7 +450,6 @@ namespace FurnitureAssemblyStoreKeeperClientApp.Controllers //}); APIClient.PostRequest("api/ReportStorekeeper/CreateReportToDocx", new ReportBindingModel { - FileName = "DocFile", Ids = setIds, }); Response.Redirect("GetDocxFile"); @@ -459,7 +458,6 @@ namespace FurnitureAssemblyStoreKeeperClientApp.Controllers { _report.SaveFurnituresToExelFile(new ReportBindingModel { - FileName = "ExelFile", Ids = setIds, }); //APIClient.PostRequest("api/ReportStorekeeper/SaveFurnituresToExelFile", new ReportBindingModel @@ -502,18 +500,17 @@ namespace FurnitureAssemblyStoreKeeperClientApp.Controllers } APIClient.PostRequest("api/reportStorekeeper/CreateReportOrdersToPdf", new ReportBindingModel { - FileName = "pdf_storekeeper.pdf", DateFrom = dateFrom.ToUniversalTime(), DateTo = dateTo.ToUniversalTime(), }); APIClient.PostRequest("api/reportStorekeeper/sendpdftomail", new MailSendInfoBindingModel { MailAddress = customerEmail, - Subject = "Отчет по заказам", - Text = "Отчет по заказам с " + dateFrom.ToShortDateString() + " до " + dateTo.ToShortDateString() + Subject = "Отчет по материалам", + Text = "Отчет по материалам с " + dateFrom.ToShortDateString() + " до " + dateTo.ToShortDateString() }); - Response.Redirect("OrdersReport"); + Response.Redirect("CreateListMaterials"); } [HttpGet] public string GetMaterialReport(DateTime dateFrom, DateTime dateTo) @@ -527,8 +524,8 @@ namespace FurnitureAssemblyStoreKeeperClientApp.Controllers { result = _report.GetOrders(new ReportBindingModel { - DateFrom = dateFrom, - DateTo = dateTo + DateFrom = dateFrom.ToUniversalTime(), + DateTo = dateTo.ToUniversalTime() }); } catch (Exception ex) diff --git a/FurnitureAssembly/FurnitureAssemblyStoreKeeperClientApp/Views/Home/CreateListMaterials.cshtml b/FurnitureAssembly/FurnitureAssemblyStoreKeeperClientApp/Views/Home/CreateListMaterials.cshtml index bc49bcd..ada6235 100644 --- a/FurnitureAssembly/FurnitureAssemblyStoreKeeperClientApp/Views/Home/CreateListMaterials.cshtml +++ b/FurnitureAssembly/FurnitureAssemblyStoreKeeperClientApp/Views/Home/CreateListMaterials.cshtml @@ -44,7 +44,7 @@ if (dateFrom && dateTo) { $.ajax({ method: "GET", - url: "/Home/GetOrdersReport", + url: "/Home/GetMaterialReport", data: { dateFrom: dateFrom, dateTo: dateTo }, success: function (result) { if (result != null) {