Готовая лабораторная работа

This commit is contained in:
xom9kxom9k 2024-12-03 17:35:12 +04:00
parent 3d98034783
commit 616953dd71
3 changed files with 10 additions and 5 deletions

View File

@ -40,7 +40,11 @@ public class ChartReport
return _peopleExpense
.ReadPeopleExpense()
.Where(x => x.DataReciept.Date == dateTime.Date)
.GroupBy(x => x.PeopleId, (key, group) => new { Id = key, Count = group.Sum(x => x.ExpensePeopleExpenses.FirstOrDefault(y => y.ExpenseId == expenseId)?.Sum )})
.GroupBy(x => x.PeopleId, (key, group) => new
{
Id = key,
Count = group.Sum(x => x.ExpensePeopleExpenses.FirstOrDefault(y => y.ExpenseId == expenseId)?.Sum ?? 0)
})
.Select(x => (x.Id.ToString(), (double)x.Count))
.ToList();
}

View File

@ -13,7 +13,7 @@ public class TableReport
private readonly IPeopleIncome _peopleIncomeRepository;
private readonly IPeopleExpense _peopleExpenseRepository;
private readonly ILogger<TableReport> _logger;
internal static readonly string[] item = ["Название операции", "Дата", "Заработано", "Потрачено"];
internal static readonly string[] item = ["Человек", "Дата", "Заработано", "Потрачено"];
public TableReport(IPeopleIncome peopleIncomeRepository, IPeopleExpense peopleExpenseRepository, ILogger<TableReport> logger)
{
_peopleIncomeRepository = peopleIncomeRepository ?? throw new ArgumentNullException(nameof(peopleIncomeRepository));
@ -25,7 +25,7 @@ public class TableReport
try
{
new ExcelBuilder(filePath)
.AddHeader("Сводка по движению денег", 0, 3)
.AddHeader("Сводка по движению денег", 0, 4)
.AddParagraph("за период", 0)
.AddTable([15, 10, 15, 15], GetData(incomeId, expenseId, startDate, endDate))
.Build();

View File

@ -93,10 +93,11 @@ public class PeopleExpenseRepository : IPeopleExpense
using var connection = new NpgsqlConnection(_connectionString.ConnectionString);
var querySelect = @"SELECT pe.*, epe.ExpenseId, epe.Sum FROM PeopleExpense pe
INNER JOIN ExpensePeopleExpense epe on epe.PeopleExpenseId = pe.Id";
var peopleExpenses = connection.Query<PeopleExpense>(querySelect);
var peopleExpenses = connection.Query<TempExpensePeopleExpense>(querySelect);
_logger.LogDebug("Полученные объекты: {json}",
JsonConvert.SerializeObject(peopleExpenses));
return peopleExpenses;
return peopleExpenses.GroupBy(x => x.Id, y => y, (key, value) => PeopleExpense.CreateOperation(value.First(),
value.Select(z => ExpensePeopleExpense.CreateElement(0, z.ExpenseId, z.Sum)))).ToList();
}
catch (Exception ex)
{