Test Java All
This commit is contained in:
@@ -1,74 +1,82 @@
|
|||||||
package com.iconplus.smartproc.controller;
|
package com.iconplus.smartproc.controller;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
||||||
import org.springframework.http.ResponseEntity;
|
import com.iconplus.smartproc.model.request.UnitInisiatorRequest;
|
||||||
import org.springframework.web.bind.annotation.CrossOrigin;
|
import com.iconplus.smartproc.model.response.GetListUnitInisiatorResponse;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
import com.iconplus.smartproc.model.response.UnitInisiatorResponse;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import com.iconplus.smartproc.exception.ResourceNotFoundException;
|
|
||||||
import com.iconplus.smartproc.model.entity.UnitInisiator;
|
|
||||||
import com.iconplus.smartproc.repository.UnitInisiatorRepository;
|
import com.iconplus.smartproc.repository.UnitInisiatorRepository;
|
||||||
|
import com.iconplus.smartproc.service.unitinisiator.*;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.data.domain.PageRequest;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/unitinisiator")
|
@RequestMapping("/api/unitinisiator")
|
||||||
public class UnitInisiatorController {
|
public class UnitInisiatorController {
|
||||||
@Autowired
|
|
||||||
private UnitInisiatorRepository unitinisiatorRepository;
|
|
||||||
|
|
||||||
//get all data
|
@Autowired
|
||||||
@GetMapping
|
private UnitInisiatorRepository unitinisiatorRepository;
|
||||||
public List<UnitInisiator> getAllUnitinisiator(){
|
|
||||||
return unitinisiatorRepository.findAll();
|
|
||||||
}
|
|
||||||
|
|
||||||
// create
|
private final GetListUnitInisiatorService getListUnitInisiatorService;
|
||||||
@PostMapping
|
private final GetUnitInisiatorByIdService getUnitInisiatorByIdService;
|
||||||
public UnitInisiator createUnitinisiator(@RequestBody UnitInisiator unitinisiator) {
|
private final PostCreateUnitInisiatorService postCreateUnitInisiatorService;
|
||||||
return unitinisiatorRepository.save(unitinisiator);
|
private final PutUpdateUnitInisiatorService putUpdateUnitInisiatorService;
|
||||||
}
|
private final DeleteUnitInisiatorService deleteUnitInisiatorService;
|
||||||
|
|
||||||
// get unitinisiator by id rest api
|
public UnitInisiatorController(GetListUnitInisiatorService getListUnitInisiatorService,
|
||||||
@GetMapping("/{id}")
|
GetUnitInisiatorByIdService getUnitInisiatorByIdService,
|
||||||
public ResponseEntity<UnitInisiator> getUnitinisiatorById(@PathVariable Long id) {
|
PostCreateUnitInisiatorService postCreateUnitInisiatorService,
|
||||||
UnitInisiator unitinisiator = unitinisiatorRepository.findById(id)
|
PutUpdateUnitInisiatorService putUpdateUnitInisiatorService,
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Unitinisiator not exist with id :" + id));
|
DeleteUnitInisiatorService deleteUnitInisiatorService) {
|
||||||
return ResponseEntity.ok(unitinisiator);
|
this.getListUnitInisiatorService = getListUnitInisiatorService;
|
||||||
}
|
this.getUnitInisiatorByIdService = getUnitInisiatorByIdService;
|
||||||
|
this.postCreateUnitInisiatorService = postCreateUnitInisiatorService;
|
||||||
|
this.putUpdateUnitInisiatorService = putUpdateUnitInisiatorService;
|
||||||
|
this.deleteUnitInisiatorService = deleteUnitInisiatorService;
|
||||||
|
}
|
||||||
|
|
||||||
// update jenispengadaan rest api
|
|
||||||
@PutMapping("/{id}")
|
|
||||||
public ResponseEntity<UnitInisiator> updateUnitinisiator(@PathVariable Long id, @RequestBody UnitInisiator unitInisiatorDetails){
|
|
||||||
UnitInisiator unitinisiator = unitinisiatorRepository.findById(id)
|
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Unitinisiator not exist with id :" + id));
|
|
||||||
|
|
||||||
unitinisiator.setUnitInisiator(unitInisiatorDetails.getUnitInisiator());
|
@GetMapping
|
||||||
unitinisiator.setKeterangan(unitInisiatorDetails.getKeterangan());
|
public GetListUnitInisiatorResponse getListUnitInisiator(@RequestParam(name = "search", required = false) String search,
|
||||||
|
@RequestParam(name = "page", defaultValue = "1") Integer page,
|
||||||
|
@RequestParam(name = "size", defaultValue = "5") Integer size){
|
||||||
|
|
||||||
UnitInisiator updatedUnitInisiator = unitinisiatorRepository.save(unitinisiator);
|
Pageable pageable = PageRequest.of((page - 1), size);
|
||||||
return ResponseEntity.ok(updatedUnitInisiator);
|
UnitInisiatorRequest unitInisiatorRequest = UnitInisiatorRequest.builder()
|
||||||
}
|
.search(search)
|
||||||
|
.pageable(pageable)
|
||||||
|
.build();
|
||||||
|
|
||||||
// delete jenispengadaan rest api
|
return getListUnitInisiatorService.execute(unitInisiatorRequest);
|
||||||
@DeleteMapping("/{id}")
|
}
|
||||||
public ResponseEntity<Map<String, Boolean>> deleteUnitinisiator(@PathVariable Long id){
|
|
||||||
UnitInisiator unitinisiator = unitinisiatorRepository.findById(id)
|
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Unit inisiator not exist with id :" + id));
|
|
||||||
|
|
||||||
unitinisiatorRepository.delete(unitinisiator);
|
@PostMapping
|
||||||
Map<String, Boolean> response = new HashMap<>();
|
public UnitInisiatorResponse createUnitInisiator(@RequestBody UnitInisiatorRequest unitInisiatorRequest) {
|
||||||
response.put("deleted", Boolean.TRUE);
|
return postCreateUnitInisiatorService.execute(unitInisiatorRequest);
|
||||||
return ResponseEntity.ok(response);
|
}
|
||||||
}
|
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public UnitInisiatorResponse getUnitInisiatorById(@PathVariable Long id) {
|
||||||
|
return getUnitInisiatorByIdService.execute(UnitInisiatorRequest.builder()
|
||||||
|
.id(id)
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PutMapping("/{id}")
|
||||||
|
public UnitInisiatorResponse updateUnitinisiator(@PathVariable Long id,
|
||||||
|
@RequestBody UnitInisiatorRequest unitInisiatorRequest){
|
||||||
|
unitInisiatorRequest.setId(id);
|
||||||
|
return putUpdateUnitInisiatorService.execute(unitInisiatorRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
@DeleteMapping("/{id}")
|
||||||
|
public EmptyResponse deleteUnitInisiator(@PathVariable Long id) {
|
||||||
|
return deleteUnitInisiatorService.execute(UnitInisiatorRequest.builder()
|
||||||
|
.id(id)
|
||||||
|
.build());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -0,0 +1,15 @@
|
|||||||
|
package com.iconplus.smartproc.model.projection;
|
||||||
|
|
||||||
|
public interface UnitInisiatorView {
|
||||||
|
|
||||||
|
Long getId();
|
||||||
|
String getUnitInisiator();
|
||||||
|
String getKeterangan();
|
||||||
|
String getIsActive();
|
||||||
|
Boolean getIsDelete();
|
||||||
|
|
||||||
|
void setId(Long id);
|
||||||
|
void setUnitInisiator(String unitInisiator);
|
||||||
|
void setKeterangan(String keterangan);
|
||||||
|
void setIsDelete(Boolean isDelete);
|
||||||
|
}
|
@@ -0,0 +1,19 @@
|
|||||||
|
package com.iconplus.smartproc.model.request;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.helper.base.BaseRequest;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
public class UnitInisiatorRequest extends BaseRequest {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
private String unitInisiator;
|
||||||
|
private String keterangan;
|
||||||
|
private Boolean isActive;
|
||||||
|
private Boolean IsDelete;
|
||||||
|
private String search;
|
||||||
|
private transient Pageable pageable;
|
||||||
|
}
|
@@ -0,0 +1,20 @@
|
|||||||
|
package com.iconplus.smartproc.model.response;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.helper.base.BaseResponse;
|
||||||
|
import com.iconplus.smartproc.helper.model.Pagination;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class GetListJenisAnggaranResponse extends BaseResponse {
|
||||||
|
|
||||||
|
private List<JenisAnggaranResponse> data;
|
||||||
|
private Pagination pagination;
|
||||||
|
}
|
@@ -0,0 +1,21 @@
|
|||||||
|
package com.iconplus.smartproc.model.response;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.helper.base.BaseResponse;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class UnitInisiatorResponse extends BaseResponse {
|
||||||
|
|
||||||
|
private long id;
|
||||||
|
private String unitInisiator;
|
||||||
|
private String keterangan;
|
||||||
|
private Boolean isActive;
|
||||||
|
private Boolean isDelete;
|
||||||
|
|
||||||
|
}
|
@@ -1,10 +1,31 @@
|
|||||||
package com.iconplus.smartproc.repository;
|
package com.iconplus.smartproc.repository;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
|
||||||
import org.springframework.stereotype.Repository;
|
|
||||||
import com.iconplus.smartproc.model.entity.UnitInisiator;
|
import com.iconplus.smartproc.model.entity.UnitInisiator;
|
||||||
|
import com.iconplus.smartproc.model.projection.UnitInisiatorView;
|
||||||
|
import org.springframework.data.domain.Page;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.jpa.repository.Query;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface UnitInisiatorRepository extends JpaRepository<UnitInisiator, Long> {
|
public interface UnitInisiatorRepository extends JpaRepository<UnitInisiator, Long> {
|
||||||
|
|
||||||
|
@Query(value = "SELECT ja.id as id, " +
|
||||||
|
"ja.unitInisiator as unitInisiator, " +
|
||||||
|
"ja.keterangan as keterangan, " +
|
||||||
|
"ja.isDelete as isDelete " +
|
||||||
|
"FROM UnitInisiator ja " +
|
||||||
|
"WHERE ja.isDelete = false " +
|
||||||
|
"AND (:search = '' " +
|
||||||
|
"or (UPPER(ja.unitInisiator) like :search OR UPPER(ja.keterangan) like :search)) " +
|
||||||
|
"ORDER BY ja.id")
|
||||||
|
Page<UnitInisiatorView> getAllUnitInisiator(String search, Pageable pageable);
|
||||||
|
|
||||||
|
Optional<UnitInisiator> findByIdAndIsDeleteFalse(Long id);
|
||||||
|
|
||||||
|
Optional<UnitInisiator> findByUnitInisiatorAndIsDeleteFalse(String unitInisiator);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -0,0 +1,38 @@
|
|||||||
|
package com.iconplus.smartproc.service.unitinisiator;
|
||||||
|
|
||||||
|
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.UnitInisiatorRequest;
|
||||||
|
import com.iconplus.smartproc.repository.UnitInisiatorRepository;
|
||||||
|
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 DeleteUnitInisiatorService implements BaseService<UnitInisiatorRequest, EmptyResponse> {
|
||||||
|
|
||||||
|
private UnitInisiatorRepository unitInisiatorRepository;
|
||||||
|
|
||||||
|
public DeleteUnitInisiatorService(UnitInisiatorRepository unitInisiatorRepository) {
|
||||||
|
this.unitInisiatorRepository = unitInisiatorRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EmptyResponse execute(UnitInisiatorRequest input) {
|
||||||
|
|
||||||
|
var unitInisiator = unitInisiatorRepository.findByIdAndIsDeleteFalse(input.getId())
|
||||||
|
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
|
||||||
|
Constants.ERR_CODE_10001,
|
||||||
|
Constants.ERR_TTL_10001,
|
||||||
|
String.format(Constants.ERR_MSG_10001, input.getId())));
|
||||||
|
|
||||||
|
unitInisiator.setIsDelete(true);
|
||||||
|
unitInisiatorRepository.save(unitInisiator);
|
||||||
|
log.info("success delete unit inisiator id {}", unitInisiator.getIsDelete());
|
||||||
|
return new EmptyResponse();
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,60 @@
|
|||||||
|
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.data.domain.Page;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class GetListUnitInisiatorService implements BaseService<UnitInisiatorRequest, GetListUnitInisiatorResponse> {
|
||||||
|
|
||||||
|
private UnitInisiatorRepository unitInisiatorRepository;
|
||||||
|
|
||||||
|
public GetListUnitInisiatorService(UnitInisiatorRepository unitInisiatorRepository) {
|
||||||
|
this.unitInisiatorRepository = unitInisiatorRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public GetListUnitInisiatorResponse execute(UnitInisiatorRequest input) {
|
||||||
|
validateRequest(input);
|
||||||
|
List<UnitInisiatorResponse> unitInisiatorResponseList = new ArrayList<>();
|
||||||
|
Page<UnitInisiatorView> unitInisiatorViews = unitInisiatorRepository.getAllUnitInisiator(input.getSearch(), input.getPageable());
|
||||||
|
|
||||||
|
for (UnitInisiatorView unitInisiatorView : unitInisiatorViews) {
|
||||||
|
UnitInisiatorResponse unitInisiatorResponse = UnitInisiatorResponse.builder()
|
||||||
|
.id(unitInisiatorView.getId())
|
||||||
|
.unitInisiator(unitInisiatorView.getUnitInisiator())
|
||||||
|
.keterangan(unitInisiatorView.getKeterangan())
|
||||||
|
.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()+'%');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,43 @@
|
|||||||
|
package com.iconplus.smartproc.service.unitinisiator;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.exception.BusinessException;
|
||||||
|
import com.iconplus.smartproc.helper.service.BaseService;
|
||||||
|
import com.iconplus.smartproc.model.request.UnitInisiatorRequest;
|
||||||
|
import com.iconplus.smartproc.model.response.UnitInisiatorResponse;
|
||||||
|
import com.iconplus.smartproc.repository.UnitInisiatorRepository;
|
||||||
|
import com.iconplus.smartproc.util.Constants;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class GetUnitInisiatorByIdService implements BaseService<UnitInisiatorRequest, UnitInisiatorResponse> {
|
||||||
|
|
||||||
|
private final UnitInisiatorRepository unitInisiatorRepository;
|
||||||
|
|
||||||
|
public GetUnitInisiatorByIdService(UnitInisiatorRepository unitInisiatorRepository) {
|
||||||
|
this.unitInisiatorRepository = unitInisiatorRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UnitInisiatorResponse execute(UnitInisiatorRequest input) {
|
||||||
|
UnitInisiatorResponse unitInisiatorResponse = new UnitInisiatorResponse();
|
||||||
|
var unitInisiatorView = unitInisiatorRepository.findByIdAndIsDeleteFalse(input.getId());
|
||||||
|
if (unitInisiatorView.isEmpty()) {
|
||||||
|
throw new BusinessException(HttpStatus.CONFLICT,
|
||||||
|
Constants.ERR_CODE_10001,
|
||||||
|
Constants.ERR_TTL_10001,
|
||||||
|
String.format(Constants.ERR_MSG_10001, input.getId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
unitInisiatorResponse.setUnitInisiator(unitInisiatorView.get().getUnitInisiator());
|
||||||
|
unitInisiatorResponse.setKeterangan(unitInisiatorView.get().getKeterangan());
|
||||||
|
unitInisiatorResponse.setIsDelete(unitInisiatorView.get().getIsDelete());
|
||||||
|
|
||||||
|
return UnitInisiatorResponse.builder()
|
||||||
|
.id(unitInisiatorView.get().getId())
|
||||||
|
.unitInisiator(unitInisiatorView.get().getUnitInisiator())
|
||||||
|
.keterangan(unitInisiatorView.get().getKeterangan())
|
||||||
|
.isDelete(unitInisiatorView.get().getIsDelete())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,50 @@
|
|||||||
|
package com.iconplus.smartproc.service.unitinisiator;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.exception.BusinessException;
|
||||||
|
import com.iconplus.smartproc.helper.service.BaseService;
|
||||||
|
import com.iconplus.smartproc.model.entity.UnitInisiator;
|
||||||
|
import com.iconplus.smartproc.model.request.UnitInisiatorRequest;
|
||||||
|
import com.iconplus.smartproc.model.response.UnitInisiatorResponse;
|
||||||
|
import com.iconplus.smartproc.repository.UnitInisiatorRepository;
|
||||||
|
import com.iconplus.smartproc.util.Constants;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.sql.Timestamp;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class PostCreateUnitInisiatorService implements BaseService<UnitInisiatorRequest, UnitInisiatorResponse> {
|
||||||
|
|
||||||
|
private final UnitInisiatorRepository unitInisiatorRepository;
|
||||||
|
|
||||||
|
public PostCreateUnitInisiatorService(UnitInisiatorRepository unitInisiatorRepository) {
|
||||||
|
this.unitInisiatorRepository = unitInisiatorRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UnitInisiatorResponse execute(UnitInisiatorRequest input) {
|
||||||
|
|
||||||
|
var existUnitInisiator = unitInisiatorRepository.findByUnitInisiatorAndIsDeleteFalse(input.getUnitInisiator());
|
||||||
|
if (existUnitInisiator.isPresent()) {
|
||||||
|
throw new BusinessException(HttpStatus.CONFLICT,
|
||||||
|
Constants.ERR_CODE_10002,
|
||||||
|
Constants.ERR_TTL_10002,
|
||||||
|
String.format(Constants.ERR_MSG_10002, input.getUnitInisiator()));
|
||||||
|
}
|
||||||
|
|
||||||
|
UnitInisiator unitInisiator = UnitInisiator.builder()
|
||||||
|
.unitInisiator(input.getUnitInisiator())
|
||||||
|
.keterangan(input.getKeterangan())
|
||||||
|
.isDelete(false)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
var result = unitInisiatorRepository.save(unitInisiator);
|
||||||
|
log.info("success insert unit inisiator id : {}", result.getId());
|
||||||
|
return UnitInisiatorResponse.builder()
|
||||||
|
.id(result.getId())
|
||||||
|
.build();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,45 @@
|
|||||||
|
package com.iconplus.smartproc.service.unitinisiator;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.exception.BusinessException;
|
||||||
|
import com.iconplus.smartproc.helper.service.BaseService;
|
||||||
|
import com.iconplus.smartproc.model.request.UnitInisiatorRequest;
|
||||||
|
import com.iconplus.smartproc.model.response.UnitInisiatorResponse;
|
||||||
|
import com.iconplus.smartproc.repository.UnitInisiatorRepository;
|
||||||
|
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 PutUpdateUnitInisiatorService implements BaseService<UnitInisiatorRequest, UnitInisiatorResponse> {
|
||||||
|
|
||||||
|
private UnitInisiatorRepository unitInisiatorRepository;
|
||||||
|
|
||||||
|
public PutUpdateUnitInisiatorService(UnitInisiatorRepository unitInisiatorRepository) {
|
||||||
|
this.unitInisiatorRepository = unitInisiatorRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UnitInisiatorResponse execute(UnitInisiatorRequest input) {
|
||||||
|
|
||||||
|
var unitInisiator = unitInisiatorRepository.findByIdAndIsDeleteFalse(input.getId())
|
||||||
|
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
|
||||||
|
Constants.ERR_CODE_10001,
|
||||||
|
Constants.ERR_TTL_10001,
|
||||||
|
String.format(Constants.ERR_MSG_10001, input.getId())));
|
||||||
|
|
||||||
|
unitInisiator.setUnitInisiator(input.getUnitInisiator());
|
||||||
|
unitInisiator.setKeterangan(input.getKeterangan());
|
||||||
|
unitInisiator.setIsDelete(BooleanUtils.isTrue(input.getIsDelete()));
|
||||||
|
unitInisiator.setLastUpdate(new Timestamp(System.currentTimeMillis()));
|
||||||
|
unitInisiatorRepository.save(unitInisiator);
|
||||||
|
log.info("Success edit unit inisiator id {}", unitInisiator.getId());
|
||||||
|
return UnitInisiatorResponse.builder()
|
||||||
|
.id(unitInisiator.getId())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user