diff --git a/opp/core/src/main/java/OperationTeamImpl.java b/opp/core/src/main/java/OperationTeamImpl.java index 4905ad51f6bfe1c77515aa0209d828a50cffe1de..83073d2f118ae541def50d909c7e1dd53e3ab353 100644 --- a/opp/core/src/main/java/OperationTeamImpl.java +++ b/opp/core/src/main/java/OperationTeamImpl.java @@ -46,7 +46,13 @@ public class OperationTeamImpl implements OperationTeamService{ } } - private OperationTeam removeStaff(OperationTeam.RemoveStaff rs) { + private OperationTeam removeStaff(OperationTeam.RemoveStaff rs) throws Exception { + + OperationTeam findOperationTeam = repo.getOperationTeam(rs.operationTeamId()); + + if(repo.removeopStaffsInOperationTeams(rs.operationTeamId(), rs.opStaff().id())){ + return findOperationTeam; + } return null; } diff --git a/opp/core/src/main/java/Repository.java b/opp/core/src/main/java/Repository.java index 054da27708b5e7e05f8e9330f426b8fc31730255..6b4b527e6bc6fd14ae3d6592204893da38dba54d 100644 --- a/opp/core/src/main/java/Repository.java +++ b/opp/core/src/main/java/Repository.java @@ -89,6 +89,8 @@ public interface Repository { OperationTeam deleteOperationTeam(Id<OperationTeam> id) throws SQLException; + OperationTeam getOperationTeam(Id<OperationTeam> id); + //Id<String> opStaffsInOperationTeamsId(); @@ -105,7 +107,7 @@ public interface Repository { TeamMember saveTeamMember(TeamMember TeamMember) throws Exception; - TeamMember removeTeamMember(Id<OperationTeam> operationTeamId, Id<OPStaff> opStaffId) throws Exception; + Boolean removeopStaffsInOperationTeams(Id<OperationTeam> operationTeamId, Id<OPStaff> opStaffId) throws Exception; List<OPStaff> getOperationTeamOPStaffImpl(Id<OperationTeam> operationTeamId); } diff --git a/opp/core/src/main/java/TeamMemberImpl.java b/opp/core/src/main/java/TeamMemberImpl.java index 9ed491110f5a410b4553b409523e862202ec5cbf..a2cdd6f83ee3d8e2467e697c64c7cf2478a913c5 100644 --- a/opp/core/src/main/java/TeamMemberImpl.java +++ b/opp/core/src/main/java/TeamMemberImpl.java @@ -34,7 +34,7 @@ public class TeamMemberImpl implements TeamMemberService{ private TeamMember removeStaffimpl(TeamMember.RemoveStaff rs) throws Exception { - return repo.removeTeamMember(rs.operationTeamId(), rs.opStaffId()); + return null; //repo.removeTeamMember(rs.operationTeamId(), rs.opStaffId()); } } diff --git a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java index daf3079cf5d231b63bcba00f5964afb68b832a4a..b1ead71cdc5ce064fb46084560b60bc7ab782631 100644 --- a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java +++ b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java @@ -616,6 +616,25 @@ class JDBCRepository implements Repository } } + public OperationTeam getOperationTeam(Id<OperationTeam> id){ + try( + var result = + conn.createStatement() + .executeQuery("SELECT * FROM operationTeams WHERE id = " + sqlValue(id.value()) + ";") + ) { + + OperationTeam operationTeam = null; + + while (result.next()) { + operationTeam = readOperationTeamFromRow(result); + } + return operationTeam; + + }catch(SQLException e){ + throw new RuntimeException(e); + } + } +//.executeQuery("SELECT * FROM operationTeams WHERE id = " + sqlValue(id.value()) + ";") @Override public List<OperationTeam> findOperationTeams() { try( @@ -754,7 +773,7 @@ class JDBCRepository implements Repository return TeamMember; } - public TeamMember removeTeamMember(Id<OperationTeam> operationTeamId, Id<OPStaff> opStaffId) throws Exception{ + public Boolean removeopStaffsInOperationTeams(Id<OperationTeam> operationTeamId, Id<OPStaff> opStaffId) throws Exception{ try( var stmt = conn.createStatement() @@ -768,10 +787,11 @@ class JDBCRepository implements Repository stmt.executeUpdate(sql); + return true; + }catch(SQLException e){ throw new RuntimeException(e); } - return null; } @Override diff --git a/opp/jdbc-repo-impl/src/test/java/Tests.java b/opp/jdbc-repo-impl/src/test/java/Tests.java index 4fd5d284c6f08aa7e0a79d64048dfed3ddb782e2..dc127866ab256d512af4788ab27efc2eb78b8880 100644 --- a/opp/jdbc-repo-impl/src/test/java/Tests.java +++ b/opp/jdbc-repo-impl/src/test/java/Tests.java @@ -256,6 +256,8 @@ public final class Tests } } + +@Ignore @Test public void testAssignStaffToOperationTeam() throws Exception { @@ -404,19 +406,18 @@ public final class Tests }*/ } - //@Test - public void testRemoveTeamMember() throws Exception{ - var opStaffId = new Id<OPStaff>("4444"); - var operationTeamId = new Id<OperationTeam>("31"); + @Test + public void testRemoveopStaffsInOperationTeams() throws Exception{ - TeamMember.RemoveStaff deleteCommand = new TeamMember.RemoveStaff( - operationTeamId, - opStaffId + OperationTeam.RemoveStaff removeStaffCommand= new OperationTeam.RemoveStaff( + testOperationTeam.id(), + testOPStaff ); - TeamMember deleteTeamMember = teamMemberService.process(deleteCommand); + OperationTeam removedTeam = operationTeamService.process(removeStaffCommand); + assertEquals(testOperationTeam.id().value(), removedTeam.id().value()); } //@Test