@@ -49,11 +49,11 @@ public List<FeedbackSuggestionDTO> getSuggestionsByProfileId(UUID id) {
4949 }
5050
5151 List <FeedbackSuggestionDTO > suggestions = new LinkedList <>();
52- if (suggestFor .getSupervisorid () != null && !suggestFor .getSupervisorid ().equals (currentUser .getId ())) {
52+ if (suggestFor .getSupervisorid () != null && !suggestFor .getSupervisorid ().equals (currentUser .getId ()) && isMemberActive ( suggestFor . getSupervisorid ()) ) {
5353 suggestions .add (new FeedbackSuggestionDTO ("Supervisor of requestee" , suggestFor .getSupervisorid ()));
5454 }
5555
56- if (suggestFor .getPdlId () != null && !suggestFor .getPdlId ().equals (currentUser .getId ())) {
56+ if (suggestFor .getPdlId () != null && !suggestFor .getPdlId ().equals (currentUser .getId ()) && isMemberActive ( suggestFor . getPdlId ()) ) {
5757 suggestions .add (new FeedbackSuggestionDTO ("PDL of requestee" , suggestFor .getPdlId ()));
5858 }
5959
@@ -62,6 +62,7 @@ public List<FeedbackSuggestionDTO> getSuggestionsByProfileId(UUID id) {
6262 for (TeamMember currentMembership : teamMemberships ){
6363 Set <TeamMember > teamMembers = teamMemberServices .findByFields (currentMembership .getTeamId (), null , null );
6464 Set <TeamMember > leads = teamMembers .stream ().filter ((member )-> member .isLead ()).collect (Collectors .toSet ());
65+ leads = filterTerminated (leads );
6566 for (TeamMember lead : leads ) {
6667 if (suggestions .size () < maxSuggestions && !lead .getMemberId ().equals (id ) && !lead .getMemberId ().equals (currentUserId )) {
6768 suggestions .add (new FeedbackSuggestionDTO ("Team lead for requestee" , lead .getMemberId ()));
@@ -74,6 +75,7 @@ public List<FeedbackSuggestionDTO> getSuggestionsByProfileId(UUID id) {
7475 for (TeamMember currentMembership : teamMemberships ){
7576 Set <TeamMember > teamMembers = teamMemberServices .findByFields (currentMembership .getTeamId (), null , null );
7677 teamMembers = teamMembers .stream ().filter ((member )-> !member .isLead ()).collect (Collectors .toSet ());
78+ teamMembers = filterTerminated (teamMembers );
7779 for (TeamMember teamMember : teamMembers ) {
7880 if (suggestions .size () < maxSuggestions && !teamMember .getMemberId ().equals (id ) && !teamMember .getMemberId ().equals (currentUserId )) {
7981 suggestions .add (new FeedbackSuggestionDTO ("Team member for requestee" , teamMember .getMemberId ()));
@@ -82,12 +84,20 @@ public List<FeedbackSuggestionDTO> getSuggestionsByProfileId(UUID id) {
8284
8385 if (suggestions .size () >= maxSuggestions ) break ;
8486 }
87+
88+ return suggestions ;
89+ }
8590
86- suggestions = suggestions .stream ().filter ((FeedbackSuggestionDTO suggestion ) -> {
87- MemberProfile suggested = memberProfileServices .getById (suggestion .getId ());
88- LocalDate terminationDate = suggested .getTerminationDate ();
89- return !(terminationDate != null && terminationDate .isBefore (LocalDate .now ().atStartOfDay ().toLocalDate ()));
90- }).collect (Collectors .toList ());
91+ private Set <TeamMember > filterTerminated (Set <TeamMember > suggestions ) {
92+ suggestions = suggestions .stream ().filter ((TeamMember suggestion ) -> {
93+ return isMemberActive (suggestion .getMemberId ());
94+ }).collect (Collectors .toSet ());
9195 return suggestions ;
9296 }
97+
98+ private boolean isMemberActive (UUID memberId ) {
99+ MemberProfile suggested = memberProfileServices .getById (memberId );
100+ LocalDate terminationDate = suggested .getTerminationDate ();
101+ return !(terminationDate != null && terminationDate .isBefore (LocalDate .now ().atStartOfDay ().toLocalDate ()));
102+ }
93103}
0 commit comments