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.
|
*.iml
|
||||||
# Learn more about .gitignore:
|
*.ipr
|
||||||
# https://www.atlassian.com/git/tutorials/saving-changes/gitignore
|
*.iws
|
||||||
|
|
||||||
# Node artifact files
|
|
||||||
node_modules/
|
|
||||||
dist/
|
|
||||||
|
|
||||||
# Compiled Java class files
|
|
||||||
*.class
|
|
||||||
|
|
||||||
# Compiled Python bytecode
|
|
||||||
*.py[cod]
|
|
||||||
|
|
||||||
# Log files
|
|
||||||
*.log
|
|
||||||
|
|
||||||
# Package files
|
|
||||||
*.jar
|
*.jar
|
||||||
|
*.sw?
|
||||||
# Maven
|
*~
|
||||||
target/
|
.#*
|
||||||
dist/
|
.*.md.html
|
||||||
|
|
||||||
# JetBrains IDE
|
|
||||||
.idea/
|
|
||||||
|
|
||||||
# Unit test reports
|
|
||||||
TEST*.xml
|
|
||||||
|
|
||||||
# Generated by MacOS
|
|
||||||
.DS_Store
|
.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
|
mvnw
|
||||||
Thumbs.db
|
mvnw.cmd
|
||||||
|
|
||||||
# Applications
|
|
||||||
*.app
|
|
||||||
*.exe
|
|
||||||
*.war
|
|
||||||
|
|
||||||
# Large media files
|
|
||||||
*.mp4
|
|
||||||
*.tiff
|
|
||||||
*.avi
|
|
||||||
*.flv
|
|
||||||
*.mov
|
|
||||||
*.wmv
|
|
||||||
|
|
||||||
|
23
pom.xml
23
pom.xml
@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-parent</artifactId>
|
<artifactId>spring-boot-starter-parent</artifactId>
|
||||||
<version>3.0.6</version>
|
<version>2.7.5</version>
|
||||||
<relativePath/> <!-- lookup parent from repository -->
|
<relativePath/> <!-- lookup parent from repository -->
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>com.iconplus</groupId>
|
<groupId>com.iconplus</groupId>
|
||||||
@ -14,7 +14,7 @@
|
|||||||
<name>smartproc</name>
|
<name>smartproc</name>
|
||||||
<description>Initialisasi Smartproc Framework</description>
|
<description>Initialisasi Smartproc Framework</description>
|
||||||
<properties>
|
<properties>
|
||||||
<java.version>17</java.version>
|
<java.version>11</java.version>
|
||||||
</properties>
|
</properties>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -29,6 +29,24 @@
|
|||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-web</artifactId>
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
</dependency>
|
</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>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
@ -36,6 +54,7 @@
|
|||||||
<scope>runtime</scope>
|
<scope>runtime</scope>
|
||||||
<optional>true</optional>
|
<optional>true</optional>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.postgresql</groupId>
|
<groupId>org.postgresql</groupId>
|
||||||
<artifactId>postgresql</artifactId>
|
<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;
|
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.exception.ResourceNotFoundException;
|
||||||
import com.iconplus.smartproc.repository.JeniskontrakRepository;
|
import com.iconplus.smartproc.repository.JenisKontrakRepository;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@ -14,47 +14,47 @@ import java.util.Map;
|
|||||||
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/jeniskontrak")
|
@RequestMapping("/api/jeniskontrak")
|
||||||
public class JeniskontrakController {
|
public class JenisKontrakController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private JeniskontrakRepository jeniskontrakRepository;
|
private JenisKontrakRepository jeniskontrakRepository;
|
||||||
|
|
||||||
//get all data
|
//get all data
|
||||||
@GetMapping
|
@GetMapping
|
||||||
public List<Jeniskontrak> getAllJeniskontraks(){
|
public List<JenisKontrak> getAllJeniskontraks(){
|
||||||
return jeniskontrakRepository.findAll();
|
return jeniskontrakRepository.findAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
// create
|
// create
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public Jeniskontrak createJeniskontrak(@RequestBody Jeniskontrak jeniskontrak) {
|
public JenisKontrak createJeniskontrak(@RequestBody JenisKontrak jeniskontrak) {
|
||||||
return jeniskontrakRepository.save(jeniskontrak);
|
return jeniskontrakRepository.save(jeniskontrak);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get jeniskontrak by id rest api
|
// get jeniskontrak by id rest api
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public ResponseEntity<Jeniskontrak> getJeniskontrakById(@PathVariable Long id) {
|
public ResponseEntity<JenisKontrak> getJeniskontrakById(@PathVariable Long id) {
|
||||||
Jeniskontrak jeniskontrak = jeniskontrakRepository.findById(id)
|
JenisKontrak jeniskontrak = jeniskontrakRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Jeniskontrak not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Jeniskontrak not exist with id :" + id));
|
||||||
return ResponseEntity.ok(jeniskontrak);
|
return ResponseEntity.ok(jeniskontrak);
|
||||||
}
|
}
|
||||||
|
|
||||||
// update jeniskontrak rest api
|
// update jeniskontrak rest api
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
public ResponseEntity<Jeniskontrak> updateJeniskontrak(@PathVariable Long id, @RequestBody Jeniskontrak jeniskontrakDetails){
|
public ResponseEntity<JenisKontrak> updateJeniskontrak(@PathVariable Long id, @RequestBody JenisKontrak jenisKontrakDetails){
|
||||||
Jeniskontrak jeniskontrak = jeniskontrakRepository.findById(id)
|
JenisKontrak jeniskontrak = jeniskontrakRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Jeniskontrak not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Jeniskontrak not exist with id :" + id));
|
||||||
|
|
||||||
jeniskontrak.setJeniskontrak(jeniskontrakDetails.getJeniskontrak());
|
jeniskontrak.setJenisKontrak(jenisKontrakDetails.getJenisKontrak());
|
||||||
jeniskontrak.setKeterangan(jeniskontrakDetails.getKeterangan());
|
jeniskontrak.setKeterangan(jenisKontrakDetails.getKeterangan());
|
||||||
|
|
||||||
Jeniskontrak updatedJeniskontrak = jeniskontrakRepository.save(jeniskontrak);
|
JenisKontrak updatedJenisKontrak = jeniskontrakRepository.save(jeniskontrak);
|
||||||
return ResponseEntity.ok(updatedJeniskontrak);
|
return ResponseEntity.ok(updatedJenisKontrak);
|
||||||
}
|
}
|
||||||
|
|
||||||
// delete jeniskontrak rest api
|
// delete jeniskontrak rest api
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
public ResponseEntity<Map<String, Boolean>> deleteJeniskontrak(@PathVariable Long 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));
|
.orElseThrow(() -> new ResourceNotFoundException("Jeniskontrak not exist with id :" + id));
|
||||||
|
|
||||||
jeniskontrakRepository.delete(jeniskontrak);
|
jeniskontrakRepository.delete(jeniskontrak);
|
@ -1,8 +1,8 @@
|
|||||||
package com.iconplus.smartproc.controller;
|
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.exception.ResourceNotFoundException;
|
||||||
import com.iconplus.smartproc.repository.JenispengadaanRepository;
|
import com.iconplus.smartproc.repository.JenisPengadaanRepository;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@ -14,47 +14,47 @@ import java.util.Map;
|
|||||||
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/jenispengadaan")
|
@RequestMapping("/api/jenispengadaan")
|
||||||
public class JenispengadaanController {
|
public class JenisPengadaanController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private JenispengadaanRepository jenispengadaanRepository;
|
private JenisPengadaanRepository jenispengadaanRepository;
|
||||||
|
|
||||||
//get all data
|
//get all data
|
||||||
@GetMapping
|
@GetMapping
|
||||||
public List<Jenispengadaan> getAllJenispengadaans(){
|
public List<JenisPengadaan> getAllJenispengadaans(){
|
||||||
return jenispengadaanRepository.findAll();
|
return jenispengadaanRepository.findAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
// create
|
// create
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public Jenispengadaan createJenispengadaan(@RequestBody Jenispengadaan jenispengadaan) {
|
public JenisPengadaan createJenispengadaan(@RequestBody JenisPengadaan jenispengadaan) {
|
||||||
return jenispengadaanRepository.save(jenispengadaan);
|
return jenispengadaanRepository.save(jenispengadaan);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get jenispengadaan by id rest api
|
// get jenispengadaan by id rest api
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public ResponseEntity<Jenispengadaan> getJenispengadaanById(@PathVariable Long id) {
|
public ResponseEntity<JenisPengadaan> getJenispengadaanById(@PathVariable Long id) {
|
||||||
Jenispengadaan jenispengadaan = jenispengadaanRepository.findById(id)
|
JenisPengadaan jenispengadaan = jenispengadaanRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Jenispengadaan not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Jenispengadaan not exist with id :" + id));
|
||||||
return ResponseEntity.ok(jenispengadaan);
|
return ResponseEntity.ok(jenispengadaan);
|
||||||
}
|
}
|
||||||
|
|
||||||
// update jenispengadaan rest api
|
// update jenispengadaan rest api
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
public ResponseEntity<Jenispengadaan> updateJenispengadaan(@PathVariable Long id, @RequestBody Jenispengadaan jenispengadaanDetails){
|
public ResponseEntity<JenisPengadaan> updateJenispengadaan(@PathVariable Long id, @RequestBody JenisPengadaan jenisPengadaanDetails){
|
||||||
Jenispengadaan jenispengadaan = jenispengadaanRepository.findById(id)
|
JenisPengadaan jenispengadaan = jenispengadaanRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Jenispengadaan not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Jenispengadaan not exist with id :" + id));
|
||||||
|
|
||||||
jenispengadaan.setJenispengadaan(jenispengadaanDetails.getJenispengadaan());
|
jenispengadaan.setJenisPengadaan(jenisPengadaanDetails.getJenisPengadaan());
|
||||||
jenispengadaan.setKeterangan(jenispengadaanDetails.getKeterangan());
|
jenispengadaan.setKeterangan(jenisPengadaanDetails.getKeterangan());
|
||||||
|
|
||||||
Jenispengadaan updatedJenispengadaan = jenispengadaanRepository.save(jenispengadaan);
|
JenisPengadaan updatedJenisPengadaan = jenispengadaanRepository.save(jenispengadaan);
|
||||||
return ResponseEntity.ok(updatedJenispengadaan);
|
return ResponseEntity.ok(updatedJenisPengadaan);
|
||||||
}
|
}
|
||||||
|
|
||||||
// delete jenispengadaan rest api
|
// delete jenispengadaan rest api
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
public ResponseEntity<Map<String, Boolean>> deleteJenispengadaan(@PathVariable Long 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));
|
.orElseThrow(() -> new ResourceNotFoundException("Supposmatrix not exist with id :" + id));
|
||||||
|
|
||||||
jenispengadaanRepository.delete(jenispengadaan);
|
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;
|
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.exception.ResourceNotFoundException;
|
||||||
import com.iconplus.smartproc.repository.LokasiRepository;
|
import com.iconplus.smartproc.repository.LokasiRepository;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package com.iconplus.smartproc.controller;
|
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.exception.ResourceNotFoundException;
|
||||||
import com.iconplus.smartproc.repository.MetodepengadaanRepository;
|
import com.iconplus.smartproc.repository.MetodePengadaanRepository;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@ -14,47 +14,47 @@ import java.util.Map;
|
|||||||
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/metodepengadaan")
|
@RequestMapping("/api/metodepengadaan")
|
||||||
public class MetodepengadaanController {
|
public class MetodePengadaanController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private MetodepengadaanRepository metodepengadaanRepository;
|
private MetodePengadaanRepository metodepengadaanRepository;
|
||||||
|
|
||||||
//get all data
|
//get all data
|
||||||
@GetMapping
|
@GetMapping
|
||||||
public List<Metodepengadaan> getAllMetodepengadaans(){
|
public List<MetodePengadaan> getAllMetodepengadaans(){
|
||||||
return metodepengadaanRepository.findAll();
|
return metodepengadaanRepository.findAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
// create
|
// create
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public Metodepengadaan createMetodepengadaan(@RequestBody Metodepengadaan metodepengadaan) {
|
public MetodePengadaan createMetodepengadaan(@RequestBody MetodePengadaan metodepengadaan) {
|
||||||
return metodepengadaanRepository.save(metodepengadaan);
|
return metodepengadaanRepository.save(metodepengadaan);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get metodepengadaan by id rest api
|
// get metodepengadaan by id rest api
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public ResponseEntity<Metodepengadaan> getMetodepengadaanById(@PathVariable Long id) {
|
public ResponseEntity<MetodePengadaan> getMetodepengadaanById(@PathVariable Long id) {
|
||||||
Metodepengadaan metodepengadaan = metodepengadaanRepository.findById(id)
|
MetodePengadaan metodepengadaan = metodepengadaanRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Metodepengadaan not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Metodepengadaan not exist with id :" + id));
|
||||||
return ResponseEntity.ok(metodepengadaan);
|
return ResponseEntity.ok(metodepengadaan);
|
||||||
}
|
}
|
||||||
|
|
||||||
// update metodepengadaan rest api
|
// update metodepengadaan rest api
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
public ResponseEntity<Metodepengadaan> updateMetodepengadaan(@PathVariable Long id, @RequestBody Metodepengadaan metodepengadaanDetails){
|
public ResponseEntity<MetodePengadaan> updateMetodepengadaan(@PathVariable Long id, @RequestBody MetodePengadaan metodePengadaanDetails){
|
||||||
Metodepengadaan metodepengadaan = metodepengadaanRepository.findById(id)
|
MetodePengadaan metodepengadaan = metodepengadaanRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Metodepengadaan not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Metodepengadaan not exist with id :" + id));
|
||||||
|
|
||||||
metodepengadaan.setMetodepengadaan(metodepengadaanDetails.getMetodepengadaan());
|
metodepengadaan.setMetodePengadaan(metodePengadaanDetails.getMetodePengadaan());
|
||||||
metodepengadaan.setKeterangan(metodepengadaanDetails.getKeterangan());
|
metodepengadaan.setKeterangan(metodePengadaanDetails.getKeterangan());
|
||||||
|
|
||||||
Metodepengadaan updatedMetodepengadaan = metodepengadaanRepository.save(metodepengadaan);
|
MetodePengadaan updatedMetodePengadaan = metodepengadaanRepository.save(metodepengadaan);
|
||||||
return ResponseEntity.ok(updatedMetodepengadaan);
|
return ResponseEntity.ok(updatedMetodePengadaan);
|
||||||
}
|
}
|
||||||
|
|
||||||
// delete metodepengadaan rest api
|
// delete metodepengadaan rest api
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
public ResponseEntity<Map<String, Boolean>> deleteMetodepengadaan(@PathVariable Long 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));
|
.orElseThrow(() -> new ResourceNotFoundException("Metodepengadaan not exist with id :" + id));
|
||||||
|
|
||||||
metodepengadaanRepository.delete(metodepengadaan);
|
metodepengadaanRepository.delete(metodepengadaan);
|
@ -1,8 +1,8 @@
|
|||||||
package com.iconplus.smartproc.controller;
|
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.exception.ResourceNotFoundException;
|
||||||
import com.iconplus.smartproc.repository.MetodepenyampaianRepository;
|
import com.iconplus.smartproc.repository.MetodePenyampaianRepository;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@ -14,47 +14,47 @@ import java.util.Map;
|
|||||||
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/metodepenyampaian")
|
@RequestMapping("/api/metodepenyampaian")
|
||||||
public class MetodepenyampaianController {
|
public class MetodePenyampaianController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private MetodepenyampaianRepository metodepenyampaianRepository;
|
private MetodePenyampaianRepository metodepenyampaianRepository;
|
||||||
|
|
||||||
//get all data
|
//get all data
|
||||||
@GetMapping
|
@GetMapping
|
||||||
public List<Metodepenyampaian> getAllMetodepenyampaians(){
|
public List<MetodePenyampaian> getAllMetodepenyampaians(){
|
||||||
return metodepenyampaianRepository.findAll();
|
return metodepenyampaianRepository.findAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
// create
|
// create
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public Metodepenyampaian createMetodepenyampaian(@RequestBody Metodepenyampaian metodepenyampaian) {
|
public MetodePenyampaian createMetodepenyampaian(@RequestBody MetodePenyampaian metodepenyampaian) {
|
||||||
return metodepenyampaianRepository.save(metodepenyampaian);
|
return metodepenyampaianRepository.save(metodepenyampaian);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get metodepenyampaian by id rest api
|
// get metodepenyampaian by id rest api
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public ResponseEntity<Metodepenyampaian> getMetodepenyampaianById(@PathVariable Long id) {
|
public ResponseEntity<MetodePenyampaian> getMetodepenyampaianById(@PathVariable Long id) {
|
||||||
Metodepenyampaian metodepenyampaian = metodepenyampaianRepository.findById(id)
|
MetodePenyampaian metodepenyampaian = metodepenyampaianRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Metodepenyampaian not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Metodepenyampaian not exist with id :" + id));
|
||||||
return ResponseEntity.ok(metodepenyampaian);
|
return ResponseEntity.ok(metodepenyampaian);
|
||||||
}
|
}
|
||||||
|
|
||||||
// update metodepenyampaian rest api
|
// update metodepenyampaian rest api
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
public ResponseEntity<Metodepenyampaian> updateMetodepenyampaian(@PathVariable Long id, @RequestBody Metodepenyampaian metodepenyampaianDetails){
|
public ResponseEntity<MetodePenyampaian> updateMetodepenyampaian(@PathVariable Long id, @RequestBody MetodePenyampaian metodePenyampaianDetails){
|
||||||
Metodepenyampaian metodepenyampaian = metodepenyampaianRepository.findById(id)
|
MetodePenyampaian metodepenyampaian = metodepenyampaianRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Metodepenyampaian not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Metodepenyampaian not exist with id :" + id));
|
||||||
|
|
||||||
metodepenyampaian.setMetodepenyampaian(metodepenyampaianDetails.getMetodepenyampaian());
|
metodepenyampaian.setMetodePenyampaian(metodePenyampaianDetails.getMetodePenyampaian());
|
||||||
metodepenyampaian.setKeterangan(metodepenyampaianDetails.getKeterangan());
|
metodepenyampaian.setKeterangan(metodePenyampaianDetails.getKeterangan());
|
||||||
|
|
||||||
Metodepenyampaian updatedMetodepenyampaian = metodepenyampaianRepository.save(metodepenyampaian);
|
MetodePenyampaian updatedMetodePenyampaian = metodepenyampaianRepository.save(metodepenyampaian);
|
||||||
return ResponseEntity.ok(updatedMetodepenyampaian);
|
return ResponseEntity.ok(updatedMetodePenyampaian);
|
||||||
}
|
}
|
||||||
|
|
||||||
// delete metodepenyampaian rest api
|
// delete metodepenyampaian rest api
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
public ResponseEntity<Map<String, Boolean>> deleteMetodepenyampaian(@PathVariable Long 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));
|
.orElseThrow(() -> new ResourceNotFoundException("Metodepenyampaian not exist with id :" + id));
|
||||||
|
|
||||||
metodepenyampaianRepository.delete(metodepenyampaian);
|
metodepenyampaianRepository.delete(metodepenyampaian);
|
@ -1,6 +1,6 @@
|
|||||||
package com.iconplus.smartproc.controller;
|
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.exception.ResourceNotFoundException;
|
||||||
import com.iconplus.smartproc.repository.RolesRepository;
|
import com.iconplus.smartproc.repository.RolesRepository;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -44,7 +44,7 @@ public class RolesController {
|
|||||||
Roles roles = rolesRepository.findById(id)
|
Roles roles = rolesRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Roles not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Roles not exist with id :" + id));
|
||||||
|
|
||||||
roles.setRoles(rolesDetails.getRoles());
|
roles.setRole(rolesDetails.getRole());
|
||||||
roles.setKeterangan(rolesDetails.getKeterangan());
|
roles.setKeterangan(rolesDetails.getKeterangan());
|
||||||
roles.setIsactive(rolesDetails.getIsactive());
|
roles.setIsactive(rolesDetails.getIsactive());
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package com.iconplus.smartproc.controller;
|
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.exception.ResourceNotFoundException;
|
||||||
import com.iconplus.smartproc.repository.StrategipengadaanRepository;
|
import com.iconplus.smartproc.repository.StrategiPengadaanRepository;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@ -14,47 +14,47 @@ import java.util.Map;
|
|||||||
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/strategipengadaan")
|
@RequestMapping("/api/strategipengadaan")
|
||||||
public class StrategipengadaanController {
|
public class StrategiPengadaanController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private StrategipengadaanRepository strategipengadaanRepository;
|
private StrategiPengadaanRepository strategipengadaanRepository;
|
||||||
|
|
||||||
//get all data
|
//get all data
|
||||||
@GetMapping
|
@GetMapping
|
||||||
public List<Strategipengadaan> getAllstrategipengadaans(){
|
public List<StrategiPengadaan> getAllstrategipengadaans(){
|
||||||
return strategipengadaanRepository.findAll();
|
return strategipengadaanRepository.findAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
// create
|
// create
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public Strategipengadaan createStrategipengadaan(@RequestBody Strategipengadaan strategipengadaan) {
|
public StrategiPengadaan createStrategipengadaan(@RequestBody StrategiPengadaan strategipengadaan) {
|
||||||
return strategipengadaanRepository.save(strategipengadaan);
|
return strategipengadaanRepository.save(strategipengadaan);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get strategipengadaan by id rest api
|
// get strategipengadaan by id rest api
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public ResponseEntity<Strategipengadaan> getStrategipengadaanById(@PathVariable Long id) {
|
public ResponseEntity<StrategiPengadaan> getStrategipengadaanById(@PathVariable Long id) {
|
||||||
Strategipengadaan strategipengadaan = strategipengadaanRepository.findById(id)
|
StrategiPengadaan strategipengadaan = strategipengadaanRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Strategipengadaan not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Strategipengadaan not exist with id :" + id));
|
||||||
return ResponseEntity.ok(strategipengadaan);
|
return ResponseEntity.ok(strategipengadaan);
|
||||||
}
|
}
|
||||||
|
|
||||||
// update strategipengadaan rest api
|
// update strategipengadaan rest api
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
public ResponseEntity<Strategipengadaan> updateStrategipengadaan(@PathVariable Long id, @RequestBody Strategipengadaan strategipengadaanDetails){
|
public ResponseEntity<StrategiPengadaan> updateStrategipengadaan(@PathVariable Long id, @RequestBody StrategiPengadaan strategiPengadaanDetails){
|
||||||
Strategipengadaan strategipengadaan = strategipengadaanRepository.findById(id)
|
StrategiPengadaan strategipengadaan = strategipengadaanRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Strategipengadaan not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Strategipengadaan not exist with id :" + id));
|
||||||
|
|
||||||
strategipengadaan.setStrategipengadaan(strategipengadaanDetails.getStrategipengadaan());
|
strategipengadaan.setStrategipengadaan(strategiPengadaanDetails.getStrategipengadaan());
|
||||||
strategipengadaan.setKeterangan(strategipengadaanDetails.getKeterangan());
|
strategipengadaan.setKeterangan(strategiPengadaanDetails.getKeterangan());
|
||||||
|
|
||||||
Strategipengadaan updatedStrategipengadaan = strategipengadaanRepository.save(strategipengadaan);
|
StrategiPengadaan updatedStrategiPengadaan = strategipengadaanRepository.save(strategipengadaan);
|
||||||
return ResponseEntity.ok(updatedStrategipengadaan);
|
return ResponseEntity.ok(updatedStrategiPengadaan);
|
||||||
}
|
}
|
||||||
|
|
||||||
// delete strategipengadaan rest api
|
// delete strategipengadaan rest api
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
public ResponseEntity<Map<String, Boolean>> deleteStrategipengadaan(@PathVariable Long 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));
|
.orElseThrow(() -> new ResourceNotFoundException("Strategipengadaan not exist with id :" + id));
|
||||||
|
|
||||||
strategipengadaanRepository.delete(strategipengadaan);
|
strategipengadaanRepository.delete(strategipengadaan);
|
@ -17,53 +17,53 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import com.iconplus.smartproc.exception.ResourceNotFoundException;
|
import com.iconplus.smartproc.exception.ResourceNotFoundException;
|
||||||
import com.iconplus.smartproc.entity.Sumberdana;
|
import com.iconplus.smartproc.model.entity.SumberDana;
|
||||||
import com.iconplus.smartproc.repository.SumberdanaRepository;
|
import com.iconplus.smartproc.repository.SumberDanaRepository;
|
||||||
|
|
||||||
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/sumberdana")
|
@RequestMapping("/api/sumberdana")
|
||||||
public class SumberdanaController {
|
public class SumberDanaController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private SumberdanaRepository sumberdanaRepository;
|
private SumberDanaRepository sumberdanaRepository;
|
||||||
|
|
||||||
//get all data
|
//get all data
|
||||||
@GetMapping
|
@GetMapping
|
||||||
public List<Sumberdana> getAllSumberdanas(){
|
public List<SumberDana> getAllSumberdanas(){
|
||||||
return sumberdanaRepository.findAll();
|
return sumberdanaRepository.findAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
// create
|
// create
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public Sumberdana createSumberdana(@RequestBody Sumberdana sumberdana) {
|
public SumberDana createSumberdana(@RequestBody SumberDana sumberdana) {
|
||||||
return sumberdanaRepository.save(sumberdana);
|
return sumberdanaRepository.save(sumberdana);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get sumberdana by id rest api
|
// get sumberdana by id rest api
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public ResponseEntity<Sumberdana> getSumberdanaById(@PathVariable Long id) {
|
public ResponseEntity<SumberDana> getSumberdanaById(@PathVariable Long id) {
|
||||||
Sumberdana sumberdana = sumberdanaRepository.findById(id)
|
SumberDana sumberdana = sumberdanaRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Sumberdana not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Sumberdana not exist with id :" + id));
|
||||||
return ResponseEntity.ok(sumberdana);
|
return ResponseEntity.ok(sumberdana);
|
||||||
}
|
}
|
||||||
|
|
||||||
// update sumberdana rest api
|
// update sumberdana rest api
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
public ResponseEntity<Sumberdana> updateSumberdana(@PathVariable Long id, @RequestBody Sumberdana sumberdanaDetails){
|
public ResponseEntity<SumberDana> updateSumberdana(@PathVariable Long id, @RequestBody SumberDana sumberDanaDetails){
|
||||||
Sumberdana sumberdana = sumberdanaRepository.findById(id)
|
SumberDana sumberdana = sumberdanaRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Sumberdana not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Sumberdana not exist with id :" + id));
|
||||||
|
|
||||||
sumberdana.setSumberdana(sumberdanaDetails.getSumberdana());
|
sumberdana.setSumberDana(sumberDanaDetails.getSumberDana());
|
||||||
sumberdana.setKeterangan(sumberdanaDetails.getKeterangan());
|
sumberdana.setKeterangan(sumberDanaDetails.getKeterangan());
|
||||||
|
|
||||||
Sumberdana updatedSumberdana = sumberdanaRepository.save(sumberdana);
|
SumberDana updatedSumberDana = sumberdanaRepository.save(sumberdana);
|
||||||
return ResponseEntity.ok(updatedSumberdana);
|
return ResponseEntity.ok(updatedSumberDana);
|
||||||
}
|
}
|
||||||
|
|
||||||
// delete sumberdana rest api
|
// delete sumberdana rest api
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
public ResponseEntity<Map<String, Boolean>> deleteSumberdana(@PathVariable Long 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));
|
.orElseThrow(() -> new ResourceNotFoundException("Sumberdana not exist with id :" + id));
|
||||||
|
|
||||||
sumberdanaRepository.delete(sumberdana);
|
sumberdanaRepository.delete(sumberdana);
|
@ -17,53 +17,53 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import com.iconplus.smartproc.exception.ResourceNotFoundException;
|
import com.iconplus.smartproc.exception.ResourceNotFoundException;
|
||||||
import com.iconplus.smartproc.entity.Supplypositioningmatrix;
|
import com.iconplus.smartproc.model.entity.SupplyPositioningMatrix;
|
||||||
import com.iconplus.smartproc.repository.SupplypositioningmatrixRepository;
|
import com.iconplus.smartproc.repository.SupplyPositioningMatrixRepository;
|
||||||
|
|
||||||
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/supplypositioningmatrix")
|
@RequestMapping("/api/supplypositioningmatrix")
|
||||||
public class SupplypositioningmatrixController {
|
public class SupplyPositioningMatrixController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private SupplypositioningmatrixRepository supplypositioningmatrixRepository;
|
private SupplyPositioningMatrixRepository supplypositioningmatrixRepository;
|
||||||
|
|
||||||
//get all data
|
//get all data
|
||||||
@GetMapping
|
@GetMapping
|
||||||
public List<Supplypositioningmatrix> getAllSupplypositioningmatrix(){
|
public List<SupplyPositioningMatrix> getAllSupplypositioningmatrix(){
|
||||||
return supplypositioningmatrixRepository.findAll();
|
return supplypositioningmatrixRepository.findAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
// create
|
// create
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public Supplypositioningmatrix createSupplypositioningmatrix(@RequestBody Supplypositioningmatrix supplypositioningmatrix) {
|
public SupplyPositioningMatrix createSupplypositioningmatrix(@RequestBody SupplyPositioningMatrix supplypositioningmatrix) {
|
||||||
return supplypositioningmatrixRepository.save(supplypositioningmatrix);
|
return supplypositioningmatrixRepository.save(supplypositioningmatrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get supplypositioningmatrix by id rest api
|
// get supplypositioningmatrix by id rest api
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public ResponseEntity<Supplypositioningmatrix> getSupplypositioningmatrixById(@PathVariable Long id) {
|
public ResponseEntity<SupplyPositioningMatrix> getSupplypositioningmatrixById(@PathVariable Long id) {
|
||||||
Supplypositioningmatrix supplypositioningmatrix = supplypositioningmatrixRepository.findById(id)
|
SupplyPositioningMatrix supplypositioningmatrix = supplypositioningmatrixRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Supplypositioningmatrix not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Supplypositioningmatrix not exist with id :" + id));
|
||||||
return ResponseEntity.ok(supplypositioningmatrix);
|
return ResponseEntity.ok(supplypositioningmatrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
// update jenispengadaan rest api
|
// update jenispengadaan rest api
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
public ResponseEntity<Supplypositioningmatrix> updateSupplypositioningmatrix(@PathVariable Long id, @RequestBody Supplypositioningmatrix supplypositioningmatrixDetails){
|
public ResponseEntity<SupplyPositioningMatrix> updateSupplypositioningmatrix(@PathVariable Long id, @RequestBody SupplyPositioningMatrix supplyPositioningMatrixDetails){
|
||||||
Supplypositioningmatrix supplypositioningmatrix = supplypositioningmatrixRepository.findById(id)
|
SupplyPositioningMatrix supplypositioningmatrix = supplypositioningmatrixRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Supplypositioningmatrix not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Supplypositioningmatrix not exist with id :" + id));
|
||||||
|
|
||||||
supplypositioningmatrix.setSupplypositioningmatrix(supplypositioningmatrixDetails.getSupplypositioningmatrix());
|
supplypositioningmatrix.setSupplypositioningmatrix(supplyPositioningMatrixDetails.getSupplypositioningmatrix());
|
||||||
supplypositioningmatrix.setKeterangan(supplypositioningmatrixDetails.getKeterangan());
|
supplypositioningmatrix.setKeterangan(supplyPositioningMatrixDetails.getKeterangan());
|
||||||
|
|
||||||
Supplypositioningmatrix updatedSupplypositioningmatrix = supplypositioningmatrixRepository.save(supplypositioningmatrix);
|
SupplyPositioningMatrix updatedSupplyPositioningMatrix = supplypositioningmatrixRepository.save(supplypositioningmatrix);
|
||||||
return ResponseEntity.ok(updatedSupplypositioningmatrix);
|
return ResponseEntity.ok(updatedSupplyPositioningMatrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
// delete jenispengadaan rest api
|
// delete jenispengadaan rest api
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
public ResponseEntity<Map<String, Boolean>> deleteSupplypositioningmatrix(@PathVariable Long 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));
|
.orElseThrow(() -> new ResourceNotFoundException("Unit inisiator not exist with id :" + id));
|
||||||
|
|
||||||
supplypositioningmatrixRepository.delete(supplypositioningmatrix);
|
supplypositioningmatrixRepository.delete(supplypositioningmatrix);
|
@ -17,53 +17,53 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import com.iconplus.smartproc.exception.ResourceNotFoundException;
|
import com.iconplus.smartproc.exception.ResourceNotFoundException;
|
||||||
import com.iconplus.smartproc.entity.Unitinisiator;
|
import com.iconplus.smartproc.model.entity.UnitInisiator;
|
||||||
import com.iconplus.smartproc.repository.UnitinisiatorRepository;
|
import com.iconplus.smartproc.repository.UnitInisiatorRepository;
|
||||||
|
|
||||||
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/unitinisiator")
|
@RequestMapping("/api/unitinisiator")
|
||||||
public class UnitinisiatorController {
|
public class UnitInisiatorController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private UnitinisiatorRepository unitinisiatorRepository;
|
private UnitInisiatorRepository unitinisiatorRepository;
|
||||||
|
|
||||||
//get all data
|
//get all data
|
||||||
@GetMapping
|
@GetMapping
|
||||||
public List<Unitinisiator> getAllUnitinisiator(){
|
public List<UnitInisiator> getAllUnitinisiator(){
|
||||||
return unitinisiatorRepository.findAll();
|
return unitinisiatorRepository.findAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
// create
|
// create
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public Unitinisiator createUnitinisiator(@RequestBody Unitinisiator unitinisiator) {
|
public UnitInisiator createUnitinisiator(@RequestBody UnitInisiator unitinisiator) {
|
||||||
return unitinisiatorRepository.save(unitinisiator);
|
return unitinisiatorRepository.save(unitinisiator);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get unitinisiator by id rest api
|
// get unitinisiator by id rest api
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public ResponseEntity<Unitinisiator> getUnitinisiatorById(@PathVariable Long id) {
|
public ResponseEntity<UnitInisiator> getUnitinisiatorById(@PathVariable Long id) {
|
||||||
Unitinisiator unitinisiator = unitinisiatorRepository.findById(id)
|
UnitInisiator unitinisiator = unitinisiatorRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Unitinisiator not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Unitinisiator not exist with id :" + id));
|
||||||
return ResponseEntity.ok(unitinisiator);
|
return ResponseEntity.ok(unitinisiator);
|
||||||
}
|
}
|
||||||
|
|
||||||
// update jenispengadaan rest api
|
// update jenispengadaan rest api
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
public ResponseEntity<Unitinisiator> updateUnitinisiator(@PathVariable Long id, @RequestBody Unitinisiator unitinisiatorDetails){
|
public ResponseEntity<UnitInisiator> updateUnitinisiator(@PathVariable Long id, @RequestBody UnitInisiator unitInisiatorDetails){
|
||||||
Unitinisiator unitinisiator = unitinisiatorRepository.findById(id)
|
UnitInisiator unitinisiator = unitinisiatorRepository.findById(id)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException("Unitinisiator not exist with id :" + id));
|
.orElseThrow(() -> new ResourceNotFoundException("Unitinisiator not exist with id :" + id));
|
||||||
|
|
||||||
unitinisiator.setUnitinisiator(unitinisiatorDetails.getUnitinisiator());
|
unitinisiator.setUnitInisiator(unitInisiatorDetails.getUnitInisiator());
|
||||||
unitinisiator.setKeterangan(unitinisiatorDetails.getKeterangan());
|
unitinisiator.setKeterangan(unitInisiatorDetails.getKeterangan());
|
||||||
|
|
||||||
Unitinisiator updatedUnitinisiator = unitinisiatorRepository.save(unitinisiator);
|
UnitInisiator updatedUnitInisiator = unitinisiatorRepository.save(unitinisiator);
|
||||||
return ResponseEntity.ok(updatedUnitinisiator);
|
return ResponseEntity.ok(updatedUnitInisiator);
|
||||||
}
|
}
|
||||||
|
|
||||||
// delete jenispengadaan rest api
|
// delete jenispengadaan rest api
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
public ResponseEntity<Map<String, Boolean>> deleteUnitinisiator(@PathVariable Long 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));
|
.orElseThrow(() -> new ResourceNotFoundException("Unit inisiator not exist with id :" + id));
|
||||||
|
|
||||||
unitinisiatorRepository.delete(unitinisiator);
|
unitinisiatorRepository.delete(unitinisiator);
|
@ -1,6 +1,6 @@
|
|||||||
package com.iconplus.smartproc.controller;
|
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.exception.ResourceNotFoundException;
|
||||||
import com.iconplus.smartproc.repository.UsersRepository;
|
import com.iconplus.smartproc.repository.UsersRepository;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -48,10 +48,10 @@ public class UsersController {
|
|||||||
users.setNama(usersDetails.getNama());
|
users.setNama(usersDetails.getNama());
|
||||||
users.setEmail(usersDetails.getEmail());
|
users.setEmail(usersDetails.getEmail());
|
||||||
users.setPassword(usersDetails.getPassword());
|
users.setPassword(usersDetails.getPassword());
|
||||||
users.setInstansi(usersDetails.getInstansi());
|
// users.setInstansi(usersDetails.getInstansi());
|
||||||
users.setBidang(usersDetails.getBidang());
|
// users.setBidang(usersDetails.getBidang());
|
||||||
users.setJabatan(usersDetails.getJabatan());
|
// users.setJabatan(usersDetails.getJabatan());
|
||||||
users.setRole(usersDetails.getRole());
|
// users.setRole(usersDetails.getRole());
|
||||||
|
|
||||||
Users updatedUsers = usersRepository.save(users);
|
Users updatedUsers = usersRepository.save(users);
|
||||||
return ResponseEntity.ok(updatedUsers);
|
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;
|
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.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
@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;
|
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.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
@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;
|
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.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package com.iconplus.smartproc.repository;
|
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.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
@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;
|
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.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
@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;
|
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.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
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;
|
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.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
@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;
|
package com.iconplus.smartproc.repository;
|
||||||
|
|
||||||
import com.iconplus.smartproc.entity.Sumberdana;
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
import com.iconplus.smartproc.model.entity.UnitInisiator;
|
||||||
|
|
||||||
@Repository
|
@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;
|
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.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
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.url=jdbc:postgresql://localhost:5432/smartproc
|
||||||
spring.datasource.username=postgres
|
spring.datasource.username=postgres
|
||||||
spring.datasource.password=postgres
|
spring.datasource.password=postgre
|
||||||
spring.jpa.show-sql=true
|
spring.jpa.show-sql=true
|
||||||
|
|
||||||
## Hibernate Properties
|
## Hibernate Properties
|
||||||
|
Loading…
x
Reference in New Issue
Block a user