From beff4babe0166c73326eab6caea0e86a419db16d Mon Sep 17 00:00:00 2001 From: dirgantarasiahaan Date: Tue, 23 May 2023 11:26:15 +0700 Subject: [PATCH] refactor base smartproc --- .gitignore | 90 +++++++------- pom.xml | 23 +++- .../controller/JenisAnggaranController.java | 82 +++++++++++++ ...oller.java => JenisKontrakController.java} | 30 ++--- ...ler.java => JenisPengadaanController.java} | 30 ++--- .../controller/JenisanggaranController.java | 65 ---------- .../controller/LokasiController.java | 2 +- ...er.java => MetodePengadaanController.java} | 30 ++--- ....java => MetodePenyampaianController.java} | 30 ++--- .../smartproc/controller/RolesController.java | 4 +- ....java => StrategiPengadaanController.java} | 30 ++--- ...troller.java => SumberDanaController.java} | 30 ++--- ...=> SupplyPositioningMatrixController.java} | 30 ++--- ...ller.java => UnitInisiatorController.java} | 30 ++--- .../smartproc/controller/UsersController.java | 10 +- .../smartproc/entity/Jenisanggaran.java | 40 ------ .../smartproc/entity/Jeniskontrak.java | 42 ------- .../smartproc/entity/Jenispengadaan.java | 40 ------ .../com/iconplus/smartproc/entity/Lokasi.java | 40 ------ .../smartproc/entity/Metodepengadaan.java | 41 ------- .../smartproc/entity/Metodepenyampaian.java | 41 ------- .../com/iconplus/smartproc/entity/Roles.java | 48 -------- .../smartproc/entity/Strategipengadaan.java | 40 ------ .../iconplus/smartproc/entity/Sumberdana.java | 40 ------ .../entity/Supplypositioningmatrix.java | 42 ------- .../smartproc/entity/Unitinisiator.java | 41 ------- .../com/iconplus/smartproc/entity/Users.java | 96 --------------- .../smartproc/exception/BaseException.java | 49 ++++++++ .../exception/BusinessException.java | 47 +++++++ .../smartproc/exception/ErrorHelper.java | 115 ++++++++++++++++++ .../smartproc/exception/ErrorResponse.java | 16 +++ .../exception/GlobalExceptionHandler.java | 102 ++++++++++++++++ .../exception/ResponseExceptionResolver.java | 69 +++++++++++ .../exception/TechnicalException.java | 40 ++++++ .../smartproc/helper/base/BaseEntity.java | 30 +++++ .../helper/base/BaseInterfaceRequest.java | 10 ++ .../helper/base/BaseInterfaceResponse.java | 12 ++ .../helper/base/BasePaginationRequest.java | 18 +++ .../helper/base/BasePaginationResponse.java | 14 +++ .../smartproc/helper/base/BaseRequest.java | 10 ++ .../smartproc/helper/base/BaseResponse.java | 12 ++ .../smartproc/helper/model/EmptyRequest.java | 7 ++ .../smartproc/helper/model/EmptyResponse.java | 9 ++ .../smartproc/helper/model/Pagination.java | 22 ++++ .../helper/service/BaseInterfaceService.java | 8 ++ .../helper/service/BasePaginationService.java | 30 +++++ .../smartproc/helper/service/BaseService.java | 9 ++ .../smartproc/model/entity/JenisAnggaran.java | 38 ++++++ .../smartproc/model/entity/JenisKontrak.java | 25 ++++ .../model/entity/JenisPengadaan.java | 25 ++++ .../smartproc/model/entity/Lokasi.java | 25 ++++ .../model/entity/MetodePengadaan.java | 25 ++++ .../model/entity/MetodePenyampaian.java | 26 ++++ .../smartproc/model/entity/Roles.java | 28 +++++ .../model/entity/StrategiPengadaan.java | 20 +++ .../smartproc/model/entity/SumberDana.java | 25 ++++ .../model/entity/SupplyPositioningMatrix.java | 25 ++++ .../smartproc/model/entity/UnitInisiator.java | 25 ++++ .../smartproc/model/entity/Users.java | 51 ++++++++ .../model/projection/JenisAnggaranView.java | 16 +++ .../model/request/JenisAnggaranRequest.java | 19 +++ .../GetListJenisAnggaranResponse.java | 20 +++ .../model/response/JenisAnggaranResponse.java | 21 ++++ .../repository/JenisAnggaranRepository.java | 32 +++++ ...itory.java => JenisKontrakRepository.java} | 4 +- ...ory.java => JenisPengadaanRepository.java} | 4 +- .../repository/LokasiRepository.java | 2 +- ...ry.java => MetodePengadaanRepository.java} | 4 +- ....java => MetodePenyampaianRepository.java} | 4 +- .../smartproc/repository/RolesRepository.java | 2 +- .../StrategiPengadaanRepository.java | 10 ++ .../StrategipengadaanRepository.java | 10 -- ...ository.java => SumberDanaRepository.java} | 4 +- .../SupplyPositioningMatrixRepository.java | 10 ++ .../SupplypositioningmatrixRepository.java | 10 -- ...tory.java => UnitInisiatorRepository.java} | 4 +- .../repository/UnitinisiatorRepository.java | 10 -- .../smartproc/repository/UsersRepository.java | 2 +- .../DeleteJenisAnggaranService.java | 39 ++++++ .../GetJenisAnggaranByIdService.java | 45 +++++++ .../GetListJenisAnggaranService.java | 60 +++++++++ .../PostCreateJenisAnggaranService.java | 53 ++++++++ .../PutUpdateJenisAnggaranService.java | 45 +++++++ .../iconplus/smartproc/util/Constants.java | 15 +++ src/main/resources/application.properties | 2 +- 85 files changed, 1642 insertions(+), 839 deletions(-) create mode 100644 src/main/java/com/iconplus/smartproc/controller/JenisAnggaranController.java rename src/main/java/com/iconplus/smartproc/controller/{JeniskontrakController.java => JenisKontrakController.java} (60%) rename src/main/java/com/iconplus/smartproc/controller/{JenispengadaanController.java => JenisPengadaanController.java} (63%) delete mode 100644 src/main/java/com/iconplus/smartproc/controller/JenisanggaranController.java rename src/main/java/com/iconplus/smartproc/controller/{MetodepengadaanController.java => MetodePengadaanController.java} (60%) rename src/main/java/com/iconplus/smartproc/controller/{MetodepenyampaianController.java => MetodePenyampaianController.java} (61%) rename src/main/java/com/iconplus/smartproc/controller/{StrategipengadaanController.java => StrategiPengadaanController.java} (64%) rename src/main/java/com/iconplus/smartproc/controller/{SumberdanaController.java => SumberDanaController.java} (69%) rename src/main/java/com/iconplus/smartproc/controller/{SupplypositioningmatrixController.java => SupplyPositioningMatrixController.java} (69%) rename src/main/java/com/iconplus/smartproc/controller/{UnitinisiatorController.java => UnitInisiatorController.java} (68%) delete mode 100644 src/main/java/com/iconplus/smartproc/entity/Jenisanggaran.java delete mode 100644 src/main/java/com/iconplus/smartproc/entity/Jeniskontrak.java delete mode 100644 src/main/java/com/iconplus/smartproc/entity/Jenispengadaan.java delete mode 100644 src/main/java/com/iconplus/smartproc/entity/Lokasi.java delete mode 100644 src/main/java/com/iconplus/smartproc/entity/Metodepengadaan.java delete mode 100644 src/main/java/com/iconplus/smartproc/entity/Metodepenyampaian.java delete mode 100644 src/main/java/com/iconplus/smartproc/entity/Roles.java delete mode 100644 src/main/java/com/iconplus/smartproc/entity/Strategipengadaan.java delete mode 100644 src/main/java/com/iconplus/smartproc/entity/Sumberdana.java delete mode 100644 src/main/java/com/iconplus/smartproc/entity/Supplypositioningmatrix.java delete mode 100644 src/main/java/com/iconplus/smartproc/entity/Unitinisiator.java delete mode 100644 src/main/java/com/iconplus/smartproc/entity/Users.java create mode 100644 src/main/java/com/iconplus/smartproc/exception/BaseException.java create mode 100644 src/main/java/com/iconplus/smartproc/exception/BusinessException.java create mode 100644 src/main/java/com/iconplus/smartproc/exception/ErrorHelper.java create mode 100644 src/main/java/com/iconplus/smartproc/exception/ErrorResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/exception/GlobalExceptionHandler.java create mode 100644 src/main/java/com/iconplus/smartproc/exception/ResponseExceptionResolver.java create mode 100644 src/main/java/com/iconplus/smartproc/exception/TechnicalException.java create mode 100644 src/main/java/com/iconplus/smartproc/helper/base/BaseEntity.java create mode 100644 src/main/java/com/iconplus/smartproc/helper/base/BaseInterfaceRequest.java create mode 100644 src/main/java/com/iconplus/smartproc/helper/base/BaseInterfaceResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/helper/base/BasePaginationRequest.java create mode 100644 src/main/java/com/iconplus/smartproc/helper/base/BasePaginationResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/helper/base/BaseRequest.java create mode 100644 src/main/java/com/iconplus/smartproc/helper/base/BaseResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/helper/model/EmptyRequest.java create mode 100644 src/main/java/com/iconplus/smartproc/helper/model/EmptyResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/helper/model/Pagination.java create mode 100644 src/main/java/com/iconplus/smartproc/helper/service/BaseInterfaceService.java create mode 100644 src/main/java/com/iconplus/smartproc/helper/service/BasePaginationService.java create mode 100644 src/main/java/com/iconplus/smartproc/helper/service/BaseService.java create mode 100644 src/main/java/com/iconplus/smartproc/model/entity/JenisAnggaran.java create mode 100644 src/main/java/com/iconplus/smartproc/model/entity/JenisKontrak.java create mode 100644 src/main/java/com/iconplus/smartproc/model/entity/JenisPengadaan.java create mode 100644 src/main/java/com/iconplus/smartproc/model/entity/Lokasi.java create mode 100644 src/main/java/com/iconplus/smartproc/model/entity/MetodePengadaan.java create mode 100644 src/main/java/com/iconplus/smartproc/model/entity/MetodePenyampaian.java create mode 100644 src/main/java/com/iconplus/smartproc/model/entity/Roles.java create mode 100644 src/main/java/com/iconplus/smartproc/model/entity/StrategiPengadaan.java create mode 100644 src/main/java/com/iconplus/smartproc/model/entity/SumberDana.java create mode 100644 src/main/java/com/iconplus/smartproc/model/entity/SupplyPositioningMatrix.java create mode 100644 src/main/java/com/iconplus/smartproc/model/entity/UnitInisiator.java create mode 100644 src/main/java/com/iconplus/smartproc/model/entity/Users.java create mode 100644 src/main/java/com/iconplus/smartproc/model/projection/JenisAnggaranView.java create mode 100644 src/main/java/com/iconplus/smartproc/model/request/JenisAnggaranRequest.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/GetListJenisAnggaranResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/model/response/JenisAnggaranResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/repository/JenisAnggaranRepository.java rename src/main/java/com/iconplus/smartproc/repository/{JenisanggaranRepository.java => JenisKontrakRepository.java} (55%) rename src/main/java/com/iconplus/smartproc/repository/{JenispengadaanRepository.java => JenisPengadaanRepository.java} (54%) rename src/main/java/com/iconplus/smartproc/repository/{MetodepenyampaianRepository.java => MetodePengadaanRepository.java} (53%) rename src/main/java/com/iconplus/smartproc/repository/{MetodepengadaanRepository.java => MetodePenyampaianRepository.java} (53%) create mode 100644 src/main/java/com/iconplus/smartproc/repository/StrategiPengadaanRepository.java delete mode 100644 src/main/java/com/iconplus/smartproc/repository/StrategipengadaanRepository.java rename src/main/java/com/iconplus/smartproc/repository/{JeniskontrakRepository.java => SumberDanaRepository.java} (56%) create mode 100644 src/main/java/com/iconplus/smartproc/repository/SupplyPositioningMatrixRepository.java delete mode 100644 src/main/java/com/iconplus/smartproc/repository/SupplypositioningmatrixRepository.java rename src/main/java/com/iconplus/smartproc/repository/{SumberdanaRepository.java => UnitInisiatorRepository.java} (55%) delete mode 100644 src/main/java/com/iconplus/smartproc/repository/UnitinisiatorRepository.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jenisanggaran/DeleteJenisAnggaranService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jenisanggaran/GetJenisAnggaranByIdService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jenisanggaran/GetListJenisAnggaranService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jenisanggaran/PostCreateJenisAnggaranService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/jenisanggaran/PutUpdateJenisAnggaranService.java create mode 100644 src/main/java/com/iconplus/smartproc/util/Constants.java diff --git a/.gitignore b/.gitignore index b24d71e..24725d6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,50 +1,46 @@ -# These are some examples of commonly ignored file patterns. -# You should customize this list as applicable to your project. -# Learn more about .gitignore: -# https://www.atlassian.com/git/tutorials/saving-changes/gitignore - -# Node artifact files -node_modules/ -dist/ - -# Compiled Java class files -*.class - -# Compiled Python bytecode -*.py[cod] - -# Log files -*.log - -# Package files +*# +*.iml +*.ipr +*.iws *.jar - -# Maven -target/ -dist/ - -# JetBrains IDE -.idea/ - -# Unit test reports -TEST*.xml - -# Generated by MacOS +*.sw? +*~ +.#* +.*.md.html .DS_Store +.attach_pid* +.classpath +.factorypath +.gradle +.idea +.metadata +.project +.recommenders +.settings +.springBeans +.vscode +/code +MANIFEST.MF +_site/ +activemq-data +bin +build +!/**/src/**/bin +!/**/src/**/build +build.log +dependency-reduced-pom.xml +dump.rdb +interpolated*.xml +lib/ +manifest.yml +out +overridedb.* +target +transaction-logs +.flattened-pom.xml +secrets.yml +.gradletasknamecache +.sts4-cache -# Generated by Windows -Thumbs.db - -# Applications -*.app -*.exe -*.war - -# Large media files -*.mp4 -*.tiff -*.avi -*.flv -*.mov -*.wmv - +mvnw +mvnw.cmd diff --git a/pom.xml b/pom.xml index e9c589a..33b56a1 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 3.0.6 + 2.7.5 com.iconplus @@ -14,7 +14,7 @@ smartproc Initialisasi Smartproc Framework - 17 + 11 @@ -29,6 +29,24 @@ org.springframework.boot spring-boot-starter-web + + io.zipkin.brave + brave + 5.16.0 + + + + org.apache.commons + commons-lang3 + 3.12.0 + + + + org.apache.velocity + velocity + 1.7 + + org.springframework.boot @@ -36,6 +54,7 @@ runtime true + org.postgresql postgresql diff --git a/src/main/java/com/iconplus/smartproc/controller/JenisAnggaranController.java b/src/main/java/com/iconplus/smartproc/controller/JenisAnggaranController.java new file mode 100644 index 0000000..c2e0d14 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/controller/JenisAnggaranController.java @@ -0,0 +1,82 @@ +package com.iconplus.smartproc.controller; + + +import com.iconplus.smartproc.helper.model.EmptyResponse; +import com.iconplus.smartproc.model.request.JenisAnggaranRequest; +import com.iconplus.smartproc.model.response.GetListJenisAnggaranResponse; +import com.iconplus.smartproc.model.response.JenisAnggaranResponse; +import com.iconplus.smartproc.repository.JenisAnggaranRepository; +import com.iconplus.smartproc.service.jenisanggaran.*; +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/jenisanggaran") +public class JenisAnggaranController { + + @Autowired + private JenisAnggaranRepository jenisanggaranRepository; + + private final GetListJenisAnggaranService getListJenisAnggaranService; + private final GetJenisAnggaranByIdService getJenisAnggaranByIdService; + private final PostCreateJenisAnggaranService postCreateJenisAnggaranService; + private final PutUpdateJenisAnggaranService putUpdateJenisAnggaranService; + private final DeleteJenisAnggaranService deleteJenisAnggaranService; + + public JenisAnggaranController(GetListJenisAnggaranService getListJenisAnggaranService, + GetJenisAnggaranByIdService getJenisAnggaranByIdService, + PostCreateJenisAnggaranService postCreateJenisAnggaranService, + PutUpdateJenisAnggaranService putUpdateJenisAnggaranService, + DeleteJenisAnggaranService deleteJenisAnggaranService) { + this.getListJenisAnggaranService = getListJenisAnggaranService; + this.getJenisAnggaranByIdService = getJenisAnggaranByIdService; + this.postCreateJenisAnggaranService = postCreateJenisAnggaranService; + this.putUpdateJenisAnggaranService = putUpdateJenisAnggaranService; + this.deleteJenisAnggaranService = deleteJenisAnggaranService; + } + + + @GetMapping + public GetListJenisAnggaranResponse getListJenisAnggaran(@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); + JenisAnggaranRequest jenisAnggaranRequest = JenisAnggaranRequest.builder() + .search(search) + .pageable(pageable) + .build(); + + return getListJenisAnggaranService.execute(jenisAnggaranRequest); + } + + @PostMapping + public JenisAnggaranResponse createJenisAnggaran(@RequestBody JenisAnggaranRequest jenisAnggaranRequest) { + return postCreateJenisAnggaranService.execute(jenisAnggaranRequest); + } + + @GetMapping("/{id}") + public JenisAnggaranResponse getJenisAnggaranById(@PathVariable Long id) { + return getJenisAnggaranByIdService.execute(JenisAnggaranRequest.builder() + .id(id) + .build()); + } + + + @PutMapping("/{id}") + public JenisAnggaranResponse updateJenisanggaran(@PathVariable Long id, + @RequestBody JenisAnggaranRequest jenisAnggaranRequest){ + jenisAnggaranRequest.setId(id); + return putUpdateJenisAnggaranService.execute(jenisAnggaranRequest); + } + + @DeleteMapping("/{id}") + public EmptyResponse deleteJenisAnggaran(@PathVariable Long id) { + return deleteJenisAnggaranService.execute(JenisAnggaranRequest.builder() + .id(id) + .build()); + } +} diff --git a/src/main/java/com/iconplus/smartproc/controller/JeniskontrakController.java b/src/main/java/com/iconplus/smartproc/controller/JenisKontrakController.java similarity index 60% rename from src/main/java/com/iconplus/smartproc/controller/JeniskontrakController.java rename to src/main/java/com/iconplus/smartproc/controller/JenisKontrakController.java index 26be349..140820d 100644 --- a/src/main/java/com/iconplus/smartproc/controller/JeniskontrakController.java +++ b/src/main/java/com/iconplus/smartproc/controller/JenisKontrakController.java @@ -1,8 +1,8 @@ package com.iconplus.smartproc.controller; -import com.iconplus.smartproc.entity.Jeniskontrak; +import com.iconplus.smartproc.model.entity.JenisKontrak; import com.iconplus.smartproc.exception.ResourceNotFoundException; -import com.iconplus.smartproc.repository.JeniskontrakRepository; +import com.iconplus.smartproc.repository.JenisKontrakRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -14,47 +14,47 @@ import java.util.Map; @CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true") @RestController @RequestMapping("/api/jeniskontrak") -public class JeniskontrakController { +public class JenisKontrakController { @Autowired - private JeniskontrakRepository jeniskontrakRepository; + private JenisKontrakRepository jeniskontrakRepository; //get all data @GetMapping - public List getAllJeniskontraks(){ + public List getAllJeniskontraks(){ return jeniskontrakRepository.findAll(); } // create @PostMapping - public Jeniskontrak createJeniskontrak(@RequestBody Jeniskontrak jeniskontrak) { + public JenisKontrak createJeniskontrak(@RequestBody JenisKontrak jeniskontrak) { return jeniskontrakRepository.save(jeniskontrak); } // get jeniskontrak by id rest api @GetMapping("/{id}") - public ResponseEntity getJeniskontrakById(@PathVariable Long id) { - Jeniskontrak jeniskontrak = jeniskontrakRepository.findById(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); } // update jeniskontrak rest api @PutMapping("/{id}") - public ResponseEntity updateJeniskontrak(@PathVariable Long id, @RequestBody Jeniskontrak jeniskontrakDetails){ - Jeniskontrak jeniskontrak = jeniskontrakRepository.findById(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()); + jeniskontrak.setJenisKontrak(jenisKontrakDetails.getJenisKontrak()); + jeniskontrak.setKeterangan(jenisKontrakDetails.getKeterangan()); - Jeniskontrak updatedJeniskontrak = jeniskontrakRepository.save(jeniskontrak); - return ResponseEntity.ok(updatedJeniskontrak); + JenisKontrak updatedJenisKontrak = jeniskontrakRepository.save(jeniskontrak); + return ResponseEntity.ok(updatedJenisKontrak); } // delete jeniskontrak rest api @DeleteMapping("/{id}") public ResponseEntity> deleteJeniskontrak(@PathVariable Long id){ - Jeniskontrak jeniskontrak = jeniskontrakRepository.findById(id) + JenisKontrak jeniskontrak = jeniskontrakRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException("Jeniskontrak not exist with id :" + id)); jeniskontrakRepository.delete(jeniskontrak); diff --git a/src/main/java/com/iconplus/smartproc/controller/JenispengadaanController.java b/src/main/java/com/iconplus/smartproc/controller/JenisPengadaanController.java similarity index 63% rename from src/main/java/com/iconplus/smartproc/controller/JenispengadaanController.java rename to src/main/java/com/iconplus/smartproc/controller/JenisPengadaanController.java index 96eeef3..50290a8 100644 --- a/src/main/java/com/iconplus/smartproc/controller/JenispengadaanController.java +++ b/src/main/java/com/iconplus/smartproc/controller/JenisPengadaanController.java @@ -1,8 +1,8 @@ package com.iconplus.smartproc.controller; -import com.iconplus.smartproc.entity.Jenispengadaan; +import com.iconplus.smartproc.model.entity.JenisPengadaan; import com.iconplus.smartproc.exception.ResourceNotFoundException; -import com.iconplus.smartproc.repository.JenispengadaanRepository; +import com.iconplus.smartproc.repository.JenisPengadaanRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -14,47 +14,47 @@ import java.util.Map; @CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true") @RestController @RequestMapping("/api/jenispengadaan") -public class JenispengadaanController { +public class JenisPengadaanController { @Autowired - private JenispengadaanRepository jenispengadaanRepository; + private JenisPengadaanRepository jenispengadaanRepository; //get all data @GetMapping - public List getAllJenispengadaans(){ + public List getAllJenispengadaans(){ return jenispengadaanRepository.findAll(); } // create @PostMapping - public Jenispengadaan createJenispengadaan(@RequestBody Jenispengadaan jenispengadaan) { + public JenisPengadaan createJenispengadaan(@RequestBody JenisPengadaan jenispengadaan) { return jenispengadaanRepository.save(jenispengadaan); } // get jenispengadaan by id rest api @GetMapping("/{id}") - public ResponseEntity getJenispengadaanById(@PathVariable Long id) { - Jenispengadaan jenispengadaan = jenispengadaanRepository.findById(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); } // update jenispengadaan rest api @PutMapping("/{id}") - public ResponseEntity updateJenispengadaan(@PathVariable Long id, @RequestBody Jenispengadaan jenispengadaanDetails){ - Jenispengadaan jenispengadaan = jenispengadaanRepository.findById(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.setJenisPengadaan(jenisPengadaanDetails.getJenisPengadaan()); + jenispengadaan.setKeterangan(jenisPengadaanDetails.getKeterangan()); - Jenispengadaan updatedJenispengadaan = jenispengadaanRepository.save(jenispengadaan); - return ResponseEntity.ok(updatedJenispengadaan); + JenisPengadaan updatedJenisPengadaan = jenispengadaanRepository.save(jenispengadaan); + return ResponseEntity.ok(updatedJenisPengadaan); } // delete jenispengadaan rest api @DeleteMapping("/{id}") public ResponseEntity> deleteJenispengadaan(@PathVariable Long id){ - Jenispengadaan jenispengadaan = jenispengadaanRepository.findById(id) + JenisPengadaan jenispengadaan = jenispengadaanRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException("Supposmatrix not exist with id :" + id)); jenispengadaanRepository.delete(jenispengadaan); diff --git a/src/main/java/com/iconplus/smartproc/controller/JenisanggaranController.java b/src/main/java/com/iconplus/smartproc/controller/JenisanggaranController.java deleted file mode 100644 index 7f539a1..0000000 --- a/src/main/java/com/iconplus/smartproc/controller/JenisanggaranController.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.iconplus.smartproc.controller; - -import com.iconplus.smartproc.entity.Jenisanggaran; -import com.iconplus.smartproc.exception.ResourceNotFoundException; -import com.iconplus.smartproc.repository.JenisanggaranRepository; -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; - -@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true") -@RestController -@RequestMapping("/api/jenisanggaran") -public class JenisanggaranController { - @Autowired - private JenisanggaranRepository jenisanggaranRepository; - - //get all data - @GetMapping - public List getAllJenisanggarans(){ - return jenisanggaranRepository.findAll(); - } - - // create - @PostMapping - public Jenisanggaran createJenisanggaran(@RequestBody Jenisanggaran jenisanggaran) { - return jenisanggaranRepository.save(jenisanggaran); - } - - // get jenisanggaran by id rest api - @GetMapping("/{id}") - public ResponseEntity getJenisanggaranById(@PathVariable Long id) { - Jenisanggaran jenisanggaran = jenisanggaranRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Jenisanggaran not exist with id :" + id)); - return ResponseEntity.ok(jenisanggaran); - } - - // update jenisanggaran rest api - @PutMapping("/{id}") - public ResponseEntity updateJenisanggaran(@PathVariable Long id, @RequestBody Jenisanggaran jenisanggaranDetails){ - Jenisanggaran jenisanggaran = jenisanggaranRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Jenisanggaran not exist with id :" + id)); - - jenisanggaran.setJenisanggaran(jenisanggaranDetails.getJenisanggaran()); - jenisanggaran.setKeterangan(jenisanggaranDetails.getKeterangan()); - - Jenisanggaran updatedJenisanggaran = jenisanggaranRepository.save(jenisanggaran); - return ResponseEntity.ok(updatedJenisanggaran); - } - - // delete jenisanggaran rest api - @DeleteMapping("/{id}") - public ResponseEntity> deleteJenisanggaran(@PathVariable Long id){ - Jenisanggaran jenisanggaran = jenisanggaranRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Supposmatrix not exist with id :" + id)); - - jenisanggaranRepository.delete(jenisanggaran); - Map response = new HashMap<>(); - response.put("deleted", Boolean.TRUE); - return ResponseEntity.ok(response); - } -} diff --git a/src/main/java/com/iconplus/smartproc/controller/LokasiController.java b/src/main/java/com/iconplus/smartproc/controller/LokasiController.java index 4af3fb4..eaccfd8 100644 --- a/src/main/java/com/iconplus/smartproc/controller/LokasiController.java +++ b/src/main/java/com/iconplus/smartproc/controller/LokasiController.java @@ -1,6 +1,6 @@ package com.iconplus.smartproc.controller; -import com.iconplus.smartproc.entity.Lokasi; +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; diff --git a/src/main/java/com/iconplus/smartproc/controller/MetodepengadaanController.java b/src/main/java/com/iconplus/smartproc/controller/MetodePengadaanController.java similarity index 60% rename from src/main/java/com/iconplus/smartproc/controller/MetodepengadaanController.java rename to src/main/java/com/iconplus/smartproc/controller/MetodePengadaanController.java index d519be5..4a3f594 100644 --- a/src/main/java/com/iconplus/smartproc/controller/MetodepengadaanController.java +++ b/src/main/java/com/iconplus/smartproc/controller/MetodePengadaanController.java @@ -1,8 +1,8 @@ package com.iconplus.smartproc.controller; -import com.iconplus.smartproc.entity.Metodepengadaan; +import com.iconplus.smartproc.model.entity.MetodePengadaan; import com.iconplus.smartproc.exception.ResourceNotFoundException; -import com.iconplus.smartproc.repository.MetodepengadaanRepository; +import com.iconplus.smartproc.repository.MetodePengadaanRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -14,47 +14,47 @@ import java.util.Map; @CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true") @RestController @RequestMapping("/api/metodepengadaan") -public class MetodepengadaanController { +public class MetodePengadaanController { @Autowired - private MetodepengadaanRepository metodepengadaanRepository; + private MetodePengadaanRepository metodepengadaanRepository; //get all data @GetMapping - public List getAllMetodepengadaans(){ + public List getAllMetodepengadaans(){ return metodepengadaanRepository.findAll(); } // create @PostMapping - public Metodepengadaan createMetodepengadaan(@RequestBody Metodepengadaan metodepengadaan) { + public MetodePengadaan createMetodepengadaan(@RequestBody MetodePengadaan metodepengadaan) { return metodepengadaanRepository.save(metodepengadaan); } // get metodepengadaan by id rest api @GetMapping("/{id}") - public ResponseEntity getMetodepengadaanById(@PathVariable Long id) { - Metodepengadaan metodepengadaan = metodepengadaanRepository.findById(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); } // update metodepengadaan rest api @PutMapping("/{id}") - public ResponseEntity updateMetodepengadaan(@PathVariable Long id, @RequestBody Metodepengadaan metodepengadaanDetails){ - Metodepengadaan metodepengadaan = metodepengadaanRepository.findById(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()); + metodepengadaan.setMetodePengadaan(metodePengadaanDetails.getMetodePengadaan()); + metodepengadaan.setKeterangan(metodePengadaanDetails.getKeterangan()); - Metodepengadaan updatedMetodepengadaan = metodepengadaanRepository.save(metodepengadaan); - return ResponseEntity.ok(updatedMetodepengadaan); + MetodePengadaan updatedMetodePengadaan = metodepengadaanRepository.save(metodepengadaan); + return ResponseEntity.ok(updatedMetodePengadaan); } // delete metodepengadaan rest api @DeleteMapping("/{id}") public ResponseEntity> deleteMetodepengadaan(@PathVariable Long id){ - Metodepengadaan metodepengadaan = metodepengadaanRepository.findById(id) + MetodePengadaan metodepengadaan = metodepengadaanRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException("Metodepengadaan not exist with id :" + id)); metodepengadaanRepository.delete(metodepengadaan); diff --git a/src/main/java/com/iconplus/smartproc/controller/MetodepenyampaianController.java b/src/main/java/com/iconplus/smartproc/controller/MetodePenyampaianController.java similarity index 61% rename from src/main/java/com/iconplus/smartproc/controller/MetodepenyampaianController.java rename to src/main/java/com/iconplus/smartproc/controller/MetodePenyampaianController.java index 8d7868f..e26a782 100644 --- a/src/main/java/com/iconplus/smartproc/controller/MetodepenyampaianController.java +++ b/src/main/java/com/iconplus/smartproc/controller/MetodePenyampaianController.java @@ -1,8 +1,8 @@ package com.iconplus.smartproc.controller; -import com.iconplus.smartproc.entity.Metodepenyampaian; +import com.iconplus.smartproc.model.entity.MetodePenyampaian; import com.iconplus.smartproc.exception.ResourceNotFoundException; -import com.iconplus.smartproc.repository.MetodepenyampaianRepository; +import com.iconplus.smartproc.repository.MetodePenyampaianRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -14,47 +14,47 @@ import java.util.Map; @CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true") @RestController @RequestMapping("/api/metodepenyampaian") -public class MetodepenyampaianController { +public class MetodePenyampaianController { @Autowired - private MetodepenyampaianRepository metodepenyampaianRepository; + private MetodePenyampaianRepository metodepenyampaianRepository; //get all data @GetMapping - public List getAllMetodepenyampaians(){ + public List getAllMetodepenyampaians(){ return metodepenyampaianRepository.findAll(); } // create @PostMapping - public Metodepenyampaian createMetodepenyampaian(@RequestBody Metodepenyampaian metodepenyampaian) { + public MetodePenyampaian createMetodepenyampaian(@RequestBody MetodePenyampaian metodepenyampaian) { return metodepenyampaianRepository.save(metodepenyampaian); } // get metodepenyampaian by id rest api @GetMapping("/{id}") - public ResponseEntity getMetodepenyampaianById(@PathVariable Long id) { - Metodepenyampaian metodepenyampaian = metodepenyampaianRepository.findById(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); } // update metodepenyampaian rest api @PutMapping("/{id}") - public ResponseEntity updateMetodepenyampaian(@PathVariable Long id, @RequestBody Metodepenyampaian metodepenyampaianDetails){ - Metodepenyampaian metodepenyampaian = metodepenyampaianRepository.findById(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()); + metodepenyampaian.setMetodePenyampaian(metodePenyampaianDetails.getMetodePenyampaian()); + metodepenyampaian.setKeterangan(metodePenyampaianDetails.getKeterangan()); - Metodepenyampaian updatedMetodepenyampaian = metodepenyampaianRepository.save(metodepenyampaian); - return ResponseEntity.ok(updatedMetodepenyampaian); + MetodePenyampaian updatedMetodePenyampaian = metodepenyampaianRepository.save(metodepenyampaian); + return ResponseEntity.ok(updatedMetodePenyampaian); } // delete metodepenyampaian rest api @DeleteMapping("/{id}") public ResponseEntity> deleteMetodepenyampaian(@PathVariable Long id){ - Metodepenyampaian metodepenyampaian = metodepenyampaianRepository.findById(id) + MetodePenyampaian metodepenyampaian = metodepenyampaianRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException("Metodepenyampaian not exist with id :" + id)); metodepenyampaianRepository.delete(metodepenyampaian); diff --git a/src/main/java/com/iconplus/smartproc/controller/RolesController.java b/src/main/java/com/iconplus/smartproc/controller/RolesController.java index d2b1ea6..364f5e7 100644 --- a/src/main/java/com/iconplus/smartproc/controller/RolesController.java +++ b/src/main/java/com/iconplus/smartproc/controller/RolesController.java @@ -1,6 +1,6 @@ package com.iconplus.smartproc.controller; -import com.iconplus.smartproc.entity.Roles; +import com.iconplus.smartproc.model.entity.Roles; import com.iconplus.smartproc.exception.ResourceNotFoundException; import com.iconplus.smartproc.repository.RolesRepository; import org.springframework.beans.factory.annotation.Autowired; @@ -44,7 +44,7 @@ public class RolesController { Roles roles = rolesRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException("Roles not exist with id :" + id)); - roles.setRoles(rolesDetails.getRoles()); + roles.setRole(rolesDetails.getRole()); roles.setKeterangan(rolesDetails.getKeterangan()); roles.setIsactive(rolesDetails.getIsactive()); diff --git a/src/main/java/com/iconplus/smartproc/controller/StrategipengadaanController.java b/src/main/java/com/iconplus/smartproc/controller/StrategiPengadaanController.java similarity index 64% rename from src/main/java/com/iconplus/smartproc/controller/StrategipengadaanController.java rename to src/main/java/com/iconplus/smartproc/controller/StrategiPengadaanController.java index 67504bc..d76fbf9 100644 --- a/src/main/java/com/iconplus/smartproc/controller/StrategipengadaanController.java +++ b/src/main/java/com/iconplus/smartproc/controller/StrategiPengadaanController.java @@ -1,8 +1,8 @@ package com.iconplus.smartproc.controller; -import com.iconplus.smartproc.entity.Strategipengadaan; +import com.iconplus.smartproc.model.entity.StrategiPengadaan; import com.iconplus.smartproc.exception.ResourceNotFoundException; -import com.iconplus.smartproc.repository.StrategipengadaanRepository; +import com.iconplus.smartproc.repository.StrategiPengadaanRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -14,47 +14,47 @@ import java.util.Map; @CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true") @RestController @RequestMapping("/api/strategipengadaan") -public class StrategipengadaanController { +public class StrategiPengadaanController { @Autowired - private StrategipengadaanRepository strategipengadaanRepository; + private StrategiPengadaanRepository strategipengadaanRepository; //get all data @GetMapping - public List getAllstrategipengadaans(){ + public List getAllstrategipengadaans(){ return strategipengadaanRepository.findAll(); } // create @PostMapping - public Strategipengadaan createStrategipengadaan(@RequestBody Strategipengadaan strategipengadaan) { + public StrategiPengadaan createStrategipengadaan(@RequestBody StrategiPengadaan strategipengadaan) { return strategipengadaanRepository.save(strategipengadaan); } // get strategipengadaan by id rest api @GetMapping("/{id}") - public ResponseEntity getStrategipengadaanById(@PathVariable Long id) { - Strategipengadaan strategipengadaan = strategipengadaanRepository.findById(id) + public ResponseEntity getStrategipengadaanById(@PathVariable Long id) { + StrategiPengadaan strategipengadaan = strategipengadaanRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException("Strategipengadaan not exist with id :" + id)); return ResponseEntity.ok(strategipengadaan); } // update strategipengadaan rest api @PutMapping("/{id}") - public ResponseEntity updateStrategipengadaan(@PathVariable Long id, @RequestBody Strategipengadaan strategipengadaanDetails){ - Strategipengadaan strategipengadaan = strategipengadaanRepository.findById(id) + public ResponseEntity updateStrategipengadaan(@PathVariable Long id, @RequestBody StrategiPengadaan strategiPengadaanDetails){ + StrategiPengadaan strategipengadaan = strategipengadaanRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException("Strategipengadaan not exist with id :" + id)); - strategipengadaan.setStrategipengadaan(strategipengadaanDetails.getStrategipengadaan()); - strategipengadaan.setKeterangan(strategipengadaanDetails.getKeterangan()); + strategipengadaan.setStrategipengadaan(strategiPengadaanDetails.getStrategipengadaan()); + strategipengadaan.setKeterangan(strategiPengadaanDetails.getKeterangan()); - Strategipengadaan updatedStrategipengadaan = strategipengadaanRepository.save(strategipengadaan); - return ResponseEntity.ok(updatedStrategipengadaan); + StrategiPengadaan updatedStrategiPengadaan = strategipengadaanRepository.save(strategipengadaan); + return ResponseEntity.ok(updatedStrategiPengadaan); } // delete strategipengadaan rest api @DeleteMapping("/{id}") public ResponseEntity> deleteStrategipengadaan(@PathVariable Long id){ - Strategipengadaan strategipengadaan = strategipengadaanRepository.findById(id) + StrategiPengadaan strategipengadaan = strategipengadaanRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException("Strategipengadaan not exist with id :" + id)); strategipengadaanRepository.delete(strategipengadaan); diff --git a/src/main/java/com/iconplus/smartproc/controller/SumberdanaController.java b/src/main/java/com/iconplus/smartproc/controller/SumberDanaController.java similarity index 69% rename from src/main/java/com/iconplus/smartproc/controller/SumberdanaController.java rename to src/main/java/com/iconplus/smartproc/controller/SumberDanaController.java index ee43caf..95873cf 100644 --- a/src/main/java/com/iconplus/smartproc/controller/SumberdanaController.java +++ b/src/main/java/com/iconplus/smartproc/controller/SumberDanaController.java @@ -17,53 +17,53 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.iconplus.smartproc.exception.ResourceNotFoundException; -import com.iconplus.smartproc.entity.Sumberdana; -import com.iconplus.smartproc.repository.SumberdanaRepository; +import com.iconplus.smartproc.model.entity.SumberDana; +import com.iconplus.smartproc.repository.SumberDanaRepository; @CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true") @RestController @RequestMapping("/api/sumberdana") -public class SumberdanaController { +public class SumberDanaController { @Autowired - private SumberdanaRepository sumberdanaRepository; + private SumberDanaRepository sumberdanaRepository; //get all data @GetMapping - public List getAllSumberdanas(){ + public List getAllSumberdanas(){ return sumberdanaRepository.findAll(); } // create @PostMapping - public Sumberdana createSumberdana(@RequestBody Sumberdana sumberdana) { + public SumberDana createSumberdana(@RequestBody SumberDana sumberdana) { return sumberdanaRepository.save(sumberdana); } // get sumberdana by id rest api @GetMapping("/{id}") - public ResponseEntity getSumberdanaById(@PathVariable Long id) { - Sumberdana sumberdana = sumberdanaRepository.findById(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); } // update sumberdana rest api @PutMapping("/{id}") - public ResponseEntity updateSumberdana(@PathVariable Long id, @RequestBody Sumberdana sumberdanaDetails){ - Sumberdana sumberdana = sumberdanaRepository.findById(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.setSumberDana(sumberDanaDetails.getSumberDana()); + sumberdana.setKeterangan(sumberDanaDetails.getKeterangan()); - Sumberdana updatedSumberdana = sumberdanaRepository.save(sumberdana); - return ResponseEntity.ok(updatedSumberdana); + SumberDana updatedSumberDana = sumberdanaRepository.save(sumberdana); + return ResponseEntity.ok(updatedSumberDana); } // delete sumberdana rest api @DeleteMapping("/{id}") public ResponseEntity> deleteSumberdana(@PathVariable Long id){ - Sumberdana sumberdana = sumberdanaRepository.findById(id) + SumberDana sumberdana = sumberdanaRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException("Sumberdana not exist with id :" + id)); sumberdanaRepository.delete(sumberdana); diff --git a/src/main/java/com/iconplus/smartproc/controller/SupplypositioningmatrixController.java b/src/main/java/com/iconplus/smartproc/controller/SupplyPositioningMatrixController.java similarity index 69% rename from src/main/java/com/iconplus/smartproc/controller/SupplypositioningmatrixController.java rename to src/main/java/com/iconplus/smartproc/controller/SupplyPositioningMatrixController.java index abe631a..29f66e6 100644 --- a/src/main/java/com/iconplus/smartproc/controller/SupplypositioningmatrixController.java +++ b/src/main/java/com/iconplus/smartproc/controller/SupplyPositioningMatrixController.java @@ -17,53 +17,53 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.iconplus.smartproc.exception.ResourceNotFoundException; -import com.iconplus.smartproc.entity.Supplypositioningmatrix; -import com.iconplus.smartproc.repository.SupplypositioningmatrixRepository; +import com.iconplus.smartproc.model.entity.SupplyPositioningMatrix; +import com.iconplus.smartproc.repository.SupplyPositioningMatrixRepository; @CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true") @RestController @RequestMapping("/api/supplypositioningmatrix") -public class SupplypositioningmatrixController { +public class SupplyPositioningMatrixController { @Autowired - private SupplypositioningmatrixRepository supplypositioningmatrixRepository; + private SupplyPositioningMatrixRepository supplypositioningmatrixRepository; //get all data @GetMapping - public List getAllSupplypositioningmatrix(){ + public List getAllSupplypositioningmatrix(){ return supplypositioningmatrixRepository.findAll(); } // create @PostMapping - public Supplypositioningmatrix createSupplypositioningmatrix(@RequestBody Supplypositioningmatrix supplypositioningmatrix) { + public SupplyPositioningMatrix createSupplypositioningmatrix(@RequestBody SupplyPositioningMatrix supplypositioningmatrix) { return supplypositioningmatrixRepository.save(supplypositioningmatrix); } // get supplypositioningmatrix by id rest api @GetMapping("/{id}") - public ResponseEntity getSupplypositioningmatrixById(@PathVariable Long id) { - Supplypositioningmatrix supplypositioningmatrix = supplypositioningmatrixRepository.findById(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); } // update jenispengadaan rest api @PutMapping("/{id}") - public ResponseEntity updateSupplypositioningmatrix(@PathVariable Long id, @RequestBody Supplypositioningmatrix supplypositioningmatrixDetails){ - Supplypositioningmatrix supplypositioningmatrix = supplypositioningmatrixRepository.findById(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()); + supplypositioningmatrix.setSupplypositioningmatrix(supplyPositioningMatrixDetails.getSupplypositioningmatrix()); + supplypositioningmatrix.setKeterangan(supplyPositioningMatrixDetails.getKeterangan()); - Supplypositioningmatrix updatedSupplypositioningmatrix = supplypositioningmatrixRepository.save(supplypositioningmatrix); - return ResponseEntity.ok(updatedSupplypositioningmatrix); + SupplyPositioningMatrix updatedSupplyPositioningMatrix = supplypositioningmatrixRepository.save(supplypositioningmatrix); + return ResponseEntity.ok(updatedSupplyPositioningMatrix); } // delete jenispengadaan rest api @DeleteMapping("/{id}") public ResponseEntity> deleteSupplypositioningmatrix(@PathVariable Long id){ - Supplypositioningmatrix supplypositioningmatrix = supplypositioningmatrixRepository.findById(id) + SupplyPositioningMatrix supplypositioningmatrix = supplypositioningmatrixRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException("Unit inisiator not exist with id :" + id)); supplypositioningmatrixRepository.delete(supplypositioningmatrix); diff --git a/src/main/java/com/iconplus/smartproc/controller/UnitinisiatorController.java b/src/main/java/com/iconplus/smartproc/controller/UnitInisiatorController.java similarity index 68% rename from src/main/java/com/iconplus/smartproc/controller/UnitinisiatorController.java rename to src/main/java/com/iconplus/smartproc/controller/UnitInisiatorController.java index 0c6edd3..07edb83 100644 --- a/src/main/java/com/iconplus/smartproc/controller/UnitinisiatorController.java +++ b/src/main/java/com/iconplus/smartproc/controller/UnitInisiatorController.java @@ -17,53 +17,53 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.iconplus.smartproc.exception.ResourceNotFoundException; -import com.iconplus.smartproc.entity.Unitinisiator; -import com.iconplus.smartproc.repository.UnitinisiatorRepository; +import com.iconplus.smartproc.model.entity.UnitInisiator; +import com.iconplus.smartproc.repository.UnitInisiatorRepository; @CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true") @RestController @RequestMapping("/api/unitinisiator") -public class UnitinisiatorController { +public class UnitInisiatorController { @Autowired - private UnitinisiatorRepository unitinisiatorRepository; + private UnitInisiatorRepository unitinisiatorRepository; //get all data @GetMapping - public List getAllUnitinisiator(){ + public List getAllUnitinisiator(){ return unitinisiatorRepository.findAll(); } // create @PostMapping - public Unitinisiator createUnitinisiator(@RequestBody Unitinisiator unitinisiator) { + public UnitInisiator createUnitinisiator(@RequestBody UnitInisiator unitinisiator) { return unitinisiatorRepository.save(unitinisiator); } // get unitinisiator by id rest api @GetMapping("/{id}") - public ResponseEntity getUnitinisiatorById(@PathVariable Long id) { - Unitinisiator unitinisiator = unitinisiatorRepository.findById(id) + public ResponseEntity getUnitinisiatorById(@PathVariable Long id) { + UnitInisiator unitinisiator = unitinisiatorRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException("Unitinisiator not exist with id :" + id)); return ResponseEntity.ok(unitinisiator); } // update jenispengadaan rest api @PutMapping("/{id}") - public ResponseEntity updateUnitinisiator(@PathVariable Long id, @RequestBody Unitinisiator unitinisiatorDetails){ - Unitinisiator unitinisiator = unitinisiatorRepository.findById(id) + public ResponseEntity updateUnitinisiator(@PathVariable Long id, @RequestBody UnitInisiator unitInisiatorDetails){ + UnitInisiator unitinisiator = unitinisiatorRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException("Unitinisiator not exist with id :" + id)); - unitinisiator.setUnitinisiator(unitinisiatorDetails.getUnitinisiator()); - unitinisiator.setKeterangan(unitinisiatorDetails.getKeterangan()); + unitinisiator.setUnitInisiator(unitInisiatorDetails.getUnitInisiator()); + unitinisiator.setKeterangan(unitInisiatorDetails.getKeterangan()); - Unitinisiator updatedUnitinisiator = unitinisiatorRepository.save(unitinisiator); - return ResponseEntity.ok(updatedUnitinisiator); + UnitInisiator updatedUnitInisiator = unitinisiatorRepository.save(unitinisiator); + return ResponseEntity.ok(updatedUnitInisiator); } // delete jenispengadaan rest api @DeleteMapping("/{id}") public ResponseEntity> deleteUnitinisiator(@PathVariable Long id){ - Unitinisiator unitinisiator = unitinisiatorRepository.findById(id) + UnitInisiator unitinisiator = unitinisiatorRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException("Unit inisiator not exist with id :" + id)); unitinisiatorRepository.delete(unitinisiator); diff --git a/src/main/java/com/iconplus/smartproc/controller/UsersController.java b/src/main/java/com/iconplus/smartproc/controller/UsersController.java index 0b35ee6..9a87b64 100644 --- a/src/main/java/com/iconplus/smartproc/controller/UsersController.java +++ b/src/main/java/com/iconplus/smartproc/controller/UsersController.java @@ -1,6 +1,6 @@ package com.iconplus.smartproc.controller; -import com.iconplus.smartproc.entity.Users; +import com.iconplus.smartproc.model.entity.Users; import com.iconplus.smartproc.exception.ResourceNotFoundException; import com.iconplus.smartproc.repository.UsersRepository; import org.springframework.beans.factory.annotation.Autowired; @@ -48,10 +48,10 @@ public class UsersController { users.setNama(usersDetails.getNama()); users.setEmail(usersDetails.getEmail()); users.setPassword(usersDetails.getPassword()); - users.setInstansi(usersDetails.getInstansi()); - users.setBidang(usersDetails.getBidang()); - users.setJabatan(usersDetails.getJabatan()); - users.setRole(usersDetails.getRole()); +// users.setInstansi(usersDetails.getInstansi()); +// users.setBidang(usersDetails.getBidang()); +// users.setJabatan(usersDetails.getJabatan()); +// users.setRole(usersDetails.getRole()); Users updatedUsers = usersRepository.save(users); return ResponseEntity.ok(updatedUsers); diff --git a/src/main/java/com/iconplus/smartproc/entity/Jenisanggaran.java b/src/main/java/com/iconplus/smartproc/entity/Jenisanggaran.java deleted file mode 100644 index e3f2bec..0000000 --- a/src/main/java/com/iconplus/smartproc/entity/Jenisanggaran.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.iconplus.smartproc.entity; - -import jakarta.persistence.*; - -@Entity -@Table(name = "jenisanggaran") -public class Jenisanggaran { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private long id; - private String jenisanggaran; - private String keterangan; - - public Jenisanggaran() { - } - - public Jenisanggaran(String jenisanggaran, String keterangan) { - super(); - this.jenisanggaran = jenisanggaran; - this.keterangan = keterangan; - } - public long getId() { - return id; - } - public void setId(long id) { - this.id = id; - } - public String getJenisanggaran() { - return jenisanggaran; - } - public void setJenisanggaran(String jenisanggaran) { - this.jenisanggaran = jenisanggaran; - } - public String getKeterangan() { - return keterangan; - } - public void setKeterangan(String keterangan) { - this.keterangan = keterangan; - } -} diff --git a/src/main/java/com/iconplus/smartproc/entity/Jeniskontrak.java b/src/main/java/com/iconplus/smartproc/entity/Jeniskontrak.java deleted file mode 100644 index 38e7d59..0000000 --- a/src/main/java/com/iconplus/smartproc/entity/Jeniskontrak.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.iconplus.smartproc.entity; - -import jakarta.persistence.*; - -@Entity -@Table(name = "jeniskontrak") -public class Jeniskontrak { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private long id; - - private String jeniskontrak; - private String keterangan; - - public Jeniskontrak() { - - } - - public Jeniskontrak(String jeniskontrak, String keterangan) { - super(); - this.jeniskontrak = jeniskontrak; - this.keterangan = keterangan; - } - public long getId() { - return id; - } - public void setId(long id) { - this.id = id; - } - public String getJeniskontrak() { - return jeniskontrak; - } - public void setJeniskontrak(String jeniskontrak) { - this.jeniskontrak = jeniskontrak; - } - public String getKeterangan() { - return keterangan; - } - public void setKeterangan(String keterangan) { - this.keterangan = keterangan; - } -} diff --git a/src/main/java/com/iconplus/smartproc/entity/Jenispengadaan.java b/src/main/java/com/iconplus/smartproc/entity/Jenispengadaan.java deleted file mode 100644 index 149c4fc..0000000 --- a/src/main/java/com/iconplus/smartproc/entity/Jenispengadaan.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.iconplus.smartproc.entity; - -import jakarta.persistence.*; - -@Entity -@Table(name = "jenispengadaan") -public class Jenispengadaan { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private long id; - private String jenispengadaan; - private String keterangan; - - public Jenispengadaan() { - } - - public Jenispengadaan(String jenispengadaan, String keterangan) { - super(); - this.jenispengadaan = jenispengadaan; - this.keterangan = keterangan; - } - public long getId() { - return id; - } - public void setId(long id) { - this.id = id; - } - public String getJenispengadaan() { - return jenispengadaan; - } - public void setJenispengadaan(String jenispengadaan) { - this.jenispengadaan = jenispengadaan; - } - public String getKeterangan() { - return keterangan; - } - public void setKeterangan(String keterangan) { - this.keterangan = keterangan; - } -} diff --git a/src/main/java/com/iconplus/smartproc/entity/Lokasi.java b/src/main/java/com/iconplus/smartproc/entity/Lokasi.java deleted file mode 100644 index c17f012..0000000 --- a/src/main/java/com/iconplus/smartproc/entity/Lokasi.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.iconplus.smartproc.entity; - -import jakarta.persistence.*; - -@Entity -@Table(name = "lokasi") -public class Lokasi { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private long id; - private String lokasi; - private String keterangan; - - public Lokasi() { - } - - public Lokasi(String lokasi, String keterangan) { - super(); - this.lokasi = lokasi; - this.keterangan = keterangan; - } - public long getId() { - return id; - } - public void setId(long id) { - this.id = id; - } - public String getLokasi() { - return lokasi; - } - public void setLokasi(String lokasi) { - this.lokasi = lokasi; - } - public String getKeterangan() { - return keterangan; - } - public void setKeterangan(String keterangan) { - this.keterangan = keterangan; - } -} diff --git a/src/main/java/com/iconplus/smartproc/entity/Metodepengadaan.java b/src/main/java/com/iconplus/smartproc/entity/Metodepengadaan.java deleted file mode 100644 index c3a7f21..0000000 --- a/src/main/java/com/iconplus/smartproc/entity/Metodepengadaan.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.iconplus.smartproc.entity; - -import jakarta.persistence.*; - -@Entity -@Table(name = "metodepengadaan") -public class Metodepengadaan { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private long id; - - private String metodepengadaan; - private String keterangan; - - public Metodepengadaan() { - } - - public Metodepengadaan(String metodepengadaan, String keterangan) { - super(); - this.metodepengadaan = metodepengadaan; - this.keterangan = keterangan; - } - public long getId() { - return id; - } - public void setId(long id) { - this.id = id; - } - public String getMetodepengadaan() { - return metodepengadaan; - } - public void setMetodepengadaan(String metodepengadaan) { - this.metodepengadaan = metodepengadaan; - } - public String getKeterangan() { - return keterangan; - } - public void setKeterangan(String keterangan) { - this.keterangan = keterangan; - } -} diff --git a/src/main/java/com/iconplus/smartproc/entity/Metodepenyampaian.java b/src/main/java/com/iconplus/smartproc/entity/Metodepenyampaian.java deleted file mode 100644 index f5b46d7..0000000 --- a/src/main/java/com/iconplus/smartproc/entity/Metodepenyampaian.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.iconplus.smartproc.entity; - -import jakarta.persistence.*; - -@Entity -@Table(name = "metodepenyampaian") -public class Metodepenyampaian { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private long id; - - private String metodepenyampaian; - private String keterangan; - - public Metodepenyampaian() { - } - - public Metodepenyampaian(String metodepenyampaian, String keterangan) { - super(); - this.metodepenyampaian = metodepenyampaian; - this.keterangan = keterangan; - } - public long getId() { - return id; - } - public void setId(long id) { - this.id = id; - } - public String getMetodepenyampaian() { - return metodepenyampaian; - } - public void setMetodepenyampaian(String metodepenyampaian) { - this.metodepenyampaian = metodepenyampaian; - } - public String getKeterangan() { - return keterangan; - } - public void setKeterangan(String keterangan) { - this.keterangan = keterangan; - } -} diff --git a/src/main/java/com/iconplus/smartproc/entity/Roles.java b/src/main/java/com/iconplus/smartproc/entity/Roles.java deleted file mode 100644 index dbcdb9a..0000000 --- a/src/main/java/com/iconplus/smartproc/entity/Roles.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.iconplus.smartproc.entity; - -import jakarta.persistence.*; - -@Entity -@Table(name = "roles") -public class Roles { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private long id; - private String roles; - private String keterangan; - private Boolean is_active; - - public Roles() { - } - - public Roles(String roles, String keterangan, Boolean is_active) { - super(); - this.roles = roles; - this.keterangan = keterangan; - this.is_active = is_active; - } - public long getId() { - return id; - } - public void setId(long id) { - this.id = id; - } - public String getRoles() { - return roles; - } - public void setRoles(String roles) { - this.roles = roles; - } - public String getKeterangan() { - return keterangan; - } - public void setKeterangan(String keterangan) { - this.keterangan = keterangan; - } - public Boolean getIsactive() { - return is_active; - } - public void setIsactive(Boolean is_active) { - this.is_active = is_active; - } -} diff --git a/src/main/java/com/iconplus/smartproc/entity/Strategipengadaan.java b/src/main/java/com/iconplus/smartproc/entity/Strategipengadaan.java deleted file mode 100644 index d0321c6..0000000 --- a/src/main/java/com/iconplus/smartproc/entity/Strategipengadaan.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.iconplus.smartproc.entity; - -import jakarta.persistence.*; - -@Entity -@Table(name = "strategipengadaan") -public class Strategipengadaan { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private long id; - private String strategipengadaan; - private String keterangan; - - public Strategipengadaan() { - } - - public Strategipengadaan(String strategipengadaan, String keterangan) { - super(); - this.strategipengadaan = strategipengadaan; - this.keterangan = keterangan; - } - public long getId() { - return id; - } - public void setId(long id) { - this.id = id; - } - public String getStrategipengadaan() { - return strategipengadaan; - } - public void setStrategipengadaan(String strategipengadaan) { - this.strategipengadaan = strategipengadaan; - } - public String getKeterangan() { - return keterangan; - } - public void setKeterangan(String keterangan) { - this.keterangan = keterangan; - } -} diff --git a/src/main/java/com/iconplus/smartproc/entity/Sumberdana.java b/src/main/java/com/iconplus/smartproc/entity/Sumberdana.java deleted file mode 100644 index 467c522..0000000 --- a/src/main/java/com/iconplus/smartproc/entity/Sumberdana.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.iconplus.smartproc.entity; - -import jakarta.persistence.*; - -@Entity -@Table(name = "sumberdana") -public class Sumberdana { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private long id; - private String sumberdana; - private String keterangan; - - public Sumberdana() { - } - - public Sumberdana(String sumberdana, String keterangan) { - super(); - this.sumberdana = sumberdana; - this.keterangan = keterangan; - } - public long getId() { - return id; - } - public void setId(long id) { - this.id = id; - } - public String getSumberdana() { - return sumberdana; - } - public void setSumberdana(String sumberdana) { - this.sumberdana = sumberdana; - } - public String getKeterangan() { - return keterangan; - } - public void setKeterangan(String keterangan) { - this.keterangan = keterangan; - } -} diff --git a/src/main/java/com/iconplus/smartproc/entity/Supplypositioningmatrix.java b/src/main/java/com/iconplus/smartproc/entity/Supplypositioningmatrix.java deleted file mode 100644 index ed503c5..0000000 --- a/src/main/java/com/iconplus/smartproc/entity/Supplypositioningmatrix.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.iconplus.smartproc.entity; - -import jakarta.persistence.*; - -@Entity -@Table(name = "supplypositioningmatrix") -public class Supplypositioningmatrix { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private long id; - - private String supplypositioningmatrix; - private String keterangan; - - public Supplypositioningmatrix() { - - } - - public Supplypositioningmatrix(String supplypositioningmatrix, String keterangan) { - super(); - this.supplypositioningmatrix = supplypositioningmatrix; - this.keterangan = keterangan; - } - public long getId() { - return id; - } - public void setId(long id) { - this.id = id; - } - public String getSupplypositioningmatrix() { - return supplypositioningmatrix; - } - public void setSupplypositioningmatrix(String supplypositioningmatrix) { - this.supplypositioningmatrix = supplypositioningmatrix; - } - public String getKeterangan() { - return keterangan; - } - public void setKeterangan(String keterangan) { - this.keterangan = keterangan; - } -} diff --git a/src/main/java/com/iconplus/smartproc/entity/Unitinisiator.java b/src/main/java/com/iconplus/smartproc/entity/Unitinisiator.java deleted file mode 100644 index 661882e..0000000 --- a/src/main/java/com/iconplus/smartproc/entity/Unitinisiator.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.iconplus.smartproc.entity; - -import jakarta.persistence.*; -@Entity -@Table(name = "unitinisiator") -public class Unitinisiator { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private long id; - - private String unitinisiator; - private String keterangan; - - public Unitinisiator() { - - } - - public Unitinisiator(String unitinisiator, String keterangan) { - super(); - this.unitinisiator = unitinisiator; - this.keterangan = keterangan; - } - public long getId() { - return id; - } - public void setId(long id) { - this.id = id; - } - public String getUnitinisiator() { - return unitinisiator; - } - public void setUnitinisiator(String unitinisiator) { - this.unitinisiator = unitinisiator; - } - public String getKeterangan() { - return keterangan; - } - public void setKeterangan(String keterangan) { - this.keterangan = keterangan; - } -} diff --git a/src/main/java/com/iconplus/smartproc/entity/Users.java b/src/main/java/com/iconplus/smartproc/entity/Users.java deleted file mode 100644 index 8aea9f2..0000000 --- a/src/main/java/com/iconplus/smartproc/entity/Users.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.iconplus.smartproc.entity; - -import jakarta.persistence.*; - -@Entity -@Table(name = "users") -public class Users { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private long id; - private String username; - private String nama; - private String email; - private String password; - private String instansi_id; - private String bidang_id; - private String jabatan; - private String role_id; - private Boolean is_active; - - public Users() { - } - - public Users(String username, String nama, String email, String password, String instansi_id, String bidang_id, String jabatan, String role_id, Boolean is_active) { - super(); - this.username = username; - this.nama = nama; - this.email = email; - this.password = password; - this.instansi_id = instansi_id; - this.bidang_id = bidang_id; - this.jabatan = jabatan; - this.role_id = role_id; - this.is_active = is_active; - } - public long getId() { - return id; - } - public void setId(long id) { - this.id = id; - } - public String getUsername() { - return username; - } - public void setUsername(String username) { - this.username = username; - } - public String getNama() { - return nama; - } - public void setNama(String nama) { - this.nama = nama; - } - public String getEmail() { - return email; - } - public void setEmail(String email) { - this.email = email; - } - public String getPassword() { - return password; - } - public void setPassword(String password) { - this.password = password; - } - public String getInstansi() { - return instansi_id; - } - public void setInstansi(String instansi_id) { - this.instansi_id = instansi_id; - } - public String getBidang() { - return bidang_id; - } - public void setBidang(String bidang_id) { - this.bidang_id = bidang_id; - } - public String getJabatan() { - return jabatan; - } - public void setJabatan(String jabatan) { - this.jabatan = jabatan; - } - public String getRole() { - return role_id; - } - public void setRole(String role_id) { - this.role_id = role_id; - } - public Boolean getIsactive() { - return is_active; - } - public void setIsactive(Boolean is_active) { - this.is_active = is_active; - } -} diff --git a/src/main/java/com/iconplus/smartproc/exception/BaseException.java b/src/main/java/com/iconplus/smartproc/exception/BaseException.java new file mode 100644 index 0000000..b3af918 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/exception/BaseException.java @@ -0,0 +1,49 @@ +package com.iconplus.smartproc.exception; + +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import org.springframework.http.HttpStatus; + +import java.util.Map; + +@Setter +@Getter +@ToString +public class BaseException extends RuntimeException { + + protected HttpStatus httpStatus; + protected String errorCode; + protected String errorDesc; + protected String errorMessage; + protected String rootCause; + protected Map errorMessageMap; + + + public BaseException(HttpStatus httpStatus, String errorCode, String rootCause, String errorDesc, String errorMessage) { + super(rootCause); + this.httpStatus = httpStatus; + this.errorCode = errorCode; + this.errorDesc = errorDesc; + this.errorMessage = errorMessage; + } + + public BaseException(HttpStatus httpStatus, String errorCode, String rootCause) { + super(rootCause); + this.httpStatus = httpStatus; + this.errorCode = errorCode; + } + + public BaseException(String errorCode, String rootCause) { + super(rootCause); + this.errorCode = errorCode; + } + + public BaseException(HttpStatus httpStatus, String errorCode, String rootCause, Map errorMessageMap){ + super(rootCause); + this.httpStatus = httpStatus; + this.errorCode = errorCode; + this.errorMessageMap = errorMessageMap; + } + +} diff --git a/src/main/java/com/iconplus/smartproc/exception/BusinessException.java b/src/main/java/com/iconplus/smartproc/exception/BusinessException.java new file mode 100644 index 0000000..c668dd1 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/exception/BusinessException.java @@ -0,0 +1,47 @@ +package com.iconplus.smartproc.exception; + +import org.springframework.http.HttpStatus; + +import java.util.Map; + +public class BusinessException extends BaseException { + + public BusinessException(String errorCode, String errorDesc, String errorMessage) { + super(HttpStatus.CONFLICT, errorCode, "", errorDesc, errorMessage); + } + + public BusinessException(HttpStatus httpStatus, String errorCode, String errorDesc, String errorMessage) { + super(httpStatus, errorCode, "", errorDesc, errorMessage); + } + + public BusinessException(String errorCode) { + super(HttpStatus.CONFLICT, errorCode, ""); + } + public BusinessException(HttpStatus httpStatus, String errorCode) { + super(httpStatus, errorCode, ""); + } + + public BusinessException(String errorCode, Map maps) { + super(HttpStatus.CONFLICT, errorCode, "", maps); + } + + public BusinessException(HttpStatus httpStatus, String errorCode, Map maps) { + super(httpStatus, errorCode, "", maps); + } + + public BusinessException(String errorCode, String rootCause) { + super(HttpStatus.CONFLICT, errorCode, rootCause); + } + + public BusinessException(HttpStatus httpStatus, String errorCode, String rootCause) { + super(httpStatus, errorCode, rootCause); + } + + public BusinessException(String errorCode, String rootCause, Map maps) { + super(HttpStatus.CONFLICT, errorCode, rootCause, maps); + } + + public BusinessException(HttpStatus httpStatus, String errorCode, String rootCause, Map maps) { + super(httpStatus, errorCode, rootCause, maps); + } +} diff --git a/src/main/java/com/iconplus/smartproc/exception/ErrorHelper.java b/src/main/java/com/iconplus/smartproc/exception/ErrorHelper.java new file mode 100644 index 0000000..afdc490 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/exception/ErrorHelper.java @@ -0,0 +1,115 @@ +package com.iconplus.smartproc.exception; + +import lombok.extern.log4j.Log4j2; +import org.apache.velocity.Template; +import org.apache.velocity.VelocityContext; +import org.apache.velocity.app.Velocity; +import org.apache.velocity.app.VelocityEngine; +import org.apache.velocity.runtime.resource.loader.StringResourceLoader; +import org.apache.velocity.runtime.resource.util.StringResourceRepository; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; + +import java.io.StringWriter; +import java.util.Map; + +import static org.apache.velocity.runtime.RuntimeConstants.RESOURCE_LOADER; + +@Configuration +@Log4j2 +public class ErrorHelper { + + public static final String RAW_TEMPLATE = "rawTemplate"; + private final VelocityEngine engine; + + public ErrorHelper() { + engine = new VelocityEngine(); + this.addVelocityProperties(); + engine.init(); + } + + public ResponseEntity throwErrorException(String errorCode, HttpStatus httpStatus) { + + ErrorResponse errorResponse = new ErrorResponse(); + errorResponse.setCode(errorCode); + errorResponse.setTitle("Kesalahan terjadi"); + errorResponse.setMessage("Kesalahan terjadi"); + + return new ResponseEntity<>(errorResponse, new HttpHeaders(), httpStatus); + } + + public ResponseEntity throwErrorExceptionWithHardcodedMsg(String errorCode, HttpStatus httpStatus, + String errorDesc, String errorMsg) { + + ErrorResponse errorResponse = new ErrorResponse(); + errorResponse.setCode(errorCode); + errorResponse.setTitle(errorDesc); + errorResponse.setMessage(errorMsg); + return new ResponseEntity<>(errorResponse, new HttpHeaders(), httpStatus); + } + + public ResponseEntity throwErrorExceptionWithMetadata(String errorCode, HttpStatus httpStatus, + Map metadata) { + + ErrorResponse errorResponse = new ErrorResponse(); + errorResponse.setCode(errorCode); + errorResponse.setTitle("Kesalahan terjadi"); + errorResponse.setMessage(transform("Kesalahan terjadi", metadata)); + + return new ResponseEntity<>(errorResponse, new HttpHeaders(), httpStatus); + } + + public ResponseEntity throwErrorExceptionWithMessageAndMetadataWithoutLocalization(HttpStatus httpStatus, String errorCode, String errorTitle, String errorMessage, + Map metadata) { + + ErrorResponse errorResponse = new ErrorResponse(); + errorResponse.setCode(errorCode); + errorResponse.setTitle(errorTitle); + errorResponse.setMessage(transform(errorMessage, metadata)); + + return new ResponseEntity<>(errorResponse, new HttpHeaders(), httpStatus); + } + + private String transform(String rawNotificationTemplate, Map parameters) { + + VelocityContext context = this.getVelocityContext(rawNotificationTemplate, parameters); + Template template = engine.getTemplate(RAW_TEMPLATE); + + StringWriter templateWriter = new StringWriter(rawNotificationTemplate.length()); + template.merge(context, templateWriter); + + return templateWriter.toString(); + } + + private VelocityContext getVelocityContext(String rawNotificationTemplate, Map parameters) { + StringResourceRepository resourceRepository = (StringResourceRepository) engine + .getApplicationAttribute(StringResourceLoader.REPOSITORY_NAME_DEFAULT); + resourceRepository.putStringResource(RAW_TEMPLATE, rawNotificationTemplate); + + return new VelocityContext(parameters); + } + + private void addVelocityProperties() { + Velocity.addProperty("string.resource.loader.description", "Velocity StringResource loader"); + + engine.addProperty(RESOURCE_LOADER, "string"); + engine.addProperty("string.resource.loader.repository.static", "false"); + engine.addProperty("string.resource.loader.class", + "org.apache.velocity.runtime.resource.loader.StringResourceLoader"); + engine.addProperty("string.resource.loader.repository.class", + "org.apache.velocity.runtime.resource.util.StringResourceRepositoryImpl"); + engine.setProperty("runtime.log.logsystem.class", "org.apache.velocity.runtime.log.NullLogChute"); + } + + public ResponseEntity throwErrorExceptionWithMessage(HttpStatus httpStatus, String errorCode, String errorTitle, String errorMessage) { + + ErrorResponse errorResponse = new ErrorResponse(); + errorResponse.setCode(errorCode); + errorResponse.setTitle(errorTitle); + errorResponse.setMessage(errorMessage); + + return new ResponseEntity<>(errorResponse, new HttpHeaders(), httpStatus); + } +} \ No newline at end of file diff --git a/src/main/java/com/iconplus/smartproc/exception/ErrorResponse.java b/src/main/java/com/iconplus/smartproc/exception/ErrorResponse.java new file mode 100644 index 0000000..979099e --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/exception/ErrorResponse.java @@ -0,0 +1,16 @@ +package com.iconplus.smartproc.exception; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@NoArgsConstructor +@AllArgsConstructor +@Data +public class ErrorResponse implements Serializable { + private String code; + private String title; + private String message; +} diff --git a/src/main/java/com/iconplus/smartproc/exception/GlobalExceptionHandler.java b/src/main/java/com/iconplus/smartproc/exception/GlobalExceptionHandler.java new file mode 100644 index 0000000..2050dca --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/exception/GlobalExceptionHandler.java @@ -0,0 +1,102 @@ +package com.iconplus.smartproc.exception; + +import lombok.extern.log4j.Log4j2; +import org.apache.commons.lang3.StringUtils; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.FieldError; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.client.HttpServerErrorException; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.concurrent.TimeoutException; + +@Log4j2 +@ControllerAdvice +public class GlobalExceptionHandler { + + private ErrorHelper errorHelper; + + public GlobalExceptionHandler(ErrorHelper errorHelper) { + this.errorHelper = errorHelper; + } + + private Boolean isError = false; + private static final String DEFAULT_ERROR_CODE = "80000"; + + @ExceptionHandler(Exception.class) + public ResponseEntity renderDefaultResponse(Exception ex) { + log.error("Exception occurred: ", ex); + + return errorHelper.throwErrorException(DEFAULT_ERROR_CODE, HttpStatus.INTERNAL_SERVER_ERROR); + } + + @ExceptionHandler(BusinessException.class) + public ResponseEntity renderBusinessErrorResponse(BusinessException exception) { + log.error("BusinessException occurred: ", exception); + if (Objects.nonNull(exception.getErrorMessageMap())) { + return getErrorResponseResponseEntity(exception.getErrorDesc(), exception.getErrorMessage(), exception.getErrorCode(), exception.getHttpStatus(), exception.getErrorMessageMap()); + } + + return getErrorResponseResponseEntity(exception.getErrorDesc(), exception.getErrorMessage(), exception.getErrorCode(), exception.getHttpStatus(), null); + } + + + @ExceptionHandler(TechnicalException.class) + public ResponseEntity renderTechnicalErrorResponse(TechnicalException exception) { + log.error("TechnicalException occurred: ", exception); + + return getErrorResponseResponseEntity(exception.getErrorDesc(), exception.getErrorMessage(), exception.getErrorCode(), exception.getHttpStatus(), null); + } + + @ExceptionHandler(MethodArgumentNotValidException.class) + public ResponseEntity renderMethodArgumentErrorResponse(MethodArgumentNotValidException exception) { + log.error("MethodArgumentNotValidException occurred: ", exception); + + List errors = new ArrayList(); + + for (FieldError error : exception.getBindingResult().getFieldErrors()) { + errors.add(error.getField().concat(":").concat(error.getDefaultMessage())); + } + + return errorHelper.throwErrorExceptionWithMessage(HttpStatus.BAD_REQUEST, "80400", "Request Validation Error", errors.toString()); + } + + @ExceptionHandler(HttpServerErrorException.class) + public ResponseEntity renderHttpServerErrorResponse(HttpServerErrorException exception) { + log.error("HttpServerErrorException occurred: ", exception); + + return errorHelper.throwErrorException(DEFAULT_ERROR_CODE, HttpStatus.INTERNAL_SERVER_ERROR); + } + + @ExceptionHandler(TimeoutException.class) + public ResponseEntity renderTimeoutResponse(TimeoutException exception) { + log.error("TimeoutException occurred: ", exception); + + return errorHelper.throwErrorException("80001", HttpStatus.INTERNAL_SERVER_ERROR); + } + + private ResponseEntity getErrorResponseResponseEntity(String errorDesc, String errorMessage, + String errorCode, HttpStatus httpStatus, + Map metadata) { + if (StringUtils.isNotBlank(errorDesc) && StringUtils.isNotBlank(errorMessage)) { + + return errorHelper.throwErrorExceptionWithMessageAndMetadataWithoutLocalization(httpStatus, errorCode, errorDesc, errorMessage, metadata); + } else { + if (Objects.nonNull(metadata)) { + return errorHelper.throwErrorExceptionWithMetadata(errorCode, httpStatus, metadata); + } + + return errorHelper.throwErrorException(errorCode, httpStatus); + } + } + + public Boolean isError() { + return isError; + } +} \ No newline at end of file diff --git a/src/main/java/com/iconplus/smartproc/exception/ResponseExceptionResolver.java b/src/main/java/com/iconplus/smartproc/exception/ResponseExceptionResolver.java new file mode 100644 index 0000000..a0f30fd --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/exception/ResponseExceptionResolver.java @@ -0,0 +1,69 @@ +package com.iconplus.smartproc.exception; + +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.SneakyThrows; +import lombok.extern.log4j.Log4j2; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver; +import org.springframework.web.servlet.view.json.MappingJackson2JsonView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +@Log4j2 +@Component +public class ResponseExceptionResolver extends AbstractHandlerExceptionResolver { + + private static final String DEFAULT_ERROR_CODE = "80000"; + + + public ResponseExceptionResolver() {} + + @SneakyThrows + @Override + protected ModelAndView doResolveException( + HttpServletRequest request, + HttpServletResponse response, + Object handler, + Exception ex + ) { + return handleException(request, response, ex); + } + + private ModelAndView handleException( + HttpServletRequest request, + HttpServletResponse response, + Exception exception + ) { + if (ObjectUtils.isNotEmpty(response) && HttpStatus.UNAUTHORIZED.value() == response.getStatus() + && ObjectUtils.isNotEmpty(exception) && exception instanceof BusinessException + ) { + BusinessException businessException = (BusinessException) exception; + ErrorResponse errorResponse = new ErrorResponse(); + errorResponse.setCode(businessException.getErrorCode()); + errorResponse.setTitle(businessException.getErrorDesc()); + errorResponse.setMessage(businessException.getErrorMessage()); + log.info("Error Response Exception : {}", errorResponse); + return new ModelAndView(new MappingJackson2JsonView(), this.getErrorResponse(errorResponse)); + } + response.setHeader("Content-Type", MediaType.APPLICATION_JSON_VALUE); + response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); + + ErrorResponse errorResponse = new ErrorResponse(); + errorResponse.setCode(DEFAULT_ERROR_CODE); + errorResponse.setTitle("Kesalahan terjadi"); + errorResponse.setMessage("Kesalahan terjadi"); + return new ModelAndView(new MappingJackson2JsonView(), this.getErrorResponse(errorResponse)); + } + + private Map getErrorResponse(ErrorResponse errorResponse) { + return new ObjectMapper().convertValue(errorResponse, new TypeReference>() { + }); + } +} diff --git a/src/main/java/com/iconplus/smartproc/exception/TechnicalException.java b/src/main/java/com/iconplus/smartproc/exception/TechnicalException.java new file mode 100644 index 0000000..386f2db --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/exception/TechnicalException.java @@ -0,0 +1,40 @@ +package com.iconplus.smartproc.exception; + +import org.springframework.http.HttpStatus; + +import java.util.Map; + +public class TechnicalException extends BaseException { + + public TechnicalException(String errorCode, String errorDesc, String errorMessage) { + super(HttpStatus.INTERNAL_SERVER_ERROR, errorCode, "", errorDesc, errorMessage); + } + + public TechnicalException(HttpStatus httpStatus, String errorCode, String errorDesc, String errorMessage){ + super(httpStatus, errorCode, "", errorDesc, errorMessage); + } + + public TechnicalException(String errorCode){ + super(HttpStatus.INTERNAL_SERVER_ERROR, errorCode, ""); + } + + public TechnicalException(HttpStatus httpStatus, String errorCode){ + super(httpStatus, errorCode, ""); + } + + public TechnicalException(String errorCode, String rootCause){ + super(HttpStatus.INTERNAL_SERVER_ERROR, errorCode, rootCause); + } + + public TechnicalException(HttpStatus httpStatus, String errorCode, String rootCause) { + super(httpStatus, errorCode, rootCause); + } + + public TechnicalException(String errorCode, String rootCause, Map maps) { + super(HttpStatus.CONFLICT, errorCode, rootCause, maps); + } + + public TechnicalException(HttpStatus httpStatus, String errorCode, String rootCause, Map maps) { + super(httpStatus, errorCode, rootCause, maps); + } +} diff --git a/src/main/java/com/iconplus/smartproc/helper/base/BaseEntity.java b/src/main/java/com/iconplus/smartproc/helper/base/BaseEntity.java new file mode 100644 index 0000000..521bd66 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/helper/base/BaseEntity.java @@ -0,0 +1,30 @@ +package com.iconplus.smartproc.helper.base; + +import lombok.Data; +import org.hibernate.annotations.CreationTimestamp; +import org.hibernate.annotations.UpdateTimestamp; + +import javax.persistence.Column; +import javax.persistence.MappedSuperclass; +import java.io.Serializable; +import java.sql.Timestamp; + +@Data +@MappedSuperclass +public class BaseEntity implements Serializable { + + @Column(name = "created_by", length = 50) + private String createdBy; + + @Column(name = "created_time", nullable = false, updatable=false) + @CreationTimestamp + private Timestamp createdTime; + + @Column(name = "updated_by", length = 50) + private String updatedBy; + + @Column(name = "updated_time") + @UpdateTimestamp + private Timestamp updatedTime; + +} diff --git a/src/main/java/com/iconplus/smartproc/helper/base/BaseInterfaceRequest.java b/src/main/java/com/iconplus/smartproc/helper/base/BaseInterfaceRequest.java new file mode 100644 index 0000000..cb66808 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/helper/base/BaseInterfaceRequest.java @@ -0,0 +1,10 @@ +package com.iconplus.smartproc.helper.base; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +import java.io.Serializable; + +@JsonIgnoreProperties(ignoreUnknown = true) +public interface BaseInterfaceRequest extends Serializable { + +} diff --git a/src/main/java/com/iconplus/smartproc/helper/base/BaseInterfaceResponse.java b/src/main/java/com/iconplus/smartproc/helper/base/BaseInterfaceResponse.java new file mode 100644 index 0000000..733120d --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/helper/base/BaseInterfaceResponse.java @@ -0,0 +1,12 @@ +package com.iconplus.smartproc.helper.base; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; + +import java.io.Serializable; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public interface BaseInterfaceResponse extends Serializable { + +} diff --git a/src/main/java/com/iconplus/smartproc/helper/base/BasePaginationRequest.java b/src/main/java/com/iconplus/smartproc/helper/base/BasePaginationRequest.java new file mode 100644 index 0000000..79b8c46 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/helper/base/BasePaginationRequest.java @@ -0,0 +1,18 @@ +package com.iconplus.smartproc.helper.base; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@AllArgsConstructor +@NoArgsConstructor +@Data +public class BasePaginationRequest extends BaseRequest{ + + + private Integer pageSize; + private Integer pageNumber; + private String sortBy; + private String sortType; +} + diff --git a/src/main/java/com/iconplus/smartproc/helper/base/BasePaginationResponse.java b/src/main/java/com/iconplus/smartproc/helper/base/BasePaginationResponse.java new file mode 100644 index 0000000..a9bd7b5 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/helper/base/BasePaginationResponse.java @@ -0,0 +1,14 @@ +package com.iconplus.smartproc.helper.base; + +import com.iconplus.smartproc.helper.model.Pagination; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@AllArgsConstructor +@NoArgsConstructor +@Data +public class BasePaginationResponse extends BaseResponse{ + + private Pagination pagination; +} diff --git a/src/main/java/com/iconplus/smartproc/helper/base/BaseRequest.java b/src/main/java/com/iconplus/smartproc/helper/base/BaseRequest.java new file mode 100644 index 0000000..6d35ffa --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/helper/base/BaseRequest.java @@ -0,0 +1,10 @@ +package com.iconplus.smartproc.helper.base; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +import java.io.Serializable; + +@JsonIgnoreProperties(ignoreUnknown = true) +public class BaseRequest implements Serializable { + +} diff --git a/src/main/java/com/iconplus/smartproc/helper/base/BaseResponse.java b/src/main/java/com/iconplus/smartproc/helper/base/BaseResponse.java new file mode 100644 index 0000000..f552bed --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/helper/base/BaseResponse.java @@ -0,0 +1,12 @@ +package com.iconplus.smartproc.helper.base; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; + +import java.io.Serializable; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class BaseResponse implements Serializable { + +} diff --git a/src/main/java/com/iconplus/smartproc/helper/model/EmptyRequest.java b/src/main/java/com/iconplus/smartproc/helper/model/EmptyRequest.java new file mode 100644 index 0000000..c9048cb --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/helper/model/EmptyRequest.java @@ -0,0 +1,7 @@ +package com.iconplus.smartproc.helper.model; + +import com.iconplus.smartproc.helper.base.BaseRequest; + +public class EmptyRequest extends BaseRequest { + +} diff --git a/src/main/java/com/iconplus/smartproc/helper/model/EmptyResponse.java b/src/main/java/com/iconplus/smartproc/helper/model/EmptyResponse.java new file mode 100644 index 0000000..d33ba27 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/helper/model/EmptyResponse.java @@ -0,0 +1,9 @@ +package com.iconplus.smartproc.helper.model; + +import brave.internal.Nullable; +import com.iconplus.smartproc.helper.base.BaseResponse; + +@Nullable +public class EmptyResponse extends BaseResponse { + +} diff --git a/src/main/java/com/iconplus/smartproc/helper/model/Pagination.java b/src/main/java/com/iconplus/smartproc/helper/model/Pagination.java new file mode 100644 index 0000000..879b5e2 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/helper/model/Pagination.java @@ -0,0 +1,22 @@ +package com.iconplus.smartproc.helper.model; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class Pagination implements Serializable { + private Integer pageSize; + private Integer currentPage; + private Integer totalPages; + private Long totalRecords; + private Boolean isFirstPage; + private Boolean isLastPage; +} + diff --git a/src/main/java/com/iconplus/smartproc/helper/service/BaseInterfaceService.java b/src/main/java/com/iconplus/smartproc/helper/service/BaseInterfaceService.java new file mode 100644 index 0000000..1d02476 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/helper/service/BaseInterfaceService.java @@ -0,0 +1,8 @@ +package com.iconplus.smartproc.helper.service; + +import com.iconplus.smartproc.helper.base.BaseInterfaceRequest; +import com.iconplus.smartproc.helper.base.BaseInterfaceResponse; + +public interface BaseInterfaceService { + V execute(T input); +} diff --git a/src/main/java/com/iconplus/smartproc/helper/service/BasePaginationService.java b/src/main/java/com/iconplus/smartproc/helper/service/BasePaginationService.java new file mode 100644 index 0000000..27ca323 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/helper/service/BasePaginationService.java @@ -0,0 +1,30 @@ +package com.iconplus.smartproc.helper.service; + +import com.iconplus.smartproc.helper.base.BasePaginationRequest; +import com.iconplus.smartproc.helper.base.BasePaginationResponse; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.beans.factory.annotation.Value; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public abstract class BasePaginationService implements BaseService{ + + @Value("${default.page.size}") + private Integer pageSize; + + @Value("${default.page.number}") + private Integer pageNumber; + + @Value("${default.page.sortBy}") + private String sortBy; + + @Value("${default.page.sortType}") + private String sortType; + + @Value("${default.page.maxPageSize}") + private Integer maxPageSize; + +} diff --git a/src/main/java/com/iconplus/smartproc/helper/service/BaseService.java b/src/main/java/com/iconplus/smartproc/helper/service/BaseService.java new file mode 100644 index 0000000..ffe5715 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/helper/service/BaseService.java @@ -0,0 +1,9 @@ +package com.iconplus.smartproc.helper.service; + + +import com.iconplus.smartproc.helper.base.BaseRequest; +import com.iconplus.smartproc.helper.base.BaseResponse; + +public interface BaseService { + V execute(T input); +} diff --git a/src/main/java/com/iconplus/smartproc/model/entity/JenisAnggaran.java b/src/main/java/com/iconplus/smartproc/model/entity/JenisAnggaran.java new file mode 100644 index 0000000..62c2a98 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/entity/JenisAnggaran.java @@ -0,0 +1,38 @@ +package com.iconplus.smartproc.model.entity; + +import com.iconplus.smartproc.helper.base.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.hibernate.annotations.Type; + +import javax.persistence.*; + +@Entity +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table(name = "jenis_anggaran") +public class JenisAnggaran extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private long id; + + @Column(name = "jenis_anggaran") + private String jenisAnggaran; + + @Column(name = "keterangan") + private String keterangan; + + @Column(name = "is_active") + @Type(type = "org.hibernate.type.NumericBooleanType") + private Boolean isActive; + + @Column(name = "deleted") + @Type(type = "org.hibernate.type.NumericBooleanType") + private Boolean deleted; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/entity/JenisKontrak.java b/src/main/java/com/iconplus/smartproc/model/entity/JenisKontrak.java new file mode 100644 index 0000000..ecc1276 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/entity/JenisKontrak.java @@ -0,0 +1,25 @@ +package com.iconplus.smartproc.model.entity; + +import com.iconplus.smartproc.helper.base.BaseEntity; +import lombok.Builder; +import lombok.Data; + +import javax.persistence.*; + +@Entity +@Table(name = "jenis_kontrak") +@Data +@Builder +public class JenisKontrak extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private long id; + + @Column(name = "jenis_kontrak") + private String jenisKontrak; + + @Column(name = "keterangan") + private String keterangan; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/entity/JenisPengadaan.java b/src/main/java/com/iconplus/smartproc/model/entity/JenisPengadaan.java new file mode 100644 index 0000000..3b99ec2 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/entity/JenisPengadaan.java @@ -0,0 +1,25 @@ +package com.iconplus.smartproc.model.entity; + +import com.iconplus.smartproc.helper.base.BaseEntity; +import lombok.Builder; +import lombok.Data; + +import javax.persistence.*; + +@Entity +@Table(name = "jenis_pengadaan") +@Data +@Builder +public class JenisPengadaan extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private long id; + + @Column(name = "jenis_anggaran") + private String jenisPengadaan; + + @Column(name = "keterangan") + private String keterangan; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/entity/Lokasi.java b/src/main/java/com/iconplus/smartproc/model/entity/Lokasi.java new file mode 100644 index 0000000..f6d2dc9 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/entity/Lokasi.java @@ -0,0 +1,25 @@ +package com.iconplus.smartproc.model.entity; + +import com.iconplus.smartproc.helper.base.BaseEntity; +import lombok.Builder; +import lombok.Data; + +import javax.persistence.*; + +@Entity +@Table(name = "lokasi") +@Data +@Builder +public class Lokasi extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private long id; + + @Column(name = "lokasi") + private String lokasi; + + @Column(name = "keterangan") + private String keterangan; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/entity/MetodePengadaan.java b/src/main/java/com/iconplus/smartproc/model/entity/MetodePengadaan.java new file mode 100644 index 0000000..2d2d62c --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/entity/MetodePengadaan.java @@ -0,0 +1,25 @@ +package com.iconplus.smartproc.model.entity; + +import com.iconplus.smartproc.helper.base.BaseEntity; +import lombok.Builder; +import lombok.Data; + +import javax.persistence.*; + +@Entity +@Table(name = "metode_pengadaan") +@Data +@Builder +public class MetodePengadaan extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private long id; + + @Column(name = "metode_pengadaan") + private String metodePengadaan; + + @Column(name = "keterangan") + private String keterangan; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/entity/MetodePenyampaian.java b/src/main/java/com/iconplus/smartproc/model/entity/MetodePenyampaian.java new file mode 100644 index 0000000..ad66214 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/entity/MetodePenyampaian.java @@ -0,0 +1,26 @@ +package com.iconplus.smartproc.model.entity; + + +import com.iconplus.smartproc.helper.base.BaseEntity; +import lombok.Builder; +import lombok.Data; + +import javax.persistence.*; + +@Entity +@Table(name = "metode_penyampaian") +@Data +@Builder +public class MetodePenyampaian extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private long id; + + @Column(name = "metode_penyampaian") + private String metodePenyampaian; + + @Column(name = "keterangan") + private String keterangan; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/entity/Roles.java b/src/main/java/com/iconplus/smartproc/model/entity/Roles.java new file mode 100644 index 0000000..1f42682 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/entity/Roles.java @@ -0,0 +1,28 @@ +package com.iconplus.smartproc.model.entity; + +import com.iconplus.smartproc.helper.base.BaseEntity; +import lombok.Builder; +import lombok.Data; + +import javax.persistence.*; + +@Entity +@Table(name = "roles") +@Data +@Builder +public class Roles extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private long id; + + @Column(name = "role") + private String role; + + @Column(name = "keterangan") + private String keterangan; + + @Column(name = "is_active") + private Boolean isactive; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/entity/StrategiPengadaan.java b/src/main/java/com/iconplus/smartproc/model/entity/StrategiPengadaan.java new file mode 100644 index 0000000..e604b32 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/entity/StrategiPengadaan.java @@ -0,0 +1,20 @@ +package com.iconplus.smartproc.model.entity; + +import com.iconplus.smartproc.helper.base.BaseEntity; +import lombok.Builder; +import lombok.Data; + +import javax.persistence.*; + +@Entity +@Table(name = "strategi_pengadaan") +@Data +@Builder +public class StrategiPengadaan extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private long id; + private String strategipengadaan; + private String keterangan; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/entity/SumberDana.java b/src/main/java/com/iconplus/smartproc/model/entity/SumberDana.java new file mode 100644 index 0000000..1b95dba --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/entity/SumberDana.java @@ -0,0 +1,25 @@ +package com.iconplus.smartproc.model.entity; + +import com.iconplus.smartproc.helper.base.BaseEntity; +import lombok.Builder; +import lombok.Data; + +import javax.persistence.*; + +@Entity +@Table(name = "sumberdana") +@Data +@Builder +public class SumberDana extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private long id; + + @Column(name = "sumber_dana") + private String sumberDana; + + @Column(name = "keterangan") + private String keterangan; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/entity/SupplyPositioningMatrix.java b/src/main/java/com/iconplus/smartproc/model/entity/SupplyPositioningMatrix.java new file mode 100644 index 0000000..f12b371 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/entity/SupplyPositioningMatrix.java @@ -0,0 +1,25 @@ +package com.iconplus.smartproc.model.entity; + +import com.iconplus.smartproc.helper.base.BaseEntity; +import lombok.Builder; +import lombok.Data; + +import javax.persistence.*; + +@Entity +@Table(name = "supply_positioning_matrix") +@Data +@Builder +public class SupplyPositioningMatrix extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private long id; + + @Column(name = "supply_positioning_matrix") + private String supplypositioningmatrix; + + @Column(name = "keterangan") + private String keterangan; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/entity/UnitInisiator.java b/src/main/java/com/iconplus/smartproc/model/entity/UnitInisiator.java new file mode 100644 index 0000000..f5f282e --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/entity/UnitInisiator.java @@ -0,0 +1,25 @@ +package com.iconplus.smartproc.model.entity; + +import com.iconplus.smartproc.helper.base.BaseEntity; +import lombok.Builder; +import lombok.Data; + +import javax.persistence.*; + +@Entity +@Table(name = "unit_inisiator") +@Data +@Builder +public class UnitInisiator extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private long id; + + @Column(name = "unit_inisiator") + private String unitInisiator; + + @Column(name = "keterangan") + private String keterangan; + +} diff --git a/src/main/java/com/iconplus/smartproc/model/entity/Users.java b/src/main/java/com/iconplus/smartproc/model/entity/Users.java new file mode 100644 index 0000000..f9bcffa --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/entity/Users.java @@ -0,0 +1,51 @@ +package com.iconplus.smartproc.model.entity; + +import com.iconplus.smartproc.helper.base.BaseEntity; +import lombok.Builder; +import lombok.Data; +import org.hibernate.annotations.Type; + +import javax.persistence.*; + +@Entity +@Table(name = "users") +@Data +@Builder +public class Users extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private long id; + + @Column(name = "username") + private String username; + + @Column(name = "nama") + private String nama; + + @Column(name = "email") + private String email; + + @Column(name = "password") + private String password; + + @Column(name = "instansi_id") + private String instansiId; + + @Column(name = "bidang_id") + private String bidangId; + + @Column(name = "jabatan") + private String jabatan; + + @Column(name = "role_id") + private Long roleId; + + @Column(name = "is_active") + @Type(type = "org.hibernate.type.NumericBooleanType") + private Boolean isActive; + + @Column(name = "deleted") + @Type(type = "org.hibernate.type.NumericBooleanType") + private Boolean deleted; +} diff --git a/src/main/java/com/iconplus/smartproc/model/projection/JenisAnggaranView.java b/src/main/java/com/iconplus/smartproc/model/projection/JenisAnggaranView.java new file mode 100644 index 0000000..b243e86 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/projection/JenisAnggaranView.java @@ -0,0 +1,16 @@ +package com.iconplus.smartproc.model.projection; + +public interface JenisAnggaranView { + + Long getId(); + String getJenisAnggaran(); + String getKeterangan(); + Boolean getIsActive(); + Boolean getDeleted(); + + void setId(Long id); + void setJenisAnggaran(String jenisAnggaran); + void setKeterangan(String keterangan); + void setIsActive(Boolean isActive); + void setDeleted(Boolean deleted); +} diff --git a/src/main/java/com/iconplus/smartproc/model/request/JenisAnggaranRequest.java b/src/main/java/com/iconplus/smartproc/model/request/JenisAnggaranRequest.java new file mode 100644 index 0000000..003af07 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/request/JenisAnggaranRequest.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 deleted; + private String search; + private transient Pageable pageable; +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/GetListJenisAnggaranResponse.java b/src/main/java/com/iconplus/smartproc/model/response/GetListJenisAnggaranResponse.java new file mode 100644 index 0000000..404c6d9 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/GetListJenisAnggaranResponse.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 listJenisAnggaranResponse; + private Pagination pagination; +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/JenisAnggaranResponse.java b/src/main/java/com/iconplus/smartproc/model/response/JenisAnggaranResponse.java new file mode 100644 index 0000000..3d73169 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/JenisAnggaranResponse.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 JenisAnggaranResponse extends BaseResponse { + + private long id; + private String jenisAnggaran; + private String keterangan; + private Boolean isActive; + private Boolean deleted; + +} diff --git a/src/main/java/com/iconplus/smartproc/repository/JenisAnggaranRepository.java b/src/main/java/com/iconplus/smartproc/repository/JenisAnggaranRepository.java new file mode 100644 index 0000000..373b3b3 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/repository/JenisAnggaranRepository.java @@ -0,0 +1,32 @@ +package com.iconplus.smartproc.repository; + +import com.iconplus.smartproc.model.entity.JenisAnggaran; +import com.iconplus.smartproc.model.projection.JenisAnggaranView; +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 JenisAnggaranRepository extends JpaRepository { + + @Query(value = "SELECT ja.id as id, " + + "ja.jenisAnggaran as jenisAnggaran, " + + "ja.keterangan as keterangan, " + + "ja.isActive as isActive, " + + "ja.deleted as deleted " + + "FROM JenisAnggaran ja " + + "WHERE ja.deleted = false " + + "AND (:search is null " + + "or (UPPER(ja.jenisAnggaran) like :search OR UPPER(ja.keterangan) like :search)) " + + "ORDER BY ja.id") + Page getAllJenisAnggaran(String search, Pageable pageable); + + Optional findByIdAndDeletedFalse(Long id); + + Optional findByJenisAnggaranAndDeletedFalse(String jenisAnggaran); + +} diff --git a/src/main/java/com/iconplus/smartproc/repository/JenisanggaranRepository.java b/src/main/java/com/iconplus/smartproc/repository/JenisKontrakRepository.java similarity index 55% rename from src/main/java/com/iconplus/smartproc/repository/JenisanggaranRepository.java rename to src/main/java/com/iconplus/smartproc/repository/JenisKontrakRepository.java index 3ccdc51..efeb796 100644 --- a/src/main/java/com/iconplus/smartproc/repository/JenisanggaranRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/JenisKontrakRepository.java @@ -1,10 +1,10 @@ package com.iconplus.smartproc.repository; -import com.iconplus.smartproc.entity.Jenisanggaran; +import com.iconplus.smartproc.model.entity.JenisKontrak; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository -public interface JenisanggaranRepository extends JpaRepository { +public interface JenisKontrakRepository extends JpaRepository { } diff --git a/src/main/java/com/iconplus/smartproc/repository/JenispengadaanRepository.java b/src/main/java/com/iconplus/smartproc/repository/JenisPengadaanRepository.java similarity index 54% rename from src/main/java/com/iconplus/smartproc/repository/JenispengadaanRepository.java rename to src/main/java/com/iconplus/smartproc/repository/JenisPengadaanRepository.java index bf31075..8eff2e3 100644 --- a/src/main/java/com/iconplus/smartproc/repository/JenispengadaanRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/JenisPengadaanRepository.java @@ -1,10 +1,10 @@ package com.iconplus.smartproc.repository; -import com.iconplus.smartproc.entity.Jenispengadaan; +import com.iconplus.smartproc.model.entity.JenisPengadaan; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository -public interface JenispengadaanRepository extends JpaRepository { +public interface JenisPengadaanRepository extends JpaRepository { } \ No newline at end of file diff --git a/src/main/java/com/iconplus/smartproc/repository/LokasiRepository.java b/src/main/java/com/iconplus/smartproc/repository/LokasiRepository.java index f2696e8..f3e178b 100644 --- a/src/main/java/com/iconplus/smartproc/repository/LokasiRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/LokasiRepository.java @@ -1,6 +1,6 @@ package com.iconplus.smartproc.repository; -import com.iconplus.smartproc.entity.Lokasi; +import com.iconplus.smartproc.model.entity.Lokasi; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/iconplus/smartproc/repository/MetodepenyampaianRepository.java b/src/main/java/com/iconplus/smartproc/repository/MetodePengadaanRepository.java similarity index 53% rename from src/main/java/com/iconplus/smartproc/repository/MetodepenyampaianRepository.java rename to src/main/java/com/iconplus/smartproc/repository/MetodePengadaanRepository.java index b3b89ad..8eeb1f9 100644 --- a/src/main/java/com/iconplus/smartproc/repository/MetodepenyampaianRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/MetodePengadaanRepository.java @@ -1,10 +1,10 @@ package com.iconplus.smartproc.repository; -import com.iconplus.smartproc.entity.Metodepenyampaian; +import com.iconplus.smartproc.model.entity.MetodePengadaan; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository -public interface MetodepenyampaianRepository extends JpaRepository { +public interface MetodePengadaanRepository extends JpaRepository { } diff --git a/src/main/java/com/iconplus/smartproc/repository/MetodepengadaanRepository.java b/src/main/java/com/iconplus/smartproc/repository/MetodePenyampaianRepository.java similarity index 53% rename from src/main/java/com/iconplus/smartproc/repository/MetodepengadaanRepository.java rename to src/main/java/com/iconplus/smartproc/repository/MetodePenyampaianRepository.java index d91d85f..1132dde 100644 --- a/src/main/java/com/iconplus/smartproc/repository/MetodepengadaanRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/MetodePenyampaianRepository.java @@ -1,10 +1,10 @@ package com.iconplus.smartproc.repository; -import com.iconplus.smartproc.entity.Metodepengadaan; +import com.iconplus.smartproc.model.entity.MetodePenyampaian; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository -public interface MetodepengadaanRepository extends JpaRepository { +public interface MetodePenyampaianRepository extends JpaRepository { } diff --git a/src/main/java/com/iconplus/smartproc/repository/RolesRepository.java b/src/main/java/com/iconplus/smartproc/repository/RolesRepository.java index 2d15fc0..2abc8e5 100644 --- a/src/main/java/com/iconplus/smartproc/repository/RolesRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/RolesRepository.java @@ -1,6 +1,6 @@ package com.iconplus.smartproc.repository; -import com.iconplus.smartproc.entity.Roles; +import com.iconplus.smartproc.model.entity.Roles; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/iconplus/smartproc/repository/StrategiPengadaanRepository.java b/src/main/java/com/iconplus/smartproc/repository/StrategiPengadaanRepository.java new file mode 100644 index 0000000..4efbab5 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/repository/StrategiPengadaanRepository.java @@ -0,0 +1,10 @@ +package com.iconplus.smartproc.repository; + +import com.iconplus.smartproc.model.entity.StrategiPengadaan; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface StrategiPengadaanRepository extends JpaRepository { + +} diff --git a/src/main/java/com/iconplus/smartproc/repository/StrategipengadaanRepository.java b/src/main/java/com/iconplus/smartproc/repository/StrategipengadaanRepository.java deleted file mode 100644 index d1733a9..0000000 --- a/src/main/java/com/iconplus/smartproc/repository/StrategipengadaanRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.iconplus.smartproc.repository; - -import com.iconplus.smartproc.entity.Strategipengadaan; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - -@Repository -public interface StrategipengadaanRepository extends JpaRepository { - -} diff --git a/src/main/java/com/iconplus/smartproc/repository/JeniskontrakRepository.java b/src/main/java/com/iconplus/smartproc/repository/SumberDanaRepository.java similarity index 56% rename from src/main/java/com/iconplus/smartproc/repository/JeniskontrakRepository.java rename to src/main/java/com/iconplus/smartproc/repository/SumberDanaRepository.java index 5d82ff8..41230fb 100644 --- a/src/main/java/com/iconplus/smartproc/repository/JeniskontrakRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/SumberDanaRepository.java @@ -1,10 +1,10 @@ package com.iconplus.smartproc.repository; -import com.iconplus.smartproc.entity.Jeniskontrak; +import com.iconplus.smartproc.model.entity.SumberDana; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository -public interface JeniskontrakRepository extends JpaRepository { +public interface SumberDanaRepository extends JpaRepository { } diff --git a/src/main/java/com/iconplus/smartproc/repository/SupplyPositioningMatrixRepository.java b/src/main/java/com/iconplus/smartproc/repository/SupplyPositioningMatrixRepository.java new file mode 100644 index 0000000..ff1a570 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/repository/SupplyPositioningMatrixRepository.java @@ -0,0 +1,10 @@ +package com.iconplus.smartproc.repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import com.iconplus.smartproc.model.entity.SupplyPositioningMatrix; + +@Repository +public interface SupplyPositioningMatrixRepository extends JpaRepository { + +} diff --git a/src/main/java/com/iconplus/smartproc/repository/SupplypositioningmatrixRepository.java b/src/main/java/com/iconplus/smartproc/repository/SupplypositioningmatrixRepository.java deleted file mode 100644 index a4c1d9b..0000000 --- a/src/main/java/com/iconplus/smartproc/repository/SupplypositioningmatrixRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.iconplus.smartproc.repository; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import com.iconplus.smartproc.entity.Supplypositioningmatrix; - -@Repository -public interface SupplypositioningmatrixRepository extends JpaRepository { - -} diff --git a/src/main/java/com/iconplus/smartproc/repository/SumberdanaRepository.java b/src/main/java/com/iconplus/smartproc/repository/UnitInisiatorRepository.java similarity index 55% rename from src/main/java/com/iconplus/smartproc/repository/SumberdanaRepository.java rename to src/main/java/com/iconplus/smartproc/repository/UnitInisiatorRepository.java index 9d204f5..bf610f6 100644 --- a/src/main/java/com/iconplus/smartproc/repository/SumberdanaRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/UnitInisiatorRepository.java @@ -1,10 +1,10 @@ package com.iconplus.smartproc.repository; -import com.iconplus.smartproc.entity.Sumberdana; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import com.iconplus.smartproc.model.entity.UnitInisiator; @Repository -public interface SumberdanaRepository extends JpaRepository { +public interface UnitInisiatorRepository extends JpaRepository { } diff --git a/src/main/java/com/iconplus/smartproc/repository/UnitinisiatorRepository.java b/src/main/java/com/iconplus/smartproc/repository/UnitinisiatorRepository.java deleted file mode 100644 index 2fd6cde..0000000 --- a/src/main/java/com/iconplus/smartproc/repository/UnitinisiatorRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.iconplus.smartproc.repository; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import com.iconplus.smartproc.entity.Unitinisiator; - -@Repository -public interface UnitinisiatorRepository extends JpaRepository { - -} diff --git a/src/main/java/com/iconplus/smartproc/repository/UsersRepository.java b/src/main/java/com/iconplus/smartproc/repository/UsersRepository.java index 8a67e92..aa25de3 100644 --- a/src/main/java/com/iconplus/smartproc/repository/UsersRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/UsersRepository.java @@ -1,6 +1,6 @@ package com.iconplus.smartproc.repository; -import com.iconplus.smartproc.entity.Users; +import com.iconplus.smartproc.model.entity.Users; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/iconplus/smartproc/service/jenisanggaran/DeleteJenisAnggaranService.java b/src/main/java/com/iconplus/smartproc/service/jenisanggaran/DeleteJenisAnggaranService.java new file mode 100644 index 0000000..9999044 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jenisanggaran/DeleteJenisAnggaranService.java @@ -0,0 +1,39 @@ +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.entity.JenisAnggaran; +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.findByIdAndDeletedFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + jenisAnggaran.setDeleted(true); + jenisAnggaranRepository.save(jenisAnggaran); + log.info("success delete jenis anggaran id {}", jenisAnggaran.getDeleted()); + return new EmptyResponse(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/jenisanggaran/GetJenisAnggaranByIdService.java b/src/main/java/com/iconplus/smartproc/service/jenisanggaran/GetJenisAnggaranByIdService.java new file mode 100644 index 0000000..814afad --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jenisanggaran/GetJenisAnggaranByIdService.java @@ -0,0 +1,45 @@ +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.findByIdAndDeletedFalse(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.setIsActive(jenisAnggaranView.get().getIsActive()); + jenisAnggaranResponse.setDeleted(jenisAnggaranView.get().getDeleted()); + + return JenisAnggaranResponse.builder() + .id(jenisAnggaranView.get().getId()) + .jenisAnggaran(jenisAnggaranView.get().getJenisAnggaran()) + .keterangan(jenisAnggaranView.get().getKeterangan()) + .isActive(jenisAnggaranView.get().getIsActive()) + .deleted(jenisAnggaranView.get().getDeleted()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/jenisanggaran/GetListJenisAnggaranService.java b/src/main/java/com/iconplus/smartproc/service/jenisanggaran/GetListJenisAnggaranService.java new file mode 100644 index 0000000..5ad60e1 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jenisanggaran/GetListJenisAnggaranService.java @@ -0,0 +1,60 @@ +package com.iconplus.smartproc.service.jenisanggaran; + +import com.iconplus.smartproc.helper.model.Pagination; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.projection.JenisAnggaranView; +import com.iconplus.smartproc.model.request.JenisAnggaranRequest; +import com.iconplus.smartproc.model.response.GetListJenisAnggaranResponse; +import com.iconplus.smartproc.model.response.JenisAnggaranResponse; +import com.iconplus.smartproc.repository.JenisAnggaranRepository; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class GetListJenisAnggaranService implements BaseService { + + private JenisAnggaranRepository jenisAnggaranRepository; + + public GetListJenisAnggaranService(JenisAnggaranRepository jenisAnggaranRepository) { + this.jenisAnggaranRepository = jenisAnggaranRepository; + } + + @Override + public GetListJenisAnggaranResponse execute(JenisAnggaranRequest input) { + validateRequest(input); + List jenisAnggaranResponseList = new ArrayList<>(); + var jenisAnggaranViews = jenisAnggaranRepository.getAllJenisAnggaran(input.getSearch(), input.getPageable()); + + for (JenisAnggaranView jenisAnggaranView : jenisAnggaranViews) { + JenisAnggaranResponse jenisAnggaranResponse = JenisAnggaranResponse.builder() + .id(jenisAnggaranView.getId()) + .jenisAnggaran(jenisAnggaranView.getJenisAnggaran()) + .keterangan(jenisAnggaranView.getKeterangan()) + .isActive(jenisAnggaranView.getIsActive()) + .deleted(jenisAnggaranView.getDeleted()) + .build(); + jenisAnggaranResponseList.add(jenisAnggaranResponse); + } + + return GetListJenisAnggaranResponse.builder() + .listJenisAnggaranResponse(jenisAnggaranResponseList) + .pagination(Pagination.builder() + .pageSize(input.getPageable().getPageSize()) + .currentPage(input.getPageable().getPageNumber()) + .totalPages(jenisAnggaranViews.getTotalPages()) + .totalRecords(jenisAnggaranViews.getTotalElements()) + .isFirstPage(jenisAnggaranViews.isFirst()) + .isLastPage(jenisAnggaranViews.isLast()) + .build()) + .build(); + } + + private void validateRequest(JenisAnggaranRequest input) { + if (StringUtils.isNotBlank(input.getSearch())) { + input.setSearch('%'+ input.getSearch().toUpperCase()+'%'); + } + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/jenisanggaran/PostCreateJenisAnggaranService.java b/src/main/java/com/iconplus/smartproc/service/jenisanggaran/PostCreateJenisAnggaranService.java new file mode 100644 index 0000000..4350cc9 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jenisanggaran/PostCreateJenisAnggaranService.java @@ -0,0 +1,53 @@ +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.apache.commons.lang3.ObjectUtils; +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.findByJenisAnggaranAndDeletedFalse(input.getJenisAnggaran()); + if (existJenisAnggaran.isPresent()) { + throw new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10002, + Constants.ERR_TTL_10002, + String.format(Constants.ERR_MSG_10002, existJenisAnggaran.get().getId())); + } + + JenisAnggaran jenisAnggaran = JenisAnggaran.builder() + .jenisAnggaran(input.getJenisAnggaran()) + .keterangan(input.getKeterangan()) + .isActive(input.getIsActive()) + .deleted(false) + .build(); + jenisAnggaran.setCreatedTime(new Timestamp(System.currentTimeMillis())); + + var result = jenisAnggaranRepository.save(jenisAnggaran); + log.info("success insert jenis anggaran id : {}", result.getId()); + return JenisAnggaranResponse.builder() + .id(result.getId()) + .build(); + + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/jenisanggaran/PutUpdateJenisAnggaranService.java b/src/main/java/com/iconplus/smartproc/service/jenisanggaran/PutUpdateJenisAnggaranService.java new file mode 100644 index 0000000..eb1479a --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/jenisanggaran/PutUpdateJenisAnggaranService.java @@ -0,0 +1,45 @@ +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 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 PutUpdateJenisAnggaranService implements BaseService { + + private JenisAnggaranRepository jenisAnggaranRepository; + + public PutUpdateJenisAnggaranService(JenisAnggaranRepository jenisAnggaranRepository) { + this.jenisAnggaranRepository = jenisAnggaranRepository; + } + + @Override + public JenisAnggaranResponse execute(JenisAnggaranRequest input) { + + var jenisAnggaran = jenisAnggaranRepository.findByIdAndDeletedFalse(input.getId()) + .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, input.getId()))); + + jenisAnggaran.setJenisAnggaran(input.getJenisAnggaran()); + jenisAnggaran.setKeterangan(input.getKeterangan()); + jenisAnggaran.setDeleted(BooleanUtils.isTrue(input.getDeleted())); + jenisAnggaran.setUpdatedTime(new Timestamp(System.currentTimeMillis())); + jenisAnggaranRepository.save(jenisAnggaran); + log.info("Success edit jenis anggaran id {}", jenisAnggaran.getId()); + return JenisAnggaranResponse.builder() + .id(jenisAnggaran.getId()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/util/Constants.java b/src/main/java/com/iconplus/smartproc/util/Constants.java new file mode 100644 index 0000000..5a72c7a --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/util/Constants.java @@ -0,0 +1,15 @@ +package com.iconplus.smartproc.util; + +public class Constants { + private Constants() { + } + + public static final String ERR_CODE_10001 = "10001"; + public static final String ERR_TTL_10001 = "Data tidak ditemukan"; + public static final String ERR_MSG_10001 = "Jenis Anggaran dengan id : %s tidak ditemukan"; + + public static final String ERR_CODE_10002 = "10002"; + public static final String ERR_TTL_10002 = "Data tersedia"; + public static final String ERR_MSG_10002 = "Jenis Anggaran dengan id : %s sudah tersedia"; + +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 2dc4474..dd5e35d 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,6 +1,6 @@ spring.datasource.url=jdbc:postgresql://localhost:5432/smartproc spring.datasource.username=postgres -spring.datasource.password=postgres +spring.datasource.password=postgre spring.jpa.show-sql=true ## Hibernate Properties