48 lines
2.0 KiB
Java
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())
|
|
.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();
|
|
}
|
|
}
|