arreglar-funcionalidad #88
@ -26,6 +26,7 @@ import java.time.temporal.IsoFields;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@SpringComponent
|
||||
@PermitAll
|
||||
@ -142,14 +143,25 @@ public class HoursWorkedView extends BeanValidationForm<HoursWorked> implements
|
||||
List<Team> teams = new ArrayList<>(teamService.findAllTeams());
|
||||
teamField.setItems(teamService.findAllTeams());
|
||||
teamField.setItemLabelGenerator(Team::getName);
|
||||
teamField.setValue(teams.getFirst());
|
||||
teamField.setValue(null);
|
||||
teamField.addValueChangeListener(event -> {
|
||||
if (teams != null) {
|
||||
employeeField.getValue();
|
||||
event.getValue();
|
||||
}
|
||||
}
|
||||
);
|
||||
Team selectedTeam = event.getValue();
|
||||
updateEmployeeField(selectedTeam);
|
||||
});
|
||||
}
|
||||
|
||||
private void updateEmployeeField(Team selectedTeam) {
|
||||
if (selectedTeam != null) {
|
||||
List<Employee> employeesInTeam = employeeService.findAllEmployees().stream()
|
||||
.filter(employee -> employee.getTeam() != null && employee.getTeam().equals(selectedTeam))
|
||||
.collect(Collectors.toList());
|
||||
employeeField.setItems(employeesInTeam);
|
||||
if (!employeesInTeam.isEmpty()) {
|
||||
employeeField.setValue(employeesInTeam.get(0));
|
||||
} else {
|
||||
employeeField.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private ComboBox<Employee> initializeEmployeeField() {
|
||||
@ -157,7 +169,7 @@ public class HoursWorkedView extends BeanValidationForm<HoursWorked> implements
|
||||
List<Employee> employees = new ArrayList<>(employeeService.findAllEmployees());
|
||||
employeeField.setItems(employees);
|
||||
employeeField.setItemLabelGenerator(this::getEmployeeFullName);
|
||||
employeeField.setValue(employees.getFirst());
|
||||
employeeField.setValue(null);
|
||||
return employeeField;
|
||||
}
|
||||
|
||||
@ -168,11 +180,16 @@ public class HoursWorkedView extends BeanValidationForm<HoursWorked> implements
|
||||
|
||||
private void initializeDateField() {
|
||||
LocalDate today = LocalDate.now();
|
||||
LocalDate lastWeekMonday = today.minusWeeks(1).with(java.time.DayOfWeek.MONDAY);
|
||||
YearMonth currentMonth = YearMonth.of(today.getYear(), today.getMonth());
|
||||
|
||||
LocalDate startOfMonth = currentMonth.atDay(1);
|
||||
|
||||
LocalDate maxSelectableDate = today;
|
||||
dateField.setMin(lastWeekMonday);
|
||||
|
||||
dateField.setMin(startOfMonth);
|
||||
dateField.setMax(maxSelectableDate);
|
||||
dateField.setValue(today);
|
||||
|
||||
dateField.addValueChangeListener(event -> {
|
||||
LocalDate selectedDate = event.getValue();
|
||||
if (selectedDate != null) {
|
||||
@ -186,7 +203,6 @@ public class HoursWorkedView extends BeanValidationForm<HoursWorked> implements
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private void saveHoursWorked() {
|
||||
if (isFormValid()) {
|
||||
HoursWorked hoursWorked = getEntity();
|
||||
|
Loading…
x
Reference in New Issue
Block a user