add master data api

This commit is contained in:
dirgantarasiahaan
2023-05-26 10:39:31 +07:00
parent c573eb2fb3
commit fe72608465
67 changed files with 2376 additions and 307 deletions

View File

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