add master data api
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
@@ -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()+'%');
|
||||
}
|
||||
}
|
||||
}
|
@@ -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();
|
||||
}
|
||||
}
|
@@ -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();
|
||||
|
||||
}
|
||||
}
|
@@ -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();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user