refactor base smartproc
This commit is contained in:
parent
329d515577
commit
beff4babe0
90
.gitignore
vendored
90
.gitignore
vendored
@ -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
|
||||
|
23
pom.xml
23
pom.xml
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>3.0.6</version>
|
||||
<version>2.7.5</version>
|
||||
<relativePath/> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
<groupId>com.iconplus</groupId>
|
||||
@ -14,7 +14,7 @@
|
||||
<name>smartproc</name>
|
||||
<description>Initialisasi Smartproc Framework</description>
|
||||
<properties>
|
||||
<java.version>17</java.version>
|
||||
<java.version>11</java.version>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
@ -29,6 +29,24 @@
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.zipkin.brave</groupId>
|
||||
<artifactId>brave</artifactId>
|
||||
<version>5.16.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
<version>3.12.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.velocity</groupId>
|
||||
<artifactId>velocity</artifactId>
|
||||
<version>1.7</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
@ -36,6 +54,7 @@
|
||||
<scope>runtime</scope>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
|
@ -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());
|
||||
}
|
||||
}
|
@ -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<Jeniskontrak> getAllJeniskontraks(){
|
||||
public List<JenisKontrak> 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<Jeniskontrak> getJeniskontrakById(@PathVariable Long id) {
|
||||
Jeniskontrak jeniskontrak = jeniskontrakRepository.findById(id)
|
||||
public ResponseEntity<JenisKontrak> 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<Jeniskontrak> updateJeniskontrak(@PathVariable Long id, @RequestBody Jeniskontrak jeniskontrakDetails){
|
||||
Jeniskontrak jeniskontrak = jeniskontrakRepository.findById(id)
|
||||
public ResponseEntity<JenisKontrak> 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<Map<String, Boolean>> 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);
|
@ -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<Jenispengadaan> getAllJenispengadaans(){
|
||||
public List<JenisPengadaan> 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<Jenispengadaan> getJenispengadaanById(@PathVariable Long id) {
|
||||
Jenispengadaan jenispengadaan = jenispengadaanRepository.findById(id)
|
||||
public ResponseEntity<JenisPengadaan> 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<Jenispengadaan> updateJenispengadaan(@PathVariable Long id, @RequestBody Jenispengadaan jenispengadaanDetails){
|
||||
Jenispengadaan jenispengadaan = jenispengadaanRepository.findById(id)
|
||||
public ResponseEntity<JenisPengadaan> 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<Map<String, Boolean>> 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);
|
@ -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<Jenisanggaran> 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<Jenisanggaran> 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<Jenisanggaran> 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<Map<String, Boolean>> deleteJenisanggaran(@PathVariable Long id){
|
||||
Jenisanggaran jenisanggaran = jenisanggaranRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Supposmatrix not exist with id :" + id));
|
||||
|
||||
jenisanggaranRepository.delete(jenisanggaran);
|
||||
Map<String, Boolean> response = new HashMap<>();
|
||||
response.put("deleted", Boolean.TRUE);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
@ -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<Metodepengadaan> getAllMetodepengadaans(){
|
||||
public List<MetodePengadaan> 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<Metodepengadaan> getMetodepengadaanById(@PathVariable Long id) {
|
||||
Metodepengadaan metodepengadaan = metodepengadaanRepository.findById(id)
|
||||
public ResponseEntity<MetodePengadaan> 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<Metodepengadaan> updateMetodepengadaan(@PathVariable Long id, @RequestBody Metodepengadaan metodepengadaanDetails){
|
||||
Metodepengadaan metodepengadaan = metodepengadaanRepository.findById(id)
|
||||
public ResponseEntity<MetodePengadaan> 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<Map<String, Boolean>> 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);
|
@ -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<Metodepenyampaian> getAllMetodepenyampaians(){
|
||||
public List<MetodePenyampaian> 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<Metodepenyampaian> getMetodepenyampaianById(@PathVariable Long id) {
|
||||
Metodepenyampaian metodepenyampaian = metodepenyampaianRepository.findById(id)
|
||||
public ResponseEntity<MetodePenyampaian> 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<Metodepenyampaian> updateMetodepenyampaian(@PathVariable Long id, @RequestBody Metodepenyampaian metodepenyampaianDetails){
|
||||
Metodepenyampaian metodepenyampaian = metodepenyampaianRepository.findById(id)
|
||||
public ResponseEntity<MetodePenyampaian> 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<Map<String, Boolean>> 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);
|
@ -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());
|
||||
|
||||
|
@ -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<Strategipengadaan> getAllstrategipengadaans(){
|
||||
public List<StrategiPengadaan> 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<Strategipengadaan> getStrategipengadaanById(@PathVariable Long id) {
|
||||
Strategipengadaan strategipengadaan = strategipengadaanRepository.findById(id)
|
||||
public ResponseEntity<StrategiPengadaan> 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<Strategipengadaan> updateStrategipengadaan(@PathVariable Long id, @RequestBody Strategipengadaan strategipengadaanDetails){
|
||||
Strategipengadaan strategipengadaan = strategipengadaanRepository.findById(id)
|
||||
public ResponseEntity<StrategiPengadaan> 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<Map<String, Boolean>> 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);
|
@ -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<Sumberdana> getAllSumberdanas(){
|
||||
public List<SumberDana> 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<Sumberdana> getSumberdanaById(@PathVariable Long id) {
|
||||
Sumberdana sumberdana = sumberdanaRepository.findById(id)
|
||||
public ResponseEntity<SumberDana> 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<Sumberdana> updateSumberdana(@PathVariable Long id, @RequestBody Sumberdana sumberdanaDetails){
|
||||
Sumberdana sumberdana = sumberdanaRepository.findById(id)
|
||||
public ResponseEntity<SumberDana> 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<Map<String, Boolean>> 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);
|
@ -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<Supplypositioningmatrix> getAllSupplypositioningmatrix(){
|
||||
public List<SupplyPositioningMatrix> 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<Supplypositioningmatrix> getSupplypositioningmatrixById(@PathVariable Long id) {
|
||||
Supplypositioningmatrix supplypositioningmatrix = supplypositioningmatrixRepository.findById(id)
|
||||
public ResponseEntity<SupplyPositioningMatrix> 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<Supplypositioningmatrix> updateSupplypositioningmatrix(@PathVariable Long id, @RequestBody Supplypositioningmatrix supplypositioningmatrixDetails){
|
||||
Supplypositioningmatrix supplypositioningmatrix = supplypositioningmatrixRepository.findById(id)
|
||||
public ResponseEntity<SupplyPositioningMatrix> 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<Map<String, Boolean>> 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);
|
@ -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<Unitinisiator> getAllUnitinisiator(){
|
||||
public List<UnitInisiator> 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<Unitinisiator> getUnitinisiatorById(@PathVariable Long id) {
|
||||
Unitinisiator unitinisiator = unitinisiatorRepository.findById(id)
|
||||
public ResponseEntity<UnitInisiator> 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<Unitinisiator> updateUnitinisiator(@PathVariable Long id, @RequestBody Unitinisiator unitinisiatorDetails){
|
||||
Unitinisiator unitinisiator = unitinisiatorRepository.findById(id)
|
||||
public ResponseEntity<UnitInisiator> updateUnitinisiator(@PathVariable Long id, @RequestBody UnitInisiator unitInisiatorDetails){
|
||||
UnitInisiator unitinisiator = unitinisiatorRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Unitinisiator not exist with id :" + id));
|
||||
|
||||
unitinisiator.setUnitinisiator(unitinisiatorDetails.getUnitinisiator());
|
||||
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<Map<String, Boolean>> 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);
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -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<String, String> 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<String, String> errorMessageMap){
|
||||
super(rootCause);
|
||||
this.httpStatus = httpStatus;
|
||||
this.errorCode = errorCode;
|
||||
this.errorMessageMap = errorMessageMap;
|
||||
}
|
||||
|
||||
}
|
@ -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<String, String> maps) {
|
||||
super(HttpStatus.CONFLICT, errorCode, "", maps);
|
||||
}
|
||||
|
||||
public BusinessException(HttpStatus httpStatus, String errorCode, Map<String, String> 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<String, String> maps) {
|
||||
super(HttpStatus.CONFLICT, errorCode, rootCause, maps);
|
||||
}
|
||||
|
||||
public BusinessException(HttpStatus httpStatus, String errorCode, String rootCause, Map<String, String> maps) {
|
||||
super(httpStatus, errorCode, rootCause, maps);
|
||||
}
|
||||
}
|
115
src/main/java/com/iconplus/smartproc/exception/ErrorHelper.java
Normal file
115
src/main/java/com/iconplus/smartproc/exception/ErrorHelper.java
Normal file
@ -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<ErrorResponse> 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<ErrorResponse> 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<ErrorResponse> throwErrorExceptionWithMetadata(String errorCode, HttpStatus httpStatus,
|
||||
Map<String, String> 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<ErrorResponse> throwErrorExceptionWithMessageAndMetadataWithoutLocalization(HttpStatus httpStatus, String errorCode, String errorTitle, String errorMessage,
|
||||
Map<String, String> 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<String, String> 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<String, String> 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<ErrorResponse> 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);
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
@ -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<ErrorResponse> renderDefaultResponse(Exception ex) {
|
||||
log.error("Exception occurred: ", ex);
|
||||
|
||||
return errorHelper.throwErrorException(DEFAULT_ERROR_CODE, HttpStatus.INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
|
||||
@ExceptionHandler(BusinessException.class)
|
||||
public ResponseEntity<ErrorResponse> 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<ErrorResponse> renderTechnicalErrorResponse(TechnicalException exception) {
|
||||
log.error("TechnicalException occurred: ", exception);
|
||||
|
||||
return getErrorResponseResponseEntity(exception.getErrorDesc(), exception.getErrorMessage(), exception.getErrorCode(), exception.getHttpStatus(), null);
|
||||
}
|
||||
|
||||
@ExceptionHandler(MethodArgumentNotValidException.class)
|
||||
public ResponseEntity<ErrorResponse> renderMethodArgumentErrorResponse(MethodArgumentNotValidException exception) {
|
||||
log.error("MethodArgumentNotValidException occurred: ", exception);
|
||||
|
||||
List<String> errors = new ArrayList<String>();
|
||||
|
||||
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<ErrorResponse> renderHttpServerErrorResponse(HttpServerErrorException exception) {
|
||||
log.error("HttpServerErrorException occurred: ", exception);
|
||||
|
||||
return errorHelper.throwErrorException(DEFAULT_ERROR_CODE, HttpStatus.INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
|
||||
@ExceptionHandler(TimeoutException.class)
|
||||
public ResponseEntity<ErrorResponse> renderTimeoutResponse(TimeoutException exception) {
|
||||
log.error("TimeoutException occurred: ", exception);
|
||||
|
||||
return errorHelper.throwErrorException("80001", HttpStatus.INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
|
||||
private ResponseEntity<ErrorResponse> getErrorResponseResponseEntity(String errorDesc, String errorMessage,
|
||||
String errorCode, HttpStatus httpStatus,
|
||||
Map<String, String> 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;
|
||||
}
|
||||
}
|
@ -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<String, String> getErrorResponse(ErrorResponse errorResponse) {
|
||||
return new ObjectMapper().convertValue(errorResponse, new TypeReference<Map<String, String>>() {
|
||||
});
|
||||
}
|
||||
}
|
@ -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<String, String> maps) {
|
||||
super(HttpStatus.CONFLICT, errorCode, rootCause, maps);
|
||||
}
|
||||
|
||||
public TechnicalException(HttpStatus httpStatus, String errorCode, String rootCause, Map<String, String> maps) {
|
||||
super(httpStatus, errorCode, rootCause, maps);
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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 {
|
||||
|
||||
}
|
@ -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 {
|
||||
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
@ -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 {
|
||||
|
||||
}
|
@ -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 {
|
||||
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package com.iconplus.smartproc.helper.model;
|
||||
|
||||
import com.iconplus.smartproc.helper.base.BaseRequest;
|
||||
|
||||
public class EmptyRequest extends BaseRequest {
|
||||
|
||||
}
|
@ -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 {
|
||||
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
@ -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<T extends BaseInterfaceRequest, V extends BaseInterfaceResponse> {
|
||||
V execute(T input);
|
||||
}
|
@ -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<T extends BasePaginationRequest, V extends BasePaginationResponse> implements BaseService<T, V>{
|
||||
|
||||
@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;
|
||||
|
||||
}
|
@ -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<T extends BaseRequest, V extends BaseResponse> {
|
||||
V execute(T input);
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
28
src/main/java/com/iconplus/smartproc/model/entity/Roles.java
Normal file
28
src/main/java/com/iconplus/smartproc/model/entity/Roles.java
Normal file
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
51
src/main/java/com/iconplus/smartproc/model/entity/Users.java
Normal file
51
src/main/java/com/iconplus/smartproc/model/entity/Users.java
Normal file
@ -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;
|
||||
}
|
@ -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);
|
||||
}
|
@ -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;
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package com.iconplus.smartproc.model.response;
|
||||
|
||||
import com.iconplus.smartproc.helper.base.BaseResponse;
|
||||
import com.iconplus.smartproc.helper.model.Pagination;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class GetListJenisAnggaranResponse extends BaseResponse {
|
||||
|
||||
private List<JenisAnggaranResponse> listJenisAnggaranResponse;
|
||||
private Pagination pagination;
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package com.iconplus.smartproc.model.response;
|
||||
|
||||
import com.iconplus.smartproc.helper.base.BaseResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class JenisAnggaranResponse extends BaseResponse {
|
||||
|
||||
private long id;
|
||||
private String jenisAnggaran;
|
||||
private String keterangan;
|
||||
private Boolean isActive;
|
||||
private Boolean deleted;
|
||||
|
||||
}
|
@ -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<JenisAnggaran, Long> {
|
||||
|
||||
@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<JenisAnggaranView> getAllJenisAnggaran(String search, Pageable pageable);
|
||||
|
||||
Optional<JenisAnggaran> findByIdAndDeletedFalse(Long id);
|
||||
|
||||
Optional<JenisAnggaran> findByJenisAnggaranAndDeletedFalse(String jenisAnggaran);
|
||||
|
||||
}
|
@ -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<Jenisanggaran, Long> {
|
||||
public interface JenisKontrakRepository extends JpaRepository<JenisKontrak, Long> {
|
||||
|
||||
}
|
@ -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<Jenispengadaan, Long> {
|
||||
public interface JenisPengadaanRepository extends JpaRepository<JenisPengadaan, Long> {
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
|
@ -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<Metodepenyampaian, Long> {
|
||||
public interface MetodePengadaanRepository extends JpaRepository<MetodePengadaan, Long> {
|
||||
|
||||
}
|
@ -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<Metodepengadaan, Long> {
|
||||
public interface MetodePenyampaianRepository extends JpaRepository<MetodePenyampaian, Long> {
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
|
@ -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<StrategiPengadaan, Long> {
|
||||
|
||||
}
|
@ -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<Strategipengadaan, Long> {
|
||||
|
||||
}
|
@ -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<Jeniskontrak, Long> {
|
||||
public interface SumberDanaRepository extends JpaRepository<SumberDana, Long> {
|
||||
|
||||
}
|
@ -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<SupplyPositioningMatrix, Long> {
|
||||
|
||||
}
|
@ -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<Supplypositioningmatrix, Long> {
|
||||
|
||||
}
|
@ -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<Sumberdana, Long> {
|
||||
public interface UnitInisiatorRepository extends JpaRepository<UnitInisiator, Long> {
|
||||
|
||||
}
|
@ -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<Unitinisiator, Long> {
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
|
@ -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<JenisAnggaranRequest, EmptyResponse> {
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
@ -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<JenisAnggaranRequest, JenisAnggaranResponse> {
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
@ -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<JenisAnggaranRequest, GetListJenisAnggaranResponse> {
|
||||
|
||||
private JenisAnggaranRepository jenisAnggaranRepository;
|
||||
|
||||
public GetListJenisAnggaranService(JenisAnggaranRepository jenisAnggaranRepository) {
|
||||
this.jenisAnggaranRepository = jenisAnggaranRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GetListJenisAnggaranResponse execute(JenisAnggaranRequest input) {
|
||||
validateRequest(input);
|
||||
List<JenisAnggaranResponse> 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()+'%');
|
||||
}
|
||||
}
|
||||
}
|
@ -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<JenisAnggaranRequest, JenisAnggaranResponse> {
|
||||
|
||||
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();
|
||||
|
||||
}
|
||||
}
|
@ -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<JenisAnggaranRequest, JenisAnggaranResponse> {
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
15
src/main/java/com/iconplus/smartproc/util/Constants.java
Normal file
15
src/main/java/com/iconplus/smartproc/util/Constants.java
Normal file
@ -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";
|
||||
|
||||
}
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user