Skip to content

Commit 576f686

Browse files
committed
Fixing autobreak calcuation settings.
1 parent c99d2f8 commit 576f686

File tree

7 files changed

+181
-61
lines changed

7 files changed

+181
-61
lines changed

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Helpers/PlanRegistrationHelper.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -859,7 +859,7 @@ await dbContext.PlanRegistrations.AsNoTracking()
859859
tainted = true;
860860
}
861861

862-
Console.WriteLine($"The plannedHours are now: {planRegistration.PlanHours}");
862+
// Console.WriteLine($"The plannedHours are now: {planRegistration.PlanHours}");
863863

864864
await planRegistration.Update(dbContext).ConfigureAwait(false);
865865
}
@@ -1881,7 +1881,7 @@ await dbContext.PlanRegistrations.AsNoTracking()
18811881
}
18821882
}
18831883

1884-
Console.WriteLine($"The plannedHours are now: {planRegistration.PlanHours}");
1884+
// Console.WriteLine($"The plannedHours are now: {planRegistration.PlanHours}");
18851885

18861886
await planRegistration.Update(dbContext).ConfigureAwait(false);
18871887
}

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Models/Settings/AssignedSite.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ public class AssignedSite
164164
public bool FifthShiftActive { get; set; } = false;
165165
public bool DaysBackInTimeAllowedEditingEnabled { get; set; }
166166
public int DaysBackInTimeAllowedEditing { get; set; } = 2;
167+
public AutoBreakSettings AutoBreakSettings { get; set; }
167168

168169
// implicit conversion from Microting.TimePlanningBase.Infrastructure.Data.Entities.AssignedSite to AssignedSite
169170
public static implicit operator AssignedSite(
@@ -320,7 +321,4 @@ public static implicit operator AssignedSite(
320321
DaysBackInTimeAllowedEditing = model.DaysBackInTimeAllowedEditing,
321322
};
322323
}
323-
}
324-
325-
326-
324+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
namespace TimePlanning.Pn.Infrastructure.Models.Settings;
2+
3+
public class AutoBreakSettings
4+
{
5+
public Monday Monday { get; set; }
6+
public Tuesday Tuesday { get; set; }
7+
public Wednesday Wednesday { get; set; }
8+
public Thursday Thursday { get; set; }
9+
public Friday Friday { get; set; }
10+
public Saturday Saturday { get; set; }
11+
public Sunday Sunday { get; set; }
12+
}
13+
14+
public class Day
15+
{
16+
public int BreakMinutesDivider { get; set; }
17+
public int BreakMinutesPrDivider { get; set; }
18+
public int BreakMinutesUpperLimit { get; set; }
19+
20+
}
21+
22+
public class Monday : Day
23+
{
24+
25+
}
26+
27+
public class Tuesday : Day
28+
{
29+
30+
}
31+
32+
public class Wednesday : Day
33+
{
34+
35+
}
36+
37+
public class Thursday : Day
38+
{
39+
40+
}
41+
42+
public class Friday : Day
43+
{
44+
45+
}
46+
47+
public class Saturday : Day
48+
{
49+
50+
}
51+
52+
public class Sunday : Day
53+
{
54+
55+
}

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/TimePlanningSettingService/TimeSettingService.cs

