This commit is contained in:
dirgantarasiahaan
2023-05-31 14:00:28 +07:00
parent 2c82319b16
commit 6deddb3f15
17 changed files with 479 additions and 110 deletions

View File

@@ -0,0 +1,75 @@
package com.iconplus.smartproc.service.drppengadaan;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.projection.DrpPengadaanView;
import com.iconplus.smartproc.model.request.DrpPengadaanRequest;
import com.iconplus.smartproc.model.response.DrpPengadaanResponse;
import com.iconplus.smartproc.model.response.GetListDrpPengadaanResponse;
import com.iconplus.smartproc.repository.DrpPengadaanRepository;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class GetListDrpPengadaanService implements BaseService<DrpPengadaanRequest, GetListDrpPengadaanResponse> {
private final DrpPengadaanRepository drpPengadaanRepository;
public GetListDrpPengadaanService(DrpPengadaanRepository drpPengadaanRepository) {
this.drpPengadaanRepository = drpPengadaanRepository;
}
@Override
public GetListDrpPengadaanResponse execute(DrpPengadaanRequest input) {
List<DrpPengadaanResponse> drpPengadaanResponseList = new ArrayList<>();
var drpPengadaanViews = drpPengadaanRepository.getListDrpPengadaan(input.getPageable());
for (DrpPengadaanView drpPengadaanView : drpPengadaanViews) {
DrpPengadaanResponse drpPengadaanResponse = DrpPengadaanResponse.builder()
.id(drpPengadaanView.getId())
.drpId(drpPengadaanView.getDrpId())
.namaPengadaan(drpPengadaanView.getNamaPengadaan())
.nomor(drpPengadaanView.getNomor())
.hpe(drpPengadaanView.getHpe())
.isActive(drpPengadaanView.getIsActive())
.pagu(drpPengadaanView.getPagu())
.rencanaTanggal(drpPengadaanView.getRencanaTanggal())
.targetTanggal(drpPengadaanView.getTargetTanggal())
.jenisPengadaanId(drpPengadaanView.getJenisPengadaanId())
.jenisPengadaan(drpPengadaanView.getJenisPengadaan())
.jenisKontrakId(drpPengadaanView.getJenisKontrakId())
.jenisKontrak(drpPengadaanView.getJenisKontrak())
.metodePengadaanId(drpPengadaanView.getMetodePengadaanId())
.metodePengadaan(drpPengadaanView.getMetodePengadaan())
.lokasiId(drpPengadaanView.getLokasiId())
.lokasi(drpPengadaanView.getLokasi())
.metodePenyampaianId(drpPengadaanView.getMetodePenyampaianId())
.metodePenyampaian(drpPengadaanView.getMetodePenyampaian())
.unitInisiatorId(drpPengadaanView.getUnitInisiatorId())
.unitInisiator(drpPengadaanView.getUnitInisiator())
.strategiPengadaanId(drpPengadaanView.getStrategiPengadaanId())
.strategiPengadaan(drpPengadaanView.getStrategiPengadaan())
.supplyPositioningMatrixId(drpPengadaanView.getSupplyPositioningMatrixId())
.supplyPositioningMatrix(drpPengadaanView.getSupplyPositioningMatrix())
.sumberDanaId(drpPengadaanView.getSumberDanaId())
.sumberDana(drpPengadaanView.getSumberDana())
.build();
drpPengadaanResponseList.add(drpPengadaanResponse);
}
return GetListDrpPengadaanResponse.builder()
.data(drpPengadaanResponseList)
.pagination(Pagination.builder()
.pageSize(input.getPageable().getPageSize())
.currentPage(input.getPageable().getPageNumber())
.totalPages(drpPengadaanViews.getTotalPages())
.totalRecords(drpPengadaanViews.getTotalElements())
.isFirstPage(drpPengadaanViews.isFirst())
.isLastPage(drpPengadaanViews.isLast())
.build())
.build();
}
}