90 lines
4.5 KiB
Plaintext
90 lines
4.5 KiB
Plaintext
package com.healthcare.ohctech.service.impl;
|
|
|
|
import com.healthcare.ohctech.dto.BusinessReportsFilterMasterDto;
|
|
import com.healthcare.ohctech.entity.AddFilterMaster;
|
|
import com.healthcare.ohctech.entity.BusinessReportsFilterMaster;
|
|
import com.healthcare.ohctech.entity.ReportMaster;
|
|
import com.healthcare.ohctech.repository.*;
|
|
import com.healthcare.ohctech.service.BusinessReportsFilterMasterService;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.Optional;
|
|
|
|
@Service
|
|
public class BusinessReportsFilterMasterServiceImpl implements BusinessReportsFilterMasterService {
|
|
|
|
private BusinessReportsFilterMasterRepo businessReportsFilterMasterRepo;
|
|
private final ReportMasterRepo reportMasterRepo;
|
|
|
|
private final AddFilterMasterRepo addFilterMasterRepo;
|
|
|
|
public BusinessReportsFilterMasterServiceImpl(BusinessReportsFilterMasterRepo businessReportsFilterMasterRepo,ReportMasterRepo reportMasterRepo,AddFilterMasterRepo addFilterMasterRepo) {
|
|
this.businessReportsFilterMasterRepo = businessReportsFilterMasterRepo;
|
|
this.reportMasterRepo = reportMasterRepo;
|
|
this.addFilterMasterRepo = addFilterMasterRepo;
|
|
}
|
|
|
|
@Override
|
|
public BusinessReportsFilterMaster getBusinessReportsFilterMasterById(Long id) {
|
|
Optional<BusinessReportsFilterMaster> optional = businessReportsFilterMasterRepo.findById(id);
|
|
return optional.orElse(null);
|
|
}
|
|
|
|
@Override
|
|
public Page<BusinessReportsFilterMaster> getAllBusinessReportsFilterMasters(Pageable pageable) {
|
|
return businessReportsFilterMasterRepo.findAll(pageable);
|
|
}
|
|
|
|
@Override
|
|
public void addBusinessReportsFilterMaster(BusinessReportsFilterMasterDto businessReportsFilterMasterDto) {
|
|
BusinessReportsFilterMaster businessReportsFilterMaster = new BusinessReportsFilterMaster();
|
|
|
|
ReportMaster reportMaster = reportMasterRepo.findById(businessReportsFilterMasterDto.filterId())
|
|
.orElseThrow(() -> new RuntimeException("Report not found for ID "+ businessReportsFilterMasterDto.reportId()));
|
|
businessReportsFilterMaster.setReportMaster(reportMaster);
|
|
|
|
AddFilterMaster addFilterMaster = addFilterMasterRepo.findById(businessReportsFilterMasterDto.filterId())
|
|
.orElseThrow(() -> new RuntimeException("FIlter not found for ID "+ businessReportsFilterMasterDto.filterId()));
|
|
businessReportsFilterMaster.setAddFilterMaster(addFilterMaster);
|
|
|
|
businessReportsFilterMaster.setIsPatientSpecific(businessReportsFilterMasterDto.isPatientSpecific());
|
|
|
|
businessReportsFilterMasterRepo.save(businessReportsFilterMaster);
|
|
}
|
|
|
|
@Override
|
|
public BusinessReportsFilterMaster updateBusinessReportsFilterMaster(BusinessReportsFilterMasterDto businessReportsFilterMasterDto) {
|
|
Optional<BusinessReportsFilterMaster> optional = businessReportsFilterMasterRepo.findById(businessReportsFilterMasterDto.id());
|
|
if (optional.isPresent()) {
|
|
BusinessReportsFilterMaster businessReportsFilterMaster = optional.get();
|
|
|
|
ReportMaster reportMaster = reportMasterRepo.findById(businessReportsFilterMasterDto.filterId())
|
|
.orElseThrow(() -> new RuntimeException("Report not found for ID "+ businessReportsFilterMasterDto.reportId()));
|
|
businessReportsFilterMaster.setReportMaster(reportMaster);
|
|
|
|
AddFilterMaster addFilterMaster = addFilterMasterRepo.findById(businessReportsFilterMasterDto.filterId())
|
|
.orElseThrow(() -> new RuntimeException("FIlter not found for ID "+ businessReportsFilterMasterDto.filterId()));
|
|
businessReportsFilterMaster.setAddFilterMaster(addFilterMaster);
|
|
|
|
businessReportsFilterMaster.setIsPatientSpecific(businessReportsFilterMasterDto.isPatientSpecific());
|
|
|
|
return businessReportsFilterMasterRepo.save(businessReportsFilterMaster);
|
|
} else {
|
|
throw new RuntimeException("BusinessReportsFilterMaster not found with ID: " + businessReportsFilterMasterDto.id());
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void deleteBusinessReportsFilterMaster(Long id) {
|
|
Optional<BusinessReportsFilterMaster> optional = businessReportsFilterMasterRepo.findById(id);
|
|
if (optional.isPresent()) {
|
|
businessReportsFilterMasterRepo.delete(optional.get());
|
|
} else {
|
|
throw new RuntimeException("BusinessReportsFilterMaster not found with ID: " + id);
|
|
}
|
|
}
|
|
}
|