Files
smartproc-be/src/main/java/com/iconplus/smartproc/service/unitinisiator/GetListUnitInisiatorService.java
dirgantarasiahaan 77dfe44ee6 unitinisiator
2023-05-25 01:52:31 +07:00

61 lines
2.7 KiB
Java

package com.iconplus.smartproc.service.unitinisiator;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.projection.UnitInisiatorView;
import com.iconplus.smartproc.model.request.UnitInisiatorRequest;
import com.iconplus.smartproc.model.response.GetListUnitInisiatorResponse;
import com.iconplus.smartproc.model.response.UnitInisiatorResponse;
import com.iconplus.smartproc.repository.UnitInisiatorRepository;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class GetListUnitInisiatorService implements BaseService<UnitInisiatorRequest, GetListUnitInisiatorResponse> {
private UnitInisiatorRepository unitInisiatorRepository;
private GetListUnitInisiatorService(UnitInisiatorRepository unitInisiatorRepository) {
this.unitInisiatorRepository = unitInisiatorRepository;
}
@Override
public GetListUnitInisiatorResponse execute(UnitInisiatorRequest input) {
validateRequest(input);
List<UnitInisiatorResponse> unitInisiatorResponseList = new ArrayList<>();
var unitInisiatorViews = unitInisiatorRepository.getListUnitInisiator(input.getSearch(), input.getPageable());
for (UnitInisiatorView unitInisiatorView : unitInisiatorViews) {
UnitInisiatorResponse unitInisiatorResponse = UnitInisiatorResponse.builder()
.id(unitInisiatorView.getId())
.unitInisiator(unitInisiatorView.getUnitInisiator())
.keterangan(unitInisiatorView.getKeterangan())
.isActive(unitInisiatorView.getIsActive())
.isDelete(unitInisiatorView.getIsDelete())
.build();
unitInisiatorResponseList.add(unitInisiatorResponse);
}
return GetListUnitInisiatorResponse.builder()
.data(unitInisiatorResponseList)
.pagination(Pagination.builder()
.pageSize(input.getPageable().getPageSize())
.currentPage(input.getPageable().getPageNumber())
.totalPages(unitInisiatorViews.getTotalPages())
.totalRecords(unitInisiatorViews.getTotalElements())
.isFirstPage(unitInisiatorViews.isFirst())
.isLastPage(unitInisiatorViews.isLast())
.build())
.build();
}
private void validateRequest(UnitInisiatorRequest input) {
if (StringUtils.isNotBlank(input.getSearch())) {
input.setSearch('%'+ input.getSearch().toUpperCase()+'%');
}
}
}