Код: Выделить всё
public class SickLeaveDto {
Date startDate;
Date endDate;
String startPeriod;
String endPeriod;
BigDecimal dayTaken;
...skip getters & setters
}
< /code>
public class ApplicationDetails {
Date startDate;
Date endDate;
String startPeriod;
String endPeriod;
BigDecimal dayTaken;
...skip getters & setters
}
< /code>
SickLeaveDto
Код: Выделить всё
ApplicationDetails< /code> представляет подробную информацию о новом приложении для отпуска по болезни. Получите все утвержденные записи о отпуске по болезни, то есть список list
2. Проверьте, являются ли даты отпуска list.get (0) (т.е. последняя утвержденная запись о отпуске по болезни) и даты отпуска новой заявки являются последовательными или нет
3. Если да, на точку 2, проверьте, есть ли Daytaken of list.get (0) is> = 3
4. Если да для точки 3, то новое заявление должно быть подано в высшее руководство для утверждения < /p>
5. Если нет на точку 2, то проверьте, являются ли даты отпуска list.get (0) и даты отпуска list.get (1) (т.е. 2 -я последняя утвержденная запись по уходу за больной) является последовательным или нет
6. Если да, на точку 5, затем проверьте, есть ли DayTaken of List.get (0) + daytaken of list.get (1) is> = 3
7. Если да для точки 6, то новое заявление должно быть подано в высшее руководство для утверждения, в противном случае повторить шаги 5 и 6, чтобы продолжить проверку списка. Последовательный. < /p>
Пример 1, если было одобрено 0,5 дня отпуска по болезни на 2025-06-16 утра, новое заявление на отпуск по болезни на 2025-06-17 AM-PM, хотя разница в день составляет 1 день, две даты не являются последовательными < /p>
. Заявка на 2025-06-17 вечера, хотя разница в день составляет 1 день, две даты не являются последовательными
Пример 3, если 0,5 дня отпуска по болезни в течение 2025-06-16 вечера были одобрены, новое 1 день. Заявление о болезни на 2025-06-17 утра, два даты проводятся
Подробнее здесь: https://stackoverflow.com/questions/796 ... e-consecut