package com.iconplus.smartproc.service.jenisanggaran; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.request.JenisAnggaranRequest; import com.iconplus.smartproc.model.response.JenisAnggaranResponse; import com.iconplus.smartproc.repository.JenisAnggaranRepository; import com.iconplus.smartproc.util.Constants; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; @Service public class GetJenisAnggaranByIdService implements BaseService { private final JenisAnggaranRepository jenisAnggaranRepository; public GetJenisAnggaranByIdService(JenisAnggaranRepository jenisAnggaranRepository) { this.jenisAnggaranRepository = jenisAnggaranRepository; } @Override public JenisAnggaranResponse execute(JenisAnggaranRequest input) { JenisAnggaranResponse jenisAnggaranResponse = new JenisAnggaranResponse(); var jenisAnggaranView = jenisAnggaranRepository.findByIdAndDeletedFalse(input.getId()); if (jenisAnggaranView.isEmpty()) { throw new BusinessException(HttpStatus.CONFLICT, Constants.ERR_CODE_10001, Constants.ERR_TTL_10001, String.format(Constants.ERR_MSG_10001, input.getId())); } jenisAnggaranResponse.setJenisAnggaran(jenisAnggaranView.get().getJenisAnggaran()); jenisAnggaranResponse.setKeterangan(jenisAnggaranView.get().getKeterangan()); jenisAnggaranResponse.setDeleted(jenisAnggaranView.get().getDeleted()); return JenisAnggaranResponse.builder() .id(jenisAnggaranView.get().getId()) .jenisAnggaran(jenisAnggaranView.get().getJenisAnggaran()) .keterangan(jenisAnggaranView.get().getKeterangan()) .deleted(jenisAnggaranView.get().getDeleted()) .build(); } }