HOTFIX: moved planned date from weekend to weekday

This commit is contained in:
Mustapha Zorgati 2019-11-30 14:44:43 +01:00
parent f62bd7d158
commit dd2859c320
2 changed files with 13 additions and 10 deletions

View File

@ -182,7 +182,7 @@ public final class DaysToWorkingDaysConverter {
}
public long convertWorkingDaysToDays(Instant startTime, long numberOfDays) {
int direction = numberOfDays > 0 ? 1 : -1;
int direction = numberOfDays >= 0 ? 1 : -1;
long limit = Math.abs(numberOfDays);
return LongStream.iterate(0, i -> i + direction)
.filter(day -> isWorkingDay(day, startTime))
@ -293,12 +293,12 @@ public final class DaysToWorkingDaysConverter {
@Override
public String toString() {
return "DaysToWorkingDaysConverter [instance= " + instance
+ ", positiveDaysToWorkingDays= " + positiveDaysToWorkingDays
return "DaysToWorkingDaysConverter{"
+ "positiveDaysToWorkingDays=" + positiveDaysToWorkingDays
+ ", negativeDaysToWorkingDays=" + negativeDaysToWorkingDays
+ ", dateCreated= " + dateCreated + ", easterSunday= " + easterSunday
+ ", germanHolidaysEnabled= " + germanHolidaysEnabled
+ ", customHolidays= " + LoggerUtils.setToString(customHolidays) + "]";
+ ", dateCreated=" + dateCreated
+ ", easterSunday=" + easterSunday
+ '}';
}
/**

View File

@ -162,10 +162,13 @@ class CreateTaskAccTest extends AbstractAccTest {
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
newTask.setOwner("user_1_1");
newTask.setPlanned(instantPlanned);
Optional<DaysToWorkingDaysConverter> converter = DaysToWorkingDaysConverter.getLastCreatedInstance();
//TODO: this is a temporal bug fix because we did not define what happens when a task is planned on the weekend.
long i = converter.get().convertWorkingDaysToDays(instantPlanned, 0);
newTask.setPlanned(instantPlanned.plus(Duration.ofDays(i)));
//due date according to service level
Instant shouldBeDueDate = DaysToWorkingDaysConverter.getLastCreatedInstance()
.map(converter -> converter.convertWorkingDaysToDays(newTask.getPlanned(), serviceLevelDays))
Instant shouldBeDueDate = converter
.map(c -> c.convertWorkingDaysToDays(newTask.getPlanned(), serviceLevelDays))
.map(
calendarDays -> newTask.getPlanned().plus(Duration.ofDays(calendarDays))).orElseThrow(
RuntimeException::new);