40 lines
1.6 KiB
Java
40 lines
1.6 KiB
Java
package com.iconplus.smartproc.service.jabatan;
|
|
|
|
import com.iconplus.smartproc.exception.BusinessException;
|
|
import com.iconplus.smartproc.helper.service.BaseService;
|
|
import com.iconplus.smartproc.model.request.JabatanRequest;
|
|
import com.iconplus.smartproc.model.response.JabatanResponse;
|
|
import com.iconplus.smartproc.repository.JabatanRepository;
|
|
import com.iconplus.smartproc.util.Constants;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
@Service
|
|
public class GetJabatanService implements BaseService<JabatanRequest, JabatanResponse> {
|
|
|
|
private JabatanRepository jabatanRepository;
|
|
public GetJabatanService(JabatanRepository jabatanRepository) {
|
|
this.jabatanRepository = jabatanRepository;
|
|
}
|
|
|
|
@Override
|
|
public JabatanResponse execute(JabatanRequest input) {
|
|
|
|
var jabatan = jabatanRepository.getJabatanDetails(input.getId())
|
|
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
|
|
Constants.ERR_TTL_10001,
|
|
String.format(Constants.ERR_MSG_10001, "Jabatan", input.getId())));
|
|
|
|
return JabatanResponse.builder()
|
|
.id(jabatan.getId())
|
|
.jabatan(jabatan.getJabatan())
|
|
.keterangan(jabatan.getKeterangan())
|
|
.instansiId(jabatan.getInstansiId())
|
|
.instansi(jabatan.getInstansi())
|
|
.bidangId(jabatan.getBidangId())
|
|
.bidang(jabatan.getBidang())
|
|
.isActive(jabatan.getIsActive())
|
|
.isDelete(jabatan.getIsDelete())
|
|
.build();
|
|
}
|
|
}
|