76 lines
4.0 KiB
Java
76 lines
4.0 KiB
Java
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.getDrpId(), 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();
|
|
}
|
|
}
|