Skip to content

Commit c6758ff

Browse files
committed
Adding week number to excel export for each worker.
Adding saturday, sunday sum for total export. Adding any comment from worker to total export. Adding any message to total export.
1 parent 5dde0cc commit c6758ff

File tree

6 files changed

+122
-2
lines changed

6 files changed

+122
-2
lines changed

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Models/WorkingHours/Index/TimePlanningWorkingHoursModel.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ public class TimePlanningWorkingHoursModel
5454
public double FlexHours { get; set; }
5555
public double SumFlexStart { get; set; }
5656
public double SumFlexEnd { get; set; }
57+
public bool IsSaturday { get; set; }
58+
public bool IsSunday { get; set; }
5759
public string PaidOutFlex { get; set; }
5860
public int? Message { get; set; }
5961
public string CommentWorker { get; set; }

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Resources/Translations.Designer.cs

Lines changed: 30 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Resources/Translations.da.Designer.cs

Lines changed: 30 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Resources/Translations.da.resx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,19 @@
120120
<data name="TokenNotFound" xml:space="preserve">
121121
<value>Token blen ikke fundet</value>
122122
</data>
123+
<data name="Week number" xml:space="preserve">
124+
<value>Uge nr</value>
125+
</data>
126+
<data name="Hours Saturday" xml:space="preserve">
127+
<value>Timer lørdag</value>
128+
</data>
129+
<data name="Hours Sunday" xml:space="preserve">
130+
<value>Timer søndag</value>
131+
</data>
132+
<data name="Yes" xml:space="preserve">
133+
<value>Ja</value>
134+
</data>
135+
<data name="No" xml:space="preserve">
136+
<value>Nej</value>
137+
</data>
123138
</root>

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Resources/Translations.resx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,19 @@
120120
<data name="Shift 5: pause" xml:space="preserve">
121121
<value>Shift 5: pause</value>
122122
</data>
123+
<data name="Week number" xml:space="preserve">
124+
<value>Week number</value>
125+
</data>
126+
<data name="Hours Saturday" xml:space="preserve">
127+
<value>Hours Saturday</value>
128+
</data>
129+
<data name="Hours Sunday" xml:space="preserve">
130+
<value>Hours Sunday</value>
131+
</data>
132+
<data name="Yes" xml:space="preserve">
133+
<value>Yes</value>
134+
</data>
135+
<data name="No" xml:space="preserve">
136+
<value>No</value>
137+
</data>
123138
</root>

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/TimePlanningWorkingHoursService/TimePlanningWorkingHoursService.cs

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,9 @@ public async Task<OperationDataResult<List<TimePlanningWorkingHoursModel>>> Inde
146146
IsLocked = (x.Date < DateTime.Now.AddDays(-(int)(maxDaysEditable ?? 0)) || x.Date == midnight),
147147
IsWeekend = x.Date.DayOfWeek == DayOfWeek.Saturday || x.Date.DayOfWeek == DayOfWeek.Sunday,
148148
NettoHoursOverride = x.NettoHoursOverride,
149-
NettoHoursOverrideActive = x.NettoHoursOverrideActive
149+
NettoHoursOverrideActive = x.NettoHoursOverrideActive,
150+
IsSaturday = x.Date.DayOfWeek == DayOfWeek.Saturday,
151+
IsSunday = x.Date.DayOfWeek == DayOfWeek.Sunday
150152
})
151153
.ToListAsync();
152154

