diff --git a/opp/core/src/main/java/OPStaff.java b/opp/core/src/main/java/OPStaff.java new file mode 100644 index 0000000000000000000000000000000000000000..4e94207c71d52b4b03de97a10bbebcc5cdc2294e --- /dev/null +++ b/opp/core/src/main/java/OPStaff.java @@ -0,0 +1,7 @@ +public record OPStaff( + Id<OPStaff> opStaffId, + Role role, + String specialty, + ObjectTimestamp lastUpdate +) { +} diff --git a/opp/core/src/main/java/ObjectModification.java b/opp/core/src/main/java/ObjectModification.java new file mode 100644 index 0000000000000000000000000000000000000000..98bf4a62780aebae8899d90d699089643615d756 --- /dev/null +++ b/opp/core/src/main/java/ObjectModification.java @@ -0,0 +1,5 @@ +public enum ObjectModification { + CREATE, + UPDATE, + DELETE +} diff --git a/opp/core/src/main/java/ObjectTimestamp.java b/opp/core/src/main/java/ObjectTimestamp.java new file mode 100644 index 0000000000000000000000000000000000000000..d57a873357481d1491e37d565a7e39efa69d4e52 --- /dev/null +++ b/opp/core/src/main/java/ObjectTimestamp.java @@ -0,0 +1,7 @@ +import java.time.LocalDateTime; + +public record ObjectTimestamp( + LocalDateTime timestamp, + ObjectModification objectModification +) { +} diff --git a/opp/core/src/main/java/Operation.java b/opp/core/src/main/java/Operation.java index ffe0b18e6dc4b565cf194786426f4b00519fd00d..20d548f1a9177054c1dfac83581c77b093adcb35 100644 --- a/opp/core/src/main/java/Operation.java +++ b/opp/core/src/main/java/Operation.java @@ -13,7 +13,8 @@ public record Operation( Id<Operation> id, LocalDate date, LocalTime startTime, - LocalTime endTime + LocalTime endTime, + ObjectTimestamp lastUpdate ) { /** diff --git a/opp/core/src/main/java/OperationTeam.java b/opp/core/src/main/java/OperationTeam.java new file mode 100644 index 0000000000000000000000000000000000000000..95da2c063ed6fe10985e4e8f3956e3ea92d44bb0 --- /dev/null +++ b/opp/core/src/main/java/OperationTeam.java @@ -0,0 +1,8 @@ +import java.util.List; + +public record OperationTeam( + Id<OperationTeam> operationTeamId, + List<OPStaff> opStaffList, + ObjectTimestamp lastUpdate +) { +} diff --git a/opp/core/src/main/java/Patient.java b/opp/core/src/main/java/Patient.java index 28ad22aebcc23289e59bfbdb76db0a5bb14c27d1..71e747b98d5cec0a6a708a2a9a97440a6d44c561 100644 --- a/opp/core/src/main/java/Patient.java +++ b/opp/core/src/main/java/Patient.java @@ -4,26 +4,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.time.LocalDate; public record Patient ( - @JsonProperty Id<Patient> id, - - @JsonProperty Gender gender, - - @JsonProperty String givenName, - - @JsonProperty String familyName, - - @JsonProperty - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd") LocalDate birthDate, - - @JsonProperty Address address, - - @JsonProperty String healthInsurance ) { } diff --git a/opp/core/src/main/java/PreparationNote.java b/opp/core/src/main/java/PreparationNote.java new file mode 100644 index 0000000000000000000000000000000000000000..9c368d1bb68671661677f169031cfe6cf2528f96 --- /dev/null +++ b/opp/core/src/main/java/PreparationNote.java @@ -0,0 +1,9 @@ +import java.time.LocalDateTime; + +public record PreparationNote( + Id<PreparationNote> preparationNoteId, + String text, + Operation operationId, + ObjectTimestamp lastUpdate +) { +} diff --git a/opp/core/src/main/java/Role.java b/opp/core/src/main/java/Role.java new file mode 100644 index 0000000000000000000000000000000000000000..a18e09d5a73ea464bd8633812abfcca9d30b7fd8 --- /dev/null +++ b/opp/core/src/main/java/Role.java @@ -0,0 +1,4 @@ +public enum Role { + SURGEON, + ASSISTANT +} diff --git a/opp/core/src/main/java/Room.java b/opp/core/src/main/java/Room.java new file mode 100644 index 0000000000000000000000000000000000000000..856b8f04fd924acd53d01dfb5b1c50d07414e779 --- /dev/null +++ b/opp/core/src/main/java/Room.java @@ -0,0 +1,6 @@ +public record Room( + Id<Room> roomId, + String roomName, + ObjectTimestamp lastUpdate +) { +} diff --git a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java index 7e3abeaa980d806517887e02a26b4b5c06685389..02fb60ffd97f37d8594ae66dbbf298fd1d38afe7 100644 --- a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java +++ b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java @@ -331,11 +331,18 @@ class JDBCRepository implements Repository @Override public List<Operation> findOperations(Operation.Filter filter) { - var sql = "SELECT * FROM operations WHERE date = " + - sqlValue(filter.date()). - replace("Optional", ""). - replace("[", ""). - replace("]", "") + ";"; + var sql = ""; + + if(filter.equals(Operation.Filter.NONE)) { + sql = "SELECT * FROM operations;"; + + } else { + sql = "SELECT * FROM operations WHERE date = " + + sqlValue(filter.date()). + replace("Optional", ""). + replace("[", ""). + replace("]", "") + ";"; + } try ( var resultSet = diff --git a/opp/jdbc-repo-impl/src/test/java/Tests.java b/opp/jdbc-repo-impl/src/test/java/Tests.java index 3a51047196608e7443104f01b729015416ca663e..1a7a662a0e0dd2b6df26f8a4eab15a899cebe632 100644 --- a/opp/jdbc-repo-impl/src/test/java/Tests.java +++ b/opp/jdbc-repo-impl/src/test/java/Tests.java @@ -97,23 +97,33 @@ public final class Tests @Test public void testCreateOperation() throws Exception { + Operation.Command createCommand = new Operation.Create( LocalDate.of(2025, 05, 11), LocalTime.of(10, 30, 00), LocalTime.of(11, 00, 00)); - Operation operation = opService.process(createCommand); + Operation createOperation = opService.process(createCommand); + + System.out.println(createOperation); - System.out.println(operation); + assertTrue( + repo.findOperation(createOperation.id()).isPresent() + ); } @Test public void testGetOperations() { - Operation.Filter filter = new Operation.Filter(Optional.of(LocalDate.of(2024, 05, 24))); + LocalDate testDate = LocalDate.of(2024, 05, 24); + Operation.Filter filter = new Operation.Filter(Optional.of(testDate)); +// Operation.Filter filter = Operation.Filter.NONE; List<Operation> operations = opService.getOperations(filter); - for (Operation operation : operations) + for (Operation operation : operations) { System.out.println(operation); + assertEquals(operation.date(), testDate); + } + } }