Skip to content

Commit 1da833f

Browse files
committed
Added a custom query to the MemberSkillRepository to filter out skills from terminated members.
1 parent 1424f7b commit 1da833f

File tree

4 files changed

+11
-11
lines changed

4 files changed

+11
-11
lines changed

server/src/main/java/com/objectcomputing/checkins/services/member_skill/MemberSkillRepository.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.objectcomputing.checkins.services.member_skill;
22

3+
import io.micronaut.data.annotation.Query;
34
import io.micronaut.data.jdbc.annotation.JdbcRepository;
45
import io.micronaut.data.model.query.builder.sql.Dialect;
56
import io.micronaut.data.repository.CrudRepository;
@@ -19,6 +20,13 @@ public interface MemberSkillRepository extends CrudRepository<MemberSkill, UUID>
1920

2021
List<MemberSkill> findBySkillid(UUID skillid);
2122

22-
Optional<MemberSkill> findByMemberidAndSkillid(UUID memberId,UUID skillid );
23+
Optional<MemberSkill> findByMemberidAndSkillid(UUID memberId, UUID skillid);
2324

25+
@Query(value = "SELECT member_skills.* FROM member_skills " +
26+
"INNER JOIN member_profile " +
27+
"ON member_skills.memberid = member_profile.id " +
28+
"WHERE :targetSkillId = member_skills.skillid " +
29+
"AND member_profile.terminationdate IS NULL",
30+
nativeQuery = true)
31+
List<MemberSkill> activeMemberSkills(String targetSkillId);
2432
}

server/src/main/java/com/objectcomputing/checkins/services/member_skill/skillsreport/SkillsReportServicesImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ private List<TeamMemberSkillDTO> getPotentialQualifyingMembers(List<SkillLevelDT
9292
throw new BadArgException("Invalid requested skill ID");
9393
}
9494

95-
final List<MemberSkill> temp = memberSkillRepo.findBySkillid(skill.getId());
95+
final List<MemberSkill> temp =
96+
memberSkillRepo.activeMemberSkills(skill.getId().toString());
9697
if (skill.getLevel() != null && !temp.isEmpty()) {
9798
for (MemberSkill memSkill : temp) {
9899
if (memSkill.getSkilllevel() != null && isSkillLevelSatisfied(memSkill.getSkilllevel(), skill.getLevel())) {

web-ui/src/pages/SkillReportPage.jsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,6 @@ const SkillReportPage = props => {
6767
? res.payload.data.teamMembers
6868
: [];
6969
}
70-
// Filter out skills of terminated members
71-
memberSkillsFound = memberSkillsFound.filter(memberSkill =>
72-
memberIds?.includes(memberSkill.id)
73-
);
7470
memberSkillsFound = sortMembersBySkill(memberSkillsFound);
7571
}
7672

web-ui/src/pages/TeamSkillReportPage.jsx

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,6 @@ const TeamSkillReportPage = () => {
8585
: [];
8686
}
8787

88-
// Filter the member skill down to only members that are not terminated.
89-
memberSkillsFound = memberSkillsFound.filter(
90-
mSkill => memberProfiles.find(member => member.id == mSkill.id)
91-
);
92-
9388
setAllSearchResults(memberSkillsFound);
9489
const membersSelected = memberSkillsFound.filter(mSkill =>
9590
selectedMembers.some(member => member.id === mSkill.id)

0 commit comments

Comments
 (0)