package com.iconplus.smartproc.service.supplypositioningmatrix; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.request.SupplyPositioningMatrixRequest; import com.iconplus.smartproc.model.response.SupplyPositioningMatrixResponse; import com.iconplus.smartproc.repository.SupplyPositioningMatrixRepository; import com.iconplus.smartproc.util.Constants; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; @Service @Slf4j public class PutUpdateSupplyPositioningMatrixService implements BaseService { private SupplyPositioningMatrixRepository supplyPositioningMatrixRepository; public PutUpdateSupplyPositioningMatrixService(SupplyPositioningMatrixRepository supplyPositioningMatrixRepository) { this.supplyPositioningMatrixRepository = supplyPositioningMatrixRepository; } @Override public SupplyPositioningMatrixResponse execute(SupplyPositioningMatrixRequest input) { var supplyPositioningMatrix = supplyPositioningMatrixRepository.findByIdAndIsDeleteFalse(input.getId()) .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, Constants.ERR_CODE_10001, Constants.ERR_TTL_10001, String.format(Constants.ERR_MSG_10001, "Supply Positioning Matrix", input.getId()))); supplyPositioningMatrix.setSupplyPositioningMatrix(input.getSupplyPositioningMatrix()); supplyPositioningMatrix.setKeterangan(input.getKeterangan()); supplyPositioningMatrix.setIsActive(input.getIsActive()); supplyPositioningMatrixRepository.save(supplyPositioningMatrix); log.info("Success edit supply positioning matrix id {}", supplyPositioningMatrix.getId()); return SupplyPositioningMatrixResponse.builder() .id(supplyPositioningMatrix.getId()) .build(); } }