45 lines
1.8 KiB
Java
45 lines
1.8 KiB
Java
package com.iconplus.smartproc.service.rksdaftarisi;
|
|
|
|
import com.iconplus.smartproc.exception.BusinessException;
|
|
import com.iconplus.smartproc.helper.service.BaseService;
|
|
import com.iconplus.smartproc.model.entity.RksDaftarIsi;
|
|
import com.iconplus.smartproc.model.request.RksDaftarIsiRequest;
|
|
import com.iconplus.smartproc.model.response.RksDaftarIsiResponse;
|
|
import com.iconplus.smartproc.repository.RksDaftarIsiRepository;
|
|
import com.iconplus.smartproc.util.Constants;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
@Service
|
|
public class PostCreateRksDaftarIsiService implements BaseService<RksDaftarIsiRequest, RksDaftarIsiResponse> {
|
|
|
|
private final RksDaftarIsiRepository rksDaftarIsiRepository;
|
|
public PostCreateRksDaftarIsiService(RksDaftarIsiRepository rksDaftarIsiRepository) {
|
|
this.rksDaftarIsiRepository = rksDaftarIsiRepository;
|
|
}
|
|
|
|
@Override
|
|
public RksDaftarIsiResponse execute(RksDaftarIsiRequest input) {
|
|
|
|
var rksDaftarIsiOptional = rksDaftarIsiRepository.findByKodeTemplateAndIsDeleteFalse(input.getKodeTemplate());
|
|
if (rksDaftarIsiOptional.isPresent()) {
|
|
throw new BusinessException(Constants.ERR_CODE_10002,
|
|
Constants.ERR_TTL_10002,
|
|
String.format(Constants.ERR_MSG_10002, "RKS Kode Template", input.getKodeTemplate()));
|
|
}
|
|
|
|
|
|
RksDaftarIsi rksDaftarIsi = RksDaftarIsi.builder()
|
|
.kodeTemplate(input.getKodeTemplate())
|
|
.namaTemplate(input.getNamaTemplate())
|
|
.metodePengadaanId(input.getMetodePengadaanId())
|
|
.versi(input.getVersi())
|
|
.isDelete(false)
|
|
.build();
|
|
|
|
var result = rksDaftarIsiRepository.save(rksDaftarIsi);
|
|
return RksDaftarIsiResponse.builder()
|
|
.id(result.getId())
|
|
.build();
|
|
}
|
|
}
|