This commit is contained in:
dirgantarasiahaan
2023-05-28 22:25:42 +07:00
parent 9f1a9b9004
commit c459dba989
9 changed files with 265 additions and 0 deletions

View File

@ -0,0 +1,36 @@
package com.iconplus.smartproc.service.drp;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.DrpRequest;
import com.iconplus.smartproc.model.response.DrpResponse;
import com.iconplus.smartproc.repository.DrpRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class GetDrpService implements BaseService<DrpRequest, DrpResponse> {
private final DrpRepository drpRepository;
public GetDrpService(DrpRepository drpRepository) {
this.drpRepository = drpRepository;
}
@Override
public DrpResponse execute(DrpRequest input) {
var drp = drpRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "DRP", input.getId())));
return DrpResponse.builder()
.id(drp.getId())
.tahun(drp.getTahun())
.isApprove(drp.getIsApprove())
.approveDate(drp.getApproveDate())
.isActive(drp.getIsActive())
.isDelete(drp.getIsDelete())
.build();
}
}

View File

@ -0,0 +1,54 @@
package com.iconplus.smartproc.service.drp;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.projection.DrpView;
import com.iconplus.smartproc.model.request.DrpRequest;
import com.iconplus.smartproc.model.response.DrpResponse;
import com.iconplus.smartproc.model.response.GetListDrpResponse;
import com.iconplus.smartproc.repository.DrpRepository;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class GetListDrpService implements BaseService<DrpRequest, GetListDrpResponse> {
private final DrpRepository drpRepository;
public GetListDrpService(DrpRepository drpRepository) {
this.drpRepository = drpRepository;
}
@Override
public GetListDrpResponse execute(DrpRequest input) {
List<DrpResponse> drpResponseList = new ArrayList<>();
var drpViews = drpRepository.findByIsDeleteFalse(input.getApproveDate(), input.getPageable());
for (DrpView drpView : drpViews) {
DrpResponse drpResponse = DrpResponse.builder()
.id(drpView.getId())
.tahun(drpView.getTahun())
.isApprove(drpView.getIsApprove())
.approveDate(drpView.getApproveDate())
.isActive(drpView.getIsActive())
.isDelete(drpView.getIsDelete())
.build();
drpResponseList.add(drpResponse);
}
return GetListDrpResponse.builder()
.data(drpResponseList)
.pagination(Pagination.builder()
.pageSize(input.getPageable().getPageSize())
.currentPage(input.getPageable().getPageNumber())
.totalPages(drpViews.getTotalPages())
.totalRecords(drpViews.getTotalElements())
.isFirstPage(drpViews.isFirst())
.isLastPage(drpViews.isLast())
.build())
.build();
}
}