This commit is contained in:
dirgantarasiahaan
2023-06-05 17:15:16 +07:00
parent b648b3d7bf
commit f8fef28190
17 changed files with 279 additions and 44 deletions

View File

@@ -0,0 +1,34 @@
package com.iconplus.smartproc.service.rkstemplate;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.RksTemplateRequest;
import com.iconplus.smartproc.repository.RksTemplateRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class DeleteRksTemplateService implements BaseService<RksTemplateRequest, EmptyResponse> {
private final RksTemplateRepository rksTemplateRepository;
public DeleteRksTemplateService(RksTemplateRepository rksTemplateRepository) {
this.rksTemplateRepository = rksTemplateRepository;
}
@Override
public EmptyResponse execute(RksTemplateRequest input) {
var rksTemplate = rksTemplateRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(()-> new BusinessException(
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "RKS Template", input.getId())
));
rksTemplate.setIsDelete(true);
rksTemplateRepository.save(rksTemplate);
return new EmptyResponse();
}
}

View File

@@ -0,0 +1,56 @@
package com.iconplus.smartproc.service.rkstemplate;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.projection.RksTemplateView;
import com.iconplus.smartproc.model.request.RksTemplateRequest;
import com.iconplus.smartproc.model.response.ListRksTemplateResponse;
import com.iconplus.smartproc.model.response.RksTemplateResponse;
import com.iconplus.smartproc.repository.RksTemplateRepository;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class GetListRksTemplateService implements BaseService<RksTemplateRequest, ListRksTemplateResponse> {
private final RksTemplateRepository rksTemplateRepository;
public GetListRksTemplateService(RksTemplateRepository rksTemplateRepository) {
this.rksTemplateRepository = rksTemplateRepository;
}
@Override
public ListRksTemplateResponse execute(RksTemplateRequest input) {
var rksTemplateViews = rksTemplateRepository.getListRksTemplate(input.getPageable());
List<RksTemplateResponse> rksTemplateResponseList = new ArrayList<>();
for (RksTemplateView rksTemplateView : rksTemplateViews) {
RksTemplateResponse rksTemplateResponse = RksTemplateResponse.builder()
.id(rksTemplateView.getId())
.kodeTemplate(rksTemplateView.getKodeTemplate())
.namaTemplate(rksTemplateView.getNamaTemplate())
.metodePengadaanId(rksTemplateView.getMetodePengadaanId())
.metodePengadaan(rksTemplateView.getMetodePengadaan())
.versi(rksTemplateView.getVersi())
.rksDaftarIsiId(rksTemplateView.getRksDaftarIsiId())
.daftarIsi(rksTemplateView.getDaftarIsi())
.isActive(rksTemplateView.getIsActive())
.build();
rksTemplateResponseList.add(rksTemplateResponse);
}
return ListRksTemplateResponse.builder()
.data(rksTemplateResponseList)
.pagination(Pagination.builder()
.pageSize(input.getPageable().getPageSize())
.currentPage(input.getPageable().getPageNumber())
.totalPages(rksTemplateViews.getTotalPages())
.totalRecords(rksTemplateViews.getTotalElements())
.isFirstPage(rksTemplateViews.isFirst())
.isLastPage(rksTemplateViews.isLast())
.build())
.build();
}
}

View File

@@ -0,0 +1,47 @@
package com.iconplus.smartproc.service.rkstemplate;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.RksTemplate;
import com.iconplus.smartproc.model.request.RksTemplateRequest;
import com.iconplus.smartproc.model.response.RksTemplateResponse;
import com.iconplus.smartproc.repository.RksTemplateRepository;
import com.iconplus.smartproc.util.Constants;
import org.apache.commons.lang3.BooleanUtils;
import org.springframework.stereotype.Service;
@Service
public class PostCreateRksTemplateService implements BaseService<RksTemplateRequest, RksTemplateResponse> {
private final RksTemplateRepository rksTemplateRepository;
public PostCreateRksTemplateService(RksTemplateRepository rksTemplateRepository) {
this.rksTemplateRepository = rksTemplateRepository;
}
@Override
public RksTemplateResponse execute(RksTemplateRequest input) {
var rksTemplateOptional= rksTemplateRepository.findByKodeTemplateAndIsDeleteFalse(input.getKodeTemplate());
if (rksTemplateOptional.isPresent()) {
throw new BusinessException(Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, "RKS Kode Template", input.getKodeTemplate()));
}
RksTemplate rksTemplate = RksTemplate.builder()
.kodeTemplate(input.getKodeTemplate())
.namaTemplate(input.getNamaTemplate())
.metodePengadaanId(input.getMetodePengadaanId())
.rksDaftarIsiId(input.getRksDaftarIsiId())
.versi(input.getVersi())
.isActive(BooleanUtils.isTrue(input.getIsActive()))
.isDelete(false)
.build();
var result = rksTemplateRepository.save(rksTemplate);
return RksTemplateResponse.builder()
.id(result.getId())
.build();
}
}

View File

@@ -0,0 +1,42 @@
package com.iconplus.smartproc.service.rkstemplate;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.RksTemplateRequest;
import com.iconplus.smartproc.model.response.RksTemplateResponse;
import com.iconplus.smartproc.repository.RksTemplateRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class PutUpdateRksTemplateService implements BaseService<RksTemplateRequest, RksTemplateResponse> {
private final RksTemplateRepository rksTemplateRepository;
public PutUpdateRksTemplateService(RksTemplateRepository rksTemplateRepository) {
this.rksTemplateRepository = rksTemplateRepository;
}
@Override
public RksTemplateResponse execute(RksTemplateRequest input) {
var rksTemplate = rksTemplateRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(()-> new BusinessException(
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "RKS Template", input.getId())
));
rksTemplate.setKodeTemplate(rksTemplate.getKodeTemplate());
rksTemplate.setNamaTemplate(rksTemplate.getNamaTemplate());
rksTemplate.setRksDaftarIsiId(rksTemplate.getRksDaftarIsiId());
rksTemplate.setMetodePengadaanId(rksTemplate.getMetodePengadaanId());
rksTemplate.setVersi(rksTemplate.getVersi());
rksTemplate.setIsActive(rksTemplate.getIsActive());
rksTemplateRepository.save(rksTemplate);
return RksTemplateResponse.builder()
.id(rksTemplate.getId())
.build();
}
}