ohctechv3/.svn/pristine/8f/8fff1136d3403c236042b65774a4753e101b7251.svn-base
2024-10-28 15:03:36 +05:30

69 lines
2.9 KiB
Plaintext

package com.healthcare.ohctech.service.impl;
import com.healthcare.ohctech.dto.MedicineUsageCatDto;
import com.healthcare.ohctech.entity.MedicineUsageCat;
import com.healthcare.ohctech.repository.MedicineUsageCatRepo;
import com.healthcare.ohctech.service.MedicineUsageCatService;
import com.healthcare.ohctech.util.PaginationUtil;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Optional;
@Service
public class MedicineUsageCatServiceImpl implements MedicineUsageCatService {
private final MedicineUsageCatRepo medicineUsageCatRepo;
public MedicineUsageCatServiceImpl(MedicineUsageCatRepo medicineUsageCatRepo) {
this.medicineUsageCatRepo = medicineUsageCatRepo;
}
@Override
public MedicineUsageCat getMedicineUsageCatById(Long id) {
return medicineUsageCatRepo.findById(id)
.orElseThrow(() -> new RuntimeException("Medicine Usage Category not found for ID: " + id));
}
@Override
public Page<MedicineUsageCat> getAllMedicineUsageCats(Pageable pageable){//, List<PaginationUtil.FilterCriteria> filterCriteriaList) {
//Specification<MedicineUsageCat> spec = PaginationUtil.createSpecification(filterCriteriaList);
return medicineUsageCatRepo.findAll(pageable);
}
@Override
public void addMedicineUsageCat(MedicineUsageCatDto medicineUsageCatDto, Long userId) {
MedicineUsageCat medicineUsageCat = convertToEntity(new MedicineUsageCat(), medicineUsageCatDto);
medicineUsageCat.setModifiedBy(userId);
medicineUsageCatRepo.save(medicineUsageCat);
}
@Override
public void updateMedicineUsageCat(MedicineUsageCatDto medicineUsageCatDto, Long userId) {
Long id = medicineUsageCatDto.id();
MedicineUsageCat medicineUsageCat = medicineUsageCatRepo.findById(id)
.orElseThrow(() -> new RuntimeException("Medicine Usage Category not found for ID: " + id));
convertToEntity(medicineUsageCat, medicineUsageCatDto);
medicineUsageCat.setModifiedBy(userId);
medicineUsageCatRepo.save(medicineUsageCat);
}
@Override
public void deleteMedicineUsageCat(Long id) {
MedicineUsageCat medicineUsageCat = medicineUsageCatRepo.findById(id)
.orElseThrow(() -> new RuntimeException("Medicine Usage Category not found for ID: " + id));
medicineUsageCatRepo.delete(medicineUsageCat);
}
private MedicineUsageCat convertToEntity(MedicineUsageCat medicineUsageCat, MedicineUsageCatDto medicineUsageCatDto) {
medicineUsageCat.setMedicineUsageCatName(medicineUsageCatDto.medicineUsageCatName());
medicineUsageCat.setCatDesc(medicineUsageCatDto.catDesc());
medicineUsageCat.setCode(medicineUsageCatDto.code());
return medicineUsageCat;
}
}