ohctechv3/.svn/pristine/66/66d0a229fcf13e9e4596c52752ab3ca4300fa449.svn-base
2024-10-28 15:03:36 +05:30

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);
}
}
}