Lines changed: 40 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -653,27 +653,46 @@ public async Task<OperationResult> UpdateAssignedSite(Infrastructure.Models.Sett
653653
dbAssignedSite.BreakSunday2NdShift = site.BreakSunday2NdShift;
654654
if (dbAssignedSite.AutoBreakCalculationActive)
655655
{
656-
dbAssignedSite.MondayBreakMinutesDivider = site.MondayBreakMinutesDivider;
657-
dbAssignedSite.TuesdayBreakMinutesDivider = site.TuesdayBreakMinutesDivider;
658-
dbAssignedSite.WednesdayBreakMinutesDivider = site.WednesdayBreakMinutesDivider;
659-
dbAssignedSite.ThursdayBreakMinutesDivider = site.ThursdayBreakMinutesDivider;
660-
dbAssignedSite.FridayBreakMinutesDivider = site.FridayBreakMinutesDivider;
661-
dbAssignedSite.SaturdayBreakMinutesDivider = site.SaturdayBreakMinutesDivider;
662-
dbAssignedSite.SundayBreakMinutesDivider = site.SundayBreakMinutesDivider;
663-
dbAssignedSite.MondayBreakMinutesPrDivider = site.MondayBreakMinutesPrDivider;
664-
dbAssignedSite.TuesdayBreakMinutesPrDivider = site.TuesdayBreakMinutesPrDivider;
665-
dbAssignedSite.WednesdayBreakMinutesPrDivider = site.WednesdayBreakMinutesPrDivider;
666-
dbAssignedSite.ThursdayBreakMinutesPrDivider = site.ThursdayBreakMinutesPrDivider;
667-
dbAssignedSite.FridayBreakMinutesPrDivider = site.FridayBreakMinutesPrDivider;
668-
dbAssignedSite.SaturdayBreakMinutesPrDivider = site.SaturdayBreakMinutesPrDivider;
669-
dbAssignedSite.SundayBreakMinutesPrDivider = site.SundayBreakMinutesPrDivider;
670-
dbAssignedSite.MondayBreakMinutesUpperLimit = site.MondayBreakMinutesUpperLimit;
671-
dbAssignedSite.TuesdayBreakMinutesUpperLimit = site.TuesdayBreakMinutesUpperLimit;
672-
dbAssignedSite.WednesdayBreakMinutesUpperLimit = site.WednesdayBreakMinutesUpperLimit;
673-
dbAssignedSite.ThursdayBreakMinutesUpperLimit = site.ThursdayBreakMinutesUpperLimit;
674-
dbAssignedSite.FridayBreakMinutesUpperLimit = site.FridayBreakMinutesUpperLimit;
675-
dbAssignedSite.SaturdayBreakMinutesUpperLimit = site.SaturdayBreakMinutesUpperLimit;
676-
dbAssignedSite.SundayBreakMinutesUpperLimit = site.SundayBreakMinutesUpperLimit;
656+
dbAssignedSite.MondayBreakMinutesDivider = site.AutoBreakSettings.Monday.BreakMinutesDivider;
657+
dbAssignedSite.MondayBreakMinutesPrDivider = site.AutoBreakSettings.Monday.BreakMinutesPrDivider;
658+
dbAssignedSite.MondayBreakMinutesUpperLimit = site.AutoBreakSettings.Monday.BreakMinutesUpperLimit;
659+
dbAssignedSite.TuesdayBreakMinutesDivider = site.AutoBreakSettings.Tuesday.BreakMinutesDivider;
660+
dbAssignedSite.TuesdayBreakMinutesPrDivider = site.AutoBreakSettings.Tuesday.BreakMinutesPrDivider;
661+
dbAssignedSite.TuesdayBreakMinutesUpperLimit = site.AutoBreakSettings.Tuesday.BreakMinutesUpperLimit;
662+
dbAssignedSite.WednesdayBreakMinutesDivider = site.AutoBreakSettings.Wednesday.BreakMinutesDivider;
663+
dbAssignedSite.WednesdayBreakMinutesPrDivider = site.AutoBreakSettings.Wednesday.BreakMinutesPrDivider;
664+
dbAssignedSite.WednesdayBreakMinutesUpperLimit = site.AutoBreakSettings.Wednesday.BreakMinutesUpperLimit;
665+
dbAssignedSite.ThursdayBreakMinutesDivider = site.AutoBreakSettings.Thursday.BreakMinutesDivider;
666+
dbAssignedSite.ThursdayBreakMinutesPrDivider = site.AutoBreakSettings.Thursday.BreakMinutesPrDivider;
667+
dbAssignedSite.ThursdayBreakMinutesUpperLimit = site.AutoBreakSettings.Thursday.BreakMinutesUpperLimit;
668+
dbAssignedSite.FridayBreakMinutesDivider = site.AutoBreakSettings.Friday.BreakMinutesDivider;
669+
dbAssignedSite.FridayBreakMinutesPrDivider = site.AutoBreakSettings.Friday.BreakMinutesPrDivider;
670+
dbAssignedSite.FridayBreakMinutesUpperLimit = site.AutoBreakSettings.Friday.BreakMinutesUpperLimit;
671+
dbAssignedSite.SaturdayBreakMinutesDivider = site.AutoBreakSettings.Saturday.BreakMinutesDivider;
672+
dbAssignedSite.SaturdayBreakMinutesPrDivider = site.AutoBreakSettings.Saturday.BreakMinutesPrDivider;
673+
dbAssignedSite.SaturdayBreakMinutesUpperLimit = site.AutoBreakSettings.Saturday.BreakMinutesUpperLimit;
674+
dbAssignedSite.SundayBreakMinutesDivider = site.AutoBreakSettings.Sunday.BreakMinutesDivider;
675+
dbAssignedSite.SundayBreakMinutesPrDivider = site.AutoBreakSettings.Sunday.BreakMinutesPrDivider;
676+
dbAssignedSite.SundayBreakMinutesUpperLimit = site.AutoBreakSettings.Sunday.BreakMinutesUpperLimit;
677+
// dbAssignedSite.WednesdayBreakMinutesDivider = site.WednesdayBreakMinutesDivider;
678+
// dbAssignedSite.ThursdayBreakMinutesDivider = site.ThursdayBreakMinutesDivider;
679+
// dbAssignedSite.FridayBreakMinutesDivider = site.FridayBreakMinutesDivider;
680+
// dbAssignedSite.SaturdayBreakMinutesDivider = site.SaturdayBreakMinutesDivider;
681+
// dbAssignedSite.SundayBreakMinutesDivider = site.SundayBreakMinutesDivider;
682+
// dbAssignedSite.MondayBreakMinutesPrDivider = site.MondayBreakMinutesPrDivider;
683+
// dbAssignedSite.TuesdayBreakMinutesPrDivider = site.TuesdayBreakMinutesPrDivider;
684+
// dbAssignedSite.WednesdayBreakMinutesPrDivider = site.WednesdayBreakMinutesPrDivider;
685+
// dbAssignedSite.ThursdayBreakMinutesPrDivider = site.ThursdayBreakMinutesPrDivider;
686+
// dbAssignedSite.FridayBreakMinutesPrDivider = site.FridayBreakMinutesPrDivider;
687+
// dbAssignedSite.SaturdayBreakMinutesPrDivider = site.SaturdayBreakMinutesPrDivider;
688+
// dbAssignedSite.SundayBreakMinutesPrDivider = site.SundayBreakMinutesPrDivider;
689+
// dbAssignedSite.MondayBreakMinutesUpperLimit = site.MondayBreakMinutesUpperLimit;
690+
// dbAssignedSite.TuesdayBreakMinutesUpperLimit = site.TuesdayBreakMinutesUpperLimit;
691+
// dbAssignedSite.WednesdayBreakMinutesUpperLimit = site.WednesdayBreakMinutesUpperLimit;
692+
// dbAssignedSite.ThursdayBreakMinutesUpperLimit = site.ThursdayBreakMinutesUpperLimit;
693+
// dbAssignedSite.FridayBreakMinutesUpperLimit = site.FridayBreakMinutesUpperLimit;
694+
// dbAssignedSite.SaturdayBreakMinutesUpperLimit = site.SaturdayBreakMinutesUpperLimit;
695+
// dbAssignedSite.SundayBreakMinutesUpperLimit = site.SundayBreakMinutesUpperLimit;
677696
}
678697
dbAssignedSite.MondayPlanHours = site.MondayPlanHours;
679698
dbAssignedSite.TuesdayPlanHours = site.TuesdayPlanHours;

eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/assigned-site/assigned-site-dialog.component.html

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -214,10 +214,10 @@
214214
</div>
215215
</mat-tab>
216216
<mat-tab label="{{ 'Auto break calculation settings' | translate }}"
217-
*ngIf="data.autoBreakCalculationActive && selectCurrentUserIsFirstUser$ | async">
217+
*ngIf="data.autoBreakCalculationActive && selectCurrentUserIsAdmin$ | async">
218218
<div [formGroupName]="'autoBreakSettings'">
219219
<ng-container *ngFor="let day of ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']">
220-
<div [formGroupName]="day" class="d-flex flex-row">
220+
<div [formGroupName]="day.toLowerCase()" class="d-flex flex-row">
221221
<mat-form-field class="p-1">
222222
<mat-label>{{ day + ' break time divider in minutes' | translate }}</mat-label>
223223
<input
@@ -228,7 +228,6 @@
228228
[id]="day.toLowerCase() + 'BreakMinutesDivider'"
229229
[name]="day.toLowerCase() + 'BreakMinutesDivider'"
230230
formControlName="breakMinutesDivider"
231-
[disabled]="!data.autoBreakCalculationActive"
232231
readonly
233232
>
234233
<ngx-material-timepicker
@@ -238,7 +237,7 @@
238237
></ngx-material-timepicker>
239238
</mat-form-field>
240239
<mat-form-field class="p-1">
241-
<mat-label>{{ day + ' break time pr divider in minutes' | translate }}</mat-label>
240+
<mat-label>{{ day.toLowerCase() + ' break time pr divider in minutes' | translate }}</mat-label>
242241
<input
243242
matInput
244243
[ngxTimepicker]="timePickerPrDivider"
@@ -247,7 +246,6 @@
247246
[id]="day.toLowerCase() + 'BreakMinutesPrDivider'"
248247
[name]="day.toLowerCase() + 'BreakMinutesPrDivider'"
249248
formControlName="breakMinutesPrDivider"
250-
[disabled]="!data.autoBreakCalculationActive"
251249
readonly>
252250
<ngx-material-timepicker
253251
#timePickerPrDivider
@@ -265,7 +263,6 @@
265263
[id]="day.toLowerCase() + 'BreakMinutesUpperLimit'"
266264
[name]="day.toLowerCase() + 'BreakMinutesUpperLimit'"
267265
formControlName="breakMinutesUpperLimit"
268-
[disabled]="!data.autoBreakCalculationActive"
269266
readonly
270267
>
271268
</mat-form-field>

eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/assigned-site/assigned-site-dialog.component.ts

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ export class AssignedSiteDialogComponent implements DoCheck, OnInit {
6565
// autoBreakSettings group
6666
const autoBreakGroup = days.reduce((acc, day) => {
6767
acc[day] = this.fb.group({
68-
breakMinutesDivider: new FormControl(this.data[`${day}BreakMinutesDivider`] ?? null),
69-
breakMinutesPrDivider: new FormControl(this.data[`${day}BreakMinutesPrDivider`] ?? null),
70-
breakMinutesUpperLimit: new FormControl(this.data[`${day}BreakMinutesUpperLimit`] ?? null),
68+
breakMinutesDivider: new FormControl(this.getConvertedValue(this.data[`${day}BreakMinutesDivider`]) ?? null),
69+
breakMinutesPrDivider: new FormControl(this.getConvertedValue(this.data[`${day}BreakMinutesPrDivider`]) ?? null),
70+
breakMinutesUpperLimit: new FormControl(this.getConvertedValue(this.data[`${day}BreakMinutesUpperLimit`]) ?? null),
7171
});
7272
return acc;
7373
}, {} as { [key: string]: FormGroup });
@@ -296,7 +296,7 @@ export class AssignedSiteDialogComponent implements DoCheck, OnInit {
296296
const firstShiftMinutes = this.calculateShiftMinutes(start, end, breakTime);
297297
const secondShiftMinutes = this.calculateShiftMinutes(start2NdShift, end2NdShift, break2NdShift);
298298
const totalMinutes = firstShiftMinutes + secondShiftMinutes;
299-
299+
300300
return this.formatMinutesAsTime(totalMinutes);
301301
}
302302

@@ -487,51 +487,51 @@ export class AssignedSiteDialogComponent implements DoCheck, OnInit {
487487
switch (day) {
488488
case 'monday':
489489
dayGroup.patchValue({
490-
breakMinutesDivider: this.globalAutoBreakSettings.mondayBreakMinutesDivider,
491-
breakMinutesPrDivider: this.globalAutoBreakSettings.mondayBreakMinutesPrDivider,
492-
breakMinutesUpperLimit: this.globalAutoBreakSettings.mondayBreakMinutesUpperLimit,
490+
breakMinutesDivider: this.getConvertedValue(this.globalAutoBreakSettings.mondayBreakMinutesDivider),
491+
breakMinutesPrDivider: this.getConvertedValue(this.globalAutoBreakSettings.mondayBreakMinutesPrDivider),
492+
breakMinutesUpperLimit: this.getConvertedValue(this.globalAutoBreakSettings.mondayBreakMinutesUpperLimit),
493493
});
494494
break;
495495
case 'tuesday':
496496
dayGroup.patchValue({
497-
breakMinutesDivider: this.globalAutoBreakSettings.tuesdayBreakMinutesDivider,
498-
breakMinutesPrDivider: this.globalAutoBreakSettings.tuesdayBreakMinutesPrDivider,
499-
breakMinutesUpperLimit: this.globalAutoBreakSettings.tuesdayBreakMinutesUpperLimit,
497+
breakMinutesDivider: this.getConvertedValue(this.globalAutoBreakSettings.tuesdayBreakMinutesDivider),
498+
breakMinutesPrDivider: this.getConvertedValue(this.globalAutoBreakSettings.tuesdayBreakMinutesPrDivider),
499+
breakMinutesUpperLimit: this.getConvertedValue(this.globalAutoBreakSettings.tuesdayBreakMinutesUpperLimit),
500500
});
501501
break;
502502
case 'wednesday':
503503
dayGroup.patchValue({
504-
breakMinutesDivider: this.globalAutoBreakSettings.wednesdayBreakMinutesDivider,
505-
breakMinutesPrDivider: this.globalAutoBreakSettings.wednesdayBreakMinutesPrDivider,
506-
breakMinutesUpperLimit: this.globalAutoBreakSettings.wednesdayBreakMinutesUpperLimit,
504+
breakMinutesDivider: this.getConvertedValue(this.globalAutoBreakSettings.wednesdayBreakMinutesDivider),
505+
breakMinutesPrDivider: this.getConvertedValue(this.globalAutoBreakSettings.wednesdayBreakMinutesPrDivider),
506+
breakMinutesUpperLimit: this.getConvertedValue(this.globalAutoBreakSettings.wednesdayBreakMinutesUpperLimit),
507507
});
508508
break;
509509
case 'thursday':
510510
dayGroup.patchValue({
511-
breakMinutesDivider: this.globalAutoBreakSettings.thursdayBreakMinutesDivider,
512-
breakMinutesPrDivider: this.globalAutoBreakSettings.thursdayBreakMinutesPrDivider,
513-
breakMinutesUpperLimit: this.globalAutoBreakSettings.thursdayBreakMinutesUpperLimit,
511+
breakMinutesDivider: this.getConvertedValue(this.globalAutoBreakSettings.thursdayBreakMinutesDivider),
512+
breakMinutesPrDivider: this.getConvertedValue(this.globalAutoBreakSettings.thursdayBreakMinutesPrDivider),
513+
breakMinutesUpperLimit: this.getConvertedValue(this.globalAutoBreakSettings.thursdayBreakMinutesUpperLimit),
514514
});
515515
break;
516516
case 'friday':
517517
dayGroup.patchValue({
518-
breakMinutesDivider: this.globalAutoBreakSettings.fridayBreakMinutesDivider,
519-
breakMinutesPrDivider: this.globalAutoBreakSettings.fridayBreakMinutesPrDivider,
520-
breakMinutesUpperLimit: this.globalAutoBreakSettings.fridayBreakMinutesUpperLimit,
518+
breakMinutesDivider: this.getConvertedValue(this.globalAutoBreakSettings.fridayBreakMinutesDivider),
519+
breakMinutesPrDivider: this.getConvertedValue(this.globalAutoBreakSettings.fridayBreakMinutesPrDivider),
520+
breakMinutesUpperLimit: this.getConvertedValue(this.globalAutoBreakSettings.fridayBreakMinutesUpperLimit),
521521
});
522522
break;
523523
case 'saturday':
524524
dayGroup.patchValue({
525-
breakMinutesDivider: this.globalAutoBreakSettings.saturdayBreakMinutesDivider,
526-
breakMinutesPrDivider: this.globalAutoBreakSettings.saturdayBreakMinutesPrDivider,
527-
breakMinutesUpperLimit: this.globalAutoBreakSettings.saturdayBreakMinutesUpperLimit,
525+
breakMinutesDivider: this.getConvertedValue(this.globalAutoBreakSettings.saturdayBreakMinutesDivider),
526+
breakMinutesPrDivider: this.getConvertedValue(this.globalAutoBreakSettings.saturdayBreakMinutesPrDivider),
527+
breakMinutesUpperLimit: this.getConvertedValue(this.globalAutoBreakSettings.saturdayBreakMinutesUpperLimit),
528528
});
529529
break;
530530
case 'sunday':
531531
dayGroup.patchValue({
532-
breakMinutesDivider: this.globalAutoBreakSettings.sundayBreakMinutesDivider,
533-
breakMinutesPrDivider: this.globalAutoBreakSettings.sundayBreakMinutesPrDivider,
534-
breakMinutesUpperLimit: this.globalAutoBreakSettings.sundayBreakMinutesUpperLimit,
532+
breakMinutesDivider: this.getConvertedValue(this.globalAutoBreakSettings.sundayBreakMinutesDivider),
533+
breakMinutesPrDivider: this.getConvertedValue(this.globalAutoBreakSettings.sundayBreakMinutesPrDivider),
534+
breakMinutesUpperLimit: this.getConvertedValue(this.globalAutoBreakSettings.sundayBreakMinutesUpperLimit),
535535
});
536536
break;
537537
}

0 commit comments

Comments
 (0)