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

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.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<RksTemplate> data;
private List<RksTemplateResponse> data;
private Pagination pagination;
}

View File

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

View File

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

View File

@ -17,9 +17,9 @@ public interface MenusRepository extends JpaRepository<Menus, Long> {
@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<Menus> findAllParentMenu();

View File

@ -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<RksTemplate, Long>
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) {
if (parentMenusResponse.getId().equals(menusPermissionResponse.getParentId())) {
MenusResponse menusResponse = MenusResponse.builder()
.id(menusPermissionResponse.getId())
.text(menusPermissionResponse.getNama())
.path(menusPermissionResponse.getLink())
.canView(menusPermissionResponse.getCanView())

View File

@ -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<RksTemplateRequest, ListRksTemplateResponse> {
@ -15,7 +21,36 @@ public class GetListRksTemplateService implements BaseService<RksTemplateRequest
}
@Override
public ListRksTemplateResponse execute(RksTemplateRequest input) throws Exception {
return null;
public ListRksTemplateResponse execute(RksTemplateRequest input) {
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.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<RksTemplateRequ
.metodePengadaanId(input.getMetodePengadaanId())
.rksDaftarIsiId(input.getRksDaftarIsiId())
.versi(input.getVersi())
.isActive(BooleanUtils.isTrue(input.getIsActive()))
.isDelete(false)
.build();