add api drp list rekomendasi
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
package com.iconplus.smartproc.service.drp;
|
||||
|
||||
import com.iconplus.smartproc.helper.model.Pagination;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.projection.DrpRekomendasiView;
|
||||
import com.iconplus.smartproc.model.request.DrpRekomendasiRequest;
|
||||
import com.iconplus.smartproc.model.response.DrpRekomendasiResponse;
|
||||
import com.iconplus.smartproc.model.response.GetListDrpRekomendasiResponse;
|
||||
import com.iconplus.smartproc.repository.DrpRekomendasiRepository;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class GetListDrpRekomendasiService implements BaseService<DrpRekomendasiRequest, GetListDrpRekomendasiResponse> {
|
||||
|
||||
private final DrpRekomendasiRepository drpRekomendasiRepository;
|
||||
|
||||
public GetListDrpRekomendasiService(DrpRekomendasiRepository drpRekomendasiRepository) {
|
||||
this.drpRekomendasiRepository = drpRekomendasiRepository;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public GetListDrpRekomendasiResponse execute(DrpRekomendasiRequest input) {
|
||||
|
||||
List<DrpRekomendasiResponse> drpRekomendasiResponseList = new ArrayList<>();
|
||||
var listDrpRekomendasi = drpRekomendasiRepository.getListDrpRekomendasiByDrpId(input.getDrpId(), input.getPageable());
|
||||
for (DrpRekomendasiView drpRekomendasiView : listDrpRekomendasi) {
|
||||
DrpRekomendasiResponse drpRekomendasiResponse = DrpRekomendasiResponse.builder()
|
||||
.id(drpRekomendasiView.getId())
|
||||
.nomorRkp(drpRekomendasiView.getNomor())
|
||||
.namaPengadaan(drpRekomendasiView.getNamaPengadaan())
|
||||
.jabatan(drpRekomendasiView.getJabatan())
|
||||
.rekomendasi(drpRekomendasiView.getRekomendasi())
|
||||
.rekomendasiDate(drpRekomendasiView.getRekomendasiDate())
|
||||
.build();
|
||||
|
||||
if (drpRekomendasiView.getIsApprove() != null) {
|
||||
if (BooleanUtils.isTrue(drpRekomendasiView.getIsApprove())) {
|
||||
drpRekomendasiResponse.setStatus("Setuju");
|
||||
} else {
|
||||
drpRekomendasiResponse.setStatus("Tolak");
|
||||
}
|
||||
|
||||
if (StringUtils.equalsIgnoreCase("VP", drpRekomendasiView.getLevel())) {
|
||||
drpRekomendasiResponse.setApproval(Constants.STATUS_APPROVAL_VP);
|
||||
} else if (StringUtils.equalsIgnoreCase("KOMITE", drpRekomendasiView.getLevel())) {
|
||||
drpRekomendasiResponse.setApproval(Constants.STATUS_REKOMENDASI_KOMITE);
|
||||
} else {
|
||||
drpRekomendasiResponse.setApproval(Constants.STATUS_APPROVAL_DIRUT);
|
||||
}
|
||||
}
|
||||
|
||||
drpRekomendasiResponseList.add(drpRekomendasiResponse);
|
||||
}
|
||||
|
||||
return GetListDrpRekomendasiResponse.builder()
|
||||
.data(drpRekomendasiResponseList)
|
||||
.pagination(Pagination.builder()
|
||||
.pageSize(input.getPageable().getPageSize())
|
||||
.currentPage(input.getPageable().getPageNumber())
|
||||
.totalPages(listDrpRekomendasi.getTotalPages())
|
||||
.totalRecords(listDrpRekomendasi.getTotalElements())
|
||||
.isFirstPage(listDrpRekomendasi.isFirst())
|
||||
.isLastPage(listDrpRekomendasi.isLast())
|
||||
.build())
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user