Vacaciones #61
@ -20,6 +20,7 @@ import com.vaadin.flow.spring.annotation.SpringComponent;
|
||||
import jakarta.annotation.security.PermitAll;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.Year;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@ -154,6 +155,14 @@ public class RequestEmployeeView extends Div implements HasUrlParameter<String>
|
||||
List<TimeOffRequest> filteredRequests = allFiltersAreNull(category, state)
|
||||
? requestService.findRequestsByEmployeeId(employeeId)
|
||||
: fetchFilteredTimeOffRequests(category, state);
|
||||
for (TimeOffRequest request : filteredRequests) {
|
||||
if (request.getExpiration().isBefore(LocalDate.now())) {
|
||||
request.setState(TimeOffRequestStatus.EXPIRED);
|
||||
}
|
||||
}
|
||||
for (TimeOffRequest request : filteredRequests) {
|
||||
requestService.saveTimeOffRequest(request);
|
||||
}
|
||||
requestGrid.setItems(filteredRequests);
|
||||
}
|
||||
|
||||
|
@ -123,7 +123,8 @@ public class RequestRegisterView extends VerticalLayout {
|
||||
.map(TimeOffRequest::getCategory)
|
||||
.toList();
|
||||
List<TimeOffRequestType> availableCategories = Arrays.stream(TimeOffRequestType.values())
|
||||
.filter(category -> !requestedCategories.contains(category))
|
||||
.filter(category -> !requestedCategories.contains(category) ||
|
||||
employeeRequests.stream().anyMatch(req -> req.getCategory() == category && req.getState() == TimeOffRequestStatus.EXPIRED))
|
||||
.filter(category -> {
|
||||
if (employee.getGender() == Employee.Gender.MALE) {
|
||||
return category != TimeOffRequestType.MATERNITY
|
||||
@ -152,7 +153,7 @@ public class RequestRegisterView extends VerticalLayout {
|
||||
vacation = vacationService.findVacationByCategory(selectedCategory);
|
||||
List<TimeOffRequest> requests = requestService.findByEmployeeAndCategory(employeeComboBox.getValue().getId(), selectedCategory);
|
||||
if (vacation != null) {
|
||||
if (!requests.isEmpty()) {
|
||||
if (!requests.isEmpty() && requests.getFirst().getState() != TimeOffRequestStatus.EXPIRED) {
|
||||
availableDaysField.setValue(requests.getFirst().getDaysBalance());
|
||||
} else if (vacation.getCategory() == TimeOffRequestType.VACATION_CURRENT_MANAGEMENT) {
|
||||
LocalDate dateOfEntry = employeeComboBox.getValue().getDateOfEntry();
|
||||
@ -165,7 +166,7 @@ public class RequestRegisterView extends VerticalLayout {
|
||||
} else if (yearsOfService > 1) {
|
||||
availableDaysField.setValue((double)15);
|
||||
} else {
|
||||
availableDaysField.setValue((double)0); // O asignar un valor predeterminado
|
||||
availableDaysField.setValue((double)0);
|
||||
}
|
||||
} else {
|
||||
availableDaysField.setValue(vacation.getDuration());
|
||||
|
Loading…
Reference in New Issue
Block a user