add master data api
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
package com.iconplus.smartproc.service.strategipengadaan;
|
||||
|
||||
import com.iconplus.smartproc.helper.model.Pagination;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.projection.StrategiPengadaanView;
|
||||
import com.iconplus.smartproc.model.request.StrategiPengadaanRequest;
|
||||
import com.iconplus.smartproc.model.response.GetListStrategiPengadaanResponse;
|
||||
import com.iconplus.smartproc.model.response.StrategiPengadaanResponse;
|
||||
import com.iconplus.smartproc.repository.StrategiPengadaanRepository;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class GetListStrategiPengadaanService implements BaseService<StrategiPengadaanRequest, GetListStrategiPengadaanResponse> {
|
||||
|
||||
private StrategiPengadaanRepository strategiPengadaanRepository;
|
||||
|
||||
public GetListStrategiPengadaanService(StrategiPengadaanRepository strategiPengadaanRepository) {
|
||||
this.strategiPengadaanRepository = strategiPengadaanRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GetListStrategiPengadaanResponse execute(StrategiPengadaanRequest input) {
|
||||
validateRequest(input);
|
||||
List<StrategiPengadaanResponse> strategiPengadaanResponseList = new ArrayList<>();
|
||||
Page<StrategiPengadaanView> strategiPengadaanViews = strategiPengadaanRepository.getAllStrategiPengadaan(input.getSearch(), input.getPageable());
|
||||
|
||||
for (StrategiPengadaanView strategiPengadaanView : strategiPengadaanViews) {
|
||||
StrategiPengadaanResponse strategiPengadaanResponse = StrategiPengadaanResponse.builder()
|
||||
.id(strategiPengadaanView.getId())
|
||||
.strategiPengadaan(strategiPengadaanView.getStrategiPengadaan())
|
||||
.keterangan(strategiPengadaanView.getKeterangan())
|
||||
.isActive(strategiPengadaanView.getIsActive())
|
||||
.isDelete(strategiPengadaanView.getIsDelete())
|
||||
.build();
|
||||
strategiPengadaanResponseList.add(strategiPengadaanResponse);
|
||||
}
|
||||
|
||||
return GetListStrategiPengadaanResponse.builder()
|
||||
.data(strategiPengadaanResponseList)
|
||||
.pagination(Pagination.builder()
|
||||
.pageSize(input.getPageable().getPageSize())
|
||||
.currentPage(input.getPageable().getPageNumber())
|
||||
.totalPages(strategiPengadaanViews.getTotalPages())
|
||||
.totalRecords(strategiPengadaanViews.getTotalElements())
|
||||
.isFirstPage(strategiPengadaanViews.isFirst())
|
||||
.isLastPage(strategiPengadaanViews.isLast())
|
||||
.build())
|
||||
.build();
|
||||
}
|
||||
|
||||
private void validateRequest(StrategiPengadaanRequest input) {
|
||||
if (StringUtils.isNotBlank(input.getSearch())) {
|
||||
input.setSearch('%'+ input.getSearch().toUpperCase()+'%');
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user