This commit is contained in:
Mardjona 2024-11-07 11:10:07 +03:00
parent 55715f945a
commit a2c399bffd
12 changed files with 18 additions and 11 deletions

View File

@ -15,5 +15,6 @@ namespace Demo.Data.Repository
bool UpdateGroupById(int groupID, GroupLocalEntity updatedGroup);
GroupLocalEntity GetGroupById(int groupID);
bool AddGroup(GroupLocalEntity newGroup);
}
}

View File

@ -94,20 +94,18 @@ namespace Demo.Domain.UseCase
foreach (var group in allGroups)
{
// Получаем все записи посещаемости для группы
var groupAttendance = _presenceRepository.GetAttendanceByGroup(group.Id);
var attendanceRecords = new List<Excel>();
foreach (var record in groupAttendance)
{
// Подбираем имена пользователей и добавляем все записи для всех занятий
var user = _userRepository.GetUserNames().FirstOrDefault(u => u.Guid == record.UserGuid);
if (user != null)
var names = _userRepository.GetUserNames().Where(u => u.Guid == record.UserGuid);
foreach (var name in names)
{
attendanceRecords.Add(new Excel
{
UserName = user.FIO,
UserGuid = user.Guid,
UserName = name.FIO,
UserGuid = name.Guid,
Date = record.Date,
IsAttedance = record.IsAttedance,
LessonNumber = record.LessonNumber,
@ -129,11 +127,11 @@ namespace Demo.Domain.UseCase
string reportsFolderPath = Path.Combine(projectDirectory, "Reports");
string filePath = Path.Combine(reportsFolderPath, "AttendanceReport.xlsx");
// Создаем папку, если она не существует
if (!Directory.Exists(reportsFolderPath))
{
Directory.CreateDirectory(reportsFolderPath);
}
using (var workbook = new XLWorkbook())
{
foreach (var group in attendanceByGroup)
@ -146,15 +144,23 @@ namespace Demo.Domain.UseCase
worksheet.Cell(1, 5).Value = "Статус";
int row = 2;
foreach (var record in group.Value.OrderBy(r => r.Date).ThenBy(r => r.LessonNumber))
int lesNum = 1;
foreach (var record in group.Value.OrderBy(r => r.Date).ThenBy(r => r.LessonNumber).ThenBy(r => r.UserGuid))
{
if (lesNum != record.LessonNumber)
{
row++;
}
worksheet.Cell(row, 1).Value = record.UserName;
worksheet.Cell(row, 2).Value = record.GroupName;
worksheet.Cell(row, 3).Value = record.Date.ToString("dd.MM.yyyy");
worksheet.Cell(row, 4).Value = record.LessonNumber;
worksheet.Cell(row, 5).Value = record.IsAttedance ? "Присутствует" : "Отсутствует";
row++;
lesNum = record.LessonNumber;
}
worksheet.Columns().AdjustToContents();

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Demo")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+121b311f6ca5ffccb7311256bf0d59b9e67c5a90")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+55715f945aa5c1203cf2737829b38f2a99b70d80")]
[assembly: System.Reflection.AssemblyProductAttribute("Demo")]
[assembly: System.Reflection.AssemblyTitleAttribute("Demo")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
cc574df25988491af8b762013ccd289442d6889574bcaf8a1b45bac2d2668432
53cb790fd140c3e85d741460a98394d38c0120abb8a366167b54662ab0eda961