Files
smartproc-be/src/main/java/com/iconplus/smartproc/service/rkstemplate/PostCreateRksTemplateService.java
dirgantarasiahaan f8fef28190 add rks
2023-06-05 17:15:16 +07:00

48 lines
2.0 KiB
Java

package com.iconplus.smartproc.service.rkstemplate;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.RksTemplate;
import com.iconplus.smartproc.model.request.RksTemplateRequest;
import com.iconplus.smartproc.model.response.RksTemplateResponse;
import com.iconplus.smartproc.repository.RksTemplateRepository;
import com.iconplus.smartproc.util.Constants;
import org.apache.commons.lang3.BooleanUtils;
import org.springframework.stereotype.Service;
@Service
public class PostCreateRksTemplateService implements BaseService<RksTemplateRequest, RksTemplateResponse> {
private final RksTemplateRepository rksTemplateRepository;
public PostCreateRksTemplateService(RksTemplateRepository rksTemplateRepository) {
this.rksTemplateRepository = rksTemplateRepository;
}
@Override
public RksTemplateResponse execute(RksTemplateRequest input) {
var rksTemplateOptional= rksTemplateRepository.findByKodeTemplateAndIsDeleteFalse(input.getKodeTemplate());
if (rksTemplateOptional.isPresent()) {
throw new BusinessException(Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, "RKS Kode Template", input.getKodeTemplate()));
}
RksTemplate rksTemplate = RksTemplate.builder()
.kodeTemplate(input.getKodeTemplate())
.namaTemplate(input.getNamaTemplate())
.metodePengadaanId(input.getMetodePengadaanId())
.rksDaftarIsiId(input.getRksDaftarIsiId())
.versi(input.getVersi())
.isActive(BooleanUtils.isTrue(input.getIsActive()))
.isDelete(false)
.build();
var result = rksTemplateRepository.save(rksTemplate);
return RksTemplateResponse.builder()
.id(result.getId())
.build();
}
}