69 lines
2.9 KiB
Plaintext
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;
|
|
}
|
|
}
|