Changeset 0e894d2 for backend/src


Ignore:
Timestamp:
05/23/26 13:01:23 (4 months ago)
Author:
MBK <marija.karapandzova@…>
Branches:
master
Children:
a95bd1b
Parents:
f626fb6
Message:

Add date and time for referrals

Location:
backend/src/main/java/medora
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • backend/src/main/java/medora/controller/ReferralController.java

    rf626fb6 r0e894d2  
    11package medora.controller;
    22
     3import medora.dto.ReferralDTO;
    34import medora.dto.CreateReferralRequest;
    4 import medora.dto.ReferralDTO;
    5 import medora.models.domain.MedicalRecord;
    65import medora.models.domain.Referrals;
    7 import medora.repository.MedicalRecordRepository;
    8 import medora.service.AppointmentService;
    96import medora.service.ReferralService;
    107import org.slf4j.Logger;
     
    1411import org.springframework.web.bind.annotation.*;
    1512
    16 import java.time.LocalTime;
    1713import java.util.List;
    1814import java.util.Map;
     
    2622
    2723    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) {
    3426        this.referralService = referralService;
    35         this.appointmentService = appointmentService;
    36         this.medicalRecordRepository = medicalRecordRepository;
    3727    }
    3828
     
    5545                return ResponseEntity.badRequest()
    5646                        .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"));
    5755            }
    5856
     
    6260                    request.getToDoctorId(),
    6361                    request.getReason(),
    64                     request.getReferralDate()
     62                    request.getReferralDate(),
     63                    request.getAppointmentDate(),
     64                    request.getAppointmentTime()
    6565            );
    66 
    67             // Create an appointment for the referral
    68             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 AM
    78                 );
    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             }
    8366
    8467            ReferralDTO dto = convertToDTO(referral);
     
    250233                toDoctorName,
    251234                referral.getReason(),
    252                 referral.getReferralDate()
     235                referral.getReferralDate(),
     236                referral.getAppointmentDate(),
     237                referral.getAppointmentTime()
    253238        );
    254239    }
  • backend/src/main/java/medora/dto/CreateReferralRequest.java

    rf626fb6 r0e894d2  
    77
    88import java.time.LocalDate;
     9import java.time.LocalTime;
    910
    1011@Getter
     
    1819    private String reason;
    1920    private LocalDate referralDate;
     21    private LocalDate appointmentDate;
     22    private LocalTime appointmentTime;
    2023}
  • backend/src/main/java/medora/dto/ReferralDTO.java

    rf626fb6 r0e894d2  
    77
    88import java.time.LocalDate;
     9import java.time.LocalTime;
    910
    1011@Getter
     
    2324    private String reason;
    2425    private LocalDate referralDate;
     26    private LocalDate appointmentDate;
     27    private LocalTime appointmentTime;
    2528}
  • backend/src/main/java/medora/models/domain/Referrals.java

    rf626fb6 r0e894d2  
    88
    99import java.time.LocalDate;
     10import java.time.LocalTime;
    1011
    1112@Getter
     
    2829    private LocalDate referralDate;
    2930
     31    @Column(name = "appointment_date")
     32    private LocalDate appointmentDate;
     33
     34    @Column(name = "appointment_time")
     35    private LocalTime appointmentTime;
     36
    3037    @ManyToOne(optional = false)
    3138    @JoinColumn(name = "record_id", nullable = false)
     
    4350
    4451    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) {
    5059
    5160        this.referralId = referralId;
    5261        this.reason = reason;
    5362        this.referralDate = referralDate;
     63        this.appointmentDate = appointmentDate;
     64        this.appointmentTime = appointmentTime;
    5465        this.medicalRecord = medicalRecord;
    5566        this.fromDoctor = fromDoctor;
Note: See TracChangeset for help on using the changeset viewer.