From 3b7e7c5dc8cde296f54aa7c338da33b570b265db Mon Sep 17 00:00:00 2001 From: dirgantarasiahaan Date: Mon, 5 Jun 2023 11:29:59 +0700 Subject: [PATCH] remove id men --- .../smartproc/controller/RksController.java | 28 ++++++++----- .../model/projection/RksTemplateView.java | 35 +++++++++++++++++ .../response/ListRksTemplateResponse.java | 3 +- .../model/response/ParentMenusResponse.java | 5 +++ .../model/response/RksTemplateResponse.java | 2 + .../smartproc/repository/MenusRepository.java | 6 +-- .../repository/RksTemplateRepository.java | 19 +++++++++ .../service/authentication/LoginService.java | 1 - .../rks/GetListRksTemplateService.java | 39 ++++++++++++++++++- .../rks/PostCreateRksTemplateService.java | 2 + 10 files changed, 123 insertions(+), 17 deletions(-) create mode 100644 src/main/java/com/iconplus/smartproc/model/projection/RksTemplateView.java diff --git a/src/main/java/com/iconplus/smartproc/controller/RksController.java b/src/main/java/com/iconplus/smartproc/controller/RksController.java index 1dff2cf..b6bc7a9 100644 --- a/src/main/java/com/iconplus/smartproc/controller/RksController.java +++ b/src/main/java/com/iconplus/smartproc/controller/RksController.java @@ -3,14 +3,8 @@ package com.iconplus.smartproc.controller; 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.ListRksDaftarIsiResponse; -import com.iconplus.smartproc.model.response.ListRksIsiResponse; -import com.iconplus.smartproc.model.response.RksDaftarIsiResponse; -import com.iconplus.smartproc.model.response.RksTemplateResponse; -import com.iconplus.smartproc.service.rks.GetListRksDaftarIsiService; -import com.iconplus.smartproc.service.rks.GetListRksIsiService; -import com.iconplus.smartproc.service.rks.PostCreateRksDaftarIsiService; -import com.iconplus.smartproc.service.rks.PostCreateRksTemplateService; +import com.iconplus.smartproc.model.response.*; +import com.iconplus.smartproc.service.rks.*; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.web.bind.annotation.*; @@ -24,14 +18,17 @@ public class RksController { 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) { + PostCreateRksTemplateService postCreateRksTemplateService, + GetListRksTemplateService getListRksTemplateService) { this.getListRksDaftarIsiService = getListRksDaftarIsiService; this.postCreateRksDaftarIsiService = postCreateRksDaftarIsiService; this.getListRksIsiService = getListRksIsiService; this.postCreateRksTemplateService = postCreateRksTemplateService; + this.getListRksTemplateService = getListRksTemplateService; } @@ -71,4 +68,17 @@ public class RksController { return postCreateRksTemplateService.execute(rksTemplateRequest); } + @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); + + } + } diff --git a/src/main/java/com/iconplus/smartproc/model/projection/RksTemplateView.java b/src/main/java/com/iconplus/smartproc/model/projection/RksTemplateView.java new file mode 100644 index 0000000..ab3ce5e --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/projection/RksTemplateView.java @@ -0,0 +1,35 @@ +package com.iconplus.smartproc.model.projection; + +public interface RksTemplateView { + + Long getId(); + void setId(Long id); + + String getKodeTemplate(); + void setKodeTemplate(String kodeTemplate); + + String getNamaTemplate(); + void setNamaTemplate(String namaTemplate); + + Long getMetodePengadaanId(); + void setMetodePengadaanId(Long metodePengadaanId); + + String getMetodePengadaan(); + void setMetodePengadaan(String metodePengadaan); + + String getVersi(); + void setVersi(String versi); + + Long getRksDaftarIsiId(); + void setRksDaftarIsiId(Long rksDaftarIsiId); + + String getDaftarIsi(); + void setDaftarIsi(String daftarIsi); + + Boolean getIsActive(); + void setIsActive(Boolean isActive); + + Boolean getIsDelete(); + void setIsDelete(Boolean isDelete); + +} diff --git a/src/main/java/com/iconplus/smartproc/model/response/ListRksTemplateResponse.java b/src/main/java/com/iconplus/smartproc/model/response/ListRksTemplateResponse.java index 61e957c..4d55ba5 100644 --- a/src/main/java/com/iconplus/smartproc/model/response/ListRksTemplateResponse.java +++ b/src/main/java/com/iconplus/smartproc/model/response/ListRksTemplateResponse.java @@ -2,7 +2,6 @@ package com.iconplus.smartproc.model.response; import com.iconplus.smartproc.helper.base.BaseResponse; import com.iconplus.smartproc.helper.model.Pagination; -import com.iconplus.smartproc.model.entity.RksTemplate; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -16,6 +15,6 @@ import java.util.List; @NoArgsConstructor public class ListRksTemplateResponse extends BaseResponse { - private List data; + private List data; private Pagination pagination; } diff --git a/src/main/java/com/iconplus/smartproc/model/response/ParentMenusResponse.java b/src/main/java/com/iconplus/smartproc/model/response/ParentMenusResponse.java index 3245894..e4adbd6 100644 --- a/src/main/java/com/iconplus/smartproc/model/response/ParentMenusResponse.java +++ b/src/main/java/com/iconplus/smartproc/model/response/ParentMenusResponse.java @@ -1,11 +1,14 @@ package com.iconplus.smartproc.model.response; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import com.iconplus.smartproc.helper.base.BaseResponse; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import javax.persistence.Transient; import java.util.List; @Data @@ -14,7 +17,9 @@ import java.util.List; @NoArgsConstructor public class ParentMenusResponse extends BaseResponse { + @JsonIgnore private Long id; + private String text; private String icon; private String path; diff --git a/src/main/java/com/iconplus/smartproc/model/response/RksTemplateResponse.java b/src/main/java/com/iconplus/smartproc/model/response/RksTemplateResponse.java index e9a669b..3a90fd1 100644 --- a/src/main/java/com/iconplus/smartproc/model/response/RksTemplateResponse.java +++ b/src/main/java/com/iconplus/smartproc/model/response/RksTemplateResponse.java @@ -16,8 +16,10 @@ public class RksTemplateResponse extends BaseResponse { private String kodeTemplate; private String namaTemplate; private Long metodePengadaanId; + private String metodePengadaan; private String versi; private Long rksDaftarIsiId; + private String daftarIsi; private Boolean isActive; private Boolean isDelete; diff --git a/src/main/java/com/iconplus/smartproc/repository/MenusRepository.java b/src/main/java/com/iconplus/smartproc/repository/MenusRepository.java index ff97917..33ae8f9 100644 --- a/src/main/java/com/iconplus/smartproc/repository/MenusRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/MenusRepository.java @@ -17,9 +17,9 @@ public interface MenusRepository extends JpaRepository { @Query(value = "SELECT m " + "FROM Menus m " + - "WHERE m.id in (SELECT DISTINCT(s.parentId) from Menus s " + - "order by s.parentId) " + - "AND m.isDelete = false") + "WHERE m.parentId = 0 " + + "AND m.isDelete = false " + + "ORDER BY m.urutan") List findAllParentMenu(); diff --git a/src/main/java/com/iconplus/smartproc/repository/RksTemplateRepository.java b/src/main/java/com/iconplus/smartproc/repository/RksTemplateRepository.java index a87a56d..e5f1a2f 100644 --- a/src/main/java/com/iconplus/smartproc/repository/RksTemplateRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/RksTemplateRepository.java @@ -1,7 +1,11 @@ package com.iconplus.smartproc.repository; import com.iconplus.smartproc.model.entity.RksTemplate; +import com.iconplus.smartproc.model.projection.RksTemplateView; +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; @@ -11,4 +15,19 @@ public interface RksTemplateRepository extends JpaRepository Optional findByKodeTemplateAndIsDeleteFalse(String kodeTemplate); + @Query(value = "SELECT rt.id as id, " + + "rt.kode_template as kodeTemplate, " + + "rt.namaTemplate as namaTemplate, " + + "rt.metode_pengadaan_id as metodePengadaanId, " + + "m.metode_pengadaan 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) + Page getListRksTemplate(Pageable pageable); + } 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 06e0d64..253e99c 100644 --- a/src/main/java/com/iconplus/smartproc/service/authentication/LoginService.java +++ b/src/main/java/com/iconplus/smartproc/service/authentication/LoginService.java @@ -124,7 +124,6 @@ public class LoginService implements BaseService { for (MenusPermissionResponse menusPermissionResponse : menusPermissionResponseList) { if (parentMenusResponse.getId().equals(menusPermissionResponse.getParentId())) { MenusResponse menusResponse = MenusResponse.builder() - .id(menusPermissionResponse.getId()) .text(menusPermissionResponse.getNama()) .path(menusPermissionResponse.getLink()) .canView(menusPermissionResponse.getCanView()) diff --git a/src/main/java/com/iconplus/smartproc/service/rks/GetListRksTemplateService.java b/src/main/java/com/iconplus/smartproc/service/rks/GetListRksTemplateService.java index ca8c679..6533ab2 100644 --- a/src/main/java/com/iconplus/smartproc/service/rks/GetListRksTemplateService.java +++ b/src/main/java/com/iconplus/smartproc/service/rks/GetListRksTemplateService.java @@ -1,11 +1,17 @@ package com.iconplus.smartproc.service.rks; +import com.iconplus.smartproc.helper.model.Pagination; import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.projection.RksTemplateView; import com.iconplus.smartproc.model.request.RksTemplateRequest; import com.iconplus.smartproc.model.response.ListRksTemplateResponse; +import com.iconplus.smartproc.model.response.RksTemplateResponse; import com.iconplus.smartproc.repository.RksTemplateRepository; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + @Service public class GetListRksTemplateService implements BaseService { @@ -15,7 +21,36 @@ public class GetListRksTemplateService implements BaseService rksTemplateResponseList = new ArrayList<>(); + for (RksTemplateView rksTemplateView : rksTemplateViews) { + RksTemplateResponse rksTemplateResponse = RksTemplateResponse.builder() + .id(rksTemplateView.getId()) + .kodeTemplate(rksTemplateView.getKodeTemplate()) + .namaTemplate(rksTemplateView.getNamaTemplate()) + .metodePengadaanId(rksTemplateView.getMetodePengadaanId()) + .metodePengadaan(rksTemplateView.getMetodePengadaan()) + .versi(rksTemplateView.getVersi()) + .rksDaftarIsiId(rksTemplateView.getRksDaftarIsiId()) + .daftarIsi(rksTemplateView.getDaftarIsi()) + .isActive(rksTemplateView.getIsActive()) + .build(); + rksTemplateResponseList.add(rksTemplateResponse); + } + + return ListRksTemplateResponse.builder() + .data(rksTemplateResponseList) + .pagination(Pagination.builder() + .pageSize(input.getPageable().getPageSize()) + .currentPage(input.getPageable().getPageNumber()) + .totalPages(rksTemplateViews.getTotalPages()) + .totalRecords(rksTemplateViews.getTotalElements()) + .isFirstPage(rksTemplateViews.isFirst()) + .isLastPage(rksTemplateViews.isLast()) + .build()) + .build(); } } diff --git a/src/main/java/com/iconplus/smartproc/service/rks/PostCreateRksTemplateService.java b/src/main/java/com/iconplus/smartproc/service/rks/PostCreateRksTemplateService.java index ca20a00..2e5f94a 100644 --- a/src/main/java/com/iconplus/smartproc/service/rks/PostCreateRksTemplateService.java +++ b/src/main/java/com/iconplus/smartproc/service/rks/PostCreateRksTemplateService.java @@ -7,6 +7,7 @@ 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.apache.commons.lang3.BooleanUtils; import org.springframework.stereotype.Service; @Service @@ -33,6 +34,7 @@ public class PostCreateRksTemplateService implements BaseService