Skip to content

Commit 5bca9c2

Browse files
committed
Fixing calculation of flex.
1 parent 7b33c4d commit 5bca9c2

5 files changed

Lines changed: 30 additions & 27 deletions

File tree

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1519,7 +1519,7 @@ await dbContext.PlanRegistrations.AsNoTracking()
15191519
.OrderByDescending(x => x.Date)
15201520
.FirstOrDefaultAsync();
15211521

1522-
1522+
planning.SumFlexStart = preTimePlanning.SumFlexEnd;
15231523
planning.SumFlexEnd = preTimePlanning.SumFlexEnd + planning.NettoHours -
15241524
planning.PlanHours -
15251525
planning.PaiedOutFlex;
@@ -1543,6 +1543,7 @@ await dbContext.PlanRegistrations.AsNoTracking()
15431543
.OrderByDescending(x => x.Date)
15441544
.FirstOrDefaultAsync();
15451545

1546+
planningAfterThisPlanning.SumFlexStart = preTimePlanningAfterThisPlanning.SumFlexEnd;
15461547
planningAfterThisPlanning.SumFlexEnd = preTimePlanningAfterThisPlanning.SumFlexEnd +
15471548
planningAfterThisPlanning.NettoHours -
15481549
planningAfterThisPlanning.PlanHours -
@@ -1908,7 +1909,7 @@ await dbContext.PlanRegistrations.AsNoTracking()
19081909
.OrderByDescending(x => x.Date)
19091910
.FirstOrDefaultAsync();
19101911

1911-
1912+
planning.SumFlexStart = preTimePlanning.SumFlexEnd;
19121913
planning.SumFlexEnd = preTimePlanning.SumFlexEnd + planning.NettoHours -
19131914
planning.PlanHours -
19141915
planning.PaiedOutFlex;
@@ -1932,6 +1933,7 @@ await dbContext.PlanRegistrations.AsNoTracking()
19321933
.OrderByDescending(x => x.Date)
19331934
.FirstOrDefaultAsync();
19341935

1936+
planningAfterThisPlanning.SumFlexStart = preTimePlanningAfterThisPlanning.SumFlexEnd;
19351937
planningAfterThisPlanning.SumFlexEnd = preTimePlanningAfterThisPlanning.SumFlexEnd +
19361938
planningAfterThisPlanning.NettoHours -
19371939
planningAfterThisPlanning.PlanHours -

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

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -248,19 +248,19 @@
248248
</ng-template>
249249

250250
<!-- <p><strong>{{ 'Plan text' | translate }}:</strong> {{ data.planText }}</p>-->
251-
<!-- <br>-->
252-
<!-- <mat-form-field class="pr-2">-->
253-
<!-- <mat-label>{{ 'Flex balance at start of day' | translate }}</mat-label>-->
254-
<!-- <input-->
255-
<!-- type="text"-->
256-
<!-- matInput-->
257-
<!-- id="flexToDate"-->
258-
<!-- name="flexToDate"-->
259-
<!-- readonly="readonly"-->
260-
<!-- disabled-->
261-
<!-- [value]="convertHoursToTime(data.sumFlexStart)"-->
262-
<!-- >-->
263-
<!-- </mat-form-field>-->
251+
<br>
252+
<mat-form-field class="pr-2">
253+
<mat-label>{{ 'Flex balance at start of day' | translate }}</mat-label>
254+
<input
255+
type="text"
256+
matInput
257+
id="flexToDate"
258+
name="flexToDate"
259+
readonly="readonly"
260+
disabled
261+
[value]="data.sumFlexStart.toFixed(2)"
262+
>
263+
</mat-form-field>
264264
<br><mat-form-field class="pr-2">
265265
<mat-label>{{ 'Plan hours' | translate }}</mat-label>
266266
<input
@@ -320,7 +320,7 @@
320320
name="flexIncludingToday"
321321
readonly="readonly"
322322
disabled
323-
[value]="convertHoursToTime(data.sumFlexEnd)"
323+
[value]="data.sumFlexEnd.toFixed(2)"
324324
>
325325
</mat-form-field>
326326
<br>

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

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import {TimePlanningPnPlanningsService} from '../../../../services';
2222
import * as R from 'ramda';
2323
import {MatFormField, MatLabel} from '@angular/material/form-field';
2424
import {MatInput} from '@angular/material/input';
25-
import {NgxMaterialTimepickerModule} from "ngx-material-timepicker";
25+
import {NgxMaterialTimepickerModule} from 'ngx-material-timepicker';
2626

