add path
This commit is contained in:
parent
abc89d32d0
commit
180575ce4f
@ -0,0 +1,74 @@
|
|||||||
|
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 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 {
|
||||||
|
|
||||||
|
private final GetListRksDaftarIsiService getListRksDaftarIsiService;
|
||||||
|
private final PostCreateRksDaftarIsiService postCreateRksDaftarIsiService;
|
||||||
|
private final GetListRksIsiService getListRksIsiService;
|
||||||
|
private final PostCreateRksTemplateService postCreateRksTemplateService;
|
||||||
|
public RksController(GetListRksDaftarIsiService getListRksDaftarIsiService,
|
||||||
|
PostCreateRksDaftarIsiService postCreateRksDaftarIsiService,
|
||||||
|
GetListRksIsiService getListRksIsiService,
|
||||||
|
PostCreateRksTemplateService postCreateRksTemplateService) {
|
||||||
|
this.getListRksDaftarIsiService = getListRksDaftarIsiService;
|
||||||
|
this.postCreateRksDaftarIsiService = postCreateRksDaftarIsiService;
|
||||||
|
this.getListRksIsiService = getListRksIsiService;
|
||||||
|
this.postCreateRksTemplateService = postCreateRksTemplateService;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/daftar-isi")
|
||||||
|
public ListRksDaftarIsiResponse getAllRksDaftarIsi(@RequestParam(name = "page", defaultValue = "1") Integer page,
|
||||||
|
@RequestParam(name = "size", defaultValue = "5") Integer size){
|
||||||
|
|
||||||
|
Pageable pageable = PageRequest.of((page - 1), size);
|
||||||
|
RksDaftarIsiRequest rksDaftarIsiRequest = RksDaftarIsiRequest.builder()
|
||||||
|
.pageable(pageable)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
return getListRksDaftarIsiService.execute(rksDaftarIsiRequest);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/daftar-isi")
|
||||||
|
public RksDaftarIsiResponse createRksDaftarIsi(@RequestBody RksDaftarIsiRequest rksDaftarIsiRequest) {
|
||||||
|
return postCreateRksDaftarIsiService.execute(rksDaftarIsiRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/daftar-isi/{id}/isi")
|
||||||
|
public ListRksIsiResponse getListRksIsi(@PathVariable(name = "id") Long id,
|
||||||
|
@RequestParam(name = "page", defaultValue = "1") Integer page,
|
||||||
|
@RequestParam(name = "size", defaultValue = "5") Integer size) {
|
||||||
|
|
||||||
|
Pageable pageable = PageRequest.of((page - 1), size);
|
||||||
|
RksIsiRequest rksIsiRequest = RksIsiRequest.builder()
|
||||||
|
.rksDaftarIsiId(id)
|
||||||
|
.pageable(pageable)
|
||||||
|
.build();
|
||||||
|
return getListRksIsiService.execute(rksIsiRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/template")
|
||||||
|
public RksTemplateResponse createRksTemplate(@RequestBody RksTemplateRequest rksTemplateRequest) {
|
||||||
|
return postCreateRksTemplateService.execute(rksTemplateRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,45 @@
|
|||||||
|
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.*;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Entity
|
||||||
|
@Table(name = "rks_daftar_isi")
|
||||||
|
public class RksDaftarIsi extends BaseEntity {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
@Column(name = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@Column(name = "kode_template")
|
||||||
|
private String kodeTemplate;
|
||||||
|
|
||||||
|
@Column(name = "nama_template")
|
||||||
|
private String namaTemplate;
|
||||||
|
|
||||||
|
@Column(name = "metode_pengadaan_id")
|
||||||
|
private Long metodePengadaanId;
|
||||||
|
|
||||||
|
@Column(name = "versi")
|
||||||
|
private String versi;
|
||||||
|
|
||||||
|
@Column(name = "is_active")
|
||||||
|
@Type(type = "org.hibernate.type.NumericBooleanType")
|
||||||
|
private Boolean isActive;
|
||||||
|
|
||||||
|
@Column(name = "is_delete")
|
||||||
|
@Type(type = "org.hibernate.type.NumericBooleanType")
|
||||||
|
private Boolean isDelete;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,58 @@
|
|||||||
|
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.*;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Entity
|
||||||
|
@Table(name = "rks_isi")
|
||||||
|
public class RksIsi extends BaseEntity {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
@Column(name = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@Column(name = "rks_daftar_isi_id")
|
||||||
|
private Long rksDaftarIsiId;
|
||||||
|
|
||||||
|
@Column(name = "nomor")
|
||||||
|
private String nomor;
|
||||||
|
|
||||||
|
@Column(name = "parent_id")
|
||||||
|
private Integer parentId;
|
||||||
|
|
||||||
|
@Column(name = "nama")
|
||||||
|
private String nama;
|
||||||
|
|
||||||
|
@Column(name = "bab")
|
||||||
|
private String bab;
|
||||||
|
|
||||||
|
@Column(name = "sub_bab")
|
||||||
|
private String subBab;
|
||||||
|
|
||||||
|
@Column(name = "urutan")
|
||||||
|
private String urutan;
|
||||||
|
|
||||||
|
@Column(name = "is_kontrak")
|
||||||
|
@Type(type = "org.hibernate.type.NumericBooleanType")
|
||||||
|
private Boolean isKontrak;
|
||||||
|
|
||||||
|
@Column(name = "is_active")
|
||||||
|
@Type(type = "org.hibernate.type.NumericBooleanType")
|
||||||
|
private Boolean isActive;
|
||||||
|
|
||||||
|
@Column(name = "is_delete")
|
||||||
|
@Type(type = "org.hibernate.type.NumericBooleanType")
|
||||||
|
private Boolean isDelete;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,47 @@
|
|||||||
|
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.*;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Entity
|
||||||
|
@Table(name = "rks_template")
|
||||||
|
public class RksTemplate extends BaseEntity {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
@Column(name = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@Column(name = "kode_template")
|
||||||
|
private String kodeTemplate;
|
||||||
|
|
||||||
|
@Column(name = "nama_template")
|
||||||
|
private String namaTemplate;
|
||||||
|
|
||||||
|
@Column(name = "metode_pengadaan_id")
|
||||||
|
private Long metodePengadaanId;
|
||||||
|
|
||||||
|
@Column(name = "versi")
|
||||||
|
private String versi;
|
||||||
|
|
||||||
|
@Column(name = "rks_daftar_isi_id")
|
||||||
|
private Long rksDaftarIsiId;
|
||||||
|
|
||||||
|
@Column(name = "is_active")
|
||||||
|
@Type(type = "org.hibernate.type.NumericBooleanType")
|
||||||
|
private Boolean isActive;
|
||||||
|
|
||||||
|
@Column(name = "is_delete")
|
||||||
|
@Type(type = "org.hibernate.type.NumericBooleanType")
|
||||||
|
private Boolean isDelete;
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
package com.iconplus.smartproc.model.projection;
|
||||||
|
|
||||||
|
public interface RksDaftarIsiView {
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
Boolean getIsActive();
|
||||||
|
void setIsActive(Boolean isActive);
|
||||||
|
|
||||||
|
Boolean getIsDelete();
|
||||||
|
void setIsDelete(Boolean isDelete);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
package com.iconplus.smartproc.model.request;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.helper.base.BaseRequest;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class RksDaftarIsiRequest extends BaseRequest {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
private String kodeTemplate;
|
||||||
|
private String namaTemplate;
|
||||||
|
private Long metodePengadaanId;
|
||||||
|
private String versi;
|
||||||
|
|
||||||
|
private transient Pageable pageable;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
package com.iconplus.smartproc.model.request;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.helper.base.BaseRequest;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
|
|
||||||
|
import javax.persistence.Column;
|
||||||
|
import javax.persistence.GeneratedValue;
|
||||||
|
import javax.persistence.GenerationType;
|
||||||
|
import javax.persistence.Id;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class RksIsiRequest extends BaseRequest {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
private Long rksDaftarIsiId;
|
||||||
|
private String nomor;
|
||||||
|
private Integer parentId;
|
||||||
|
private String nama;
|
||||||
|
private String bab;
|
||||||
|
private String subBab;
|
||||||
|
private String urutan;
|
||||||
|
private Boolean isKontrak;
|
||||||
|
private Boolean isActive;
|
||||||
|
private Boolean isDelete;
|
||||||
|
|
||||||
|
private transient Pageable pageable;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.iconplus.smartproc.model.request;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.helper.base.BaseRequest;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class RksTemplateRequest extends BaseRequest {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
private String kodeTemplate;
|
||||||
|
private String namaTemplate;
|
||||||
|
private Long metodePengadaanId;
|
||||||
|
private String versi;
|
||||||
|
private Long rksDaftarIsiId;
|
||||||
|
private Boolean isActive;
|
||||||
|
private Boolean isDelete;
|
||||||
|
|
||||||
|
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
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class ListRksDaftarIsiResponse extends BaseResponse {
|
||||||
|
|
||||||
|
private List<RksDaftarIsiResponse> data;
|
||||||
|
private Pagination pagination;
|
||||||
|
}
|
@ -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
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class ListRksIsiResponse extends BaseResponse {
|
||||||
|
|
||||||
|
private List<RksIsiResponse> data;
|
||||||
|
private Pagination pagination;
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
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;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class ListRksTemplateResponse extends BaseResponse {
|
||||||
|
|
||||||
|
private List<RksTemplate> data;
|
||||||
|
private Pagination pagination;
|
||||||
|
}
|
@ -17,5 +17,6 @@ public class ParentMenusResponse extends BaseResponse {
|
|||||||
private Long id;
|
private Long id;
|
||||||
private String text;
|
private String text;
|
||||||
private String icon;
|
private String icon;
|
||||||
|
private String path;
|
||||||
private List<MenusResponse> items;
|
private List<MenusResponse> items;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
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
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class RksDaftarIsiResponse extends BaseResponse {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
private String kodeTemplate;
|
||||||
|
private String namaTemplate;
|
||||||
|
private Long metodePengadaanId;
|
||||||
|
private String metodePengadaan;
|
||||||
|
private String versi;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
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
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class RksIsiResponse extends BaseResponse {
|
||||||
|
private Long id;
|
||||||
|
private Long rksDaftarIsiId;
|
||||||
|
private String nomor;
|
||||||
|
private Integer parentId;
|
||||||
|
private String nama;
|
||||||
|
private String bab;
|
||||||
|
private String subBab;
|
||||||
|
private String urutan;
|
||||||
|
private Boolean isKontrak;
|
||||||
|
private Boolean isActive;
|
||||||
|
private Boolean isDelete;
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
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
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class RksTemplateResponse extends BaseResponse {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
private String kodeTemplate;
|
||||||
|
private String namaTemplate;
|
||||||
|
private Long metodePengadaanId;
|
||||||
|
private String versi;
|
||||||
|
private Long rksDaftarIsiId;
|
||||||
|
private Boolean isActive;
|
||||||
|
private Boolean isDelete;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
package com.iconplus.smartproc.repository;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.model.entity.RksDaftarIsi;
|
||||||
|
import com.iconplus.smartproc.model.projection.RksDaftarIsiView;
|
||||||
|
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 RksDaftarIsiRepository extends JpaRepository<RksDaftarIsi, Long> {
|
||||||
|
|
||||||
|
@Query(value = "SELECT rki.id as id, " +
|
||||||
|
"rki.kodeTemplate as kodeTemplate, " +
|
||||||
|
"rki.namaTemplate as namaTemplate, " +
|
||||||
|
"rki.metodePengadaanId as metodePengadaanId, " +
|
||||||
|
"mp.metodePengadaan as metodePengadaan " +
|
||||||
|
"FROM RksDaftarIsi rki " +
|
||||||
|
"JOIN MetodePengadaan mp ON mp.id = rki.metodePengadaanId " +
|
||||||
|
"WHERE rki.isDelete = false " +
|
||||||
|
"ORDER BY rki.kodeTemplate")
|
||||||
|
Page<RksDaftarIsiView> getListRksDaftarIsi(Pageable pageable);
|
||||||
|
|
||||||
|
Optional<RksDaftarIsi> findByKodeTemplateAndIsDeleteFalse(String kodeTemplate);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
package com.iconplus.smartproc.repository;
|
||||||
|
|
||||||
|
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.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface RksIsiRepository extends JpaRepository<RksIsi, Long> {
|
||||||
|
|
||||||
|
Page<RksIsi> findByRksDaftarIsiIdAndIsDeleteFalse(Long rksDaftarIsiId, Pageable pageable);
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
package com.iconplus.smartproc.repository;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.model.entity.RksTemplate;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface RksTemplateRepository extends JpaRepository<RksTemplate, Long> {
|
||||||
|
|
||||||
|
Optional<RksTemplate> findByKodeTemplateAndIsDeleteFalse(String kodeTemplate);
|
||||||
|
|
||||||
|
}
|
@ -87,6 +87,7 @@ public class LoginService implements BaseService<LoginRequest, LoginResponse> {
|
|||||||
.id(menus.getId())
|
.id(menus.getId())
|
||||||
.text(menus.getNama())
|
.text(menus.getNama())
|
||||||
.icon(menus.getIcon())
|
.icon(menus.getIcon())
|
||||||
|
.path(menus.getLink())
|
||||||
.items(new ArrayList<>())
|
.items(new ArrayList<>())
|
||||||
.build();
|
.build();
|
||||||
parentMenusResponseList.add(parentMenusResponse);
|
parentMenusResponseList.add(parentMenusResponse);
|
||||||
|
@ -0,0 +1,52 @@
|
|||||||
|
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.RksDaftarIsiView;
|
||||||
|
import com.iconplus.smartproc.model.request.RksDaftarIsiRequest;
|
||||||
|
import com.iconplus.smartproc.model.response.ListRksDaftarIsiResponse;
|
||||||
|
import com.iconplus.smartproc.model.response.RksDaftarIsiResponse;
|
||||||
|
import com.iconplus.smartproc.repository.RksDaftarIsiRepository;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class GetListRksDaftarIsiService implements BaseService<RksDaftarIsiRequest, ListRksDaftarIsiResponse> {
|
||||||
|
|
||||||
|
private final RksDaftarIsiRepository rksDaftarIsiRepository;
|
||||||
|
public GetListRksDaftarIsiService(RksDaftarIsiRepository rksDaftarIsiRepository) {
|
||||||
|
this.rksDaftarIsiRepository = rksDaftarIsiRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ListRksDaftarIsiResponse execute(RksDaftarIsiRequest input) {
|
||||||
|
|
||||||
|
List<RksDaftarIsiResponse> rksDaftarIsiResponseList = new ArrayList<>();
|
||||||
|
var rksDaftarIsiViews= rksDaftarIsiRepository.getListRksDaftarIsi(input.getPageable());
|
||||||
|
for (RksDaftarIsiView rksDaftarIsiView : rksDaftarIsiViews) {
|
||||||
|
RksDaftarIsiResponse rksDaftarIsiResponse = RksDaftarIsiResponse.builder()
|
||||||
|
.id(rksDaftarIsiView.getId())
|
||||||
|
.kodeTemplate(rksDaftarIsiView.getKodeTemplate())
|
||||||
|
.namaTemplate(rksDaftarIsiView.getNamaTemplate())
|
||||||
|
.metodePengadaanId(rksDaftarIsiView.getMetodePengadaanId())
|
||||||
|
.metodePengadaan(rksDaftarIsiView.getMetodePengadaan())
|
||||||
|
.versi(rksDaftarIsiView.getVersi())
|
||||||
|
.build();
|
||||||
|
rksDaftarIsiResponseList.add(rksDaftarIsiResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ListRksDaftarIsiResponse.builder()
|
||||||
|
.data(rksDaftarIsiResponseList)
|
||||||
|
.pagination(Pagination.builder()
|
||||||
|
.pageSize(input.getPageable().getPageSize())
|
||||||
|
.currentPage(input.getPageable().getPageNumber())
|
||||||
|
.totalPages(rksDaftarIsiViews.getTotalPages())
|
||||||
|
.totalRecords(rksDaftarIsiViews.getTotalElements())
|
||||||
|
.isFirstPage(rksDaftarIsiViews.isFirst())
|
||||||
|
.isLastPage(rksDaftarIsiViews.isLast())
|
||||||
|
.build())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,56 @@
|
|||||||
|
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.entity.RksIsi;
|
||||||
|
import com.iconplus.smartproc.model.request.RksIsiRequest;
|
||||||
|
import com.iconplus.smartproc.model.response.ListRksIsiResponse;
|
||||||
|
import com.iconplus.smartproc.model.response.RksIsiResponse;
|
||||||
|
import com.iconplus.smartproc.repository.RksIsiRepository;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class GetListRksIsiService implements BaseService<RksIsiRequest, ListRksIsiResponse> {
|
||||||
|
|
||||||
|
private final RksIsiRepository rksIsiRepository;
|
||||||
|
|
||||||
|
public GetListRksIsiService(RksIsiRepository rksIsiRepository) {
|
||||||
|
this.rksIsiRepository = rksIsiRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ListRksIsiResponse execute(RksIsiRequest input) {
|
||||||
|
|
||||||
|
List<RksIsiResponse> rksIsiResponseList = new ArrayList<>();
|
||||||
|
var rksIsis = rksIsiRepository.findByRksDaftarIsiIdAndIsDeleteFalse(input.getRksDaftarIsiId(), input.getPageable());
|
||||||
|
for (RksIsi rksIsi : rksIsis) {
|
||||||
|
RksIsiResponse rksIsiResponse = RksIsiResponse.builder()
|
||||||
|
.id(rksIsi.getId())
|
||||||
|
.rksDaftarIsiId(rksIsi.getRksDaftarIsiId())
|
||||||
|
.nomor(rksIsi.getNomor())
|
||||||
|
.parentId(rksIsi.getParentId())
|
||||||
|
.nama(rksIsi.getNama())
|
||||||
|
.bab(rksIsi.getBab())
|
||||||
|
.subBab(rksIsi.getSubBab())
|
||||||
|
.urutan(rksIsi.getUrutan())
|
||||||
|
.isKontrak(rksIsi.getIsKontrak())
|
||||||
|
.build();
|
||||||
|
rksIsiResponseList.add(rksIsiResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ListRksIsiResponse.builder()
|
||||||
|
.data(rksIsiResponseList)
|
||||||
|
.pagination(Pagination.builder()
|
||||||
|
.pageSize(input.getPageable().getPageSize())
|
||||||
|
.currentPage(input.getPageable().getPageNumber())
|
||||||
|
.totalPages(rksIsis.getTotalPages())
|
||||||
|
.totalRecords(rksIsis.getTotalElements())
|
||||||
|
.isFirstPage(rksIsis.isFirst())
|
||||||
|
.isLastPage(rksIsis.isLast())
|
||||||
|
.build())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
package com.iconplus.smartproc.service.rks;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.helper.service.BaseService;
|
||||||
|
import com.iconplus.smartproc.model.request.RksTemplateRequest;
|
||||||
|
import com.iconplus.smartproc.model.response.ListRksTemplateResponse;
|
||||||
|
import com.iconplus.smartproc.repository.RksTemplateRepository;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class GetListRksTemplateService implements BaseService<RksTemplateRequest, ListRksTemplateResponse> {
|
||||||
|
|
||||||
|
private final RksTemplateRepository rksTemplateRepository;
|
||||||
|
public GetListRksTemplateService(RksTemplateRepository rksTemplateRepository) {
|
||||||
|
this.rksTemplateRepository = rksTemplateRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ListRksTemplateResponse execute(RksTemplateRequest input) throws Exception {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,44 @@
|
|||||||
|
package com.iconplus.smartproc.service.rks;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.exception.BusinessException;
|
||||||
|
import com.iconplus.smartproc.helper.service.BaseService;
|
||||||
|
import com.iconplus.smartproc.model.entity.RksDaftarIsi;
|
||||||
|
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 PostCreateRksDaftarIsiService implements BaseService<RksDaftarIsiRequest, RksDaftarIsiResponse> {
|
||||||
|
|
||||||
|
private final RksDaftarIsiRepository rksDaftarIsiRepository;
|
||||||
|
public PostCreateRksDaftarIsiService(RksDaftarIsiRepository rksDaftarIsiRepository) {
|
||||||
|
this.rksDaftarIsiRepository = rksDaftarIsiRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public RksDaftarIsiResponse execute(RksDaftarIsiRequest input) {
|
||||||
|
|
||||||
|
var rksDaftarIsiOptional = rksDaftarIsiRepository.findByKodeTemplateAndIsDeleteFalse(input.getKodeTemplate());
|
||||||
|
if (rksDaftarIsiOptional.isPresent()) {
|
||||||
|
throw new BusinessException(Constants.ERR_CODE_10002,
|
||||||
|
Constants.ERR_TTL_10002,
|
||||||
|
String.format(Constants.ERR_MSG_10002, "RKS Kode Template", input.getKodeTemplate()));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
RksDaftarIsi rksDaftarIsi = RksDaftarIsi.builder()
|
||||||
|
.kodeTemplate(input.getKodeTemplate())
|
||||||
|
.namaTemplate(input.getNamaTemplate())
|
||||||
|
.metodePengadaanId(input.getMetodePengadaanId())
|
||||||
|
.versi(input.getVersi())
|
||||||
|
.isDelete(false)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
var result = rksDaftarIsiRepository.save(rksDaftarIsi);
|
||||||
|
return RksDaftarIsiResponse.builder()
|
||||||
|
.id(result.getId())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,45 @@
|
|||||||
|
package com.iconplus.smartproc.service.rks;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.exception.BusinessException;
|
||||||
|
import com.iconplus.smartproc.helper.service.BaseService;
|
||||||
|
import com.iconplus.smartproc.model.entity.RksTemplate;
|
||||||
|
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 PostCreateRksTemplateService implements BaseService<RksTemplateRequest, RksTemplateResponse> {
|
||||||
|
|
||||||
|
private final RksTemplateRepository rksTemplateRepository;
|
||||||
|
public PostCreateRksTemplateService(RksTemplateRepository rksTemplateRepository) {
|
||||||
|
this.rksTemplateRepository = rksTemplateRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public RksTemplateResponse execute(RksTemplateRequest input) {
|
||||||
|
|
||||||
|
var rksTemplateOptional= rksTemplateRepository.findByKodeTemplateAndIsDeleteFalse(input.getKodeTemplate());
|
||||||
|
if (rksTemplateOptional.isPresent()) {
|
||||||
|
throw new BusinessException(Constants.ERR_CODE_10002,
|
||||||
|
Constants.ERR_TTL_10002,
|
||||||
|
String.format(Constants.ERR_MSG_10002, "RKS Kode Template", input.getKodeTemplate()));
|
||||||
|
}
|
||||||
|
|
||||||
|
RksTemplate rksTemplate = RksTemplate.builder()
|
||||||
|
.kodeTemplate(input.getKodeTemplate())
|
||||||
|
.namaTemplate(input.getNamaTemplate())
|
||||||
|
.metodePengadaanId(input.getMetodePengadaanId())
|
||||||
|
.rksDaftarIsiId(input.getRksDaftarIsiId())
|
||||||
|
.versi(input.getVersi())
|
||||||
|
.isDelete(false)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
var result = rksTemplateRepository.save(rksTemplate);
|
||||||
|
|
||||||
|
return RksTemplateResponse.builder()
|
||||||
|
.id(result.getId())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user