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,38 @@
package com.iconplus.smartproc.service.supplypositioningmatrix;
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.SupplyPositioningMatrixRequest;
import com.iconplus.smartproc.repository.SupplyPositioningMatrixRepository;
import com.iconplus.smartproc.util.Constants;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class DeleteSupplyPositioningMatrixService implements BaseService<SupplyPositioningMatrixRequest, EmptyResponse> {
private SupplyPositioningMatrixRepository supplyPositioningMatrixRepository;
public DeleteSupplyPositioningMatrixService(SupplyPositioningMatrixRepository supplyPositioningMatrixRepository) {
this.supplyPositioningMatrixRepository = supplyPositioningMatrixRepository;
}
@Override
public EmptyResponse execute(SupplyPositioningMatrixRequest input) {
var supplyPositioningMatrix = supplyPositioningMatrixRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId())));
supplyPositioningMatrix.setIsDelete(true);
supplyPositioningMatrixRepository.save(supplyPositioningMatrix);
log.info("success delete supply positioning matrix id {}", supplyPositioningMatrix.getIsDelete());
return new EmptyResponse();
}
}

View File

@@ -0,0 +1,61 @@
package com.iconplus.smartproc.service.supplypositioningmatrix;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.projection.SupplyPositioningMatrixView;
import com.iconplus.smartproc.model.request.SupplyPositioningMatrixRequest;
import com.iconplus.smartproc.model.response.GetListSupplyPositioningMatrixResponse;
import com.iconplus.smartproc.model.response.SupplyPositioningMatrixResponse;
import com.iconplus.smartproc.repository.SupplyPositioningMatrixRepository;
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 GetListSupplyPositioningMatrixService implements BaseService<SupplyPositioningMatrixRequest, GetListSupplyPositioningMatrixResponse> {
private SupplyPositioningMatrixRepository supplyPositioningMatrixRepository;
public GetListSupplyPositioningMatrixService(SupplyPositioningMatrixRepository supplyPositioningMatrixRepository) {
this.supplyPositioningMatrixRepository = supplyPositioningMatrixRepository;
}
@Override
public GetListSupplyPositioningMatrixResponse execute(SupplyPositioningMatrixRequest input) {
validateRequest(input);
List<SupplyPositioningMatrixResponse> supplyPositioningMatrixResponseList = new ArrayList<>();
Page<SupplyPositioningMatrixView> supplyPositioningMatrixViews = supplyPositioningMatrixRepository.getAllSupplyPositioningMatrix(input.getSearch(), input.getPageable());
for (SupplyPositioningMatrixView supplyPositioningMatrixView : supplyPositioningMatrixViews) {
SupplyPositioningMatrixResponse supplyPositioningMatrixResponse = SupplyPositioningMatrixResponse.builder()
.id(supplyPositioningMatrixView.getId())
.supplyPositioningMatrix(supplyPositioningMatrixView.getSupplyPositioningMatrix())
.keterangan(supplyPositioningMatrixView.getKeterangan())
.isActive(supplyPositioningMatrixView.getIsActive())
.isDelete(supplyPositioningMatrixView.getIsDelete())
.build();
supplyPositioningMatrixResponseList.add(supplyPositioningMatrixResponse);
}
return GetListSupplyPositioningMatrixResponse.builder()
.data(supplyPositioningMatrixResponseList)
.pagination(Pagination.builder()
.pageSize(input.getPageable().getPageSize())
.currentPage(input.getPageable().getPageNumber())
.totalPages(supplyPositioningMatrixViews.getTotalPages())
.totalRecords(supplyPositioningMatrixViews.getTotalElements())
.isFirstPage(supplyPositioningMatrixViews.isFirst())
.isLastPage(supplyPositioningMatrixViews.isLast())
.build())
.build();
}
private void validateRequest(SupplyPositioningMatrixRequest input) {
if (StringUtils.isNotBlank(input.getSearch())) {
input.setSearch('%'+ input.getSearch().toUpperCase()+'%');
}
}
}

View File