2727
@Component({
2828
selector: 'app-workday-entity-dialog',
@@ -190,13 +190,13 @@ export class WorkdayEntityDialogComponent implements OnInit {
190190
this.data.plannedStartOfShift2 = this.convertTimeToMinutes(this.plannedStartOfShift2);
191191
this.data.plannedEndOfShift2 = this.convertTimeToMinutes(this.plannedEndOfShift2);
192192
this.data.plannedBreakOfShift2 = this.convertTimeToMinutes(this.plannedBreakOfShift2);
193-
debugger;
194193
this.data.start1Id = this.convertTimeToMinutes(this.start1StartedAt, true);
195194
this.data.pause1Id = this.convertTimeToMinutes(this.pause1Id, true);
196195
this.data.start2Id = this.convertTimeToMinutes(this.start2StartedAt, true);
197196
this.data.stop1Id = this.convertTimeToMinutes(this.stop1StoppedAt, true);
198197
this.data.pause2Id = this.convertTimeToMinutes(this.pause2Id, true);
199198
this.data.stop2Id = this.convertTimeToMinutes(this.stop2StoppedAt, true);
199+
this.data.paidOutFlex = this.data.paidOutFlex === null ? 0 : this.data.paidOutFlex;
200200
// this.data.start1StartedAt = this.convertTimeToDateTimeOfToday(this.start1StartedAt);
201201
// this.data.stop1StoppedAt = this.convertTimeToDateTimeOfToday(this.stop1StoppedAt);
202202
// this.data.break1Shift = this.convertTimeToMinutes(this.break1Shift);
@@ -279,8 +279,6 @@ export class WorkdayEntityDialogComponent implements OnInit {
279279
let timeInMinutes2NdShift = this.data.plannedEndOfShift2 - this.data.plannedStartOfShift2 - this.data.plannedBreakOfShift2;
280280
plannedTimeInMinutes += timeInMinutes2NdShift;
281281
}
282-
const plannedHours = Math.floor(plannedTimeInMinutes);
283-
const plannedMinutes = Math.round((plannedTimeInMinutes - plannedHours) * 60);
284282
this.data.planHours = plannedTimeInMinutes / 60;
285283

286284
this.data.start1Id = this.convertTimeToMinutes(this.start1StartedAt, true);
@@ -296,13 +294,11 @@ export class WorkdayEntityDialogComponent implements OnInit {
296294
actualTimeInMinutes += timeInMinutes2NdShift;
297295
}
298296
if (actualTimeInMinutes !== 0) {
297+
actualTimeInMinutes += 1;
299298
actualTimeInMinutes *= 5;
300299
}
301-
const actualHours = Math.floor(actualTimeInMinutes);
302-
const actualMinutes = Math.round((actualTimeInMinutes - actualHours) * 60);
303300
this.data.actualHours = actualTimeInMinutes / 60;
304301

305-
debugger;
306302
this.todaysFlex = this.data.actualHours - this.data.planHours;
307303
this.data.sumFlexEnd = this.data.sumFlexStart + this.data.actualHours - this.data.planHours - this.data.paidOutFlex;
308304
}

eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.html

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,13 @@
7979
{{ datePipe.transform(row.planningPrDayModels[col.field]?.start2StartedAt, 'HH:mm', 'UTC') }} -
8080
{{ datePipe.transform(row.planningPrDayModels[col.field]?.stop2StoppedAt, 'HH:mm', 'UTC') }}
8181
</div>
82-
<div class="plan-text" *ngIf="row.planningPrDayModels[col.field]?.plannedStartOfShift1 !== 0 || row.planningPrDayModels[col.field]?.planHours !== 0 || row.planningPrDayModels[col.field]?.start1StartedAt !== null">
83-
<div class="{{ getCellTextColorForDay(row, col.field) }}">
84-
<strong>{{ 'Flex balance to date' | translate}}: {{ convertHoursToTime(row.planningPrDayModels[col.field]?.sumFlexEnd)}}</strong>
82+
<ng-container *ngIf="Date.parse(row.planningPrDayModels[col.field]?.date) < Date.now()">
83+
<div class="plan-text" *ngIf="row.planningPrDayModels[col.field]?.plannedStartOfShift1 !== 0 || row.planningPrDayModels[col.field]?.planHours !== 0 || row.planningPrDayModels[col.field]?.start1StartedAt !== null">
84+
<div class="{{ getCellTextColorForDay(row, col.field) }}">
85+
<strong>{{ 'Flex balance to date' | translate}}: {{ convertHoursToTime(row.planningPrDayModels[col.field]?.sumFlexEnd)}}</strong>
86+
</div>
8587
</div>
86-
</div>
88+
</ng-container>
8789
<div class="plan-text" *ngIf="row.planningPrDayModels[col.field]?.workerComment !== null">
8890
<div class="{{ getCellTextColor(row, col.field) }}">
8991
<strong>{{ 'CommentWorker' | translate }}:</strong> {{row.planningPrDayModels[col.field]?.workerComment}}

eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ export class TimePlanningsTableComponent implements OnInit, OnChanges {
181181
this.dialog.open(WorkdayEntityDialogComponent, {
182182
data: cellData
183183
}).afterClosed().subscribe((data) => {
184+
debugger;
184185
if (data) {
185186
this.timePlanningChanged.emit(data);
186187
}
@@ -218,4 +219,6 @@ export class TimePlanningsTableComponent implements OnInit, OnChanges {
218219
padZero(num: number): string {
219220
return num < 10 ? '0' + num : num.toString();
220221
}
222+
223+
protected readonly Date = Date;
221224
}

0 commit comments

Comments
 (0)