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 { 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()) .rksDaftarId(input.getRksDaftarId()) .versi(input.getVersi()) .isActive(BooleanUtils.isTrue(input.getIsActive())) .isDelete(false) .build(); var result = rksTemplateRepository.save(rksTemplate); return RksTemplateResponse.builder() .id(result.getId()) .build(); } }