Changeset 0e894d2 for backend/src
- Timestamp:
- 05/23/26 13:01:23 (4 months ago)
- Branches:
- master
- Children:
- a95bd1b
- Parents:
- f626fb6
- Location:
- backend/src/main/java/medora
- Files:
-
- 4 edited
-
controller/ReferralController.java (modified) (6 diffs)
-
dto/CreateReferralRequest.java (modified) (2 diffs)
-
dto/ReferralDTO.java (modified) (2 diffs)
-
models/domain/Referrals.java (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
backend/src/main/java/medora/controller/ReferralController.java
rf626fb6 r0e894d2 1 1 package medora.controller; 2 2 3 import medora.dto.ReferralDTO; 3 4 import medora.dto.CreateReferralRequest; 4 import medora.dto.ReferralDTO;5 import medora.models.domain.MedicalRecord;6 5 import medora.models.domain.Referrals; 7 import medora.repository.MedicalRecordRepository;8 import medora.service.AppointmentService;9 6 import medora.service.ReferralService; 10 7 import org.slf4j.Logger; … … 14 11 import org.springframework.web.bind.annotation.*; 15 12 16 import java.time.LocalTime;17 13 import java.util.List; 18 14 import java.util.Map; … … 26 22 27 23 private final ReferralService referralService; 28 private final AppointmentService appointmentService; 29 private final MedicalRecordRepository medicalRecordRepository; 30 31 public ReferralController(ReferralService referralService, 32 AppointmentService appointmentService, 33 MedicalRecordRepository medicalRecordRepository) { 24 25 public ReferralController(ReferralService referralService) { 34 26 this.referralService = referralService; 35 this.appointmentService = appointmentService;36 this.medicalRecordRepository = medicalRecordRepository;37 27 } 38 28 … … 55 45 return ResponseEntity.badRequest() 56 46 .body(Map.of("error", "Referral reason is required")); 47 } 48 if (request.getAppointmentDate() == null) { 49 return ResponseEntity.badRequest() 50 .body(Map.of("error", "Appointment date is required")); 51 } 52 if (request.getAppointmentTime() == null) { 53 return ResponseEntity.badRequest() 54 .body(Map.of("error", "Appointment time is required")); 57 55 } 58 56 … … 62 60 request.getToDoctorId(), 63 61 request.getReason(), 64 request.getReferralDate() 62 request.getReferralDate(), 63 request.getAppointmentDate(), 64 request.getAppointmentTime() 65 65 ); 66 67 // Create an appointment for the referral68 try {69 MedicalRecord medicalRecord = medicalRecordRepository.findById(request.getMedicalRecordId())70 .orElseThrow(() -> new RuntimeException("Medical record not found"));71 Long patientId = medicalRecord.getPatient().getPatientId();72 73 appointmentService.createAppointment(74 patientId,75 request.getToDoctorId(),76 request.getReferralDate(),77 LocalTime.of(10, 0) // Default appointment time at 10:00 AM78 );79 logger.info("Created appointment for referral with ID: {}", referral.getReferralId());80 } catch (Exception e) {81 logger.warn("Failed to create appointment for referral: {}", e.getMessage());82 }83 66 84 67 ReferralDTO dto = convertToDTO(referral); … … 250 233 toDoctorName, 251 234 referral.getReason(), 252 referral.getReferralDate() 235 referral.getReferralDate(), 236 referral.getAppointmentDate(), 237 referral.getAppointmentTime() 253 238 ); 254 239 } -
backend/src/main/java/medora/dto/CreateReferralRequest.java
rf626fb6 r0e894d2 7 7 8 8 import java.time.LocalDate; 9 import java.time.LocalTime; 9 10 10 11 @Getter … … 18 19 private String reason; 19 20 private LocalDate referralDate; 21 private LocalDate appointmentDate; 22 private LocalTime appointmentTime; 20 23 } -
backend/src/main/java/medora/dto/ReferralDTO.java
rf626fb6 r0e894d2 7 7 8 8 import java.time.LocalDate; 9 import java.time.LocalTime; 9 10 10 11 @Getter … … 23 24 private String reason; 24 25 private LocalDate referralDate; 26 private LocalDate appointmentDate; 27 private LocalTime appointmentTime; 25 28 } -
backend/src/main/java/medora/models/domain/Referrals.java
rf626fb6 r0e894d2 8 8 9 9 import java.time.LocalDate; 10 import java.time.LocalTime; 10 11 11 12 @Getter … … 28 29 private LocalDate referralDate; 29 30 31 @Column(name = "appointment_date") 32 private LocalDate appointmentDate; 33 34 @Column(name = "appointment_time") 35 private LocalTime appointmentTime; 36 30 37 @ManyToOne(optional = false) 31 38 @JoinColumn(name = "record_id", nullable = false) … … 43 50 44 51 public Referrals(Long referralId, 45 String reason, 46 LocalDate referralDate, 47 MedicalRecord medicalRecord, 48 Doctors fromDoctor, 49 Doctors toDoctor) { 52 String reason, 53 LocalDate referralDate, 54 LocalDate appointmentDate, 55 LocalTime appointmentTime, 56 MedicalRecord medicalRecord, 57 Doctors fromDoctor, 58 Doctors toDoctor) { 50 59 51 60 this.referralId = referralId; 52 61 this.reason = reason; 53 62 this.referralDate = referralDate; 63 this.appointmentDate = appointmentDate; 64 this.appointmentTime = appointmentTime; 54 65 this.medicalRecord = medicalRecord; 55 66 this.fromDoctor = fromDoctor;
Note:
See TracChangeset
for help on using the changeset viewer.