@@ -0,0 +1,39 @@
package com.iconplus.smartproc.service.supplypositioningmatrix;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.SupplyPositioningMatrixRequest;
import com.iconplus.smartproc.model.response.SupplyPositioningMatrixResponse;
import com.iconplus.smartproc.repository.SupplyPositioningMatrixRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
@Service
public class GetSupplyPositioningMatrixByIdService implements BaseService<SupplyPositioningMatrixRequest, SupplyPositioningMatrixResponse> {
private final SupplyPositioningMatrixRepository supplyPositioningMatrixRepository;
public GetSupplyPositioningMatrixByIdService(SupplyPositioningMatrixRepository supplyPositioningMatrixRepository) {
this.supplyPositioningMatrixRepository = supplyPositioningMatrixRepository;
}
@Override
public SupplyPositioningMatrixResponse execute(SupplyPositioningMatrixRequest input) {
var supplyPositioningMatrixView = supplyPositioningMatrixRepository.findByIdAndIsDeleteFalse(input.getId());
if (supplyPositioningMatrixView.isEmpty()) {
throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()));
}
return SupplyPositioningMatrixResponse.builder()
.id(supplyPositioningMatrixView.get().getId())
.supplyPositioningMatrix(supplyPositioningMatrixView.get().getSupplyPositioningMatrix())
.keterangan(supplyPositioningMatrixView.get().getKeterangan())
.isActive(supplyPositioningMatrixView.get().getIsActive())
.isDelete(supplyPositioningMatrixView.get().getIsDelete())
.build();
}
}

View File

@@ -0,0 +1,49 @@
package com.iconplus.smartproc.service.supplypositioningmatrix;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.SupplyPositioningMatrix;
import com.iconplus.smartproc.model.request.SupplyPositioningMatrixRequest;
import com.iconplus.smartproc.model.response.SupplyPositioningMatrixResponse;
import com.iconplus.smartproc.repository.SupplyPositioningMatrixRepository;
import com.iconplus.smartproc.util.Constants;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class PostCreateSupplyPositioningMatrixService implements BaseService<SupplyPositioningMatrixRequest, SupplyPositioningMatrixResponse> {
private final SupplyPositioningMatrixRepository supplyPositioningMatrixRepository;
public PostCreateSupplyPositioningMatrixService(SupplyPositioningMatrixRepository supplyPositioningMatrixRepository) {
this.supplyPositioningMatrixRepository = supplyPositioningMatrixRepository;
}
@Override
public SupplyPositioningMatrixResponse execute(SupplyPositioningMatrixRequest input) {
var existSupplyPositioningMatrix = supplyPositioningMatrixRepository.findBySupplyPositioningMatrixAndIsDeleteFalse(input.getSupplyPositioningMatrix());
if (existSupplyPositioningMatrix.isPresent()) {
throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, input.getSupplyPositioningMatrix()));
}
SupplyPositioningMatrix supplyPositioningMatrix = SupplyPositioningMatrix.builder()
.supplyPositioningMatrix(input.getSupplyPositioningMatrix())
.keterangan(input.getKeterangan())
.isActive(input.getIsActive())
.isDelete(false)
.build();
var result = supplyPositioningMatrixRepository.save(supplyPositioningMatrix);
log.info("success insert supply positioning matrix id : {}", result.getId());
return SupplyPositioningMatrixResponse.builder()
.id(result.getId())
.build();
}
}

View File

@@ -0,0 +1,44 @@
package com.iconplus.smartproc.service.supplypositioningmatrix;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.SupplyPositioningMatrixRequest;
import com.iconplus.smartproc.model.response.SupplyPositioningMatrixResponse;
import com.iconplus.smartproc.repository.SupplyPositioningMatrixRepository;
import com.iconplus.smartproc.util.Constants;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.BooleanUtils;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import java.sql.Timestamp;
@Service
@Slf4j
public class PutUpdateSupplyPositioningMatrixService implements BaseService<SupplyPositioningMatrixRequest, SupplyPositioningMatrixResponse> {
private SupplyPositioningMatrixRepository supplyPositioningMatrixRepository;
public PutUpdateSupplyPositioningMatrixService(SupplyPositioningMatrixRepository supplyPositioningMatrixRepository) {
this.supplyPositioningMatrixRepository = supplyPositioningMatrixRepository;
}
@Override
public SupplyPositioningMatrixResponse execute(SupplyPositioningMatrixRequest input) {
var supplyPositioningMatrix = supplyPositioningMatrixRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId())));
supplyPositioningMatrix.setSupplyPositioningMatrix(input.getSupplyPositioningMatrix());
supplyPositioningMatrix.setKeterangan(input.getKeterangan());
supplyPositioningMatrix.setIsActive(input.getIsActive());
supplyPositioningMatrixRepository.save(supplyPositioningMatrix);
log.info("Success edit supply positioning matrix id {}", supplyPositioningMatrix.getId());
return SupplyPositioningMatrixResponse.builder()
.id(supplyPositioningMatrix.getId())
.build();
}
}