remove id men

This commit is contained in:
dirgantarasiahaan 2023-06-05 11:29:59 +07:00
parent 180575ce4f
commit 3b7e7c5dc8
10 changed files with 123 additions and 17 deletions

View File

@ -3,14 +3,8 @@ package com.iconplus.smartproc.controller;
import com.iconplus.smartproc.model.request.RksDaftarIsiRequest; import com.iconplus.smartproc.model.request.RksDaftarIsiRequest;
import com.iconplus.smartproc.model.request.RksIsiRequest; import com.iconplus.smartproc.model.request.RksIsiRequest;
import com.iconplus.smartproc.model.request.RksTemplateRequest; import com.iconplus.smartproc.model.request.RksTemplateRequest;
import com.iconplus.smartproc.model.response.ListRksDaftarIsiResponse; import com.iconplus.smartproc.model.response.*;
import com.iconplus.smartproc.model.response.ListRksIsiResponse; import com.iconplus.smartproc.service.rks.*;
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 org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -24,14 +18,17 @@ public class RksController {
private final PostCreateRksDaftarIsiService postCreateRksDaftarIsiService; private final PostCreateRksDaftarIsiService postCreateRksDaftarIsiService;
private final GetListRksIsiService getListRksIsiService; private final GetListRksIsiService getListRksIsiService;
private final PostCreateRksTemplateService postCreateRksTemplateService; private final PostCreateRksTemplateService postCreateRksTemplateService;
private final GetListRksTemplateService getListRksTemplateService;
public RksController(GetListRksDaftarIsiService getListRksDaftarIsiService, public RksController(GetListRksDaftarIsiService getListRksDaftarIsiService,
PostCreateRksDaftarIsiService postCreateRksDaftarIsiService, PostCreateRksDaftarIsiService postCreateRksDaftarIsiService,
GetListRksIsiService getListRksIsiService, GetListRksIsiService getListRksIsiService,
PostCreateRksTemplateService postCreateRksTemplateService) { PostCreateRksTemplateService postCreateRksTemplateService,
GetListRksTemplateService getListRksTemplateService) {
this.getListRksDaftarIsiService = getListRksDaftarIsiService; this.getListRksDaftarIsiService = getListRksDaftarIsiService;
this.postCreateRksDaftarIsiService = postCreateRksDaftarIsiService; this.postCreateRksDaftarIsiService = postCreateRksDaftarIsiService;
this.getListRksIsiService = getListRksIsiService; this.getListRksIsiService = getListRksIsiService;
this.postCreateRksTemplateService = postCreateRksTemplateService; this.postCreateRksTemplateService = postCreateRksTemplateService;
this.getListRksTemplateService = getListRksTemplateService;
} }
@ -71,4 +68,17 @@ public class RksController {
return postCreateRksTemplateService.execute(rksTemplateRequest); 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);
}
} }

View File

@ -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);
}

View File

@ -2,7 +2,6 @@ package com.iconplus.smartproc.model.response;
import com.iconplus.smartproc.helper.base.BaseResponse; import com.iconplus.smartproc.helper.base.BaseResponse;
import com.iconplus.smartproc.helper.model.Pagination; import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.model.entity.RksTemplate;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -16,6 +15,6 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
public class ListRksTemplateResponse extends BaseResponse { public class ListRksTemplateResponse extends BaseResponse {
private List<RksTemplate> data; private List<RksTemplateResponse> data;
private Pagination pagination; private Pagination pagination;
} }

View File

