Files
smartproc-be/src/main/java/com/iconplus/smartproc/service/approval/PostDrpRekomendasiService.java
dirgantarasiahaan 5be630964f pointing sindiglive
2023-06-02 14:40:12 +07:00

51 lines
2.1 KiB
Java

package com.iconplus.smartproc.service.approval;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.DrpRekomendasi;
import com.iconplus.smartproc.model.request.DrpRekomendasiRequest;
import com.iconplus.smartproc.model.response.DrpRekomendasiResponse;
import com.iconplus.smartproc.repository.DrpApprovalRepository;
import com.iconplus.smartproc.repository.DrpRekomendasiRepository;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@Service
public class PostDrpRekomendasiService implements BaseService<DrpRekomendasiRequest, DrpRekomendasiResponse> {
private DrpRekomendasiRepository drpRekomendasiRepository;
private DrpApprovalRepository drpApprovalRepository;
private PostDrpRekomendasiService(DrpRekomendasiRepository drpRekomendasiRepository,
DrpApprovalRepository drpApprovalRepository) {
this.drpRekomendasiRepository = drpRekomendasiRepository;
this.drpApprovalRepository = drpApprovalRepository;
}
@Override
public DrpRekomendasiResponse execute(DrpRekomendasiRequest input) {
if (input.getDrpApprovalId() == null) {
var drpApproval = drpApprovalRepository.findByDrpIdAndApproverUserIdAndIsDeleteFalse(input.getDrpId(), input.getUserId());
if (drpApproval.isPresent()) {
input.setDrpApprovalId(drpApproval.get().getId());
}
}
DrpRekomendasi drpRekomendasi = DrpRekomendasi.builder()
.drpId(input.getDrpId())
.userId(input.getUserId())
.jenisPengadaanId(input.getJenisPengadaanId())
.drpApprovalId(input.getDrpApprovalId())
.rekomendasi(input.getRekomendasi())
.rekomendasiDate(input.getRekomendasiDate())
.isDelete(false)
.build();
var result = drpRekomendasiRepository.save(drpRekomendasi);
return DrpRekomendasiResponse.builder()
.id(result.getId())
.build();
}
}