@@ -2061,6 +2063,7 @@ public async Task<OperationDataResult<Stream>> GenerateExcelDashboard(TimePlanni
20612063
Translations.Worker,
20622064
Translations.DayOfWeek,
20632065
Translations.Date,
2066+
Translations.Week_number,
20642067
Translations.PlanText,
20652068
Translations.PlanHours,
20662069
Translations.Shift_1__start,
@@ -2214,6 +2217,7 @@ private void FillDataRow(Row dataRow, Worker worker, Microting.eForm.Infrastruct
22142217
dataRow.Append(CreateCell(site.Name));
22152218
dataRow.Append(CreateCell(planning.Date.ToString("dddd", culture)));
22162219
dataRow.Append(CreateDateCell(planning.Date));
2220+
dataRow.Append(CreateWeekNumberCell(planning.Date));
22172221
dataRow.Append(CreateCell(planning.PlanText));
22182222
dataRow.Append(CreateNumericCell(planning.PlanHours));
22192223
dataRow.Append(CreateCell(GetShiftTime(plr, planning.Shift1Start)));
@@ -2287,6 +2291,17 @@ private Cell CreateDateCell(DateTime dateValue)
22872291
};
22882292
}
22892293

2294+
private Cell CreateWeekNumberCell(DateTime dateValue)
2295+
{
2296+
var culture = CultureInfo.CurrentCulture;
2297+
var weekNumber = culture.Calendar.GetWeekOfYear(dateValue, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
2298+
return new Cell()
2299+
{
2300+
CellValue = new CellValue(weekNumber.ToString()),
2301+
DataType = CellValues.Number
2302+
};
2303+
}
2304+
22902305

22912306
private string GetShiftTime(PlanRegistration plr, int? shift)
22922307
{
@@ -2409,7 +2424,11 @@ public async Task<OperationDataResult<Stream>> GenerateExcelDashboard(
24092424
Translations.Worker,
24102425
Translations.PlanHours,
24112426
Translations.NettoHours,
2412-
Translations.SumFlexStart
2427+
Translations.SumFlexStart,
2428+
Translations.Hours_Saturday,
2429+
Translations.Hours_Sunday,
2430+
Translations.Comments,
2431+
Translations.Message
24132432
};
24142433
List<string> totalHeaderStrings = new List<string>();
24152434
foreach (var header in totalHeaders)
@@ -2481,6 +2500,7 @@ public async Task<OperationDataResult<Stream>> GenerateExcelDashboard(
24812500
Translations.Worker,
24822501
Translations.DayOfWeek,
24832502
Translations.Date,
2503+
Translations.Week_number,
24842504
Translations.PlanText,
24852505
Translations.PlanHours,
24862506
Translations.Shift_1__start,
@@ -2637,6 +2657,14 @@ public async Task<OperationDataResult<Stream>> GenerateExcelDashboard(
26372657
var nettoHoursOverrideTotal = content.Model.Skip(1).ToList().Where(x => x.NettoHoursOverrideActive).Sum(x => x.NettoHoursOverride);
26382658
totalRow.Append(CreateNumericCell(nettoHoursTotal + nettoHoursOverrideTotal));
26392659
totalRow.Append(CreateNumericCell(content.Model.Last().SumFlexEnd));
2660+
var sumHoursSaturday = content.Model.Skip(1).Where(x => x.IsSaturday).Select(x => x.NettoHours).Sum();
2661+
var sumHoursSunday = content.Model.Skip(1).Where(x => x.IsSunday).Select(x => x.NettoHours).Sum();
2662+
var hasAnyCommentFromWorker = content.Model.Skip(1).ToList().Any(x => !string.IsNullOrEmpty(x.CommentWorker));
2663+
var hasAnyMessage = content.Model.Skip(1).ToList().Any(x => x.Message != null);
2664+
totalRow.Append(CreateNumericCell(sumHoursSaturday));
2665+
totalRow.Append(CreateNumericCell(sumHoursSunday));
2666+
totalRow.Append(CreateCell(hasAnyCommentFromWorker ? localizationService.GetString(Translations.Yes) : localizationService.GetString(Translations.No)));
2667+
totalRow.Append(CreateCell(hasAnyMessage ? localizationService.GetString(Translations.Yes) : localizationService.GetString(Translations.No)));
26402668
totalSheetData1.Append(totalRow);
26412669
totalRowIndex++;
26422670

0 commit comments

Comments
 (0)