@ -1,11 +1,14 @@
package com.iconplus.smartproc.model.response; 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 com.iconplus.smartproc.helper.base.BaseResponse;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.persistence.Transient;
import java.util.List; import java.util.List;
@Data @Data
@ -14,7 +17,9 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
public class ParentMenusResponse extends BaseResponse { public class ParentMenusResponse extends BaseResponse {
@JsonIgnore
private Long id; private Long id;
private String text; private String text;
private String icon; private String icon;
private String path; private String path;

View File

@ -16,8 +16,10 @@ public class RksTemplateResponse extends BaseResponse {
private String kodeTemplate; private String kodeTemplate;
private String namaTemplate; private String namaTemplate;
private Long metodePengadaanId; private Long metodePengadaanId;
private String metodePengadaan;
private String versi; private String versi;
private Long rksDaftarIsiId; private Long rksDaftarIsiId;
private String daftarIsi;
private Boolean isActive; private Boolean isActive;
private Boolean isDelete; private Boolean isDelete;

View File

@ -17,9 +17,9 @@ public interface MenusRepository extends JpaRepository<Menus, Long> {
@Query(value = "SELECT m " + @Query(value = "SELECT m " +
"FROM Menus m " + "FROM Menus m " +
"WHERE m.id in (SELECT DISTINCT(s.parentId) from Menus s " + "WHERE m.parentId = 0 " +
"order by s.parentId) " + "AND m.isDelete = false " +
"AND m.isDelete = false") "ORDER BY m.urutan")
List<Menus> findAllParentMenu(); List<Menus> findAllParentMenu();

View File

@ -1,7 +1,11 @@
package com.iconplus.smartproc.repository; package com.iconplus.smartproc.repository;
import com.iconplus.smartproc.model.entity.RksTemplate; 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.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.Optional; import java.util.Optional;
@ -11,4 +15,19 @@ public interface RksTemplateRepository extends JpaRepository<RksTemplate, Long>
Optional<RksTemplate> findByKodeTemplateAndIsDeleteFalse(String kodeTemplate); Optional<RksTemplate> 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<RksTemplateView> getListRksTemplate(Pageable pageable);
} }

View File

@ -124,7 +124,6 @@ public class LoginService implements BaseService<LoginRequest, LoginResponse> {
for (MenusPermissionResponse menusPermissionResponse : menusPermissionResponseList) { for (MenusPermissionResponse menusPermissionResponse : menusPermissionResponseList) {
if (parentMenusResponse.getId().equals(menusPermissionResponse.getParentId())) { if (parentMenusResponse.getId().equals(menusPermissionResponse.getParentId())) {
MenusResponse menusResponse = MenusResponse.builder() MenusResponse menusResponse = MenusResponse.builder()
.id(menusPermissionResponse.getId())
.text(menusPermissionResponse.getNama()) .text(menusPermissionResponse.getNama())
.path(menusPermissionResponse.getLink()) .path(menusPermissionResponse.getLink())
.canView(menusPermissionResponse.getCanView()) .canView(menusPermissionResponse.getCanView())

View File

@ -1,11 +1,17 @@
package com.iconplus.smartproc.service.rks; package com.iconplus.smartproc.service.rks;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService; 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.request.RksTemplateRequest;
import com.iconplus.smartproc.model.response.ListRksTemplateResponse; import com.iconplus.smartproc.model.response.ListRksTemplateResponse;
import com.iconplus.smartproc.model.response.RksTemplateResponse;
import com.iconplus.smartproc.repository.RksTemplateRepository; import com.iconplus.smartproc.repository.RksTemplateRepository;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service @Service
public class GetListRksTemplateService implements BaseService<RksTemplateRequest, ListRksTemplateResponse> { public class GetListRksTemplateService implements BaseService<RksTemplateRequest, ListRksTemplateResponse> {
@ -15,7 +21,36 @@ public class GetListRksTemplateService implements BaseService<RksTemplateRequest
} }
@Override @Override
public ListRksTemplateResponse execute(RksTemplateRequest input) throws Exception { public ListRksTemplateResponse execute(RksTemplateRequest input) {
return null;
var rksTemplateViews = rksTemplateRepository.getListRksTemplate(input.getPageable());
List<RksTemplateResponse> 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();
} }
} }

View File

@ -7,6 +7,7 @@ import com.iconplus.smartproc.model.request.RksTemplateRequest;
import com.iconplus.smartproc.model.response.RksTemplateResponse; import com.iconplus.smartproc.model.response.RksTemplateResponse;
import com.iconplus.smartproc.repository.RksTemplateRepository; import com.iconplus.smartproc.repository.RksTemplateRepository;
import com.iconplus.smartproc.util.Constants; import com.iconplus.smartproc.util.Constants;
import org.apache.commons.lang3.BooleanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -33,6 +34,7 @@ public class PostCreateRksTemplateService implements BaseService<RksTemplateRequ
.metodePengadaanId(input.getMetodePengadaanId()) .metodePengadaanId(input.getMetodePengadaanId())
.rksDaftarIsiId(input.getRksDaftarIsiId()) .rksDaftarIsiId(input.getRksDaftarIsiId())
.versi(input.getVersi()) .versi(input.getVersi())
.isActive(BooleanUtils.isTrue(input.getIsActive()))
.isDelete(false) .isDelete(false)
.build(); .build();