From 87474cde810497ebabaf666f522879f27e392937 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 25 May 2023 10:41:15 +0700 Subject: [PATCH] Test all Java --- .../controller/JenisKontrakController.java | 115 ++++++++++------- .../controller/JenisPengadaanController.java | 95 ++++++++------ .../controller/LokasiController.java | 99 ++++++++------- .../controller/MetodePengadaanController.java | 116 +++++++++-------- .../MetodePenyampaianController.java | 116 +++++++++-------- .../smartproc/controller/RolesController.java | 61 +++++---- .../controller/SumberDanaController.java | 106 ++++++++-------- .../SupplyPositioningMatrixController.java | 120 ++++++++++-------- .../model/projection/JenisKontrakView.java | 14 ++ .../model/projection/JenisPengadaanView.java | 14 ++ .../model/projection/LokasiView.java | 15 +++ .../model/projection/MetodePengadaanView.java | 16 +++ .../projection/MetodePenyampaianView.java | 16 +++ .../smartproc/model/projection/RolesView.java | 6 +- .../projection/StrategiPengadaanView.java | 16 +++ .../model/projection/SumberDanaView.java | 16 +++ .../SupplyPositioningMatrixView.java | 16 +++ .../model/request/JenisKontrakRequest.java | 19 +++ .../model/request/JenisPengadaanRequest.java | 19 +++ .../model/request/LokasiRequest.java | 19 +++ .../model/request/MetodePengadaanRequest.java | 19 +++ .../request/MetodePenyampaianRequest.java | 19 +++ .../request/StrategiPengadaanRequest.java | 19 +++ .../model/request/SumberDanaRequest.java | 19 +++ .../SupplyPositioningMatrixRequest.java | 19 +++ .../response/GetListJenisKontrakResponse.java | 20 +++ .../GetListJenisPengadaanResponse.java | 20 +++ .../model/response/GetListLokasiResponse.java | 20 +++ .../GetListMetodePengadaanResponse.java | 20 +++ .../GetListMetodePenyampaianResponse.java | 20 +++ .../model/response/GetListRolesResponse.java | 20 +++ .../GetListStrategiPengadaanResponse.java | 20 +++ .../response/GetListSumberDanaResponse.java | 20 +++ ...etListSupplyPositioningMatrixResponse.java | 20 +++ .../model/response/JenisKontrakResponse.java | 22 ++++ .../response/JenisPengadaanResponse.java | 21 +++ .../model/response/LokasiResponse.java | 21 +++ .../response/MetodePengadaanResponse.java | 21 +++ .../response/MetodePenyampaianResponse.java | 21 +++ .../response/StrategiPengadaanResponse.java | 21 +++ .../model/response/SumberDanaResponse.java | 21 +++ .../SupplyPositioningMatrixResponse.java | 21 +++ .../repository/JenisKontrakRepository.java | 21 +++ .../repository/JenisPengadaanRepository.java | 23 +++- .../repository/MetodePengadaanRepository.java | 21 +++ .../MetodePenyampaianRepository.java | 21 +++ .../StrategiPengadaanRepository.java | 21 +++ .../SupplyPositioningMatrixRepository.java | 25 +++- .../DeleteJenisKontrakService.java | 39 ++++++ .../GetJenisKontrakByIdService.java | 44 +++++++ .../GetListJenisKontrakService.java | 60 +++++++++ .../PostCreateJenisKontrakService.java | 52 ++++++++ .../PutUpdateJenisKontrakService.java | 46 +++++++ .../DeleteJenisPengadaanService.java | 39 ++++++ .../GetJenisPengadaanByIdService.java | 44 +++++++ .../GetListJenisPengadaanService.java | 60 +++++++++ .../PostCreateJenisPengadaanService.java | 52 ++++++++ .../PutUpdateJenisPengadaanService.java | 46 +++++++ .../service/lokasi/DeleteLokasiService.java | 38 ++++++ .../service/lokasi/GetListLokasiService.java | 60 +++++++++ .../service/lokasi/GetLokasiByIdService.java | 43 +++++++ .../lokasi/PostCreateLokasiService.java | 50 ++++++++ .../lokasi/PutUpdateLokasiService.java | 45 +++++++ .../DeleteMetodePengadaanService.java | 38 ++++++ .../GetListMetodePengadaanService.java | 60 +++++++++ .../GetMetodePengadaanByIdService.java | 43 +++++++ .../PostCreateMetodePengadaanService.java | 50 ++++++++ .../PutUpdateMetodePengadaanService.java | 45 +++++++ .../DeleteMetodePenyampaianService.java | 38 ++++++ .../GetListMetodePenyampaianService.java | 60 +++++++++ .../GetMetodePenyampaianByIdService.java | 43 +++++++ .../PostCreateMetodePenyampaianService.java | 50 ++++++++ .../PutUpdateMetodePenyampaianService.java | 45 +++++++ .../DeleteStrategiPengadaanService.java | 38 ++++++ .../GetListStrategiPengadaanService.java | 60 +++++++++ .../GetStrategiPengadaanByIdService.java | 43 +++++++ .../PostCreateStrategiPengadaanService.java | 50 ++++++++ .../PutUpdateStrategiPengadaanService.java | 45 +++++++ .../sumberdana/DeleteSumberDanaService.java | 39 ++++++ .../sumberdana/GetListSumberDanaService.java | 60 +++++++++ .../sumberdana/GetSumberDanaByIdService.java | 44 +++++++ .../PostCreateSumberDanaService.java | 52 ++++++++ .../PutUpdateSumberDanaService.java | 46 +++++++ .../DeleteSupplyPositioningMatrixService.java | 38 ++++++ ...GetListSupplyPositioningMatrixService.java | 60 +++++++++ ...GetSupplyPositioningMatrixByIdService.java | 43 +++++++ ...tCreateSupplyPositioningMatrixService.java | 50 ++++++++ ...tUpdateSupplyPositioningMatrixService.java | 45 +++++++ src/main/resources/application-local.yml | 2 +- 89 files changed, 3122 insertions(+), 373 deletions(-) create mode 100644 src/main/java/com/iconplus/smartproc/model/projection/JenisKontrakView.java create mode 100644 src/main/java/com/iconplus/smartproc/model/projection/JenisPengadaanView.java create mode 100644 src/main/java/com/iconplus/smartproc/model/projection/LokasiView.java create mode 100644 src/main/java/com/iconplus/smartproc/model/projection/MetodePengadaanView.java create mode 100644 src/main/java/com/iconplus/smartproc/model/projection/MetodePenyampaianView.java create mode 100644 src/main/java/com/iconplus/smartproc/model/projection/StrategiPengadaanView.java create mode 100644 src/main/java/com/iconplus/smartproc/model/projection/SumberDanaView.java create mode 100644 src/main/java/com/iconplus/smartproc/model/projection/SupplyPositioningMatrixView.java create mode 100644 src/main/java/com/iconplus/smartproc/model/request/JenisKontrakRequest.java create mode 100644 src/main/java/com/iconplus/smartproc/model/request/JenisPengadaanRequest.java create mode 100644 src/main/java/com/iconplus/smartproc/model/request/LokasiRequest.java create mode 100644 src/main/java/com/iconplus/smartproc/model/request/MetodePengadaanRequest.java create mode 100644 src/main/java/com/iconplus/smartproc/model/request/MetodePenyampaianRequest.java create mode 100644 src/main/java/com/iconplus/smartproc/model/request/StrategiPengadaanRequest.java create mode 100644 src/main/java/com/iconplus/smartproc/model/request/SumberDanaRequest.java create mode 100644 src/main/java/com/iconplus/smartproc/model/request/SupplyPositioningMatrixRequest.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/GetListJenisKontrakResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/GetListJenisPengadaanResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/GetListLokasiResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/GetListMetodePengadaanResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/GetListMetodePenyampaianResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/GetListRolesResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/GetListStrategiPengadaanResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/GetListSumberDanaResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/GetListSupplyPositioningMatrixResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/JenisKontrakResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/JenisPengadaanResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/LokasiResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/MetodePengadaanResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/MetodePenyampaianResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/StrategiPengadaanResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/SumberDanaResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/SupplyPositioningMatrixResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jeniskontrak/DeleteJenisKontrakService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jeniskontrak/GetJenisKontrakByIdService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jeniskontrak/GetListJenisKontrakService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jeniskontrak/PostCreateJenisKontrakService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jeniskontrak/PutUpdateJenisKontrakService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jenispengadaan/DeleteJenisPengadaanService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jenispengadaan/GetJenisPengadaanByIdService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jenispengadaan/GetListJenisPengadaanService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jenispengadaan/PostCreateJenisPengadaanService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jenispengadaan/PutUpdateJenisPengadaanService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/lokasi/DeleteLokasiService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/lokasi/GetListLokasiService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/lokasi/GetLokasiByIdService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/lokasi/PostCreateLokasiService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/lokasi/PutUpdateLokasiService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/metodepengadaan/DeleteMetodePengadaanService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/metodepengadaan/GetListMetodePengadaanService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/metodepengadaan/GetMetodePengadaanByIdService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/metodepengadaan/PostCreateMetodePengadaanService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/metodepengadaan/PutUpdateMetodePengadaanService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/metodepenyampaian/DeleteMetodePenyampaianService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/metodepenyampaian/GetListMetodePenyampaianService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/metodepenyampaian/GetMetodePenyampaianByIdService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/metodepenyampaian/PostCreateMetodePenyampaianService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/metodepenyampaian/PutUpdateMetodePenyampaianService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/strategipengadaan/DeleteStrategiPengadaanService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/strategipengadaan/GetListStrategiPengadaanService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/strategipengadaan/GetStrategiPengadaanByIdService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/strategipengadaan/PostCreateStrategiPengadaanService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/strategipengadaan/PutUpdateStrategiPengadaanService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/sumberdana/DeleteSumberDanaService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/sumberdana/GetListSumberDanaService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/sumberdana/GetSumberDanaByIdService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/sumberdana/PostCreateSumberDanaService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/sumberdana/PutUpdateSumberDanaService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/DeleteSupplyPositioningMatrixService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/GetListSupplyPositioningMatrixService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/GetSupplyPositioningMatrixByIdService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/PostCreateSupplyPositioningMatrixService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/PutUpdateSupplyPositioningMatrixService.java diff --git a/src/main/java/com/iconplus/smartproc/controller/JenisKontrakController.java b/src/main/java/com/iconplus/smartproc/controller/JenisKontrakController.java index 140820d..921aeaa 100644 --- a/src/main/java/com/iconplus/smartproc/controller/JenisKontrakController.java +++ b/src/main/java/com/iconplus/smartproc/controller/JenisKontrakController.java @@ -1,65 +1,82 @@ package com.iconplus.smartproc.controller; -import com.iconplus.smartproc.model.entity.JenisKontrak; -import com.iconplus.smartproc.exception.ResourceNotFoundException; -import com.iconplus.smartproc.repository.JenisKontrakRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import com.iconplus.smartproc.helper.model.EmptyResponse; +import com.iconplus.smartproc.model.request.JenisKontrakRequest; +import com.iconplus.smartproc.model.response.GetListJenisKontrakResponse; +import com.iconplus.smartproc.model.response.JenisKontrakResponse; +import com.iconplus.smartproc.repository.JenisKontrakRepository; +import com.iconplus.smartproc.service.jeniskontrak.*; +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") @RestController @RequestMapping("/api/jeniskontrak") public class JenisKontrakController { - @Autowired - private JenisKontrakRepository jeniskontrakRepository; - //get all data - @GetMapping - public List getAllJeniskontraks(){ - return jeniskontrakRepository.findAll(); - } + @Autowired + private JenisKontrakRepository jeniskontrakRepository; - // create - @PostMapping - public JenisKontrak createJeniskontrak(@RequestBody JenisKontrak jeniskontrak) { - return jeniskontrakRepository.save(jeniskontrak); - } + private final GetListJenisKontrakService getListJenisKontrakService; + private final GetJenisKontrakByIdService getJenisKontrakByIdService; + private final PostCreateJenisKontrakService postCreateJenisKontrakService; + private final PutUpdateJenisKontrakService putUpdateJenisKontrakService; + private final DeleteJenisKontrakService deleteJenisKontrakService; - // get jeniskontrak by id rest api - @GetMapping("/{id}") - public ResponseEntity getJeniskontrakById(@PathVariable Long id) { - JenisKontrak jeniskontrak = jeniskontrakRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Jeniskontrak not exist with id :" + id)); - return ResponseEntity.ok(jeniskontrak); - } + public JenisKontrakController(GetListJenisKontrakService getListJenisKontrakService, + GetJenisKontrakByIdService getJenisKontrakByIdService, + PostCreateJenisKontrakService postCreateJenisKontrakService, + PutUpdateJenisKontrakService putUpdateJenisKontrakService, + DeleteJenisKontrakService deleteJenisKontrakService) { + this.getListJenisKontrakService = getListJenisKontrakService; + this.getJenisKontrakByIdService = getJenisKontrakByIdService; + this.postCreateJenisKontrakService = postCreateJenisKontrakService; + this.putUpdateJenisKontrakService = putUpdateJenisKontrakService; + this.deleteJenisKontrakService = deleteJenisKontrakService; + } - // update jeniskontrak rest api - @PutMapping("/{id}") - public ResponseEntity updateJeniskontrak(@PathVariable Long id, @RequestBody JenisKontrak jenisKontrakDetails){ - JenisKontrak jeniskontrak = jeniskontrakRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Jeniskontrak not exist with id :" + id)); - jeniskontrak.setJenisKontrak(jenisKontrakDetails.getJenisKontrak()); - jeniskontrak.setKeterangan(jenisKontrakDetails.getKeterangan()); + @GetMapping + public GetListJenisKontrakResponse getListJenisKontrak(@RequestParam(name = "search", required = false) String search, + @RequestParam(name = "page", defaultValue = "1") Integer page, + @RequestParam(name = "size", defaultValue = "5") Integer size){ - JenisKontrak updatedJenisKontrak = jeniskontrakRepository.save(jeniskontrak); - return ResponseEntity.ok(updatedJenisKontrak); - } + Pageable pageable = PageRequest.of((page - 1), size); + JenisKontrakRequest jenisKontrakRequest = JenisKontrakRequest.builder() + .search(search) + .pageable(pageable) + .build(); - // delete jeniskontrak rest api - @DeleteMapping("/{id}") - public ResponseEntity> deleteJeniskontrak(@PathVariable Long id){ - JenisKontrak jeniskontrak = jeniskontrakRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Jeniskontrak not exist with id :" + id)); + return getListJenisKontrakService.execute(jenisKontrakRequest); + } - jeniskontrakRepository.delete(jeniskontrak); - Map response = new HashMap<>(); - response.put("deleted", Boolean.TRUE); - return ResponseEntity.ok(response); - } -} \ No newline at end of file + @PostMapping + public JenisKontrakResponse createJenisKontrak(@RequestBody JenisKontrakRequest jenisKontrakRequest) { + return postCreateJenisKontrakService.execute(jenisKontrakRequest); + } + + @GetMapping("/{id}") + public JenisKontrakResponse getJenisKontrakById(@PathVariable Long id) { + return getJenisKontrakByIdService.execute(JenisKontrakRequest.builder() + .id(id) + .build()); + } + + + @PutMapping("/{id}") + public JenisKontrakResponse updateJeniskontrak(@PathVariable Long id, + @RequestBody JenisKontrakRequest jenisKontrakRequest){ + jenisKontrakRequest.setId(id); + return putUpdateJenisKontrakService.execute(jenisKontrakRequest); + } + + @DeleteMapping("/{id}") + public EmptyResponse deleteJenisKontrak(@PathVariable Long id) { + return deleteJenisKontrakService.execute(JenisKontrakRequest.builder() + .id(id) + .build()); + } +} diff --git a/src/main/java/com/iconplus/smartproc/controller/JenisPengadaanController.java b/src/main/java/com/iconplus/smartproc/controller/JenisPengadaanController.java index 50290a8..e28ba39 100644 --- a/src/main/java/com/iconplus/smartproc/controller/JenisPengadaanController.java +++ b/src/main/java/com/iconplus/smartproc/controller/JenisPengadaanController.java @@ -1,65 +1,82 @@ package com.iconplus.smartproc.controller; -import com.iconplus.smartproc.model.entity.JenisPengadaan; -import com.iconplus.smartproc.exception.ResourceNotFoundException; -import com.iconplus.smartproc.repository.JenisPengadaanRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import com.iconplus.smartproc.helper.model.EmptyResponse; +import com.iconplus.smartproc.model.request.JenisPengadaanRequest; +import com.iconplus.smartproc.model.response.GetListJenisPengadaanResponse; +import com.iconplus.smartproc.model.response.JenisPengadaanResponse; +import com.iconplus.smartproc.repository.JenisPengadaanRepository; +import com.iconplus.smartproc.service.jenispengadaan.*; +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") @RestController @RequestMapping("/api/jenispengadaan") public class JenisPengadaanController { + @Autowired private JenisPengadaanRepository jenispengadaanRepository; - //get all data + private final GetListJenisPengadaanService getListJenisPengadaanService; + private final GetJenisPengadaanByIdService getJenisPengadaanByIdService; + private final PostCreateJenisPengadaanService postCreateJenisPengadaanService; + private final PutUpdateJenisPengadaanService putUpdateJenisPengadaanService; + private final DeleteJenisPengadaanService deleteJenisPengadaanService; + + public JenisPengadaanController(GetListJenisPengadaanService getListJenisPengadaanService, + GetJenisPengadaanByIdService getJenisPengadaanByIdService, + PostCreateJenisPengadaanService postCreateJenisPengadaanService, + PutUpdateJenisPengadaanService putUpdateJenisPengadaanService, + DeleteJenisPengadaanService deleteJenisPengadaanService) { + this.getListJenisPengadaanService = getListJenisPengadaanService; + this.getJenisPengadaanByIdService = getJenisPengadaanByIdService; + this.postCreateJenisPengadaanService = postCreateJenisPengadaanService; + this.putUpdateJenisPengadaanService = putUpdateJenisPengadaanService; + this.deleteJenisPengadaanService = deleteJenisPengadaanService; + } + + @GetMapping - public List getAllJenispengadaans(){ - return jenispengadaanRepository.findAll(); + public GetListJenisPengadaanResponse getListJenisPengadaan(@RequestParam(name = "search", required = false) String search, + @RequestParam(name = "page", defaultValue = "1") Integer page, + @RequestParam(name = "size", defaultValue = "5") Integer size){ + + Pageable pageable = PageRequest.of((page - 1), size); + JenisPengadaanRequest jenisPengadaanRequest = JenisPengadaanRequest.builder() + .search(search) + .pageable(pageable) + .build(); + + return getListJenisPengadaanService.execute(jenisPengadaanRequest); } - // create @PostMapping - public JenisPengadaan createJenispengadaan(@RequestBody JenisPengadaan jenispengadaan) { - return jenispengadaanRepository.save(jenispengadaan); + public JenisPengadaanResponse createJenisPengadaan(@RequestBody JenisPengadaanRequest jenisPengadaanRequest) { + return postCreateJenisPengadaanService.execute(jenisPengadaanRequest); } - // get jenispengadaan by id rest api @GetMapping("/{id}") - public ResponseEntity getJenispengadaanById(@PathVariable Long id) { - JenisPengadaan jenispengadaan = jenispengadaanRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Jenispengadaan not exist with id :" + id)); - return ResponseEntity.ok(jenispengadaan); + public JenisPengadaanResponse getJenisPengadaanById(@PathVariable Long id) { + return getJenisPengadaanByIdService.execute(JenisPengadaanRequest.builder() + .id(id) + .build()); } - // update jenispengadaan rest api + @PutMapping("/{id}") - public ResponseEntity updateJenispengadaan(@PathVariable Long id, @RequestBody JenisPengadaan jenisPengadaanDetails){ - JenisPengadaan jenispengadaan = jenispengadaanRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Jenispengadaan not exist with id :" + id)); - - jenispengadaan.setJenisPengadaan(jenisPengadaanDetails.getJenisPengadaan()); - jenispengadaan.setKeterangan(jenisPengadaanDetails.getKeterangan()); - - JenisPengadaan updatedJenisPengadaan = jenispengadaanRepository.save(jenispengadaan); - return ResponseEntity.ok(updatedJenisPengadaan); + public JenisPengadaanResponse updateJenisPengadaan(@PathVariable Long id, + @RequestBody JenisPengadaanRequest jenisPengadaanRequest){ + jenisPengadaanRequest.setId(id); + return putUpdateJenisPengadaanService.execute(jenisPengadaanRequest); } - // delete jenispengadaan rest api @DeleteMapping("/{id}") - public ResponseEntity> deleteJenispengadaan(@PathVariable Long id){ - JenisPengadaan jenispengadaan = jenispengadaanRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Supposmatrix not exist with id :" + id)); - - jenispengadaanRepository.delete(jenispengadaan); - Map response = new HashMap<>(); - response.put("deleted", Boolean.TRUE); - return ResponseEntity.ok(response); + public EmptyResponse deleteJenisPengadaan(@PathVariable Long id) { + return deleteJenisPengadaanService.execute(JenisPengadaanRequest.builder() + .id(id) + .build()); } } diff --git a/src/main/java/com/iconplus/smartproc/controller/LokasiController.java b/src/main/java/com/iconplus/smartproc/controller/LokasiController.java index eaccfd8..88330dd 100644 --- a/src/main/java/com/iconplus/smartproc/controller/LokasiController.java +++ b/src/main/java/com/iconplus/smartproc/controller/LokasiController.java @@ -1,69 +1,82 @@ package com.iconplus.smartproc.controller; -import com.iconplus.smartproc.model.entity.Lokasi; -import com.iconplus.smartproc.exception.ResourceNotFoundException; -import com.iconplus.smartproc.repository.LokasiRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import com.iconplus.smartproc.helper.model.EmptyResponse; +import com.iconplus.smartproc.model.request.LokasiRequest; +import com.iconplus.smartproc.model.response.GetListLokasiResponse; +import com.iconplus.smartproc.model.response.LokasiResponse; +import com.iconplus.smartproc.repository.LokasiRepository; +import com.iconplus.smartproc.service.lokasi.*; +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") @RestController @RequestMapping("/api/lokasi") public class LokasiController { + @Autowired private LokasiRepository lokasiRepository; - //get all data + private final GetListLokasiService getListLokasiService; + private final GetLokasiByIdService getLokasiByIdService; + private final PostCreateLokasiService postCreateLokasiService; + private final PutUpdateLokasiService putUpdateLokasiService; + private final DeleteLokasiService deleteLokasiService; + + public LokasiController(GetListLokasiService getListLokasiService, + GetLokasiByIdService getLokasiByIdService, + PostCreateLokasiService postCreateLokasiService, + PutUpdateLokasiService putUpdateLokasiService, + DeleteLokasiService deleteLokasiService) { + this.getListLokasiService = getListLokasiService; + this.getLokasiByIdService = getLokasiByIdService; + this.postCreateLokasiService = postCreateLokasiService; + this.putUpdateLokasiService = putUpdateLokasiService; + this.deleteLokasiService = deleteLokasiService; + } + + @GetMapping - public List getAllLokasis(){ - return lokasiRepository.findAll(); + public GetListLokasiResponse getListLokasi(@RequestParam(name = "search", required = false) String search, + @RequestParam(name = "page", defaultValue = "1") Integer page, + @RequestParam(name = "size", defaultValue = "5") Integer size){ + + Pageable pageable = PageRequest.of((page - 1), size); + LokasiRequest lokasiRequest = LokasiRequest.builder() + .search(search) + .pageable(pageable) + .build(); + + return getListLokasiService.execute(lokasiRequest); } - // create @PostMapping - public Lokasi createLokasi(@RequestBody Lokasi lokasi) { - return lokasiRepository.save(lokasi); + public LokasiResponse createLokasi(@RequestBody LokasiRequest lokasiRequest) { + return postCreateLokasiService.execute(lokasiRequest); } - // get lokasi by id rest api @GetMapping("/{id}") - public ResponseEntity getLokasiById(@PathVariable Long id) { - Lokasi lokasi = lokasiRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Lokasi not exist with id :" + id)); - return ResponseEntity.ok(lokasi); + public LokasiResponse getLokasiById(@PathVariable Long id) { + return getLokasiByIdService.execute(LokasiRequest.builder() + .id(id) + .build()); } - // update lokasi rest api + @PutMapping("/{id}") - public ResponseEntity updateSumberdana(@PathVariable Long id, @RequestBody Lokasi lokasiDetails){ - Lokasi lokasi = lokasiRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Lokasi not exist with id :" + id)); - - lokasi.setLokasi(lokasiDetails.getLokasi()); - lokasi.setKeterangan(lokasiDetails.getKeterangan()); - - Lokasi updatedLokasi = lokasiRepository.save(lokasi); - return ResponseEntity.ok(updatedLokasi); + public LokasiResponse updateLokasi(@PathVariable Long id, + @RequestBody LokasiRequest LokasiRequest){ + LokasiRequest.setId(id); + return putUpdateLokasiService.execute(LokasiRequest); } - // delete lokasi rest api @DeleteMapping("/{id}") - public ResponseEntity> deleteLokasi(@PathVariable Long id){ - Lokasi lokasi = lokasiRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Lokasi not exist with id :" + id)); - - lokasiRepository.delete(lokasi); - Map response = new HashMap<>(); - response.put("deleted", Boolean.TRUE); - return ResponseEntity.ok(response); + public EmptyResponse deleteLokasi(@PathVariable Long id) { + return deleteLokasiService.execute(LokasiRequest.builder() + .id(id) + .build()); } - - - - } diff --git a/src/main/java/com/iconplus/smartproc/controller/MetodePengadaanController.java b/src/main/java/com/iconplus/smartproc/controller/MetodePengadaanController.java index 4a3f594..61c7f97 100644 --- a/src/main/java/com/iconplus/smartproc/controller/MetodePengadaanController.java +++ b/src/main/java/com/iconplus/smartproc/controller/MetodePengadaanController.java @@ -1,68 +1,82 @@ package com.iconplus.smartproc.controller; -import com.iconplus.smartproc.model.entity.MetodePengadaan; -import com.iconplus.smartproc.exception.ResourceNotFoundException; -import com.iconplus.smartproc.repository.MetodePengadaanRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import com.iconplus.smartproc.helper.model.EmptyResponse; +import com.iconplus.smartproc.model.request.MetodePengadaanRequest; +import com.iconplus.smartproc.model.response.GetListMetodePengadaanResponse; +import com.iconplus.smartproc.model.response.MetodePengadaanResponse; +import com.iconplus.smartproc.repository.MetodePengadaanRepository; +import com.iconplus.smartproc.service.metodepengadaan.*; +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") @RestController @RequestMapping("/api/metodepengadaan") public class MetodePengadaanController { - @Autowired - private MetodePengadaanRepository metodepengadaanRepository; - //get all data - @GetMapping - public List getAllMetodepengadaans(){ - return metodepengadaanRepository.findAll(); - } + @Autowired + private MetodePengadaanRepository metodepengadaanRepository; - // create - @PostMapping - public MetodePengadaan createMetodepengadaan(@RequestBody MetodePengadaan metodepengadaan) { - return metodepengadaanRepository.save(metodepengadaan); - } + private final GetListMetodePengadaanService getListMetodePengadaanService; + private final GetMetodePengadaanByIdService getMetodePengadaanByIdService; + private final PostCreateMetodePengadaanService postCreateMetodePengadaanService; + private final PutUpdateMetodePengadaanService putUpdateMetodePengadaanService; + private final DeleteMetodePengadaanService deleteMetodePengadaanService; - // get metodepengadaan by id rest api - @GetMapping("/{id}") - public ResponseEntity getMetodepengadaanById(@PathVariable Long id) { - MetodePengadaan metodepengadaan = metodepengadaanRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Metodepengadaan not exist with id :" + id)); - return ResponseEntity.ok(metodepengadaan); - } + public MetodePengadaanController(GetListMetodePengadaanService getListMetodePengadaanService, + GetMetodePengadaanByIdService getMetodePengadaanByIdService, + PostCreateMetodePengadaanService postCreateMetodePengadaanService, + PutUpdateMetodePengadaanService putUpdateMetodePengadaanService, + DeleteMetodePengadaanService deleteMetodePengadaanService) { + this.getListMetodePengadaanService = getListMetodePengadaanService; + this.getMetodePengadaanByIdService = getMetodePengadaanByIdService; + this.postCreateMetodePengadaanService = postCreateMetodePengadaanService; + this.putUpdateMetodePengadaanService = putUpdateMetodePengadaanService; + this.deleteMetodePengadaanService = deleteMetodePengadaanService; + } - // update metodepengadaan rest api - @PutMapping("/{id}") - public ResponseEntity updateMetodepengadaan(@PathVariable Long id, @RequestBody MetodePengadaan metodePengadaanDetails){ - MetodePengadaan metodepengadaan = metodepengadaanRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Metodepengadaan not exist with id :" + id)); - metodepengadaan.setMetodePengadaan(metodePengadaanDetails.getMetodePengadaan()); - metodepengadaan.setKeterangan(metodePengadaanDetails.getKeterangan()); + @GetMapping + public GetListMetodePengadaanResponse getListMetodePengadaan(@RequestParam(name = "search", required = false) String search, + @RequestParam(name = "page", defaultValue = "1") Integer page, + @RequestParam(name = "size", defaultValue = "5") Integer size){ - MetodePengadaan updatedMetodePengadaan = metodepengadaanRepository.save(metodepengadaan); - return ResponseEntity.ok(updatedMetodePengadaan); - } + Pageable pageable = PageRequest.of((page - 1), size); + MetodePengadaanRequest metodePengadaanRequest = MetodePengadaanRequest.builder() + .search(search) + .pageable(pageable) + .build(); - // delete metodepengadaan rest api - @DeleteMapping("/{id}") - public ResponseEntity> deleteMetodepengadaan(@PathVariable Long id){ - MetodePengadaan metodepengadaan = metodepengadaanRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Metodepengadaan not exist with id :" + id)); + return getListMetodePengadaanService.execute(metodePengadaanRequest); + } - metodepengadaanRepository.delete(metodepengadaan); - Map response = new HashMap<>(); - response.put("deleted", Boolean.TRUE); - return ResponseEntity.ok(response); - } + @PostMapping + public MetodePengadaanResponse createMetodePengadaan(@RequestBody MetodePengadaanRequest metodePengadaanRequest) { + return postCreateMetodePengadaanService.execute(metodePengadaanRequest); + } + + @GetMapping("/{id}") + public MetodePengadaanResponse getMetodePengadaanById(@PathVariable Long id) { + return getMetodePengadaanByIdService.execute(MetodePengadaanRequest.builder() + .id(id) + .build()); + } + + + @PutMapping("/{id}") + public MetodePengadaanResponse updateMetodepengadaan(@PathVariable Long id, + @RequestBody MetodePengadaanRequest metodePengadaanRequest){ + metodePengadaanRequest.setId(id); + return putUpdateMetodePengadaanService.execute(metodePengadaanRequest); + } + + @DeleteMapping("/{id}") + public EmptyResponse deleteMetodePengadaan(@PathVariable Long id) { + return deleteMetodePengadaanService.execute(MetodePengadaanRequest.builder() + .id(id) + .build()); + } } - - - diff --git a/src/main/java/com/iconplus/smartproc/controller/MetodePenyampaianController.java b/src/main/java/com/iconplus/smartproc/controller/MetodePenyampaianController.java index e26a782..0615825 100644 --- a/src/main/java/com/iconplus/smartproc/controller/MetodePenyampaianController.java +++ b/src/main/java/com/iconplus/smartproc/controller/MetodePenyampaianController.java @@ -1,68 +1,82 @@ package com.iconplus.smartproc.controller; -import com.iconplus.smartproc.model.entity.MetodePenyampaian; -import com.iconplus.smartproc.exception.ResourceNotFoundException; -import com.iconplus.smartproc.repository.MetodePenyampaianRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import com.iconplus.smartproc.helper.model.EmptyResponse; +import com.iconplus.smartproc.model.request.MetodePenyampaianRequest; +import com.iconplus.smartproc.model.response.GetListMetodePenyampaianResponse; +import com.iconplus.smartproc.model.response.MetodePenyampaianResponse; +import com.iconplus.smartproc.repository.MetodePenyampaianRepository; +import com.iconplus.smartproc.service.metodepenyampaian.*; +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") @RestController @RequestMapping("/api/metodepenyampaian") public class MetodePenyampaianController { - @Autowired - private MetodePenyampaianRepository metodepenyampaianRepository; - //get all data - @GetMapping - public List getAllMetodepenyampaians(){ - return metodepenyampaianRepository.findAll(); - } + @Autowired + private MetodePenyampaianRepository metodepenyampaianRepository; - // create - @PostMapping - public MetodePenyampaian createMetodepenyampaian(@RequestBody MetodePenyampaian metodepenyampaian) { - return metodepenyampaianRepository.save(metodepenyampaian); - } + private final GetListMetodePenyampaianService getListMetodePenyampaianService; + private final GetMetodePenyampaianByIdService getMetodePenyampaianByIdService; + private final PostCreateMetodePenyampaianService postCreateMetodePenyampaianService; + private final PutUpdateMetodePenyampaianService putUpdateMetodePenyampaianService; + private final DeleteMetodePenyampaianService deleteMetodePenyampaianService; - // get metodepenyampaian by id rest api - @GetMapping("/{id}") - public ResponseEntity getMetodepenyampaianById(@PathVariable Long id) { - MetodePenyampaian metodepenyampaian = metodepenyampaianRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Metodepenyampaian not exist with id :" + id)); - return ResponseEntity.ok(metodepenyampaian); - } + public MetodePenyampaianController(GetListMetodePenyampaianService getListMetodePenyampaianService, + GetMetodePenyampaianByIdService getMetodePenyampaianByIdService, + PostCreateMetodePenyampaianService postCreateMetodePenyampaianService, + PutUpdateMetodePenyampaianService putUpdateMetodePenyampaianService, + DeleteMetodePenyampaianService deleteMetodePenyampaianService) { + this.getListMetodePenyampaianService = getListMetodePenyampaianService; + this.getMetodePenyampaianByIdService = getMetodePenyampaianByIdService; + this.postCreateMetodePenyampaianService = postCreateMetodePenyampaianService; + this.putUpdateMetodePenyampaianService = putUpdateMetodePenyampaianService; + this.deleteMetodePenyampaianService = deleteMetodePenyampaianService; + } - // update metodepenyampaian rest api - @PutMapping("/{id}") - public ResponseEntity updateMetodepenyampaian(@PathVariable Long id, @RequestBody MetodePenyampaian metodePenyampaianDetails){ - MetodePenyampaian metodepenyampaian = metodepenyampaianRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Metodepenyampaian not exist with id :" + id)); - metodepenyampaian.setMetodePenyampaian(metodePenyampaianDetails.getMetodePenyampaian()); - metodepenyampaian.setKeterangan(metodePenyampaianDetails.getKeterangan()); + @GetMapping + public GetListMetodePenyampaianResponse getListMetodePenyampaian(@RequestParam(name = "search", required = false) String search, + @RequestParam(name = "page", defaultValue = "1") Integer page, + @RequestParam(name = "size", defaultValue = "5") Integer size){ - MetodePenyampaian updatedMetodePenyampaian = metodepenyampaianRepository.save(metodepenyampaian); - return ResponseEntity.ok(updatedMetodePenyampaian); - } + Pageable pageable = PageRequest.of((page - 1), size); + MetodePenyampaianRequest metodePenyampaianRequest = MetodePenyampaianRequest.builder() + .search(search) + .pageable(pageable) + .build(); - // delete metodepenyampaian rest api - @DeleteMapping("/{id}") - public ResponseEntity> deleteMetodepenyampaian(@PathVariable Long id){ - MetodePenyampaian metodepenyampaian = metodepenyampaianRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Metodepenyampaian not exist with id :" + id)); + return getListMetodePenyampaianService.execute(metodePenyampaianRequest); + } - metodepenyampaianRepository.delete(metodepenyampaian); - Map response = new HashMap<>(); - response.put("deleted", Boolean.TRUE); - return ResponseEntity.ok(response); - } + @PostMapping + public MetodePenyampaianResponse createMetodePenyampaian(@RequestBody MetodePenyampaianRequest metodePenyampaianRequest) { + return postCreateMetodePenyampaianService.execute(metodePenyampaianRequest); + } + + @GetMapping("/{id}") + public MetodePenyampaianResponse getMetodePenyampaianById(@PathVariable Long id) { + return getMetodePenyampaianByIdService.execute(MetodePenyampaianRequest.builder() + .id(id) + .build()); + } + + + @PutMapping("/{id}") + public MetodePenyampaianResponse updateMetodepenyampaian(@PathVariable Long id, + @RequestBody MetodePenyampaianRequest metodePenyampaianRequest){ + metodePenyampaianRequest.setId(id); + return putUpdateMetodePenyampaianService.execute(metodePenyampaianRequest); + } + + @DeleteMapping("/{id}") + public EmptyResponse deleteMetodePenyampaian(@PathVariable Long id) { + return deleteMetodePenyampaianService.execute(MetodePenyampaianRequest.builder() + .id(id) + .build()); + } } - - - diff --git a/src/main/java/com/iconplus/smartproc/controller/RolesController.java b/src/main/java/com/iconplus/smartproc/controller/RolesController.java index 13eafa2..6d16c6e 100644 --- a/src/main/java/com/iconplus/smartproc/controller/RolesController.java +++ b/src/main/java/com/iconplus/smartproc/controller/RolesController.java @@ -1,10 +1,13 @@ package com.iconplus.smartproc.controller; + import com.iconplus.smartproc.helper.model.EmptyResponse; import com.iconplus.smartproc.model.request.RolesRequest; -import com.iconplus.smartproc.model.response.GetRolesResponse; +import com.iconplus.smartproc.model.response.GetListRolesResponse; import com.iconplus.smartproc.model.response.RolesResponse; +import com.iconplus.smartproc.repository.RolesRepository; import com.iconplus.smartproc.service.roles.*; +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.*; @@ -14,28 +17,32 @@ import org.springframework.web.bind.annotation.*; @RequestMapping("/api/roles") public class RolesController { - private final GetRolesService getRolesService; - private final PostCreateRoleService postCreateRoleService; - private final GetRoleByIdService getRoleByIdService; - private final PutUpdateRoleService putUpdateRoleService; - private final DeleteRoleService deleteRoleService; + @Autowired + private RolesRepository rolesRepository; - public RolesController(GetRolesService getRolesService, - PostCreateRoleService postCreateRoleService, - GetRoleByIdService getRoleByIdService, - PutUpdateRoleService putUpdateRoleService, - DeleteRoleService deleteRoleService) { - this.getRolesService = getRolesService; - this.postCreateRoleService = postCreateRoleService; - this.getRoleByIdService = getRoleByIdService; - this.putUpdateRoleService = putUpdateRoleService; - this.deleteRoleService = deleteRoleService; + private final GetListRolesService getListRolesService; + private final GetRolesByIdService getRolesByIdService; + private final PostCreateRolesService postCreateRolesService; + private final PutUpdateRolesService putUpdateRolesService; + private final DeleteRolesService deleteRolesService; + + public RolesController(GetListRolesService getListRolesService, + GetRolesByIdService getRolesByIdService, + PostCreateRolesService postCreateRolesService, + PutUpdateRolesService putUpdateRolesService, + DeleteRolesService deleteRolesService) { + this.getListRolesService = getListRolesService; + this.getRolesByIdService = getRolesByIdService; + this.postCreateRolesService = postCreateRolesService; + this.putUpdateRolesService = putUpdateRolesService; + this.deleteRolesService = deleteRolesService; } + @GetMapping - public GetRolesResponse getRoles(@RequestParam(name = "search", required = false) String search, - @RequestParam(name = "page", defaultValue = "1") Integer page, - @RequestParam(name = "size", defaultValue = "5") Integer size){ + public GetListRolesResponse getListRoles(@RequestParam(name = "search", required = false) String search, + @RequestParam(name = "page", defaultValue = "1") Integer page, + @RequestParam(name = "size", defaultValue = "5") Integer size){ Pageable pageable = PageRequest.of((page - 1), size); RolesRequest rolesRequest = RolesRequest.builder() @@ -43,30 +50,32 @@ public class RolesController { .pageable(pageable) .build(); - return getRolesService.execute(rolesRequest); + return getListRolesService.execute(rolesRequest); } @PostMapping public RolesResponse createRoles(@RequestBody RolesRequest rolesRequest) { - return postCreateRoleService.execute(rolesRequest); + return postCreateRolesService.execute(rolesRequest); } @GetMapping("/{id}") public RolesResponse getRolesById(@PathVariable Long id) { - return getRoleByIdService.execute(RolesRequest.builder() + return getRolesByIdService.execute(RolesRequest.builder() .id(id) .build()); } + @PutMapping("/{id}") - public RolesResponse updateRoles(@PathVariable Long id, @RequestBody RolesRequest rolesRequest){ + public RolesResponse updateRoles(@PathVariable Long id, + @RequestBody RolesRequest rolesRequest){ rolesRequest.setId(id); - return putUpdateRoleService.execute(rolesRequest); + return putUpdateRolesService.execute(rolesRequest); } @DeleteMapping("/{id}") - public EmptyResponse deleteRoles(@PathVariable Long id){ - return deleteRoleService.execute(RolesRequest.builder() + public EmptyResponse deleteRoles(@PathVariable Long id) { + return deleteRolesService.execute(RolesRequest.builder() .id(id) .build()); } diff --git a/src/main/java/com/iconplus/smartproc/controller/SumberDanaController.java b/src/main/java/com/iconplus/smartproc/controller/SumberDanaController.java index 95873cf..07f54e1 100644 --- a/src/main/java/com/iconplus/smartproc/controller/SumberDanaController.java +++ b/src/main/java/com/iconplus/smartproc/controller/SumberDanaController.java @@ -1,78 +1,82 @@ 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 org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.DeleteMapping; -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.SumberDana; +import com.iconplus.smartproc.helper.model.EmptyResponse; +import com.iconplus.smartproc.model.request.SumberDanaRequest; +import com.iconplus.smartproc.model.response.GetListSumberDanaResponse; +import com.iconplus.smartproc.model.response.SumberDanaResponse; import com.iconplus.smartproc.repository.SumberDanaRepository; +import com.iconplus.smartproc.service.sumberdana.*; +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") @RestController @RequestMapping("/api/sumberdana") public class SumberDanaController { + @Autowired private SumberDanaRepository sumberdanaRepository; - //get all data + private final GetListSumberDanaService getListSumberDanaService; + private final GetSumberDanaByIdService getSumberDanaByIdService; + private final PostCreateSumberDanaService postCreateSumberDanaService; + private final PutUpdateSumberDanaService putUpdateSumberDanaService; + private final DeleteSumberDanaService deleteSumberDanaService; + + public SumberDanaController(GetListSumberDanaService getListSumberDanaService, + GetSumberDanaByIdService getSumberDanaByIdService, + PostCreateSumberDanaService postCreateSumberDanaService, + PutUpdateSumberDanaService putUpdateSumberDanaService, + DeleteSumberDanaService deleteSumberDanaService) { + this.getListSumberDanaService = getListSumberDanaService; + this.getSumberDanaByIdService = getSumberDanaByIdService; + this.postCreateSumberDanaService = postCreateSumberDanaService; + this.putUpdateSumberDanaService = putUpdateSumberDanaService; + this.deleteSumberDanaService = deleteSumberDanaService; + } + + @GetMapping - public List getAllSumberdanas(){ - return sumberdanaRepository.findAll(); + public GetListSumberDanaResponse getListSumberDana(@RequestParam(name = "search", required = false) String search, + @RequestParam(name = "page", defaultValue = "1") Integer page, + @RequestParam(name = "size", defaultValue = "5") Integer size){ + + Pageable pageable = PageRequest.of((page - 1), size); + SumberDanaRequest sumberDanaRequest = SumberDanaRequest.builder() + .search(search) + .pageable(pageable) + .build(); + + return getListSumberDanaService.execute(sumberDanaRequest); } - // create @PostMapping - public SumberDana createSumberdana(@RequestBody SumberDana sumberdana) { - return sumberdanaRepository.save(sumberdana); + public SumberDanaResponse createSumberDana(@RequestBody SumberDanaRequest sumberDanaRequest) { + return postCreateSumberDanaService.execute(sumberDanaRequest); } - // get sumberdana by id rest api @GetMapping("/{id}") - public ResponseEntity getSumberdanaById(@PathVariable Long id) { - SumberDana sumberdana = sumberdanaRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Sumberdana not exist with id :" + id)); - return ResponseEntity.ok(sumberdana); + public SumberDanaResponse getSumberDanaById(@PathVariable Long id) { + return getSumberDanaByIdService.execute(SumberDanaRequest.builder() + .id(id) + .build()); } - // update sumberdana rest api + @PutMapping("/{id}") - public ResponseEntity updateSumberdana(@PathVariable Long id, @RequestBody SumberDana sumberDanaDetails){ - SumberDana sumberdana = sumberdanaRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Sumberdana not exist with id :" + id)); - - sumberdana.setSumberDana(sumberDanaDetails.getSumberDana()); - sumberdana.setKeterangan(sumberDanaDetails.getKeterangan()); - - SumberDana updatedSumberDana = sumberdanaRepository.save(sumberdana); - return ResponseEntity.ok(updatedSumberDana); + public SumberDanaResponse updateSumberdana(@PathVariable Long id, + @RequestBody SumberDanaRequest sumberDanaRequest){ + sumberDanaRequest.setId(id); + return putUpdateSumberDanaService.execute(sumberDanaRequest); } - // delete sumberdana rest api @DeleteMapping("/{id}") - public ResponseEntity> deleteSumberdana(@PathVariable Long id){ - SumberDana sumberdana = sumberdanaRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Sumberdana not exist with id :" + id)); - - sumberdanaRepository.delete(sumberdana); - Map response = new HashMap<>(); - response.put("deleted", Boolean.TRUE); - return ResponseEntity.ok(response); + public EmptyResponse deleteSumberDana(@PathVariable Long id) { + return deleteSumberDanaService.execute(SumberDanaRequest.builder() + .id(id) + .build()); } - - - - } diff --git a/src/main/java/com/iconplus/smartproc/controller/SupplyPositioningMatrixController.java b/src/main/java/com/iconplus/smartproc/controller/SupplyPositioningMatrixController.java index 36b00ce..16aec2b 100644 --- a/src/main/java/com/iconplus/smartproc/controller/SupplyPositioningMatrixController.java +++ b/src/main/java/com/iconplus/smartproc/controller/SupplyPositioningMatrixController.java @@ -1,74 +1,82 @@ 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 org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.DeleteMapping; -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.SupplyPositioningMatrix; +import com.iconplus.smartproc.helper.model.EmptyResponse; +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 com.iconplus.smartproc.service.supplypositioningmatrix.*; +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") @RestController @RequestMapping("/api/supplypositioningmatrix") public class SupplyPositioningMatrixController { - @Autowired - private SupplyPositioningMatrixRepository supplypositioningmatrixRepository; - //get all data - @GetMapping - public List getAllSupplypositioningmatrix(){ - return supplypositioningmatrixRepository.findAll(); - } + @Autowired + private SupplyPositioningMatrixRepository supplypositioningmatrixRepository; - // create - @PostMapping - public SupplyPositioningMatrix createSupplypositioningmatrix(@RequestBody SupplyPositioningMatrix supplypositioningmatrix) { - return supplypositioningmatrixRepository.save(supplypositioningmatrix); - } + private final GetListSupplyPositioningMatrixService getListSupplyPositioningMatrixService; + private final GetSupplyPositioningMatrixByIdService getSupplyPositioningMatrixByIdService; + private final PostCreateSupplyPositioningMatrixService postCreateSupplyPositioningMatrixService; + private final PutUpdateSupplyPositioningMatrixService putUpdateSupplyPositioningMatrixService; + private final DeleteSupplyPositioningMatrixService deleteSupplyPositioningMatrixService; - // get supplypositioningmatrix by id rest api - @GetMapping("/{id}") - public ResponseEntity getSupplypositioningmatrixById(@PathVariable Long id) { - SupplyPositioningMatrix supplypositioningmatrix = supplypositioningmatrixRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Supplypositioningmatrix not exist with id :" + id)); - return ResponseEntity.ok(supplypositioningmatrix); - } + public SupplyPositioningMatrixController(GetListSupplyPositioningMatrixService getListSupplyPositioningMatrixService, + GetSupplyPositioningMatrixByIdService getSupplyPositioningMatrixByIdService, + PostCreateSupplyPositioningMatrixService postCreateSupplyPositioningMatrixService, + PutUpdateSupplyPositioningMatrixService putUpdateSupplyPositioningMatrixService, + DeleteSupplyPositioningMatrixService deleteSupplyPositioningMatrixService) { + this.getListSupplyPositioningMatrixService = getListSupplyPositioningMatrixService; + this.getSupplyPositioningMatrixByIdService = getSupplyPositioningMatrixByIdService; + this.postCreateSupplyPositioningMatrixService = postCreateSupplyPositioningMatrixService; + this.putUpdateSupplyPositioningMatrixService = putUpdateSupplyPositioningMatrixService; + this.deleteSupplyPositioningMatrixService = deleteSupplyPositioningMatrixService; + } - // update jenispengadaan rest api - @PutMapping("/{id}") - public ResponseEntity updateSupplypositioningmatrix(@PathVariable Long id, @RequestBody SupplyPositioningMatrix supplyPositioningMatrixDetails){ - SupplyPositioningMatrix supplypositioningmatrix = supplypositioningmatrixRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Supplypositioningmatrix not exist with id :" + id)); - supplypositioningmatrix.setSupplyPositioningMatrix(supplyPositioningMatrixDetails.getSupplyPositioningMatrix()); - supplypositioningmatrix.setKeterangan(supplyPositioningMatrixDetails.getKeterangan()); + @GetMapping + public GetListSupplyPositioningMatrixResponse getListSupplyPositioningMatrix(@RequestParam(name = "search", required = false) String search, + @RequestParam(name = "page", defaultValue = "1") Integer page, + @RequestParam(name = "size", defaultValue = "5") Integer size){ - SupplyPositioningMatrix updatedSupplyPositioningMatrix = supplypositioningmatrixRepository.save(supplypositioningmatrix); - return ResponseEntity.ok(updatedSupplyPositioningMatrix); - } + Pageable pageable = PageRequest.of((page - 1), size); + SupplyPositioningMatrixRequest supplyPositioningMatrixRequest = SupplyPositioningMatrixRequest.builder() + .search(search) + .pageable(pageable) + .build(); - // delete jenispengadaan rest api - @DeleteMapping("/{id}") - public ResponseEntity> deleteSupplypositioningmatrix(@PathVariable Long id){ - SupplyPositioningMatrix supplypositioningmatrix = supplypositioningmatrixRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Unit inisiator not exist with id :" + id)); + return getListSupplyPositioningMatrixService.execute(supplyPositioningMatrixRequest); + } - supplypositioningmatrixRepository.delete(supplypositioningmatrix); - Map response = new HashMap<>(); - response.put("deleted", Boolean.TRUE); - return ResponseEntity.ok(response); - } + @PostMapping + public SupplyPositioningMatrixResponse createSupplyPositioningMatrix(@RequestBody SupplyPositioningMatrixRequest supplyPositioningMatrixRequest) { + return postCreateSupplyPositioningMatrixService.execute(supplyPositioningMatrixRequest); + } + + @GetMapping("/{id}") + public SupplyPositioningMatrixResponse getSupplyPositioningMatrixById(@PathVariable Long id) { + return getSupplyPositioningMatrixByIdService.execute(SupplyPositioningMatrixRequest.builder() + .id(id) + .build()); + } + + + @PutMapping("/{id}") + public SupplyPositioningMatrixResponse updateSupplyPositioningmatrix(@PathVariable Long id, + @RequestBody SupplyPositioningMatrixRequest supplyPositioningMatrixRequest){ + supplyPositioningMatrixRequest.setId(id); + return putUpdateSupplyPositioningMatrixService.execute(supplyPositioningMatrixRequest); + } + + @DeleteMapping("/{id}") + public EmptyResponse deleteSupplyPositioningMatrix(@PathVariable Long id) { + return deleteSupplyPositioningMatrixService.execute(SupplyPositioningMatrixRequest.builder() + .id(id) + .build()); + } } diff --git a/src/main/java/com/iconplus/smartproc/model/projection/JenisKontrakView.java b/src/main/java/com/iconplus/smartproc/model/projection/JenisKontrakView.java new file mode 100644 index 0000000..45ad750 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/projection/JenisKontrakView.java @@ -0,0 +1,14 @@ +package com.iconplus.smartproc.model.projection; + +public interface JenisKontrakView { + + Long getId(); + String getJenisKontrak(); + String getKeterangan(); + Boolean getDeleted(); + + void setId(Long id); + void setJenisKontrak(String jenisKontrak); + void setKeterangan(String keterangan); + void setDeleted(Boolean deleted); +} diff --git a/src/main/java/com/iconplus/smartproc/model/projection/JenisPengadaanView.java b/src/main/java/com/iconplus/smartproc/model/projection/JenisPengadaanView.java new file mode 100644 index 0000000..bf38eeb --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/projection/JenisPengadaanView.java @@ -0,0 +1,14 @@ +package com.iconplus.smartproc.model.projection; + +public interface JenisPengadaanView { + + Long getId(); + String getJenisPengadaan(); + String getKeterangan(); + Boolean getDeleted(); + + void setId(Long id); + void setJenisPengadaan(String jenisPengadaan); + void setKeterangan(String keterangan); + void setDeleted(Boolean deleted); +} diff --git a/src/main/java/com/iconplus/smartproc/model/projection/LokasiView.java b/src/main/java/com/iconplus/smartproc/model/projection/LokasiView.java new file mode 100644 index 0000000..cf32eef --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/projection/LokasiView.java @@ -0,0 +1,15 @@ +package com.iconplus.smartproc.model.projection; + +public interface LokasiView { + + Long getId(); + String getLokasi(); + String getKeterangan(); + String getIsActive(); + Boolean getIsDelete(); + + void setId(Long id); + void setLokasi(String Lokasi); + void setKeterangan(String keterangan); + void setIsDelete(Boolean isDelete); +} diff --git a/src/main/java/com/iconplus/smartproc/model/projection/MetodePengadaanView.java b/src/main/java/com/iconplus/smartproc/model/projection/MetodePengadaanView.java new file mode 100644 index 0000000..87043d1 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/projection/MetodePengadaanView.java @@ -0,0 +1,16 @@ +package com.iconplus.smartproc.model.projection; + +public interface MetodePengadaanView { + + Long getId(); + String getMetodePengadaan(); + String getKeterangan(); + String getIsActive(); + Boolean getIsDelete(); + + void setId(Long id); + void setMetodePengadaan(String metodePengadaan); + void setKeterangan(String keterangan); + void setIsActive(Boolean isActive); + void setIsDelete(Boolean isDelete); +} diff --git a/src/main/java/com/iconplus/smartproc/model/projection/MetodePenyampaianView.java b/src/main/java/com/iconplus/smartproc/model/projection/MetodePenyampaianView.java new file mode 100644 index 0000000..ba8efaf --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/projection/MetodePenyampaianView.java @@ -0,0 +1,16 @@ +package com.iconplus.smartproc.model.projection; + +public interface MetodePenyampaianView { + + Long getId(); + String getMetodePenyampaian(); + String getKeterangan(); + String getIsActive(); + Boolean getIsDelete(); + + void setId(Long id); + void setMetodePenyampaian(String metodePenyampaian); + void setKeterangan(String keterangan); + void setIsActive(Boolean isActive); + void setIsDelete(Boolean isDelete); +} diff --git a/src/main/java/com/iconplus/smartproc/model/projection/RolesView.java b/src/main/java/com/iconplus/smartproc/model/projection/RolesView.java index 78e6519..4fe553b 100644 --- a/src/main/java/com/iconplus/smartproc/model/projection/RolesView.java +++ b/src/main/java/com/iconplus/smartproc/model/projection/RolesView.java @@ -3,13 +3,13 @@ package com.iconplus.smartproc.model.projection; public interface RolesView { Long getId(); - String getRole(); + String getRoles(); String getKeterangan(); - Boolean getIsActive(); + String getIsActive(); Boolean getIsDelete(); void setId(Long id); - void setRole(String role); + void setRoles(String roles); void setKeterangan(String keterangan); void setIsActive(Boolean isActive); void setIsDelete(Boolean isDelete); diff --git a/src/main/java/com/iconplus/smartproc/model/projection/StrategiPengadaanView.java b/src/main/java/com/iconplus/smartproc/model/projection/StrategiPengadaanView.java new file mode 100644 index 0000000..f70193d --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/projection/StrategiPengadaanView.java @@ -0,0 +1,16 @@ +package com.iconplus.smartproc.model.projection; + +public interface StrategiPengadaanView { + + Long getId(); + String getStrategiPengadaan(); + String getKeterangan(); + String getIsActive(); + Boolean getIsDelete(); + + void setId(Long id); + void setStrategiPengadaan(String strategiPengadaan); + void setKeterangan(String keterangan); + void setIsActive(Boolean isActive); + void setIsDelete(Boolean isDelete); +} diff --git a/src/main/java/com/iconplus/smartproc/model/projection/SumberDanaView.java b/src/main/java/com/iconplus/smartproc/model/projection/SumberDanaView.java new file mode 100644 index 0000000..c5a9e2e --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/projection/SumberDanaView.java @@ -0,0 +1,16 @@ +package com.iconplus.smartproc.model.projection; + +public interface SumberDanaView { + + Long getId(); + String getSumberDana(); + String getKeterangan(); + String getIsActive(); + Boolean getIsDelete(); + + void setId(Long id); + void setSumberDana(String sumberDana); + void setKeterangan(String keterangan); + void setIsActive(Boolean isActive); + void setIsDelete(Boolean isDelete); +} diff --git a/src/main/java/com/iconplus/smartproc/model/projection/SupplyPositioningMatrixView.java b/src/main/java/com/iconplus/smartproc/model/projection/SupplyPositioningMatrixView.java new file mode 100644 index 0000000..33ca4cb --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/projection/SupplyPositioningMatrixView.java @@ -0,0 +1,16 @@ +package com.iconplus.smartproc.model.projection; + +public interface SupplyPositioningMatrixView { + + Long getId(); + String getSupplyPositioningMatrix(); + String getKeterangan(); + String getIsActive(); + Boolean getIsDelete(); + + void setId(Long id); + void setSupplyPositioningMatrix(String supplyPositioningMatrix); + void setKeterangan(String keterangan); + void setIsActive(Boolean isActive); + void setIsDelete(Boolean isDelete); +} diff --git a/src/main/java/com/iconplus/smartproc/model/request/JenisKontrakRequest.java b/src/main/java/com/iconplus/smartproc/model/request/JenisKontrakRequest.java new file mode 100644 index 0000000..af3868c --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/request/JenisKontrakRequest.java @@ -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 JenisKontrakRequest extends BaseRequest { + + private Long id; + private String jenisKontrak; + private String keterangan; + private Boolean isActive; + private Boolean deleted; + private String search; + private transient Pageable pageable; +} diff --git a/src/main/java/com/iconplus/smartproc/model/request/JenisPengadaanRequest.java b/src/main/java/com/iconplus/smartproc/model/request/JenisPengadaanRequest.java new file mode 100644 index 0000000..bf4bb1e --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/request/JenisPengadaanRequest.java @@ -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 JenisPengadaanRequest extends BaseRequest { + + private Long id; + private String jenisPengadaan; + private String keterangan; + private Boolean isActive; + private Boolean deleted; + private String search; + private transient Pageable pageable; +} diff --git a/src/main/java/com/iconplus/smartproc/model/request/LokasiRequest.java b/src/main/java/com/iconplus/smartproc/model/request/LokasiRequest.java new file mode 100644 index 0000000..8ed6848 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/request/LokasiRequest.java @@ -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 JenisAnggaranRequest extends BaseRequest { + + private Long id; + private String jenisAnggaran; + private String keterangan; + private Boolean isActive; + private Boolean isDelete; + private String search; + private transient Pageable pageable; +} diff --git a/src/main/java/com/iconplus/smartproc/model/request/MetodePengadaanRequest.java b/src/main/java/com/iconplus/smartproc/model/request/MetodePengadaanRequest.java new file mode 100644 index 0000000..2c64987 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/request/MetodePengadaanRequest.java @@ -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 MetodePengadaanRequest extends BaseRequest { + + private Long id; + private String metodePengadaan; + private String keterangan; + private Boolean isActive; + private Boolean isDelete; + private String search; + private transient Pageable pageable; +} diff --git a/src/main/java/com/iconplus/smartproc/model/request/MetodePenyampaianRequest.java b/src/main/java/com/iconplus/smartproc/model/request/MetodePenyampaianRequest.java new file mode 100644 index 0000000..af47ca0 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/request/MetodePenyampaianRequest.java @@ -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 MetodePenyampaianRequest extends BaseRequest { + + private Long id; + private String metodePenyampaian; + private String keterangan; + private Boolean isActive; + private Boolean isDelete; + private String search; + private transient Pageable pageable; +} diff --git a/src/main/java/com/iconplus/smartproc/model/request/StrategiPengadaanRequest.java b/src/main/java/com/iconplus/smartproc/model/request/StrategiPengadaanRequest.java new file mode 100644 index 0000000..b094265 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/request/StrategiPengadaanRequest.java @@ -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 StrategiPengadaanRequest extends BaseRequest { + + private Long id; + private String strategiPengadaan; + private String keterangan; + private Boolean isActive; + private Boolean isDelete; + private String search; + private transient Pageable pageable; +} diff --git a/src/main/java/com/iconplus/smartproc/model/request/SumberDanaRequest.java b/src/main/java/com/iconplus/smartproc/model/request/SumberDanaRequest.java new file mode 100644 index 0000000..6266857 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/request/SumberDanaRequest.java @@ -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 SumberDanaRequest extends BaseRequest { + + private Long id; + private String sumberDana; + private String keterangan; + private Boolean isActive; + private Boolean isDelete; + private String search; + private transient Pageable pageable; +} diff --git a/src/main/java/com/iconplus/smartproc/model/request/SupplyPositioningMatrixRequest.java b/src/main/java/com/iconplus/smartproc/model/request/SupplyPositioningMatrixRequest.java new file mode 100644 index 0000000..c992ae0 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/request/SupplyPositioningMatrixRequest.java @@ -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 SupplyPositioningMatrixRequest extends BaseRequest { + + private Long id; + private String supplyPositioningMatrix; + private String keterangan; + private Boolean isActive; + private Boolean isDelete; + private String search; + private transient Pageable pageable; +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/GetListJenisKontrakResponse.java b/src/main/java/com/iconplus/smartproc/model/response/GetListJenisKontrakResponse.java new file mode 100644 index 0000000..0e530af --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/GetListJenisKontrakResponse.java @@ -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 GetListJenisKontrakResponse extends BaseResponse { + + private List data; + private Pagination pagination; +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/GetListJenisPengadaanResponse.java b/src/main/java/com/iconplus/smartproc/model/response/GetListJenisPengadaanResponse.java new file mode 100644 index 0000000..204ef0c --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/GetListJenisPengadaanResponse.java @@ -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 GetListJenisPengadaanResponse extends BaseResponse { + + private List data; + private Pagination pagination; +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/GetListLokasiResponse.java b/src/main/java/com/iconplus/smartproc/model/response/GetListLokasiResponse.java new file mode 100644 index 0000000..ddf4fba --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/GetListLokasiResponse.java @@ -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 GetListLokasiResponse extends BaseResponse { + + private List data; + private Pagination pagination; +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/GetListMetodePengadaanResponse.java b/src/main/java/com/iconplus/smartproc/model/response/GetListMetodePengadaanResponse.java new file mode 100644 index 0000000..8e4287c --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/GetListMetodePengadaanResponse.java @@ -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 GetListMetodePengadaanResponse extends BaseResponse { + + private List data; + private Pagination pagination; +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/GetListMetodePenyampaianResponse.java b/src/main/java/com/iconplus/smartproc/model/response/GetListMetodePenyampaianResponse.java new file mode 100644 index 0000000..7d2cf14 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/GetListMetodePenyampaianResponse.java @@ -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 data; + private Pagination pagination; +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/GetListRolesResponse.java b/src/main/java/com/iconplus/smartproc/model/response/GetListRolesResponse.java new file mode 100644 index 0000000..2264d1e --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/GetListRolesResponse.java @@ -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 +@AllArgsConstructor +@NoArgsConstructor +public class GetListRolesResponse extends BaseResponse { + + private List data; + private Pagination pagination; +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/GetListStrategiPengadaanResponse.java b/src/main/java/com/iconplus/smartproc/model/response/GetListStrategiPengadaanResponse.java new file mode 100644 index 0000000..68e64a4 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/GetListStrategiPengadaanResponse.java @@ -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 GetListStrategiPengadaanResponse extends BaseResponse { + + private List data; + private Pagination pagination; +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/GetListSumberDanaResponse.java b/src/main/java/com/iconplus/smartproc/model/response/GetListSumberDanaResponse.java new file mode 100644 index 0000000..7d12fcd --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/GetListSumberDanaResponse.java @@ -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 GetListSumberDanaResponse extends BaseResponse { + + private List data; + private Pagination pagination; +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/GetListSupplyPositioningMatrixResponse.java b/src/main/java/com/iconplus/smartproc/model/response/GetListSupplyPositioningMatrixResponse.java new file mode 100644 index 0000000..ed3efb6 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/GetListSupplyPositioningMatrixResponse.java @@ -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 GetListSupplyPositioningMatrixResponse extends BaseResponse { + + private List data; + private Pagination pagination; +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/JenisKontrakResponse.java b/src/main/java/com/iconplus/smartproc/model/response/JenisKontrakResponse.java new file mode 100644 index 0000000..7a25510 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/JenisKontrakResponse.java @@ -0,0 +1,22 @@ +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 JenisKontrakResponse extends BaseResponse { + + private long id; + private String jenisKontrak; + private String keterangan; + private Boolean isActive; + private Boolean deleted; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/JenisPengadaanResponse.java b/src/main/java/com/iconplus/smartproc/model/response/JenisPengadaanResponse.java new file mode 100644 index 0000000..72105f7 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/JenisPengadaanResponse.java @@ -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 JenisPengadaanResponse extends BaseResponse { + + private long id; + private String jenisPengadaan; + private String keterangan; + private Boolean isActive; + private Boolean isDelete; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/LokasiResponse.java b/src/main/java/com/iconplus/smartproc/model/response/LokasiResponse.java new file mode 100644 index 0000000..774d422 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/LokasiResponse.java @@ -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 LokasiResponse extends BaseResponse { + + private long id; + private String lokasi; + private String keterangan; + private Boolean isActive; + private Boolean isDelete; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/MetodePengadaanResponse.java b/src/main/java/com/iconplus/smartproc/model/response/MetodePengadaanResponse.java new file mode 100644 index 0000000..b32cdfa --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/MetodePengadaanResponse.java @@ -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 MetodePengadaanResponse extends BaseResponse { + + private long id; + private String metodePengadaan; + private String keterangan; + private Boolean isActive; + private Boolean isDelete; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/MetodePenyampaianResponse.java b/src/main/java/com/iconplus/smartproc/model/response/MetodePenyampaianResponse.java new file mode 100644 index 0000000..9538e96 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/MetodePenyampaianResponse.java @@ -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 MetodePenyampaianResponse extends BaseResponse { + + private long id; + private String metodePenyampaian; + private String keterangan; + private Boolean isActive; + private Boolean isDelete; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/StrategiPengadaanResponse.java b/src/main/java/com/iconplus/smartproc/model/response/StrategiPengadaanResponse.java new file mode 100644 index 0000000..2e43692 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/StrategiPengadaanResponse.java @@ -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 StrategiPengadaanResponse extends BaseResponse { + + private long id; + private String strategiPengadaan; + private String keterangan; + private Boolean isActive; + private Boolean isDelete; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/SumberDanaResponse.java b/src/main/java/com/iconplus/smartproc/model/response/SumberDanaResponse.java new file mode 100644 index 0000000..15767ed --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/SumberDanaResponse.java @@ -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 SumberDanaResponse extends BaseResponse { + + private long id; + private String sumberDana; + private String keterangan; + private Boolean isActive; + private Boolean isDelete; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/SupplyPositioningMatrixResponse.java b/src/main/java/com/iconplus/smartproc/model/response/SupplyPositioningMatrixResponse.java new file mode 100644 index 0000000..4f0dd29 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/SupplyPositioningMatrixResponse.java @@ -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 SupplyPositioningMatrixResponse extends BaseResponse { + + private long id; + private String supplyPositioningMatrix; + private String keterangan; + private Boolean isActive; + private Boolean isDelete; + +} diff --git a/src/main/java/com/iconplus/smartproc/repository/JenisKontrakRepository.java b/src/main/java/com/iconplus/smartproc/repository/JenisKontrakRepository.java index efeb796..0ccf875 100644 --- a/src/main/java/com/iconplus/smartproc/repository/JenisKontrakRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/JenisKontrakRepository.java @@ -1,10 +1,31 @@ package com.iconplus.smartproc.repository; import com.iconplus.smartproc.model.entity.JenisKontrak; +import com.iconplus.smartproc.model.projection.JenisKontrakView; +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 public interface JenisKontrakRepository extends JpaRepository { + + @Query(value = "SELECT ja.id as id, " + + "ja.jenisKontrak as jenisKontrak, " + + "ja.keterangan as keterangan, " + + "ja.deleted as deleted " + + "FROM JenisKontrak ja " + + "WHERE ja.deleted = false " + + "AND (:search is null " + + "or (UPPER(ja.jenisKontrak) like :search OR UPPER(ja.keterangan) like :search)) " + + "ORDER BY ja.id") + Page getAllJenisKontrak(String search, Pageable pageable); + + Optional findByIdAndDeletedFalse(Long id); + + Optional findByJenisKontrakAndDeletedFalse(String jenisKontrak); } diff --git a/src/main/java/com/iconplus/smartproc/repository/JenisPengadaanRepository.java b/src/main/java/com/iconplus/smartproc/repository/JenisPengadaanRepository.java index 8eff2e3..26fbbbd 100644 --- a/src/main/java/com/iconplus/smartproc/repository/JenisPengadaanRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/JenisPengadaanRepository.java @@ -1,10 +1,31 @@ package com.iconplus.smartproc.repository; import com.iconplus.smartproc.model.entity.JenisPengadaan; +import com.iconplus.smartproc.model.projection.JenisPengadaanView; +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 public interface JenisPengadaanRepository extends JpaRepository { + + @Query(value = "SELECT ja.id as id, " + + "ja.jenisPengadaan as jenisPengadaan, " + + "ja.keterangan as keterangan, " + + "ja.deleted as deleted " + + "FROM JenisPengadaan ja " + + "WHERE ja.deleted = false " + + "AND (:search is null " + + "or (UPPER(ja.jenisPengadaan) like :search OR UPPER(ja.keterangan) like :search)) " + + "ORDER BY ja.id") + Page getAllJenisPengadaan(String search, Pageable pageable); + + Optional findByIdAndDeletedFalse(Long id); + + Optional findByJenisPengadaanAndDeletedFalse(String jenisPengadaan); -} \ No newline at end of file +} diff --git a/src/main/java/com/iconplus/smartproc/repository/MetodePengadaanRepository.java b/src/main/java/com/iconplus/smartproc/repository/MetodePengadaanRepository.java index 8eeb1f9..d96a9ee 100644 --- a/src/main/java/com/iconplus/smartproc/repository/MetodePengadaanRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/MetodePengadaanRepository.java @@ -1,10 +1,31 @@ package com.iconplus.smartproc.repository; import com.iconplus.smartproc.model.entity.MetodePengadaan; +import com.iconplus.smartproc.model.projection.MetodePengadaanView; +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 public interface MetodePengadaanRepository extends JpaRepository { + + @Query(value = "SELECT ja.id as id, " + + "ja.metodePengadaan as metodePengadaan, " + + "ja.keterangan as keterangan, " + + "ja.isDelete as isDelete " + + "FROM MetodePengadaan ja " + + "WHERE ja.isDelete = false " + + "AND (:search = '' " + + "or (UPPER(ja.metodePengadaan) like :search OR UPPER(ja.keterangan) like :search)) " + + "ORDER BY ja.id") + Page getAllMetodePengadaan(String search, Pageable pageable); + + Optional findByIdAndIsDeleteFalse(Long id); + + Optional findByMetodePengadaanAndIsDeleteFalse(String metodePengadaan); } diff --git a/src/main/java/com/iconplus/smartproc/repository/MetodePenyampaianRepository.java b/src/main/java/com/iconplus/smartproc/repository/MetodePenyampaianRepository.java index 1132dde..326f214 100644 --- a/src/main/java/com/iconplus/smartproc/repository/MetodePenyampaianRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/MetodePenyampaianRepository.java @@ -1,10 +1,31 @@ package com.iconplus.smartproc.repository; import com.iconplus.smartproc.model.entity.MetodePenyampaian; +import com.iconplus.smartproc.model.projection.MetodePenyampaianView; +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 public interface MetodePenyampaianRepository extends JpaRepository { + + @Query(value = "SELECT ja.id as id, " + + "ja.metodePenyampaian as metodePenyampaian, " + + "ja.keterangan as keterangan, " + + "ja.isDelete as isDelete " + + "FROM MetodePenyampaian ja " + + "WHERE ja.isDelete = false " + + "AND (:search = '' " + + "or (UPPER(ja.metodePenyampaian) like :search OR UPPER(ja.keterangan) like :search)) " + + "ORDER BY ja.id") + Page getAllMetodePenyampaian(String search, Pageable pageable); + + Optional findByIdAndIsDeleteFalse(Long id); + + Optional findByMetodePenyampaianAndIsDeleteFalse(String metodePenyampaian); } diff --git a/src/main/java/com/iconplus/smartproc/repository/StrategiPengadaanRepository.java b/src/main/java/com/iconplus/smartproc/repository/StrategiPengadaanRepository.java index 4efbab5..d58d279 100644 --- a/src/main/java/com/iconplus/smartproc/repository/StrategiPengadaanRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/StrategiPengadaanRepository.java @@ -1,10 +1,31 @@ package com.iconplus.smartproc.repository; import com.iconplus.smartproc.model.entity.StrategiPengadaan; +import com.iconplus.smartproc.model.projection.StrategiPengadaanView; +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 public interface StrategiPengadaanRepository extends JpaRepository { + + @Query(value = "SELECT ja.id as id, " + + "ja.strategiPengadaan as strategiPengadaan, " + + "ja.keterangan as keterangan, " + + "ja.isDelete as isDelete " + + "FROM StrategiPengadaan ja " + + "WHERE ja.isDelete = false " + + "AND (:search = '' " + + "or (UPPER(ja.strategiPengadaan) like :search OR UPPER(ja.keterangan) like :search)) " + + "ORDER BY ja.id") + Page getAllStrategiPengadaan(String search, Pageable pageable); + + Optional findByIdAndIsDeleteFalse(Long id); + + Optional findByStrategiPengadaanAndIsDeleteFalse(String strategiPengadaan); } diff --git a/src/main/java/com/iconplus/smartproc/repository/SupplyPositioningMatrixRepository.java b/src/main/java/com/iconplus/smartproc/repository/SupplyPositioningMatrixRepository.java index ff1a570..614fa09 100644 --- a/src/main/java/com/iconplus/smartproc/repository/SupplyPositioningMatrixRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/SupplyPositioningMatrixRepository.java @@ -1,10 +1,31 @@ package com.iconplus.smartproc.repository; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; import com.iconplus.smartproc.model.entity.SupplyPositioningMatrix; +import com.iconplus.smartproc.model.projection.SupplyPositioningMatrixView; +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 public interface SupplyPositioningMatrixRepository extends JpaRepository { + + @Query(value = "SELECT ja.id as id, " + + "ja.supplyPositioningMatrix as supplyPositioningMatrix, " + + "ja.keterangan as keterangan, " + + "ja.isDelete as isDelete " + + "FROM SupplyPositioningMatrix ja " + + "WHERE ja.isDelete = false " + + "AND (:search = '' " + + "or (UPPER(ja.supplyPositioningMatrix) like :search OR UPPER(ja.keterangan) like :search)) " + + "ORDER BY ja.id") + Page getAllSupplyPositioningMatrix(String search, Pageable pageable); + + Optional findByIdAndIsDeleteFalse(Long id); + + Optional findBySupplyPositioningMatrixAndIsDeleteFalse(String supplyPositioningMatrix); } diff --git a/src/main/java/com/iconplus/smartproc/service/jeniskontrak/DeleteJenisKontrakService.java b/src/main/java/com/iconplus/smartproc/service/jeniskontrak/DeleteJenisKontrakService.java new file mode 100644 index 0000000..09e05fd --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jeniskontrak/DeleteJenisKontrakService.java @@ -0,0 +1,39 @@ +package com.iconplus.smartproc.service.jeniskontrak; + +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.entity.JenisKontrak; +import com.iconplus.smartproc.model.request.JenisKontrakRequest; +import com.iconplus.smartproc.repository.JenisKontrakRepository; +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 DeleteJenisKontrakService implements BaseService { + + private JenisKontrakRepository jenisKontrakRepository; + + public DeleteJenisKontrakService(JenisKontrakRepository jenisKontrakRepository) { + this.jenisKontrakRepository = jenisKontrakRepository; + } + + + @Override + public EmptyResponse execute(JenisKontrakRequest input) { + + var jenisKontrak = jenisKontrakRepository.findByIdAndDeletedFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + jenisKontrak.setIsDelete(true); + jenisKontrakRepository.save(jenisKontrak); + log.info("success delete jenis kontrak id {}", jenisKontrak.getIsDelete()); + return new EmptyResponse(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/jeniskontrak/GetJenisKontrakByIdService.java b/src/main/java/com/iconplus/smartproc/service/jeniskontrak/GetJenisKontrakByIdService.java new file mode 100644 index 0000000..950af51 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jeniskontrak/GetJenisKontrakByIdService.java @@ -0,0 +1,44 @@ +package com.iconplus.smartproc.service.jeniskontrak; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.JenisKontrakRequest; +import com.iconplus.smartproc.model.response.JenisKontrakResponse; +import com.iconplus.smartproc.repository.JenisKontrakRepository; +import com.iconplus.smartproc.util.Constants; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + + +@Service +public class GetJenisKontrakByIdService implements BaseService { + + private final JenisKontrakRepository jenisKontrakRepository; + + public GetJenisKontrakByIdService(JenisKontrakRepository jenisKontrakRepository) { + this.jenisKontrakRepository = jenisKontrakRepository; + } + + @Override + public JenisKontrakResponse execute(JenisKontrakRequest input) { + JenisKontrakResponse jenisKontrakResponse = new JenisKontrakResponse(); + var jenisKontrakView = jenisKontrakRepository.findByIdAndDeletedFalse(input.getId()); + if (jenisKontrakView.isEmpty()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId())); + } + + jenisKontrakResponse.setJenisKontrak(jenisKontrakView.get().getJenisKontrak()); + jenisKontrakResponse.setKeterangan(jenisKontrakView.get().getKeterangan()); + jenisKontrakResponse.setDeleted(jenisKontrakView.get().getIsDelete()); + + return JenisKontrakResponse.builder() + .id(jenisKontrakView.get().getId()) + .jenisKontrak(jenisKontrakView.get().getJenisKontrak()) + .keterangan(jenisKontrakView.get().getKeterangan()) + .deleted(jenisKontrakView.get().getIsDelete()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/jeniskontrak/GetListJenisKontrakService.java b/src/main/java/com/iconplus/smartproc/service/jeniskontrak/GetListJenisKontrakService.java new file mode 100644 index 0000000..5ddc6ff --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jeniskontrak/GetListJenisKontrakService.java @@ -0,0 +1,60 @@ +package com.iconplus.smartproc.service.jeniskontrak; + +import com.iconplus.smartproc.helper.model.Pagination; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.projection.JenisKontrakView; +import com.iconplus.smartproc.model.request.JenisKontrakRequest; +import com.iconplus.smartproc.model.response.GetListJenisKontrakResponse; +import com.iconplus.smartproc.model.response.JenisKontrakResponse; +import com.iconplus.smartproc.repository.JenisKontrakRepository; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + + +@Service +public class GetListJenisKontrakService implements BaseService { + + private JenisKontrakRepository jenisKontrakRepository; + + public GetListJenisKontrakService(JenisKontrakRepository jenisKontrakRepository) { + this.jenisKontrakRepository = jenisKontrakRepository; + } + + @Override + public GetListJenisKontrakResponse execute(JenisKontrakRequest input) { + validateRequest(input); + List jenisKontrakResponseList = new ArrayList<>(); + var jenisKontrakViews = jenisKontrakRepository.getAllJenisKontrak(input.getSearch(), input.getPageable()); + + for (JenisKontrakView jenisKontrakView : jenisKontrakViews) { + JenisKontrakResponse jenisKontrakResponse = JenisKontrakResponse.builder() + .id(jenisKontrakView.getId()) + .jenisKontrak(jenisKontrakView.getJenisKontrak()) + .keterangan(jenisKontrakView.getKeterangan()) + .deleted(jenisKontrakView.getIsDelete()) + .build(); + jenisKontrakResponseList.add(jenisKontrakResponse); + } + + return GetListJenisKontrakResponse.builder() + .data(jenisKontrakResponseList) + .pagination(Pagination.builder() + .pageSize(input.getPageable().getPageSize()) + .currentPage(input.getPageable().getPageNumber()) + .totalPages(jenisKontrakViews.getTotalPages()) + .totalRecords(jenisKontrakViews.getTotalElements()) + .isFirstPage(jenisKontrakViews.isFirst()) + .isLastPage(jenisKontrakViews.isLast()) + .build()) + .build(); + } + + private void validateRequest(JenisKontrakRequest input) { + if (StringUtils.isNotBlank(input.getSearch())) { + input.setSearch('%'+ input.getSearch().toUpperCase()+'%'); + } + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/jeniskontrak/PostCreateJenisKontrakService.java b/src/main/java/com/iconplus/smartproc/service/jeniskontrak/PostCreateJenisKontrakService.java new file mode 100644 index 0000000..c6d4794 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jeniskontrak/PostCreateJenisKontrakService.java @@ -0,0 +1,52 @@ +package com.iconplus.smartproc.service.jeniskontrak; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.entity.JenisKontrak; +import com.iconplus.smartproc.model.request.JenisKontrakRequest; +import com.iconplus.smartproc.model.response.JenisKontrakResponse; +import com.iconplus.smartproc.repository.JenisKontrakRepository; +import com.iconplus.smartproc.util.Constants; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; + +@Service +@Slf4j +public class PostCreateJenisKontrakService implements BaseService { + + private final JenisKontrakRepository jenisKontrakRepository; + + public PostCreateJenisKontrakService(JenisKontrakRepository jenisKontrakRepository) { + this.jenisKontrakRepository = jenisKontrakRepository; + } + + @Override + public JenisKontrakResponse execute(JenisKontrakRequest input) { + + var existJenisKontrak = jenisKontrakRepository.findByJenisKontrakAndDeletedFalse(input.getJenisKontrak()); + if (existJenisKontrak.isPresent()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10002, + Constants.ERR_TTL_10002, + String.format(Constants.ERR_MSG_10002, existJenisKontrak.get().getId())); + } + + JenisKontrak jenisKontrak = JenisKontrak.builder() + .jenisKontrak(input.getJenisKontrak()) + .keterangan(input.getKeterangan()) + .isDelete(false) + .build(); + // jenisKontrak.setCreatedTime(new Timestamp(System.currentTimeMillis())); + + var result = jenisKontrakRepository.save(jenisKontrak); + log.info("success insert jenis kontrak id : {}", result.getId()); + return JenisKontrakResponse.builder() + .id(result.getId()) + .build(); + + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/jeniskontrak/PutUpdateJenisKontrakService.java b/src/main/java/com/iconplus/smartproc/service/jeniskontrak/PutUpdateJenisKontrakService.java new file mode 100644 index 0000000..8759c5b --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jeniskontrak/PutUpdateJenisKontrakService.java @@ -0,0 +1,46 @@ +package com.iconplus.smartproc.service.jeniskontrak; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.JenisKontrakRequest; +import com.iconplus.smartproc.model.response.JenisKontrakResponse; +import com.iconplus.smartproc.repository.JenisKontrakRepository; +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 PutUpdateJenisKontrakService implements BaseService { + + private JenisKontrakRepository jenisKontrakRepository; + + public PutUpdateJenisKontrakService(JenisKontrakRepository jenisKontrakRepository) { + this.jenisKontrakRepository = jenisKontrakRepository; + } + + @Override + public JenisKontrakResponse execute(JenisKontrakRequest input) { + + var jenisKontrak = jenisKontrakRepository.findByIdAndDeletedFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + jenisKontrak.setJenisKontrak(input.getJenisKontrak()); + jenisKontrak.setKeterangan(input.getKeterangan()); + jenisKontrak.setIsDelete(BooleanUtils.isTrue(input.getDeleted())); + jenisKontrak.setLastUpdate(new Timestamp(System.currentTimeMillis())); + jenisKontrakRepository.save(jenisKontrak); + log.info("Success edit jenis kontrak id {}", jenisKontrak.getId()); + return JenisKontrakResponse.builder() + .id(jenisKontrak.getId()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/jenispengadaan/DeleteJenisPengadaanService.java b/src/main/java/com/iconplus/smartproc/service/jenispengadaan/DeleteJenisPengadaanService.java new file mode 100644 index 0000000..4333728 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jenispengadaan/DeleteJenisPengadaanService.java @@ -0,0 +1,39 @@ +package com.iconplus.smartproc.service.jenispengadaan; + +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.entity.JenisPengadaan; +import com.iconplus.smartproc.model.request.JenisPengadaanRequest; +import com.iconplus.smartproc.repository.JenisPengadaanRepository; +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 DeleteJenisPengadaanService implements BaseService { + + private JenisPengadaanRepository jenisPengadaanRepository; + + public DeleteJenisPengadaanService(JenisPengadaanRepository jenisPengadaanRepository) { + this.jenisPengadaanRepository = jenisPengadaanRepository; + } + + + @Override + public EmptyResponse execute(JenisPengadaanRequest input) { + + var jenisPengadaan = jenisPengadaanRepository.findByIdAndDeletedFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + jenisPengadaan.setIsDelete(true); + jenisPengadaanRepository.save(jenisPengadaan); + log.info("success delete jenis pengadaan id {}", jenisPengadaan.getIsDelete()); + return new EmptyResponse(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/jenispengadaan/GetJenisPengadaanByIdService.java b/src/main/java/com/iconplus/smartproc/service/jenispengadaan/GetJenisPengadaanByIdService.java new file mode 100644 index 0000000..7cdb4be --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jenispengadaan/GetJenisPengadaanByIdService.java @@ -0,0 +1,44 @@ +package com.iconplus.smartproc.service.jenispengadaan; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.JenisPengadaanRequest; +import com.iconplus.smartproc.model.response.JenisPengadaanResponse; +import com.iconplus.smartproc.repository.JenisPengadaanRepository; +import com.iconplus.smartproc.util.Constants; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + + +@Service +public class GetJenisPengadaanByIdService implements BaseService { + + private final JenisPengadaanRepository jenisPengadaanRepository; + + public GetJenisPengadaanByIdService(JenisPengadaanRepository jenisPengadaanRepository) { + this.jenisPengadaanRepository = jenisPengadaanRepository; + } + + @Override + public JenisPengadaanResponse execute(JenisPengadaanRequest input) { + JenisPengadaanResponse jenisPengadaanResponse = new JenisPengadaanResponse(); + var jenisPengadaanView = jenisPengadaanRepository.findByIdAndDeletedFalse(input.getId()); + if (jenisPengadaanView.isEmpty()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId())); + } + + jenisPengadaanResponse.setJenisPengadaan(jenisPengadaanView.get().getJenisPengadaan()); + jenisPengadaanResponse.setKeterangan(jenisPengadaanView.get().getKeterangan()); + jenisPengadaanResponse.setIsDelete(jenisPengadaanView.get().getIsDelete()); + + return JenisPengadaanResponse.builder() + .id(jenisPengadaanView.get().getId()) + .jenisPengadaan(jenisPengadaanView.get().getJenisPengadaan()) + .keterangan(jenisPengadaanView.get().getKeterangan()) + .isDelete(jenisPengadaanView.get().getIsDelete()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/jenispengadaan/GetListJenisPengadaanService.java b/src/main/java/com/iconplus/smartproc/service/jenispengadaan/GetListJenisPengadaanService.java new file mode 100644 index 0000000..a8be167 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jenispengadaan/GetListJenisPengadaanService.java @@ -0,0 +1,60 @@ +package com.iconplus.smartproc.service.jenispengadaan; + +import com.iconplus.smartproc.helper.model.Pagination; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.projection.JenisPengadaanView; +import com.iconplus.smartproc.model.request.JenisPengadaanRequest; +import com.iconplus.smartproc.model.response.GetListJenisPengadaanResponse; +import com.iconplus.smartproc.model.response.JenisPengadaanResponse; +import com.iconplus.smartproc.repository.JenisPengadaanRepository; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +// kontrak +@Service +public class GetListJenisPengadaanService implements BaseService { + + private JenisPengadaanRepository jenisPengadaanRepository; + + public GetListJenisPengadaanService(JenisPengadaanRepository jenisPengadaanRepository) { + this.jenisPengadaanRepository = jenisPengadaanRepository; + } + + @Override + public GetListJenisPengadaanResponse execute(JenisPengadaanRequest input) { + validateRequest(input); + List jenisPengadaanResponseList = new ArrayList<>(); + var jenisPengadaanViews = jenisPengadaanRepository.getAllJenisPengadaan(input.getSearch(), input.getPageable()); + + for (JenisPengadaanView jenisPengadaanView : jenisPengadaanViews) { + JenisPengadaanResponse jenisPengadaanResponse = JenisPengadaanResponse.builder() + .id(jenisPengadaanView.getId()) + .jenisPengadaan(jenisPengadaanView.getJenisPengadaan()) + .keterangan(jenisPengadaanView.getKeterangan()) + .isDelete(jenisPengadaanView.getIsDelete()) + .build(); + jenisPengadaanResponseList.add(jenisPengadaanResponse); + } + + return GetListJenisPengadaanResponse.builder() + .data(jenisPengadaanResponseList) + .pagination(Pagination.builder() + .pageSize(input.getPageable().getPageSize()) + .currentPage(input.getPageable().getPageNumber()) + .totalPages(jenisPengadaanViews.getTotalPages()) + .totalRecords(jenisPengadaanViews.getTotalElements()) + .isFirstPage(jenisPengadaanViews.isFirst()) + .isLastPage(jenisPengadaanViews.isLast()) + .build()) + .build(); + } + + private void validateRequest(JenisPengadaanRequest input) { + if (StringUtils.isNotBlank(input.getSearch())) { + input.setSearch('%'+ input.getSearch().toUpperCase()+'%'); + } + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/jenispengadaan/PostCreateJenisPengadaanService.java b/src/main/java/com/iconplus/smartproc/service/jenispengadaan/PostCreateJenisPengadaanService.java new file mode 100644 index 0000000..f74c086 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jenispengadaan/PostCreateJenisPengadaanService.java @@ -0,0 +1,52 @@ +package com.iconplus.smartproc.service.jenispengadaan; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.entity.JenisPengadaan; +import com.iconplus.smartproc.model.request.JenisPengadaanRequest; +import com.iconplus.smartproc.model.response.JenisPengadaanResponse; +import com.iconplus.smartproc.repository.JenisPengadaanRepository; +import com.iconplus.smartproc.util.Constants; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; + +@Service +@Slf4j +public class PostCreateJenisPengadaanService implements BaseService { + + private final JenisPengadaanRepository jenisPengadaanRepository; + + public PostCreateJenisPengadaanService(JenisPengadaanRepository jenisPengadaanRepository) { + this.jenisPengadaanRepository = jenisPengadaanRepository; + } + + @Override + public JenisPengadaanResponse execute(JenisPengadaanRequest input) { + + var existJenisPengadaan = jenisPengadaanRepository.findByJenisPengadaanAndDeletedFalse(input.getJenisPengadaan()); + if (existJenisPengadaan.isPresent()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10002, + Constants.ERR_TTL_10002, + String.format(Constants.ERR_MSG_10002, existJenisPengadaan.get().getId())); + } + + JenisPengadaan jenisPengadaan = JenisPengadaan.builder() + .jenisPengadaan(input.getJenisPengadaan()) + .keterangan(input.getKeterangan()) + .isDelete(false) + .build(); + // jenisKontrak.setCreatedTime(new Timestamp(System.currentTimeMillis())); + + var result = jenisPengadaanRepository.save(jenisPengadaan); + log.info("success insert jenis kontrak id : {}", result.getId()); + return JenisPengadaanResponse.builder() + .id(result.getId()) + .build(); + + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/jenispengadaan/PutUpdateJenisPengadaanService.java b/src/main/java/com/iconplus/smartproc/service/jenispengadaan/PutUpdateJenisPengadaanService.java new file mode 100644 index 0000000..7dfb20a --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jenispengadaan/PutUpdateJenisPengadaanService.java @@ -0,0 +1,46 @@ +package com.iconplus.smartproc.service.jenispengadaan; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.JenisPengadaanRequest; +import com.iconplus.smartproc.model.response.JenisPengadaanResponse; +import com.iconplus.smartproc.repository.JenisPengadaanRepository; +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 PutUpdateJenisPengadaanService implements BaseService { + + private JenisPengadaanRepository jenisPengadaanRepository; + + public PutUpdateJenisPengadaanService(JenisPengadaanRepository jenisPengadaanRepository) { + this.jenisPengadaanRepository = jenisPengadaanRepository; + } + + @Override + public JenisPengadaanResponse execute(JenisPengadaanRequest input) { + + var jenisPengadaan = jenisPengadaanRepository.findByIdAndDeletedFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + jenisPengadaan.setJenisPengadaan(input.getJenisPengadaan()); + jenisPengadaan.setKeterangan(input.getKeterangan()); + jenisPengadaan.setIsDelete(BooleanUtils.isTrue(input.getDeleted())); + jenisPengadaan.setLastUpdate(new Timestamp(System.currentTimeMillis())); + jenisPengadaanRepository.save(jenisPengadaan); + log.info("Success edit jenis pengadaan id {}", jenisPengadaan.getId()); + return JenisPengadaanResponse.builder() + .id(jenisPengadaan.getId()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/lokasi/DeleteLokasiService.java b/src/main/java/com/iconplus/smartproc/service/lokasi/DeleteLokasiService.java new file mode 100644 index 0000000..3a13142 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/lokasi/DeleteLokasiService.java @@ -0,0 +1,38 @@ +package com.iconplus.smartproc.service.jenisanggaran; + +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.JenisAnggaranRequest; +import com.iconplus.smartproc.repository.JenisAnggaranRepository; +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 DeleteJenisAnggaranService implements BaseService { + + private JenisAnggaranRepository jenisAnggaranRepository; + + public DeleteJenisAnggaranService(JenisAnggaranRepository jenisAnggaranRepository) { + this.jenisAnggaranRepository = jenisAnggaranRepository; + } + + + @Override + public EmptyResponse execute(JenisAnggaranRequest input) { + + var jenisAnggaran = jenisAnggaranRepository.findByIdAndIsDeleteFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + jenisAnggaran.setIsDelete(true); + jenisAnggaranRepository.save(jenisAnggaran); + log.info("success delete jenis anggaran id {}", jenisAnggaran.getIsDelete()); + return new EmptyResponse(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/lokasi/GetListLokasiService.java b/src/main/java/com/iconplus/smartproc/service/lokasi/GetListLokasiService.java new file mode 100644 index 0000000..9bd6ba6 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/lokasi/GetListLokasiService.java @@ -0,0 +1,60 @@ +package com.iconplus.smartproc.service.lokasi; + +import com.iconplus.smartproc.helper.model.Pagination; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.projection.LokasiView; +import com.iconplus.smartproc.model.request.LokasiRequest; +import com.iconplus.smartproc.model.response.GetListLokasiResponse; +import com.iconplus.smartproc.model.response.LokasiResponse; +import com.iconplus.smartproc.repository.LokasiRepository; +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 GetListLokasiService implements BaseService { + + private LokasiRepository lokasiRepository; + + public GetListLokasiService(LokasiRepository lokasiRepository) { + this.lokasiRepository = lokasiRepository; + } + + @Override + public GetListLokasiResponse execute(LokasiRequest input) { + validateRequest(input); + List lokasiResponseList = new ArrayList<>(); + Page lokasiViews = lokasiRepository.getAllLokasi(input.getSearch(), input.getPageable()); + + for (LokasiView lokasiView : lokasiViews) { + LokasiResponse lokasiResponse = LokasiResponse.builder() + .id(lokasiView.getId()) + .lokasi(lokasiView.getLokasi()) + .keterangan(lokasiView.getKeterangan()) + .isDelete(lokasiView.getIsDelete()) + .build(); + lokasiResponseList.add(lokasiResponse); + } + + return GetListLokasiResponse.builder() + .data(lokasiResponseList) + .pagination(Pagination.builder() + .pageSize(input.getPageable().getPageSize()) + .currentPage(input.getPageable().getPageNumber()) + .totalPages(lokasiViews.getTotalPages()) + .totalRecords(lokasiViews.getTotalElements()) + .isFirstPage(lokasiViews.isFirst()) + .isLastPage(lokasiViews.isLast()) + .build()) + .build(); + } + + private void validateRequest(LokasiRequest input) { + if (StringUtils.isNotBlank(input.getSearch())) { + input.setSearch('%'+ input.getSearch().toUpperCase()+'%'); + } + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/lokasi/GetLokasiByIdService.java b/src/main/java/com/iconplus/smartproc/service/lokasi/GetLokasiByIdService.java new file mode 100644 index 0000000..25a5125 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/lokasi/GetLokasiByIdService.java @@ -0,0 +1,43 @@ +package com.iconplus.smartproc.service.jenisanggaran; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.JenisAnggaranRequest; +import com.iconplus.smartproc.model.response.JenisAnggaranResponse; +import com.iconplus.smartproc.repository.JenisAnggaranRepository; +import com.iconplus.smartproc.util.Constants; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + +@Service +public class GetJenisAnggaranByIdService implements BaseService { + + private final JenisAnggaranRepository jenisAnggaranRepository; + + public GetJenisAnggaranByIdService(JenisAnggaranRepository jenisAnggaranRepository) { + this.jenisAnggaranRepository = jenisAnggaranRepository; + } + + @Override + public JenisAnggaranResponse execute(JenisAnggaranRequest input) { + JenisAnggaranResponse jenisAnggaranResponse = new JenisAnggaranResponse(); + var jenisAnggaranView = jenisAnggaranRepository.findByIdAndIsDeleteFalse(input.getId()); + if (jenisAnggaranView.isEmpty()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId())); + } + + jenisAnggaranResponse.setJenisAnggaran(jenisAnggaranView.get().getJenisAnggaran()); + jenisAnggaranResponse.setKeterangan(jenisAnggaranView.get().getKeterangan()); + jenisAnggaranResponse.setIsDelete(jenisAnggaranView.get().getIsDelete()); + + return JenisAnggaranResponse.builder() + .id(jenisAnggaranView.get().getId()) + .jenisAnggaran(jenisAnggaranView.get().getJenisAnggaran()) + .keterangan(jenisAnggaranView.get().getKeterangan()) + .isDelete(jenisAnggaranView.get().getIsDelete()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/lokasi/PostCreateLokasiService.java b/src/main/java/com/iconplus/smartproc/service/lokasi/PostCreateLokasiService.java new file mode 100644 index 0000000..8a3a41f --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/lokasi/PostCreateLokasiService.java @@ -0,0 +1,50 @@ +package com.iconplus.smartproc.service.lokasi; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.entity.Lokasi; +import com.iconplus.smartproc.model.request.LokasiRequest; +import com.iconplus.smartproc.model.response.LokasiResponse; +import com.iconplus.smartproc.repository.LokasiRepository; +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 PostCreateLokasiService implements BaseService { + + private final LokasiRepository lokasiRepository; + + public PostCreateLokasiService(LokasiRepository lokasiRepository) { + this.lokasiRepository = lokasiRepository; + } + + @Override + public LokasiResponse execute(LokasiRequest input) { + + var existLokasi = lokasiRepository.findByLokasiAndIsDeleteFalse(input.getLokasi()); + if (existLokasi.isPresent()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10002, + Constants.ERR_TTL_10002, + String.format(Constants.ERR_MSG_10002, input.getLokasi())); + } + + Lokasi lokasi = Lokasi.builder() + .lokasi(input.getLokasi()) + .keterangan(input.getKeterangan()) + .isDelete(false) + .build(); + + var result = lokasiRepository.save(lokasi); + log.info("success insert lokasi id : {}", result.getId()); + return LokasiResponse.builder() + .id(result.getId()) + .build(); + + } +} \ No newline at end of file diff --git a/src/main/java/com/iconplus/smartproc/service/lokasi/PutUpdateLokasiService.java b/src/main/java/com/iconplus/smartproc/service/lokasi/PutUpdateLokasiService.java new file mode 100644 index 0000000..7769f6c --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/lokasi/PutUpdateLokasiService.java @@ -0,0 +1,45 @@ +package com.iconplus.smartproc.service.lokasi; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.LokasiRequest; +import com.iconplus.smartproc.model.response.LokasiResponse; +import com.iconplus.smartproc.repository.LokasiRepository; +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 PutUpdateLokasiService implements BaseService { + + private LokasiRepository lokasiRepository; + + public PutUpdateLokasiService(LokasiRepository lokasiRepository) { + this.lokasiRepository = lokasiRepository; + } + + @Override + public LokasiResponse execute(LokasiRequest input) { + + var lokasi = lokasiRepository.findByIdAndIsDeleteFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + lokasi.setLokasi(input.getLokasi()); + lokasi.setKeterangan(input.getKeterangan()); + lokasi.setIsDelete(BooleanUtils.isTrue(input.getIsDelete())); + lokasi.setLastUpdate(new Timestamp(System.currentTimeMillis())); + lokasiRepository.save(lokasi); + log.info("Success edit lokasi id {}", lokasi.getId()); + return LokasiResponse.builder() + .id(lokasi.getId()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/metodepengadaan/DeleteMetodePengadaanService.java b/src/main/java/com/iconplus/smartproc/service/metodepengadaan/DeleteMetodePengadaanService.java new file mode 100644 index 0000000..41c6f1d --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/metodepengadaan/DeleteMetodePengadaanService.java @@ -0,0 +1,38 @@ +package com.iconplus.smartproc.service.metodepengadaan; + +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.MetodePengadaanRequest; +import com.iconplus.smartproc.repository.MetodePengadaanRepository; +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 DeleteMetodePengadaanService implements BaseService { + + private MetodePengadaanRepository metodePengadaanRepository; + + public DeleteMetodePengadaanService(MetodePengadaanRepository metodePengadaanRepository) { + this.metodePengadaanRepository = metodePengadaanRepository; + } + + + @Override + public EmptyResponse execute(MetodePengadaanRequest input) { + + var metodePengadaan = metodePengadaanRepository.findByIdAndIsDeleteFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + metodePengadaan.setIsDelete(true); + metodePengadaanRepository.save(metodePengadaan); + log.info("success delete metode pengadaan id {}", metodePengadaan.getIsDelete()); + return new EmptyResponse(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/metodepengadaan/GetListMetodePengadaanService.java b/src/main/java/com/iconplus/smartproc/service/metodepengadaan/GetListMetodePengadaanService.java new file mode 100644 index 0000000..7dbec48 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/metodepengadaan/GetListMetodePengadaanService.java @@ -0,0 +1,60 @@ +package com.iconplus.smartproc.service.metodepengadaan; + +import com.iconplus.smartproc.helper.model.Pagination; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.projection.MetodePengadaanView; +import com.iconplus.smartproc.model.request.MetodePengadaanRequest; +import com.iconplus.smartproc.model.response.GetListMetodePengadaanResponse; +import com.iconplus.smartproc.model.response.MetodePengadaanResponse; +import com.iconplus.smartproc.repository.MetodePengadaanRepository; +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 GetListMetodePengadaanService implements BaseService { + + private MetodePengadaanRepository metodePengadaanRepository; + + public GetListMetodePengadaanService(MetodePengadaanRepository metodePengadaanRepository) { + this.metodePengadaanRepository = metodePengadaanRepository; + } + + @Override + public GetListMetodePengadaanResponse execute(MetodePengadaanRequest input) { + validateRequest(input); + List metodePengadaanResponseList = new ArrayList<>(); + Page metodePengadaanViews = metodePengadaanRepository.getAllMetodePengadaan(input.getSearch(), input.getPageable()); + + for (MetodePengadaanView metodePengadaanView : metodePengadaanViews) { + MetodePengadaanResponse metodePengadaanResponse = MetodePengadaanResponse.builder() + .id(metodePengadaanView.getId()) + .metodePengadaan(metodePengadaanView.getMetodePengadaan()) + .keterangan(metodePengadaanView.getKeterangan()) + .isDelete(metodePengadaanView.getIsDelete()) + .build(); + metodePengadaanResponseList.add(metodePengadaanResponse); + } + + return GetListMetodePengadaanResponse.builder() + .data(metodePengadaanResponseList) + .pagination(Pagination.builder() + .pageSize(input.getPageable().getPageSize()) + .currentPage(input.getPageable().getPageNumber()) + .totalPages(metodePengadaanViews.getTotalPages()) + .totalRecords(metodePengadaanViews.getTotalElements()) + .isFirstPage(metodePengadaanViews.isFirst()) + .isLastPage(metodePengadaanViews.isLast()) + .build()) + .build(); + } + + private void validateRequest(MetodePengadaanRequest input) { + if (StringUtils.isNotBlank(input.getSearch())) { + input.setSearch('%'+ input.getSearch().toUpperCase()+'%'); + } + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/metodepengadaan/GetMetodePengadaanByIdService.java b/src/main/java/com/iconplus/smartproc/service/metodepengadaan/GetMetodePengadaanByIdService.java new file mode 100644 index 0000000..25a5125 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/metodepengadaan/GetMetodePengadaanByIdService.java @@ -0,0 +1,43 @@ +package com.iconplus.smartproc.service.jenisanggaran; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.JenisAnggaranRequest; +import com.iconplus.smartproc.model.response.JenisAnggaranResponse; +import com.iconplus.smartproc.repository.JenisAnggaranRepository; +import com.iconplus.smartproc.util.Constants; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + +@Service +public class GetJenisAnggaranByIdService implements BaseService { + + private final JenisAnggaranRepository jenisAnggaranRepository; + + public GetJenisAnggaranByIdService(JenisAnggaranRepository jenisAnggaranRepository) { + this.jenisAnggaranRepository = jenisAnggaranRepository; + } + + @Override + public JenisAnggaranResponse execute(JenisAnggaranRequest input) { + JenisAnggaranResponse jenisAnggaranResponse = new JenisAnggaranResponse(); + var jenisAnggaranView = jenisAnggaranRepository.findByIdAndIsDeleteFalse(input.getId()); + if (jenisAnggaranView.isEmpty()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId())); + } + + jenisAnggaranResponse.setJenisAnggaran(jenisAnggaranView.get().getJenisAnggaran()); + jenisAnggaranResponse.setKeterangan(jenisAnggaranView.get().getKeterangan()); + jenisAnggaranResponse.setIsDelete(jenisAnggaranView.get().getIsDelete()); + + return JenisAnggaranResponse.builder() + .id(jenisAnggaranView.get().getId()) + .jenisAnggaran(jenisAnggaranView.get().getJenisAnggaran()) + .keterangan(jenisAnggaranView.get().getKeterangan()) + .isDelete(jenisAnggaranView.get().getIsDelete()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/metodepengadaan/PostCreateMetodePengadaanService.java b/src/main/java/com/iconplus/smartproc/service/metodepengadaan/PostCreateMetodePengadaanService.java new file mode 100644 index 0000000..7ea011d --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/metodepengadaan/PostCreateMetodePengadaanService.java @@ -0,0 +1,50 @@ +package com.iconplus.smartproc.service.jenisanggaran; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.entity.JenisAnggaran; +import com.iconplus.smartproc.model.request.JenisAnggaranRequest; +import com.iconplus.smartproc.model.response.JenisAnggaranResponse; +import com.iconplus.smartproc.repository.JenisAnggaranRepository; +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 PostCreateJenisAnggaranService implements BaseService { + + private final JenisAnggaranRepository jenisAnggaranRepository; + + public PostCreateJenisAnggaranService(JenisAnggaranRepository jenisAnggaranRepository) { + this.jenisAnggaranRepository = jenisAnggaranRepository; + } + + @Override + public JenisAnggaranResponse execute(JenisAnggaranRequest input) { + + var existJenisAnggaran = jenisAnggaranRepository.findByJenisAnggaranAndIsDeleteFalse(input.getJenisAnggaran()); + if (existJenisAnggaran.isPresent()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10002, + Constants.ERR_TTL_10002, + String.format(Constants.ERR_MSG_10002, input.getJenisAnggaran())); + } + + JenisAnggaran jenisAnggaran = JenisAnggaran.builder() + .jenisAnggaran(input.getJenisAnggaran()) + .keterangan(input.getKeterangan()) + .isDelete(false) + .build(); + + var result = jenisAnggaranRepository.save(jenisAnggaran); + log.info("success insert jenis anggaran id : {}", result.getId()); + return JenisAnggaranResponse.builder() + .id(result.getId()) + .build(); + + } +} \ No newline at end of file diff --git a/src/main/java/com/iconplus/smartproc/service/metodepengadaan/PutUpdateMetodePengadaanService.java b/src/main/java/com/iconplus/smartproc/service/metodepengadaan/PutUpdateMetodePengadaanService.java new file mode 100644 index 0000000..be9687d --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/metodepengadaan/PutUpdateMetodePengadaanService.java @@ -0,0 +1,45 @@ +package com.iconplus.smartproc.service.metodepengadaan; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.MetodePengadaanRequest; +import com.iconplus.smartproc.model.response.MetodePengadaanResponse; +import com.iconplus.smartproc.repository.MetodePengadaanRepository; +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 PutUpdateMetodePengadaanService implements BaseService { + + private MetodePengadaanRepository metodePengadaanRepository; + + public PutUpdateMetodePengadaanService(MetodePengadaanRepository metodePengadaanRepository) { + this.metodePengadaanRepository = metodePengadaanRepository; + } + + @Override + public MetodePengadaanResponse execute(MetodePengadaanRequest input) { + + var metodePengadaan = metodePengadaanRepository.findByIdAndIsDeleteFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + metodePengadaan.setMetodePengadaan(input.getMetodePengadaan()); + metodePengadaan.setKeterangan(input.getKeterangan()); + metodePengadaan.setIsDelete(BooleanUtils.isTrue(input.getIsDelete())); + metodePengadaan.setLastUpdate(new Timestamp(System.currentTimeMillis())); + metodePengadaanRepository.save(metodePengadaan); + log.info("Success edit metode pengadaan id {}", metodePengadaan.getId()); + return MetodePengadaanResponse.builder() + .id(metodePengadaan.getId()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/DeleteMetodePenyampaianService.java b/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/DeleteMetodePenyampaianService.java new file mode 100644 index 0000000..b615274 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/DeleteMetodePenyampaianService.java @@ -0,0 +1,38 @@ +package com.iconplus.smartproc.service.metodepenyampaian; + +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.MetodePenyampaianRequest; +import com.iconplus.smartproc.repository.MetodePenyampaianRepository; +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 DeleteMetodePenyampaianService implements BaseService { + + private MetodePenyampaianRepository metodePenyampaianRepository; + + public DeleteMetodePenyampaianService(MetodePenyampaianRepository metodePenyampaianRepository) { + this.metodePenyampaianRepository = metodePenyampaianRepository; + } + + + @Override + public EmptyResponse execute(MetodePenyampaianRequest input) { + + var metodePenyampaian = metodePenyampaianRepository.findByIdAndIsDeleteFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + metodePenyampaian.setIsDelete(true); + metodePenyampaianRepository.save(metodePenyampaian); + log.info("success delete metode penyampaian id {}", metodePenyampaian.getIsDelete()); + return new EmptyResponse(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/GetListMetodePenyampaianService.java b/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/GetListMetodePenyampaianService.java new file mode 100644 index 0000000..7b239e0 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/GetListMetodePenyampaianService.java @@ -0,0 +1,60 @@ +package com.iconplus.smartproc.service.metodepenyampaian; + +import com.iconplus.smartproc.helper.model.Pagination; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.projection.MetodePenyampaianView; +import com.iconplus.smartproc.model.request.MetodePenyampaianRequest; +import com.iconplus.smartproc.model.response.GetListMetodePenyampaianResponse; +import com.iconplus.smartproc.model.response.MetodePenyampaianResponse; +import com.iconplus.smartproc.repository.MetodePenyampaianRepository; +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 GetListMetodePenyampaianService implements BaseService { + + private MetodePenyampaianRepository metodePenyampaianRepository; + + public GetListMetodePenyampaianService(MetodePenyampaianRepository metodePenyampaianRepository) { + this.metodePenyampaianRepository = metodePenyampaianRepository; + } + + @Override + public GetListMetodePenyampaianResponse execute(MetodePenyampaianRequest input) { + validateRequest(input); + List metodePenyampaianResponseList = new ArrayList<>(); + Page metodePenyampaianViews = metodePenyampaianRepository.getAllMetodePenyampaian(input.getSearch(), input.getPageable()); + + for (MetodePenyampaianView metodePenyampaianView : metodePenyampaianViews) { + MetodePenyampaianResponse metodePenyampaianResponse = MetodePenyampaianResponse.builder() + .id(metodePenyampaianView.getId()) + .metodePenyampaian(metodePenyampaianView.getMetodePenyampaian()) + .keterangan(metodePenyampaianView.getKeterangan()) + .isDelete(metodePenyampaianView.getIsDelete()) + .build(); + metodePenyampaianResponseList.add(metodePenyampaianResponse); + } + + return GetListMetodePenyampaianResponse.builder() + .data(metodePenyampaianResponseList) + .pagination(Pagination.builder() + .pageSize(input.getPageable().getPageSize()) + .currentPage(input.getPageable().getPageNumber()) + .totalPages(metodePenyampaianViews.getTotalPages()) + .totalRecords(metodePenyampaianViews.getTotalElements()) + .isFirstPage(metodePenyampaianViews.isFirst()) + .isLastPage(metodePenyampaianViews.isLast()) + .build()) + .build(); + } + + private void validateRequest(MetodePenyampaianRequest input) { + if (StringUtils.isNotBlank(input.getSearch())) { + input.setSearch('%'+ input.getSearch().toUpperCase()+'%'); + } + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/GetMetodePenyampaianByIdService.java b/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/GetMetodePenyampaianByIdService.java new file mode 100644 index 0000000..01f96bd --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/GetMetodePenyampaianByIdService.java @@ -0,0 +1,43 @@ +package com.iconplus.smartproc.service.metodepenyampaian; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.MetodePenyampaianRequest; +import com.iconplus.smartproc.model.response.MetodePenyampaianResponse; +import com.iconplus.smartproc.repository.MetodePenyampaianRepository; +import com.iconplus.smartproc.util.Constants; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + +@Service +public class GetMetodePenyampaianByIdService implements BaseService { + + private final MetodePenyampaianRepository metodePenyampaianRepository; + + public GetMetodePenyampaianByIdService(MetodePenyampaianRepository metodePenyampaianRepository) { + this.metodePenyampaianRepository = metodePenyampaianRepository; + } + + @Override + public MetodePenyampaianResponse execute(MetodePenyampaianRequest input) { + MetodePenyampaianResponse metodePenyampaianResponse = new MetodePenyampaianResponse(); + var metodePenyampaianView = metodePenyampaianRepository.findByIdAndIsDeleteFalse(input.getId()); + if (metodePenyampaianView.isEmpty()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId())); + } + + metodePenyampaianResponse.setMetodePenyampaian(metodePenyampaianView.get().getMetodePenyampaian()); + metodePenyampaianResponse.setKeterangan(metodePenyampaianView.get().getKeterangan()); + metodePenyampaianResponse.setIsDelete(metodePenyampaianView.get().getIsDelete()); + + return MetodePenyampaianResponse.builder() + .id(metodePenyampaianView.get().getId()) + .metodePenyampaian(metodePenyampaianView.get().getMetodePenyampaian()) + .keterangan(metodePenyampaianView.get().getKeterangan()) + .isDelete(metodePenyampaianView.get().getIsDelete()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/PostCreateMetodePenyampaianService.java b/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/PostCreateMetodePenyampaianService.java new file mode 100644 index 0000000..96f95ad --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/PostCreateMetodePenyampaianService.java @@ -0,0 +1,50 @@ +package com.iconplus.smartproc.service.metodepenyampaian; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.entity.MetodePenyampaian; +import com.iconplus.smartproc.model.request.MetodePenyampaianRequest; +import com.iconplus.smartproc.model.response.MetodePenyampaianResponse; +import com.iconplus.smartproc.repository.MetodePenyampaianRepository; +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 PostCreateMetodePenyampaianService implements BaseService { + + private final MetodePenyampaianRepository metodePenyampaianRepository; + + public PostCreateMetodePenyampaianService(MetodePenyampaianRepository metodePenyampaianRepository) { + this.metodePenyampaianRepository = metodePenyampaianRepository; + } + + @Override + public MetodePenyampaianResponse execute(MetodePenyampaianRequest input) { + + var existMetodePenyampaian = metodePenyampaianRepository.findByMetodePenyampaianAndIsDeleteFalse(input.getMetodePenyampaian()); + if (existMetodePenyampaian.isPresent()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10002, + Constants.ERR_TTL_10002, + String.format(Constants.ERR_MSG_10002, input.getMetodePenyampaian())); + } + + MetodePenyampaian metodePenyampaian = MetodePenyampaian.builder() + .metodePenyampaian(input.getMetodePenyampaian()) + .keterangan(input.getKeterangan()) + .isDelete(false) + .build(); + + var result = metodePenyampaianRepository.save(metodePenyampaian); + log.info("success insert metode penyampaian id : {}", result.getId()); + return MetodePenyampaianResponse.builder() + .id(result.getId()) + .build(); + + } +} \ No newline at end of file diff --git a/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/PutUpdateMetodePenyampaianService.java b/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/PutUpdateMetodePenyampaianService.java new file mode 100644 index 0000000..2f3ae4d --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/metodepenyampaian/PutUpdateMetodePenyampaianService.java @@ -0,0 +1,45 @@ +package com.iconplus.smartproc.service.metodepenyampaian; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.MetodePenyampaianRequest; +import com.iconplus.smartproc.model.response.MetodePenyampaianResponse; +import com.iconplus.smartproc.repository.MetodePenyampaianRepository; +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 PutUpdateMetodePenyampaianService implements BaseService { + + private MetodePenyampaianRepository metodePenyampaianRepository; + + public PutUpdateMetodePenyampaianService(MetodePenyampaianRepository metodePenyampaianRepository) { + this.metodePenyampaianRepository = metodePenyampaianRepository; + } + + @Override + public MetodePenyampaianResponse execute(MetodePenyampaianRequest input) { + + var metodePenyampaian = metodePenyampaianRepository.findByIdAndIsDeleteFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + metodePenyampaian.setMetodePenyampaian(input.getMetodePenyampaian()); + metodePenyampaian.setKeterangan(input.getKeterangan()); + metodePenyampaian.setIsDelete(BooleanUtils.isTrue(input.getIsDelete())); + metodePenyampaian.setLastUpdate(new Timestamp(System.currentTimeMillis())); + metodePenyampaianRepository.save(metodePenyampaian); + log.info("Success edit metode penyampaian id {}", metodePenyampaian.getId()); + return MetodePenyampaianResponse.builder() + .id(metodePenyampaian.getId()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/strategipengadaan/DeleteStrategiPengadaanService.java b/src/main/java/com/iconplus/smartproc/service/strategipengadaan/DeleteStrategiPengadaanService.java new file mode 100644 index 0000000..c117292 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/strategipengadaan/DeleteStrategiPengadaanService.java @@ -0,0 +1,38 @@ +package com.iconplus.smartproc.service.strategipengadaan; + +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.StrategiPengadaanRequest; +import com.iconplus.smartproc.repository.StrategiPengadaanRepository; +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 DeleteStrategiPengadaanService implements BaseService { + + private StrategiPengadaanRepository strategiPengadaanRepository; + + public DeleteStrategiPengadaanService(StrategiPengadaanRepository strategiPengadaanRepository) { + this.strategiPengadaanRepository = strategiPengadaanRepository; + } + + + @Override + public EmptyResponse execute(StrategiPengadaanRequest input) { + + var strategiPengadaan = strategiPengadaanRepository.findByIdAndIsDeleteFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + strategiPengadaan.setIsDelete(true); + strategiPengadaanRepository.save(strategiPengadaan); + log.info("success delete strategi pengadaan id {}", strategiPengadaan.getIsDelete()); + return new EmptyResponse(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/strategipengadaan/GetListStrategiPengadaanService.java b/src/main/java/com/iconplus/smartproc/service/strategipengadaan/GetListStrategiPengadaanService.java new file mode 100644 index 0000000..d82854e --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/strategipengadaan/GetListStrategiPengadaanService.java @@ -0,0 +1,60 @@ +package com.iconplus.smartproc.service.strategipengadaan; + +import com.iconplus.smartproc.helper.model.Pagination; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.projection.StrategiPengadaanView; +import com.iconplus.smartproc.model.request.StrategiPengadaanRequest; +import com.iconplus.smartproc.model.response.GetListStrategiPengadaanResponse; +import com.iconplus.smartproc.model.response.StrategiPengadaanResponse; +import com.iconplus.smartproc.repository.StrategiPengadaanRepository; +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 GetListStrategiPengadaanService implements BaseService { + + private StrategiPengadaanRepository strategiPengadaanRepository; + + public GetListStrategiPengadaanService(StrategiPengadaanRepository strategiPengadaanRepository) { + this.strategiPengadaanRepository = strategiPengadaanRepository; + } + + @Override + public GetListStrategiPengadaanResponse execute(StrategiPengadaanRequest input) { + validateRequest(input); + List strategiPengadaanResponseList = new ArrayList<>(); + Page strategiPengadaanViews = strategiPengadaanRepository.getAllStrategiPengadaan(input.getSearch(), input.getPageable()); + + for (StrategiPengadaanView strategiPengadaanView : strategiPengadaanViews) { + StrategiPengadaanResponse strategiPengadaanResponse = StrategiPengadaanResponse.builder() + .id(strategiPengadaanView.getId()) + .strategiPengadaan(strategiPengadaanView.getStrategiPengadaan()) + .keterangan(strategiPengadaanView.getKeterangan()) + .isDelete(strategiPengadaanView.getIsDelete()) + .build(); + strategiPengadaanResponseList.add(strategiPengadaanResponse); + } + + return GetListStrategiPengadaanResponse.builder() + .data(strategiPengadaanResponseList) + .pagination(Pagination.builder() + .pageSize(input.getPageable().getPageSize()) + .currentPage(input.getPageable().getPageNumber()) + .totalPages(strategiPengadaanViews.getTotalPages()) + .totalRecords(strategiPengadaanViews.getTotalElements()) + .isFirstPage(strategiPengadaanViews.isFirst()) + .isLastPage(strategiPengadaanViews.isLast()) + .build()) + .build(); + } + + private void validateRequest(StrategiPengadaanRequest input) { + if (StringUtils.isNotBlank(input.getSearch())) { + input.setSearch('%'+ input.getSearch().toUpperCase()+'%'); + } + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/strategipengadaan/GetStrategiPengadaanByIdService.java b/src/main/java/com/iconplus/smartproc/service/strategipengadaan/GetStrategiPengadaanByIdService.java new file mode 100644 index 0000000..92f004c --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/strategipengadaan/GetStrategiPengadaanByIdService.java @@ -0,0 +1,43 @@ +package com.iconplus.smartproc.service.strategipengadaan; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.StrategiPengadaanRequest; +import com.iconplus.smartproc.model.response.StrategiPengadaanResponse; +import com.iconplus.smartproc.repository.StrategiPengadaanRepository; +import com.iconplus.smartproc.util.Constants; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + +@Service +public class GetStrategiPengadaanByIdService implements BaseService { + + private final StrategiPengadaanRepository strategiPengadaanRepository; + + public GetStrategiPengadaanByIdService(StrategiPengadaanRepository strategiPengadaanRepository) { + this.strategiPengadaanRepository = strategiPengadaanRepository; + } + + @Override + public StrategiPengadaanResponse execute(StrategiPengadaanRequest input) { + StrategiPengadaanResponse strategiPengadaanResponse = new StrategiPengadaanResponse(); + var strategiPengadaanView = strategiPengadaanRepository.findByIdAndIsDeleteFalse(input.getId()); + if (strategiPengadaanView.isEmpty()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId())); + } + + strategiPengadaanResponse.setStrategiPengadaan(strategiPengadaanView.get().getStrategiPengadaan()); + strategiPengadaanResponse.setKeterangan(strategiPengadaanView.get().getKeterangan()); + strategiPengadaanResponse.setIsDelete(strategiPengadaanView.get().getIsDelete()); + + return StrategiPengadaanResponse.builder() + .id(strategiPengadaanView.get().getId()) + .strategiPengadaan(strategiPengadaanView.get().getStrategiPengadaan()) + .keterangan(strategiPengadaanView.get().getKeterangan()) + .isDelete(strategiPengadaanView.get().getIsDelete()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/strategipengadaan/PostCreateStrategiPengadaanService.java b/src/main/java/com/iconplus/smartproc/service/strategipengadaan/PostCreateStrategiPengadaanService.java new file mode 100644 index 0000000..11d9dc1 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/strategipengadaan/PostCreateStrategiPengadaanService.java @@ -0,0 +1,50 @@ +package com.iconplus.smartproc.service.strategipengadaan; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.entity.StrategiPengadaan; +import com.iconplus.smartproc.model.request.StrategiPengadaanRequest; +import com.iconplus.smartproc.model.response.StrategiPengadaanResponse; +import com.iconplus.smartproc.repository.StrategiPengadaanRepository; +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 PostCreateStrategiPengadaanService implements BaseService { + + private final StrategiPengadaanRepository strategiPengadaanRepository; + + public PostCreateStrategiPengadaanService(StrategiPengadaanRepository strategiPengadaanRepository) { + this.strategiPengadaanRepository = strategiPengadaanRepository; + } + + @Override + public StrategiPengadaanResponse execute(StrategiPengadaanRequest input) { + + var existStrategiPengadaan = strategiPengadaanRepository.findByStrategiPengadaanAndIsDeleteFalse(input.getStrategiPengadaan()); + if (existStrategiPengadaan.isPresent()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10002, + Constants.ERR_TTL_10002, + String.format(Constants.ERR_MSG_10002, input.getStrategiPengadaan())); + } + + StrategiPengadaan strategiPengadaan = StrategiPengadaan.builder() + .strategiPengadaan(input.getStrategiPengadaan()) + .keterangan(input.getKeterangan()) + .isDelete(false) + .build(); + + var result = strategiPengadaanRepository.save(strategiPengadaan); + log.info("success insert strategi pengadaan id : {}", result.getId()); + return StrategiPengadaanResponse.builder() + .id(result.getId()) + .build(); + + } +} \ No newline at end of file diff --git a/src/main/java/com/iconplus/smartproc/service/strategipengadaan/PutUpdateStrategiPengadaanService.java b/src/main/java/com/iconplus/smartproc/service/strategipengadaan/PutUpdateStrategiPengadaanService.java new file mode 100644 index 0000000..99f7f24 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/strategipengadaan/PutUpdateStrategiPengadaanService.java @@ -0,0 +1,45 @@ +package com.iconplus.smartproc.service.strategipengadaan; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.StrategiPengadaanRequest; +import com.iconplus.smartproc.model.response.StrategiPengadaanResponse; +import com.iconplus.smartproc.repository.StrategiPengadaanRepository; +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 PutUpdateStrategiPengadaanService implements BaseService { + + private StrategiPengadaanRepository strategiPengadaanRepository; + + public PutUpdateStrategiPengadaanService(StrategiPengadaanRepository strategiPengadaanRepository) { + this.strategiPengadaanRepository = strategiPengadaanRepository; + } + + @Override + public StrategiPengadaanResponse execute(StrategiPengadaanRequest input) { + + var strategiPengadaan = strategiPengadaanRepository.findByIdAndIsDeleteFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + strategiPengadaan.setStrategiPengadaan(input.getStrategiPengadaan()); + strategiPengadaan.setKeterangan(input.getKeterangan()); + strategiPengadaan.setIsDelete(BooleanUtils.isTrue(input.getIsDelete())); + strategiPengadaan.setLastUpdate(new Timestamp(System.currentTimeMillis())); + strategiPengadaanRepository.save(strategiPengadaan); + log.info("Success edit strategi pengadaan id {}", strategiPengadaan.getId()); + return StrategiPengadaanResponse.builder() + .id(strategiPengadaan.getId()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/sumberdana/DeleteSumberDanaService.java b/src/main/java/com/iconplus/smartproc/service/sumberdana/DeleteSumberDanaService.java new file mode 100644 index 0000000..2a930ea --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/sumberdana/DeleteSumberDanaService.java @@ -0,0 +1,39 @@ +package com.iconplus.smartproc.service.sumberdana; + +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.entity.SumberDana; +import com.iconplus.smartproc.model.request.SumberDanaRequest; +import com.iconplus.smartproc.repository.SumberDanaRepository; +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 DeleteSumberDanaService implements BaseService { + + private SumberDanaRepository sumberDanaRepository; + + public DeleteSumberDanaService(SumberDanaRepository sumberDanaRepository) { + this.sumberDanaRepository = sumberDanaRepository; + } + + + @Override + public EmptyResponse execute(SumberDanaRequest input) { + + var sumberDana = sumberDanaRepository.findByIdAndIsDeleteFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + sumberDana.setIsDelete(true); + sumberDanaRepository.save(sumberDana); + log.info("success delete sumber dana id {}", sumberDana.getIsDelete()); + return new EmptyResponse(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/sumberdana/GetListSumberDanaService.java b/src/main/java/com/iconplus/smartproc/service/sumberdana/GetListSumberDanaService.java new file mode 100644 index 0000000..311637b --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/sumberdana/GetListSumberDanaService.java @@ -0,0 +1,60 @@ +package com.iconplus.smartproc.service.sumberdana; + +import com.iconplus.smartproc.helper.model.Pagination; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.projection.SumberDanaView; +import com.iconplus.smartproc.model.request.SumberDanaRequest; +import com.iconplus.smartproc.model.response.GetListSumberDanaResponse; +import com.iconplus.smartproc.model.response.SumberDanaResponse; +import com.iconplus.smartproc.repository.SumberDanaRepository; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +// kontrak +@Service +public class GetListSumberDanaService implements BaseService { + + private SumberDanaRepository sumberDanaRepository; + + public GetListSumberDanaService(SumberDanaRepository sumberDanaRepository) { + this.sumberDanaRepository = sumberDanaRepository; + } + + @Override + public GetListSumberDanaResponse execute(SumberDanaRequest input) { + validateRequest(input); + List sumberDanaResponseList = new ArrayList<>(); + var sumberDanaViews = sumberDanaRepository.getAllSumberDana(input.getSearch(), input.getPageable()); + + for (SumberDanaView sumberDanaView : sumberDanaViews) { + SumberDanaResponse sumberDanaResponse = SumberDanaResponse.builder() + .id(sumberDanaView.getId()) + .sumberDana(sumberDanaView.getSumberDana()) + .keterangan(sumberDanaView.getKeterangan()) + .isDelete(sumberDanaView.getIsDelete()) + .build(); + sumberDanaResponseList.add(sumberDanaResponse); + } + + return GetListSumberDanaResponse.builder() + .data(sumberDanaResponseList) + .pagination(Pagination.builder() + .pageSize(input.getPageable().getPageSize()) + .currentPage(input.getPageable().getPageNumber()) + .totalPages(sumberDanaViews.getTotalPages()) + .totalRecords(sumberDanaViews.getTotalElements()) + .isFirstPage(sumberDanaViews.isFirst()) + .isLastPage(sumberDanaViews.isLast()) + .build()) + .build(); + } + + private void validateRequest(SumberDanaRequest input) { + if (StringUtils.isNotBlank(input.getSearch())) { + input.setSearch('%'+ input.getSearch().toUpperCase()+'%'); + } + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/sumberdana/GetSumberDanaByIdService.java b/src/main/java/com/iconplus/smartproc/service/sumberdana/GetSumberDanaByIdService.java new file mode 100644 index 0000000..564739a --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/sumberdana/GetSumberDanaByIdService.java @@ -0,0 +1,44 @@ +package com.iconplus.smartproc.service.sumberdana; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.SumberDanaRequest; +import com.iconplus.smartproc.model.response.SumberDanaResponse; +import com.iconplus.smartproc.repository.SumberDanaRepository; +import com.iconplus.smartproc.util.Constants; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + + +@Service +public class GetSumberDanaByIdService implements BaseService { + + private final SumberDanaRepository sumberDanaRepository; + + public GetSumberDanaByIdService(SumberDanaRepository sumberDanaRepository) { + this.sumberDanaRepository = sumberDanaRepository; + } + + @Override + public SumberDanaResponse execute(SumberDanaRequest input) { + SumberDanaResponse sumberDanaResponse = new SumberDanaResponse(); + var sumberDanaView = sumberDanaRepository.findByIdAndIsDeleteFalse(input.getId()); + if (sumberDanaView.isEmpty()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId())); + } + + sumberDanaResponse.setSumberDana(sumberDanaView.get().getSumberDana()); + sumberDanaResponse.setKeterangan(sumberDanaView.get().getKeterangan()); + sumberDanaResponse.setIsDelete(sumberDanaView.get().getIsDelete()); + + return SumberDanaResponse.builder() + .id(sumberDanaView.get().getId()) + .sumberDana(sumberDanaView.get().getSumberDana()) + .keterangan(sumberDanaView.get().getKeterangan()) + .isDelete(sumberDanaView.get().getIsDelete()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/sumberdana/PostCreateSumberDanaService.java b/src/main/java/com/iconplus/smartproc/service/sumberdana/PostCreateSumberDanaService.java new file mode 100644 index 0000000..f3ae425 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/sumberdana/PostCreateSumberDanaService.java @@ -0,0 +1,52 @@ +package com.iconplus.smartproc.service.sumberdana; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.entity.SumberDana; +import com.iconplus.smartproc.model.request.SumberDanaRequest; +import com.iconplus.smartproc.model.response.SumberDanaResponse; +import com.iconplus.smartproc.repository.SumberDanaRepository; +import com.iconplus.smartproc.util.Constants; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; + +@Service +@Slf4j +public class PostCreateSumberDanaService implements BaseService { + + private final SumberDanaRepository sumberDanaRepository; + + public PostCreateSumberDanaService(SumberDanaRepository sumberDanaRepository) { + this.sumberDanaRepository = sumberDanaRepository; + } + + @Override + public SumberDanaResponse execute(SumberDanaRequest input) { + + var existSumberDana = sumberDanaRepository.findBySumberDanaAndIsDeleteFalse(input.getSumberDana()); + if (existSumberDana.isPresent()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10002, + Constants.ERR_TTL_10002, + String.format(Constants.ERR_MSG_10002, existSumberDana.get().getId())); + } + + SumberDana sumberDana = SumberDana.builder() + .sumberDana(input.getSumberDana()) + .keterangan(input.getKeterangan()) + .isDelete(false) + .build(); + // jenisKontrak.setCreatedTime(new Timestamp(System.currentTimeMillis())); + + var result = sumberDanaRepository.save(sumberDana); + log.info("success insert sumber dana id : {}", result.getId()); + return SumberDanaResponse.builder() + .id(result.getId()) + .build(); + + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/sumberdana/PutUpdateSumberDanaService.java b/src/main/java/com/iconplus/smartproc/service/sumberdana/PutUpdateSumberDanaService.java new file mode 100644 index 0000000..0d8eb50 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/sumberdana/PutUpdateSumberDanaService.java @@ -0,0 +1,46 @@ +package com.iconplus.smartproc.service.sumberdana; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.SumberDanaRequest; +import com.iconplus.smartproc.model.response.SumberDanaResponse; +import com.iconplus.smartproc.repository.SumberDanaRepository; +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 PutUpdateSumberDanaService implements BaseService { + + private SumberDanaRepository sumberDanaRepository; + + public PutUpdateSumberDanaService(SumberDanaRepository sumberDanaRepository) { + this.sumberDanaRepository = sumberDanaRepository; + } + + @Override + public SumberDanaResponse execute(SumberDanaRequest input) { + + var sumberDana = sumberDanaRepository.findByIdAndIsDeleteFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + sumberDana.setSumberDana(input.getSumberDana()); + sumberDana.setKeterangan(input.getKeterangan()); + sumberDana.setIsDelete(BooleanUtils.isTrue(input.getIsDelete())); + sumberDana.setLastUpdate(new Timestamp(System.currentTimeMillis())); + sumberDanaRepository.save(sumberDana); + log.info("Success edit sumber dana id {}", sumberDana.getId()); + return SumberDanaResponse.builder() + .id(sumberDana.getId()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/DeleteSupplyPositioningMatrixService.java b/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/DeleteSupplyPositioningMatrixService.java new file mode 100644 index 0000000..b6f8df8 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/DeleteSupplyPositioningMatrixService.java @@ -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 { + + 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(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/GetListSupplyPositioningMatrixService.java b/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/GetListSupplyPositioningMatrixService.java new file mode 100644 index 0000000..ce6765a --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/GetListSupplyPositioningMatrixService.java @@ -0,0 +1,60 @@ +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 { + + private SupplyPositioningMatrixRepository supplyPositioningMatrixRepository; + + public GetListSupplyPositioningMatrixService(SupplyPositioningMatrixRepository supplyPositioningMatrixRepository) { + this.supplyPositioningMatrixRepository = supplyPositioningMatrixRepository; + } + + @Override + public GetListSupplyPositioningMatrixResponse execute(SupplyPositioningMatrixRequest input) { + validateRequest(input); + List supplyPositioningMatrixResponseList = new ArrayList<>(); + Page supplyPositioningMatrixViews = supplyPositioningMatrixRepository.getAllSupplyPositioningMatrix(input.getSearch(), input.getPageable()); + + for (SupplyPositioningMatrixView supplyPositioningMatrixView : supplyPositioningMatrixViews) { + SupplyPositioningMatrixResponse supplyPositioningMatrixResponse = SupplyPositioningMatrixResponse.builder() + .id(supplyPositioningMatrixView.getId()) + .supplyPositioningMatrix(supplyPositioningMatrixView.getSupplyPositioningMatrix()) + .keterangan(supplyPositioningMatrixView.getKeterangan()) + .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()+'%'); + } + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/GetSupplyPositioningMatrixByIdService.java b/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/GetSupplyPositioningMatrixByIdService.java new file mode 100644 index 0000000..f774746 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/GetSupplyPositioningMatrixByIdService.java @@ -0,0 +1,43 @@ +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 { + + private final SupplyPositioningMatrixRepository supplyPositioningMatrixRepository; + + public GetSupplyPositioningMatrixByIdService(SupplyPositioningMatrixRepository supplyPositioningMatrixRepository) { + this.supplyPositioningMatrixRepository = supplyPositioningMatrixRepository; + } + + @Override + public SupplyPositioningMatrixResponse execute(SupplyPositioningMatrixRequest input) { + SupplyPositioningMatrixResponse supplyPositioningMatrixResponse = new SupplyPositioningMatrixResponse(); + 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())); + } + + supplyPositioningMatrixResponse.setSupplyPositioningMatrix(supplyPositioningMatrixView.get().getSupplyPositioningMatrix()); + supplyPositioningMatrixResponse.setKeterangan(supplyPositioningMatrixView.get().getKeterangan()); + supplyPositioningMatrixResponse.setIsDelete(supplyPositioningMatrixView.get().getIsDelete()); + + return SupplyPositioningMatrixResponse.builder() + .id(supplyPositioningMatrixView.get().getId()) + .supplyPositioningMatrix(supplyPositioningMatrixView.get().getSupplyPositioningMatrix()) + .keterangan(supplyPositioningMatrixView.get().getKeterangan()) + .isDelete(supplyPositioningMatrixView.get().getIsDelete()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/PostCreateSupplyPositioningMatrixService.java b/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/PostCreateSupplyPositioningMatrixService.java new file mode 100644 index 0000000..b1f41eb --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/PostCreateSupplyPositioningMatrixService.java @@ -0,0 +1,50 @@ +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; + +import java.sql.Timestamp; + +@Service +@Slf4j +public class PostCreateSupplyPositioningMatrixService implements BaseService { + + 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()) + .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(); + + } +} \ No newline at end of file diff --git a/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/PutUpdateSupplyPositioningMatrixService.java b/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/PutUpdateSupplyPositioningMatrixService.java new file mode 100644 index 0000000..8d0e140 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/supplypositioningmatrix/PutUpdateSupplyPositioningMatrixService.java @@ -0,0 +1,45 @@ +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 { + + 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.setIsDelete(BooleanUtils.isTrue(input.getIsDelete())); + supplyPositioningMatrix.setLastUpdate(new Timestamp(System.currentTimeMillis())); + supplyPositioningMatrixRepository.save(supplyPositioningMatrix); + log.info("Success edit supply positioning matrix id {}", supplyPositioningMatrix.getId()); + return SupplyPositioningMatrixResponse.builder() + .id(supplyPositioningMatrix.getId()) + .build(); + } +} diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 69e2bf7..4340c9d 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -11,7 +11,7 @@ spring: driver-class-name: org.postgresql.Driver url: jdbc:postgresql://localhost:5432/smartproc username: postgres - password: postgre + password: postgres jackson: default-property-inclusion: NON_NULL jpa: