package com.iconplus.smartproc.service.metodepengadaan; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.request.MetodePengadaanRequest; import com.iconplus.smartproc.model.response.MetodePengadaanResponse; import com.iconplus.smartproc.repository.MetodePengadaanRepository; import com.iconplus.smartproc.util.Constants; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.BooleanUtils; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import java.sql.Timestamp; @Service @Slf4j public class PutUpdateMetodePengadaanService implements BaseService { private MetodePengadaanRepository metodePengadaanRepository; public PutUpdateMetodePengadaanService(MetodePengadaanRepository metodePengadaanRepository) { this.metodePengadaanRepository = metodePengadaanRepository; } @Override public MetodePengadaanResponse execute(MetodePengadaanRequest input) { var metodePengadaan = metodePengadaanRepository.findByIdAndIsDeleteFalse(input.getId()) .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, Constants.ERR_CODE_10001, Constants.ERR_TTL_10001, String.format(Constants.ERR_MSG_10001, input.getId()))); metodePengadaan.setMetodePengadaan(input.getMetodePengadaan()); metodePengadaan.setKeterangan(input.getKeterangan()); metodePengadaan.setIsActive(input.getIsActive()); metodePengadaanRepository.save(metodePengadaan); log.info("Success edit metode pengadaan id {}", metodePengadaan.getId()); return MetodePengadaanResponse.builder() .id(metodePengadaan.getId()) .build(); } }