add api drp list rekomendasi

This commit is contained in:
dirgantarasiahaan
2023-06-02 18:21:29 +07:00
parent d2015e6695
commit f1f071b512
17 changed files with 376 additions and 12 deletions

View File

@@ -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();
}
}