51 lines
2.1 KiB
Java
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();
|
|
}
|
|
}
|