From f8fef28190b68630bdc23551a2fa5fe257f0a9bd Mon Sep 17 00:00:00 2001 From: dirgantarasiahaan Date: Mon, 5 Jun 2023 17:15:16 +0700 Subject: [PATCH] add rks --- ...oller.java => RksDaftarIsiController.java} | 55 +++++++-------- .../controller/RksTemplateController.java | 68 +++++++++++++++++++ .../model/response/LoginResponse.java | 2 + .../repository/RksDaftarIsiRepository.java | 2 + .../repository/RksIsiRepository.java | 9 +++ .../repository/RksTemplateRepository.java | 22 +++--- .../smartproc/repository/UsersRepository.java | 2 + .../service/authentication/LoginService.java | 2 + .../DeleteRksDaftarIsiService.java | 37 ++++++++++ .../GetListRksDaftarIsiService.java | 2 +- .../GetListRksIsiService.java | 2 +- .../PostCreateRksDaftarIsiService.java | 2 +- .../PutUpdateRksDaftarIsiService.java | 38 +++++++++++ .../rkstemplate/DeleteRksTemplateService.java | 34 ++++++++++ .../GetListRksTemplateService.java | 2 +- .../PostCreateRksTemplateService.java | 2 +- .../PutUpdateRksTemplateService.java | 42 ++++++++++++ 17 files changed, 279 insertions(+), 44 deletions(-) rename src/main/java/com/iconplus/smartproc/controller/{RksController.java => RksDaftarIsiController.java} (56%) create mode 100644 src/main/java/com/iconplus/smartproc/controller/RksTemplateController.java create mode 100644 src/main/java/com/iconplus/smartproc/service/rksdaftarisi/DeleteRksDaftarIsiService.java rename src/main/java/com/iconplus/smartproc/service/{rks => rksdaftarisi}/GetListRksDaftarIsiService.java (97%) rename src/main/java/com/iconplus/smartproc/service/{rks => rksdaftarisi}/GetListRksIsiService.java (97%) rename src/main/java/com/iconplus/smartproc/service/{rks => rksdaftarisi}/PostCreateRksDaftarIsiService.java (97%) create mode 100644 src/main/java/com/iconplus/smartproc/service/rksdaftarisi/PutUpdateRksDaftarIsiService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/rkstemplate/DeleteRksTemplateService.java rename src/main/java/com/iconplus/smartproc/service/{rks => rkstemplate}/GetListRksTemplateService.java (98%) rename src/main/java/com/iconplus/smartproc/service/{rks => rkstemplate}/PostCreateRksTemplateService.java (97%) create mode 100644 src/main/java/com/iconplus/smartproc/service/rkstemplate/PutUpdateRksTemplateService.java diff --git a/src/main/java/com/iconplus/smartproc/controller/RksController.java b/src/main/java/com/iconplus/smartproc/controller/RksDaftarIsiController.java similarity index 56% rename from src/main/java/com/iconplus/smartproc/controller/RksController.java rename to src/main/java/com/iconplus/smartproc/controller/RksDaftarIsiController.java index b6bc7a9..4542f74 100644 --- a/src/main/java/com/iconplus/smartproc/controller/RksController.java +++ b/src/main/java/com/iconplus/smartproc/controller/RksDaftarIsiController.java @@ -1,38 +1,38 @@ package com.iconplus.smartproc.controller; +import com.iconplus.smartproc.helper.model.EmptyResponse; import com.iconplus.smartproc.model.request.RksDaftarIsiRequest; import com.iconplus.smartproc.model.request.RksIsiRequest; -import com.iconplus.smartproc.model.request.RksTemplateRequest; import com.iconplus.smartproc.model.response.*; -import com.iconplus.smartproc.service.rks.*; +import com.iconplus.smartproc.service.rksdaftarisi.*; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.web.bind.annotation.*; @CrossOrigin(origins = "${fe.server}", allowCredentials = "true") @RestController -@RequestMapping("/api/rks") -public class RksController { +@RequestMapping("/api/rks/daftar-isi") +public class RksDaftarIsiController { private final GetListRksDaftarIsiService getListRksDaftarIsiService; private final PostCreateRksDaftarIsiService postCreateRksDaftarIsiService; private final GetListRksIsiService getListRksIsiService; - private final PostCreateRksTemplateService postCreateRksTemplateService; - private final GetListRksTemplateService getListRksTemplateService; - public RksController(GetListRksDaftarIsiService getListRksDaftarIsiService, - PostCreateRksDaftarIsiService postCreateRksDaftarIsiService, - GetListRksIsiService getListRksIsiService, - PostCreateRksTemplateService postCreateRksTemplateService, - GetListRksTemplateService getListRksTemplateService) { + private final DeleteRksDaftarIsiService deleteRksDaftarIsiService; + private final PutUpdateRksDaftarIsiService putUpdateRksDaftarIsiService; + public RksDaftarIsiController(GetListRksDaftarIsiService getListRksDaftarIsiService, + PostCreateRksDaftarIsiService postCreateRksDaftarIsiService, + GetListRksIsiService getListRksIsiService, + DeleteRksDaftarIsiService deleteRksDaftarIsiService, + PutUpdateRksDaftarIsiService putUpdateRksDaftarIsiService) { this.getListRksDaftarIsiService = getListRksDaftarIsiService; this.postCreateRksDaftarIsiService = postCreateRksDaftarIsiService; this.getListRksIsiService = getListRksIsiService; - this.postCreateRksTemplateService = postCreateRksTemplateService; - this.getListRksTemplateService = getListRksTemplateService; + this.deleteRksDaftarIsiService = deleteRksDaftarIsiService; + this.putUpdateRksDaftarIsiService = putUpdateRksDaftarIsiService; } - @GetMapping("/daftar-isi") + @GetMapping() public ListRksDaftarIsiResponse getAllRksDaftarIsi(@RequestParam(name = "page", defaultValue = "1") Integer page, @RequestParam(name = "size", defaultValue = "5") Integer size){ @@ -45,12 +45,12 @@ public class RksController { } - @PostMapping("/daftar-isi") + @PostMapping() public RksDaftarIsiResponse createRksDaftarIsi(@RequestBody RksDaftarIsiRequest rksDaftarIsiRequest) { return postCreateRksDaftarIsiService.execute(rksDaftarIsiRequest); } - @GetMapping("/daftar-isi/{id}/isi") + @GetMapping("/{id}/isi") public ListRksIsiResponse getListRksIsi(@PathVariable(name = "id") Long id, @RequestParam(name = "page", defaultValue = "1") Integer page, @RequestParam(name = "size", defaultValue = "5") Integer size) { @@ -63,21 +63,18 @@ public class RksController { return getListRksIsiService.execute(rksIsiRequest); } - @PostMapping("/template") - public RksTemplateResponse createRksTemplate(@RequestBody RksTemplateRequest rksTemplateRequest) { - return postCreateRksTemplateService.execute(rksTemplateRequest); + @PutMapping("/{id}") + public RksDaftarIsiResponse editRksDaftarIsi(@PathVariable(name = "id") Long id, + @RequestBody RksDaftarIsiRequest rksDaftarIsiRequest) { + rksDaftarIsiRequest.setId(id); + return putUpdateRksDaftarIsiService.execute(rksDaftarIsiRequest); } - @GetMapping("/template") - public ListRksTemplateResponse getListRksTemplate(@RequestParam(name = "page", defaultValue = "1") Integer page, - @RequestParam(name = "size", defaultValue = "5") Integer size) { - - Pageable pageable = PageRequest.of((page - 1), size); - RksTemplateRequest rksTemplateRequest = RksTemplateRequest.builder() - .pageable(pageable) - .build(); - - return getListRksTemplateService.execute(rksTemplateRequest); + @DeleteMapping("/{id}") + public EmptyResponse deleteRksDaftarIsi(@PathVariable(name = "id") Long id) { + return deleteRksDaftarIsiService.execute(RksDaftarIsiRequest.builder() + .id(id) + .build()); } diff --git a/src/main/java/com/iconplus/smartproc/controller/RksTemplateController.java b/src/main/java/com/iconplus/smartproc/controller/RksTemplateController.java new file mode 100644 index 0000000..71973d6 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/controller/RksTemplateController.java @@ -0,0 +1,68 @@ +package com.iconplus.smartproc.controller; + +import com.iconplus.smartproc.helper.model.EmptyResponse; +import com.iconplus.smartproc.model.request.RksDaftarIsiRequest; +import com.iconplus.smartproc.model.request.RksTemplateRequest; +import com.iconplus.smartproc.model.response.ListRksTemplateResponse; +import com.iconplus.smartproc.model.response.RksDaftarIsiResponse; +import com.iconplus.smartproc.model.response.RksTemplateResponse; +import com.iconplus.smartproc.service.rkstemplate.DeleteRksTemplateService; +import com.iconplus.smartproc.service.rkstemplate.GetListRksTemplateService; +import com.iconplus.smartproc.service.rkstemplate.PostCreateRksTemplateService; +import com.iconplus.smartproc.service.rkstemplate.PutUpdateRksTemplateService; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.web.bind.annotation.*; + +@CrossOrigin(origins = "${fe.server}", allowCredentials = "true") +@RestController +@RequestMapping("/api/rks/template") +public class RksTemplateController { + + private final PostCreateRksTemplateService postCreateRksTemplateService; + private final GetListRksTemplateService getListRksTemplateService; + private final PutUpdateRksTemplateService putUpdateRksTemplateService; + private final DeleteRksTemplateService deleteRksTemplateService; + public RksTemplateController(PostCreateRksTemplateService postCreateRksTemplateService, + GetListRksTemplateService getListRksTemplateService, + PutUpdateRksTemplateService putUpdateRksTemplateService, + DeleteRksTemplateService deleteRksTemplateService) { + this.postCreateRksTemplateService = postCreateRksTemplateService; + this.getListRksTemplateService = getListRksTemplateService; + this.putUpdateRksTemplateService = putUpdateRksTemplateService; + this.deleteRksTemplateService = deleteRksTemplateService; + } + + @PostMapping() + public RksTemplateResponse createRksTemplate(@RequestBody RksTemplateRequest rksTemplateRequest) { + return postCreateRksTemplateService.execute(rksTemplateRequest); + } + + @GetMapping() + public ListRksTemplateResponse getListRksTemplate(@RequestParam(name = "page", defaultValue = "1") Integer page, + @RequestParam(name = "size", defaultValue = "5") Integer size) { + + Pageable pageable = PageRequest.of((page - 1), size); + RksTemplateRequest rksTemplateRequest = RksTemplateRequest.builder() + .pageable(pageable) + .build(); + + return getListRksTemplateService.execute(rksTemplateRequest); + + } + + @PutMapping("/{id}") + public RksTemplateResponse editRksTemplate(@PathVariable(name = "id") Long id, + @RequestBody RksTemplateRequest rksTemplateRequest) { + rksTemplateRequest.setId(id); + return putUpdateRksTemplateService.execute(rksTemplateRequest); + } + + @DeleteMapping("/{id}") + public EmptyResponse deleteRksTemplate(@PathVariable(name = "id") Long id) { + return deleteRksTemplateService.execute(RksTemplateRequest.builder() + .id(id) + .build()); + + } +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/LoginResponse.java b/src/main/java/com/iconplus/smartproc/model/response/LoginResponse.java index 2f77818..4ad07b1 100644 --- a/src/main/java/com/iconplus/smartproc/model/response/LoginResponse.java +++ b/src/main/java/com/iconplus/smartproc/model/response/LoginResponse.java @@ -19,6 +19,8 @@ public class LoginResponse extends BaseResponse { private Integer validity; private String refreshToken; private String username; + private String nama; + private String telepon; private String email; private Long roleId; private String role; diff --git a/src/main/java/com/iconplus/smartproc/repository/RksDaftarIsiRepository.java b/src/main/java/com/iconplus/smartproc/repository/RksDaftarIsiRepository.java index 80cb02f..8c57c20 100644 --- a/src/main/java/com/iconplus/smartproc/repository/RksDaftarIsiRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/RksDaftarIsiRepository.java @@ -26,4 +26,6 @@ public interface RksDaftarIsiRepository extends JpaRepository findByKodeTemplateAndIsDeleteFalse(String kodeTemplate); + Optional findByIdAndIsDeleteFalse(Long id); + } diff --git a/src/main/java/com/iconplus/smartproc/repository/RksIsiRepository.java b/src/main/java/com/iconplus/smartproc/repository/RksIsiRepository.java index e110686..7e06351 100644 --- a/src/main/java/com/iconplus/smartproc/repository/RksIsiRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/RksIsiRepository.java @@ -4,10 +4,19 @@ import com.iconplus.smartproc.model.entity.RksIsi; 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.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; @Repository public interface RksIsiRepository extends JpaRepository { Page findByRksDaftarIsiIdAndIsDeleteFalse(Long rksDaftarIsiId, Pageable pageable); + + @Modifying + @Query(value = "update RksIsi ri " + + "set ri.isDelete = true " + + "where ri.rksDaftarIsiId = :rksDaftarIsiId") + void deleteRksIsi(@Param("rksDaftarIsiId") Long rksDaftarIsiId); } diff --git a/src/main/java/com/iconplus/smartproc/repository/RksTemplateRepository.java b/src/main/java/com/iconplus/smartproc/repository/RksTemplateRepository.java index e5f1a2f..41c811c 100644 --- a/src/main/java/com/iconplus/smartproc/repository/RksTemplateRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/RksTemplateRepository.java @@ -15,19 +15,21 @@ public interface RksTemplateRepository extends JpaRepository Optional findByKodeTemplateAndIsDeleteFalse(String kodeTemplate); + Optional findByIdAndIsDeleteFalse(Long id); + @Query(value = "SELECT rt.id as id, " + - "rt.kode_template as kodeTemplate, " + + "rt.kodeTemplate as kodeTemplate, " + "rt.namaTemplate as namaTemplate, " + - "rt.metode_pengadaan_id as metodePengadaanId, " + - "m.metode_pengadaan as metodePengadaan, " + + "rt.metodePengadaanId as metodePengadaanId, " + + "m.metodePengadaan as metodePengadaan, " + "rt.versi as versi, " + - "rt.rks_daftar_isi_id as rksDaftarIsiId, " + - "rdi.nama_template as daftarIsi, " + - "rt.is_active as isActive " + - "FROM rks_template as rt " + - "JOIN rks_daftar_isi rdi ON rdi.id = rt.rks_daftar_isi_id " + - "JOIN metode_pengadaan m ON m.id = rt.metode_pengadaan_id " + - "WHERE rt.is_delete = 0", nativeQuery = true) + "rt.rksDaftarIsiId as rksDaftarIsiId, " + + "rdi.namaTemplate as daftarIsi, " + + "rt.isActive as isActive " + + "FROM RksTemplate as rt " + + "JOIN RksDaftarIsi rdi ON rdi.id = rt.rksDaftarIsiId " + + "JOIN MetodePengadaan m ON m.id = rt.metodePengadaanId " + + "WHERE rt.isDelete = 0") Page getListRksTemplate(Pageable pageable); } diff --git a/src/main/java/com/iconplus/smartproc/repository/UsersRepository.java b/src/main/java/com/iconplus/smartproc/repository/UsersRepository.java index 37683ad..5ae8f69 100644 --- a/src/main/java/com/iconplus/smartproc/repository/UsersRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/UsersRepository.java @@ -61,6 +61,7 @@ public interface UsersRepository extends JpaRepository { "u.instansiId as instansiId, " + "i.instansi as instansi, " + "u.email as email, " + + "u.telepon as telepon, " + "u.isActive as isActive, " + "u.isDelete as isDelete " + "FROM Users u " + @@ -86,6 +87,7 @@ public interface UsersRepository extends JpaRepository { "u.instansiId as instansiId, " + "i.instansi as instansi, " + "u.email as email, " + + "u.telepon as telepon, " + "u.isActive as isActive, " + "u.isDelete as isDelete " + "FROM Users u " + diff --git a/src/main/java/com/iconplus/smartproc/service/authentication/LoginService.java b/src/main/java/com/iconplus/smartproc/service/authentication/LoginService.java index d00c7bb..761cac5 100644 --- a/src/main/java/com/iconplus/smartproc/service/authentication/LoginService.java +++ b/src/main/java/com/iconplus/smartproc/service/authentication/LoginService.java @@ -178,6 +178,8 @@ public class LoginService implements BaseService { .refreshToken(refreshToken) .userId(userRoleView.getId()) .username(userRoleView.getUsername()) + .nama(userRoleView.getNama()) + .telepon(userRoleView.getTelepon()) .email(userRoleView.getEmail()) .roleId(userRoleView.getRoleId()) .role(userRoleView.getRole()) diff --git a/src/main/java/com/iconplus/smartproc/service/rksdaftarisi/DeleteRksDaftarIsiService.java b/src/main/java/com/iconplus/smartproc/service/rksdaftarisi/DeleteRksDaftarIsiService.java new file mode 100644 index 0000000..73df695 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/rksdaftarisi/DeleteRksDaftarIsiService.java @@ -0,0 +1,37 @@ +package com.iconplus.smartproc.service.rksdaftarisi; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.model.EmptyResponse; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.RksDaftarIsiRequest; +import com.iconplus.smartproc.repository.RksDaftarIsiRepository; +import com.iconplus.smartproc.repository.RksIsiRepository; +import com.iconplus.smartproc.util.Constants; +import org.springframework.stereotype.Service; + +@Service +public class DeleteRksDaftarIsiService implements BaseService { + + private final RksDaftarIsiRepository rksDaftarIsiRepository; + private final RksIsiRepository rksIsiRepository; + public DeleteRksDaftarIsiService(RksDaftarIsiRepository rksDaftarIsiRepository, + RksIsiRepository rksIsiRepository) { + this.rksDaftarIsiRepository = rksDaftarIsiRepository; + this.rksIsiRepository = rksIsiRepository; + } + + @Override + public EmptyResponse execute(RksDaftarIsiRequest input) { + + var rksDaftarIsi= rksDaftarIsiRepository.findByIdAndIsDeleteFalse(input.getId()) + .orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, "RKS Daftar Isi", input.getId()))); + + rksDaftarIsi.setIsDelete(true); + rksDaftarIsiRepository.save(rksDaftarIsi); + rksIsiRepository.deleteRksIsi(rksDaftarIsi.getId()); + + return new EmptyResponse(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/rks/GetListRksDaftarIsiService.java b/src/main/java/com/iconplus/smartproc/service/rksdaftarisi/GetListRksDaftarIsiService.java similarity index 97% rename from src/main/java/com/iconplus/smartproc/service/rks/GetListRksDaftarIsiService.java rename to src/main/java/com/iconplus/smartproc/service/rksdaftarisi/GetListRksDaftarIsiService.java index 18b2361..9373727 100644 --- a/src/main/java/com/iconplus/smartproc/service/rks/GetListRksDaftarIsiService.java +++ b/src/main/java/com/iconplus/smartproc/service/rksdaftarisi/GetListRksDaftarIsiService.java @@ -1,4 +1,4 @@ -package com.iconplus.smartproc.service.rks; +package com.iconplus.smartproc.service.rksdaftarisi; import com.iconplus.smartproc.helper.model.Pagination; import com.iconplus.smartproc.helper.service.BaseService; diff --git a/src/main/java/com/iconplus/smartproc/service/rks/GetListRksIsiService.java b/src/main/java/com/iconplus/smartproc/service/rksdaftarisi/GetListRksIsiService.java similarity index 97% rename from src/main/java/com/iconplus/smartproc/service/rks/GetListRksIsiService.java rename to src/main/java/com/iconplus/smartproc/service/rksdaftarisi/GetListRksIsiService.java index 38c58d2..7be02c0 100644 --- a/src/main/java/com/iconplus/smartproc/service/rks/GetListRksIsiService.java +++ b/src/main/java/com/iconplus/smartproc/service/rksdaftarisi/GetListRksIsiService.java @@ -1,4 +1,4 @@ -package com.iconplus.smartproc.service.rks; +package com.iconplus.smartproc.service.rksdaftarisi; import com.iconplus.smartproc.helper.model.Pagination; import com.iconplus.smartproc.helper.service.BaseService; diff --git a/src/main/java/com/iconplus/smartproc/service/rks/PostCreateRksDaftarIsiService.java b/src/main/java/com/iconplus/smartproc/service/rksdaftarisi/PostCreateRksDaftarIsiService.java similarity index 97% rename from src/main/java/com/iconplus/smartproc/service/rks/PostCreateRksDaftarIsiService.java rename to src/main/java/com/iconplus/smartproc/service/rksdaftarisi/PostCreateRksDaftarIsiService.java index 9a9a704..9ce43f1 100644 --- a/src/main/java/com/iconplus/smartproc/service/rks/PostCreateRksDaftarIsiService.java +++ b/src/main/java/com/iconplus/smartproc/service/rksdaftarisi/PostCreateRksDaftarIsiService.java @@ -1,4 +1,4 @@ -package com.iconplus.smartproc.service.rks; +package com.iconplus.smartproc.service.rksdaftarisi; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; diff --git a/src/main/java/com/iconplus/smartproc/service/rksdaftarisi/PutUpdateRksDaftarIsiService.java b/src/main/java/com/iconplus/smartproc/service/rksdaftarisi/PutUpdateRksDaftarIsiService.java new file mode 100644 index 0000000..b6ed2fc --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/rksdaftarisi/PutUpdateRksDaftarIsiService.java @@ -0,0 +1,38 @@ +package com.iconplus.smartproc.service.rksdaftarisi; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.RksDaftarIsiRequest; +import com.iconplus.smartproc.model.response.RksDaftarIsiResponse; +import com.iconplus.smartproc.repository.RksDaftarIsiRepository; +import com.iconplus.smartproc.util.Constants; +import org.springframework.stereotype.Service; + +@Service +public class PutUpdateRksDaftarIsiService implements BaseService { + + private final RksDaftarIsiRepository rksDaftarIsiRepository; + public PutUpdateRksDaftarIsiService(RksDaftarIsiRepository rksDaftarIsiRepository) { + this.rksDaftarIsiRepository = rksDaftarIsiRepository; + } + + @Override + public RksDaftarIsiResponse execute(RksDaftarIsiRequest input) { + + var rksDaftarIsi= rksDaftarIsiRepository.findByIdAndIsDeleteFalse(input.getId()) + .orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, "RKS Daftar Isi", input.getId()))); + + rksDaftarIsi.setKodeTemplate(input.getKodeTemplate()); + rksDaftarIsi.setNamaTemplate(input.getNamaTemplate()); + rksDaftarIsi.setMetodePengadaanId(input.getMetodePengadaanId()); + rksDaftarIsi.setVersi(input.getVersi()); + + rksDaftarIsiRepository.save(rksDaftarIsi); + + return RksDaftarIsiResponse.builder() + .id(rksDaftarIsi.getId()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/rkstemplate/DeleteRksTemplateService.java b/src/main/java/com/iconplus/smartproc/service/rkstemplate/DeleteRksTemplateService.java new file mode 100644 index 0000000..c203772 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/rkstemplate/DeleteRksTemplateService.java @@ -0,0 +1,34 @@ +package com.iconplus.smartproc.service.rkstemplate; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.model.EmptyResponse; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.RksTemplateRequest; +import com.iconplus.smartproc.repository.RksTemplateRepository; +import com.iconplus.smartproc.util.Constants; +import org.springframework.stereotype.Service; + +@Service +public class DeleteRksTemplateService implements BaseService { + + private final RksTemplateRepository rksTemplateRepository; + + public DeleteRksTemplateService(RksTemplateRepository rksTemplateRepository) { + this.rksTemplateRepository = rksTemplateRepository; + } + + @Override + public EmptyResponse execute(RksTemplateRequest input) { + var rksTemplate = rksTemplateRepository.findByIdAndIsDeleteFalse(input.getId()) + .orElseThrow(()-> new BusinessException( + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, "RKS Template", input.getId()) + )); + + rksTemplate.setIsDelete(true); + rksTemplateRepository.save(rksTemplate); + + return new EmptyResponse(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/rks/GetListRksTemplateService.java b/src/main/java/com/iconplus/smartproc/service/rkstemplate/GetListRksTemplateService.java similarity index 98% rename from src/main/java/com/iconplus/smartproc/service/rks/GetListRksTemplateService.java rename to src/main/java/com/iconplus/smartproc/service/rkstemplate/GetListRksTemplateService.java index 6533ab2..ccf4b4b 100644 --- a/src/main/java/com/iconplus/smartproc/service/rks/GetListRksTemplateService.java +++ b/src/main/java/com/iconplus/smartproc/service/rkstemplate/GetListRksTemplateService.java @@ -1,4 +1,4 @@ -package com.iconplus.smartproc.service.rks; +package com.iconplus.smartproc.service.rkstemplate; import com.iconplus.smartproc.helper.model.Pagination; import com.iconplus.smartproc.helper.service.BaseService; diff --git a/src/main/java/com/iconplus/smartproc/service/rks/PostCreateRksTemplateService.java b/src/main/java/com/iconplus/smartproc/service/rkstemplate/PostCreateRksTemplateService.java similarity index 97% rename from src/main/java/com/iconplus/smartproc/service/rks/PostCreateRksTemplateService.java rename to src/main/java/com/iconplus/smartproc/service/rkstemplate/PostCreateRksTemplateService.java index 2e5f94a..69d0fcc 100644 --- a/src/main/java/com/iconplus/smartproc/service/rks/PostCreateRksTemplateService.java +++ b/src/main/java/com/iconplus/smartproc/service/rkstemplate/PostCreateRksTemplateService.java @@ -1,4 +1,4 @@ -package com.iconplus.smartproc.service.rks; +package com.iconplus.smartproc.service.rkstemplate; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; diff --git a/src/main/java/com/iconplus/smartproc/service/rkstemplate/PutUpdateRksTemplateService.java b/src/main/java/com/iconplus/smartproc/service/rkstemplate/PutUpdateRksTemplateService.java new file mode 100644 index 0000000..99e9c8c --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/rkstemplate/PutUpdateRksTemplateService.java @@ -0,0 +1,42 @@ +package com.iconplus.smartproc.service.rkstemplate; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.request.RksTemplateRequest; +import com.iconplus.smartproc.model.response.RksTemplateResponse; +import com.iconplus.smartproc.repository.RksTemplateRepository; +import com.iconplus.smartproc.util.Constants; +import org.springframework.stereotype.Service; + +@Service +public class PutUpdateRksTemplateService implements BaseService { + + private final RksTemplateRepository rksTemplateRepository; + public PutUpdateRksTemplateService(RksTemplateRepository rksTemplateRepository) { + this.rksTemplateRepository = rksTemplateRepository; + } + + @Override + public RksTemplateResponse execute(RksTemplateRequest input) { + + var rksTemplate = rksTemplateRepository.findByIdAndIsDeleteFalse(input.getId()) + .orElseThrow(()-> new BusinessException( + Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, "RKS Template", input.getId()) + )); + + rksTemplate.setKodeTemplate(rksTemplate.getKodeTemplate()); + rksTemplate.setNamaTemplate(rksTemplate.getNamaTemplate()); + rksTemplate.setRksDaftarIsiId(rksTemplate.getRksDaftarIsiId()); + rksTemplate.setMetodePengadaanId(rksTemplate.getMetodePengadaanId()); + rksTemplate.setVersi(rksTemplate.getVersi()); + rksTemplate.setIsActive(rksTemplate.getIsActive()); + + rksTemplateRepository.save(rksTemplate); + + return RksTemplateResponse.builder() + .id(rksTemplate.getId()) + .build(); + } +}