add rks isi
This commit is contained in:
parent
f0f7a76f7c
commit
4877b84de0
@ -19,16 +19,28 @@ public class RksDaftarIsiController {
|
||||
private final GetListRksIsiService getListRksIsiService;
|
||||
private final DeleteRksDaftarIsiService deleteRksDaftarIsiService;
|
||||
private final PutUpdateRksDaftarIsiService putUpdateRksDaftarIsiService;
|
||||
private final GetListRksParentService getListRksParentService;
|
||||
private final PostCreateRksIsiService postCreateRksIsiService;
|
||||
private final DeleteRksIsiService deleteRksIsiService;
|
||||
private final PutEditRksIsiService putEditRksIsiService;
|
||||
public RksDaftarIsiController(GetListRksDaftarIsiService getListRksDaftarIsiService,
|
||||
PostCreateRksDaftarIsiService postCreateRksDaftarIsiService,
|
||||
GetListRksIsiService getListRksIsiService,
|
||||
DeleteRksDaftarIsiService deleteRksDaftarIsiService,
|
||||
PutUpdateRksDaftarIsiService putUpdateRksDaftarIsiService) {
|
||||
PutUpdateRksDaftarIsiService putUpdateRksDaftarIsiService,
|
||||
GetListRksParentService getListRksParentService,
|
||||
PostCreateRksIsiService postCreateRksIsiService,
|
||||
DeleteRksIsiService deleteRksIsiService,
|
||||
PutEditRksIsiService putEditRksIsiService) {
|
||||
this.getListRksDaftarIsiService = getListRksDaftarIsiService;
|
||||
this.postCreateRksDaftarIsiService = postCreateRksDaftarIsiService;
|
||||
this.getListRksIsiService = getListRksIsiService;
|
||||
this.deleteRksDaftarIsiService = deleteRksDaftarIsiService;
|
||||
this.putUpdateRksDaftarIsiService = putUpdateRksDaftarIsiService;
|
||||
this.getListRksParentService = getListRksParentService;
|
||||
this.postCreateRksIsiService = postCreateRksIsiService;
|
||||
this.deleteRksIsiService = deleteRksIsiService;
|
||||
this.putEditRksIsiService = putEditRksIsiService;
|
||||
}
|
||||
|
||||
|
||||
@ -50,19 +62,6 @@ public class RksDaftarIsiController {
|
||||
return postCreateRksDaftarIsiService.execute(rksDaftarIsiRequest);
|
||||
}
|
||||
|
||||
@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) {
|
||||
|
||||
Pageable pageable = PageRequest.of((page - 1), size);
|
||||
RksIsiRequest rksIsiRequest = RksIsiRequest.builder()
|
||||
.rksDaftarIsiId(id)
|
||||
.pageable(pageable)
|
||||
.build();
|
||||
return getListRksIsiService.execute(rksIsiRequest);
|
||||
}
|
||||
|
||||
@PutMapping("/{id}")
|
||||
public RksDaftarIsiResponse editRksDaftarIsi(@PathVariable(name = "id") Long id,
|
||||
@RequestBody RksDaftarIsiRequest rksDaftarIsiRequest) {
|
||||
@ -78,4 +77,46 @@ public class RksDaftarIsiController {
|
||||
|
||||
}
|
||||
|
||||
// perlu enhance
|
||||
@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) {
|
||||
|
||||
Pageable pageable = PageRequest.of((page - 1), size);
|
||||
RksIsiRequest rksIsiRequest = RksIsiRequest.builder()
|
||||
.rksDaftarIsiId(id)
|
||||
.pageable(pageable)
|
||||
.build();
|
||||
return getListRksIsiService.execute(rksIsiRequest);
|
||||
}
|
||||
|
||||
@GetMapping("/{id}/parent")
|
||||
public ListRksIsiResponse getParentRksIsi(@PathVariable(name = "id") Long id) {
|
||||
return getListRksParentService.execute(RksIsiRequest.builder()
|
||||
.rksDaftarIsiId(id)
|
||||
.build());
|
||||
}
|
||||
|
||||
@PostMapping("/{id}/isi")
|
||||
public RksIsiResponse createRksIsi(@PathVariable(name = "id") Long id,
|
||||
@RequestBody RksIsiRequest rksIsiRequest) {
|
||||
rksIsiRequest.setRksDaftarIsiId(id);
|
||||
return postCreateRksIsiService.execute(rksIsiRequest);
|
||||
}
|
||||
|
||||
@PutMapping("/isi/{id}")
|
||||
public RksIsiResponse editRksIsi(@PathVariable(name = "id") Long id,
|
||||
@RequestBody RksIsiRequest rksIsiRequest) {
|
||||
rksIsiRequest.setId(id);
|
||||
return putEditRksIsiService.execute(rksIsiRequest);
|
||||
}
|
||||
|
||||
@DeleteMapping("/isi/{id}")
|
||||
public EmptyResponse deleteRksIsi(@PathVariable(name = "id") Long id) {
|
||||
return deleteRksIsiService.execute(RksIsiRequest.builder()
|
||||
.id(id)
|
||||
.build());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -31,12 +31,18 @@ public class RksIsi extends BaseEntity {
|
||||
@Column(name = "parent_id")
|
||||
private Integer parentId;
|
||||
|
||||
@Column(name = "parent")
|
||||
private String parent;
|
||||
|
||||
@Column(name = "nama")
|
||||
private String nama;
|
||||
|
||||
@Column(name = "bab")
|
||||
private String bab;
|
||||
|
||||
@Column(name = "kelompok")
|
||||
private String kelompok;
|
||||
|
||||
@Column(name = "sub_bab")
|
||||
private String subBab;
|
||||
|
||||
|
@ -23,9 +23,11 @@ public class RksIsiRequest extends BaseRequest {
|
||||
private Long rksDaftarIsiId;
|
||||
private String nomor;
|
||||
private Integer parentId;
|
||||
private String parent;
|
||||
private String nama;
|
||||
private String bab;
|
||||
private String subBab;
|
||||
private String kelompok;
|
||||
private String urutan;
|
||||
private Boolean isKontrak;
|
||||
private Boolean isActive;
|
||||
|
@ -15,6 +15,7 @@ public class RksIsiResponse extends BaseResponse {
|
||||
private Long rksDaftarIsiId;
|
||||
private String nomor;
|
||||
private Integer parentId;
|
||||
private String parent;
|
||||
private String nama;
|
||||
private String bab;
|
||||
private String subBab;
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.iconplus.smartproc.repository;
|
||||
|
||||
import com.iconplus.smartproc.model.entity.RksDaftarIsi;
|
||||
import com.iconplus.smartproc.model.entity.RksIsi;
|
||||
import com.iconplus.smartproc.model.projection.RksDaftarIsiView;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@ -8,6 +9,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@Repository
|
||||
|
@ -9,11 +9,26 @@ import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@Repository
|
||||
public interface RksIsiRepository extends JpaRepository<RksIsi, Long> {
|
||||
|
||||
Page<RksIsi> findByRksDaftarIsiIdAndIsDeleteFalse(Long rksDaftarIsiId, Pageable pageable);
|
||||
|
||||
Optional<RksIsi> findByRksDaftarIsiIdAndNamaAndIsDeleteFalse(Long rksDaftarIsiId, String nama);
|
||||
|
||||
Optional<RksIsi> findByRksDaftarIsiIdAndBabAndIsDeleteFalse(Long rksDaftarIsiId, String bab);
|
||||
|
||||
Optional<RksIsi> findByRksDaftarIsiIdAndSubBabAndIsDeleteFalse(Long rksDaftarIsiId, String subBab);
|
||||
|
||||
Optional<RksIsi> findByRksDaftarIsiIdAndKelompokAndIsDeleteFalse(Long rksDaftarIsiId, String kelompok);
|
||||
|
||||
Optional<RksIsi> findByIdAndIsDeleteFalse(Long id);
|
||||
|
||||
List<RksIsi> findByRksDaftarIsiIdAndIsDeleteFalse(Long rksDaftarIsiId);
|
||||
|
||||
@Modifying
|
||||
@Query(value = "update RksIsi ri " +
|
||||
"set ri.isDelete = true " +
|
||||
|
@ -65,6 +65,7 @@ public class GetDrpService implements BaseService<DrpRequest, DrpResponse> {
|
||||
.drpId(drpDokumen.getDrpId())
|
||||
.jenisDokumenId(drpDokumen.getJenisDokumenId())
|
||||
.filename(drpDokumen.getFilename())
|
||||
.keterangan(drpDokumen.getKeterangan())
|
||||
.build();
|
||||
drpDokumenResponseList.add(drpDokumenResponse);
|
||||
} else {
|
||||
@ -73,6 +74,7 @@ public class GetDrpService implements BaseService<DrpRequest, DrpResponse> {
|
||||
.drpId(drpDokumen.getDrpId())
|
||||
.jenisDokumenId(drpDokumen.getJenisDokumenId())
|
||||
.filename(drpDokumen.getFilename())
|
||||
.keterangan(drpDokumen.getKeterangan())
|
||||
.build();
|
||||
drpDokumenPendukungList.add(drpDokumenResponse);
|
||||
}
|
||||
|
@ -0,0 +1,33 @@
|
||||
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.RksIsiRequest;
|
||||
import com.iconplus.smartproc.repository.RksIsiRepository;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class DeleteRksIsiService implements BaseService<RksIsiRequest, EmptyResponse> {
|
||||
|
||||
private final RksIsiRepository rksIsiRepository;
|
||||
public DeleteRksIsiService(RksIsiRepository rksIsiRepository) {
|
||||
this.rksIsiRepository = rksIsiRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EmptyResponse execute(RksIsiRequest input) {
|
||||
|
||||
var rksIsi = rksIsiRepository.findByIdAndIsDeleteFalse(input.getId())
|
||||
.orElseThrow(() -> new BusinessException(
|
||||
Constants.ERR_CODE_10001,
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, "RKS Isi", input.getId())
|
||||
));
|
||||
|
||||
rksIsi.setIsDelete(true);
|
||||
rksIsiRepository.save(rksIsi);
|
||||
return new EmptyResponse();
|
||||
}
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package com.iconplus.smartproc.service.rksdaftarisi;
|
||||
|
||||
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.RksDaftarIsiRepository;
|
||||
import com.iconplus.smartproc.repository.RksIsiRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class GetListRksParentService implements BaseService<RksIsiRequest, ListRksIsiResponse> {
|
||||
|
||||
private final RksIsiRepository rksIsiRepository;
|
||||
public GetListRksParentService(RksIsiRepository rksIsiRepository) {
|
||||
this.rksIsiRepository = rksIsiRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListRksIsiResponse execute(RksIsiRequest input) {
|
||||
|
||||
List<RksIsiResponse> rksIsiResponseList = new ArrayList<>();
|
||||
var rksIsiList = rksIsiRepository.findByRksDaftarIsiIdAndIsDeleteFalse(input.getRksDaftarIsiId());
|
||||
|
||||
for (RksIsi rksIsi : rksIsiList) {
|
||||
RksIsiResponse rksIsiResponse = RksIsiResponse.builder()
|
||||
.id(rksIsi.getId())
|
||||
.parent(rksIsi.getNama())
|
||||
.build();
|
||||
rksIsiResponseList.add(rksIsiResponse);
|
||||
}
|
||||
|
||||
return ListRksIsiResponse.builder()
|
||||
.data(rksIsiResponseList)
|
||||
.build();
|
||||
}
|
||||
}
|
@ -0,0 +1,92 @@
|
||||
package com.iconplus.smartproc.service.rksdaftarisi;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
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.RksIsiResponse;
|
||||
import com.iconplus.smartproc.repository.RksIsiRepository;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PostCreateRksIsiService implements BaseService<RksIsiRequest, RksIsiResponse> {
|
||||
|
||||
private final RksIsiRepository rksIsiRepository;
|
||||
public PostCreateRksIsiService(RksIsiRepository rksIsiRepository) {
|
||||
this.rksIsiRepository = rksIsiRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RksIsiResponse execute(RksIsiRequest input) {
|
||||
|
||||
RksIsi rksIsi = RksIsi.builder().build();
|
||||
validasiRequest(input, rksIsi);
|
||||
|
||||
rksIsi.setRksDaftarIsiId(input.getRksDaftarIsiId());
|
||||
rksIsi.setNomor(input.getNomor());
|
||||
rksIsi.setUrutan(input.getUrutan());
|
||||
rksIsi.setIsKontrak(input.getIsKontrak());
|
||||
rksIsi.setIsDelete(false);
|
||||
var result = rksIsiRepository.save(rksIsi);
|
||||
|
||||
return RksIsiResponse.builder()
|
||||
.id(result.getId())
|
||||
.build();
|
||||
}
|
||||
|
||||
private void validasiRequest(RksIsiRequest input, RksIsi rksIsi) {
|
||||
if (StringUtils.isNotBlank(input.getNama())) {
|
||||
var optionalRksIsi = rksIsiRepository.findByRksDaftarIsiIdAndNamaAndIsDeleteFalse(input.getRksDaftarIsiId(), input.getNama());
|
||||
if (optionalRksIsi.isPresent()) {
|
||||
throw new BusinessException(
|
||||
Constants.ERR_CODE_10002,
|
||||
Constants.ERR_TTL_10002,
|
||||
String.format(Constants.ERR_MSG_10002, "Nama Buku", input.getNama()));
|
||||
}
|
||||
rksIsi.setNama(input.getNama());
|
||||
return;
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(input.getBab())) {
|
||||
var optionalRksIsi = rksIsiRepository.findByRksDaftarIsiIdAndBabAndIsDeleteFalse(input.getRksDaftarIsiId(), input.getBab());
|
||||
if (optionalRksIsi.isPresent()) {
|
||||
throw new BusinessException(
|
||||
Constants.ERR_CODE_10002,
|
||||
Constants.ERR_TTL_10002,
|
||||
String.format(Constants.ERR_MSG_10002, "Bab", input.getBab()));
|
||||
}
|
||||
rksIsi.setParent(input.getParent());
|
||||
rksIsi.setBab(input.getBab());
|
||||
return;
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(input.getSubBab())) {
|
||||
|
||||
var optionalRksIsi = rksIsiRepository.findByRksDaftarIsiIdAndSubBabAndIsDeleteFalse(input.getRksDaftarIsiId(), input.getSubBab());
|
||||
if (optionalRksIsi.isPresent()) {
|
||||
throw new BusinessException(
|
||||
Constants.ERR_CODE_10002,
|
||||
Constants.ERR_TTL_10002,
|
||||
String.format(Constants.ERR_MSG_10002, "Sub Bab", input.getSubBab()));
|
||||
}
|
||||
rksIsi.setParent(input.getParent());
|
||||
rksIsi.setSubBab(input.getSubBab());
|
||||
return;
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(input.getKelompok())) {
|
||||
|
||||
var optionalRksIsi = rksIsiRepository.findByRksDaftarIsiIdAndKelompokAndIsDeleteFalse(input.getRksDaftarIsiId(), input.getKelompok());
|
||||
if (optionalRksIsi.isPresent()) {
|
||||
throw new BusinessException(
|
||||
Constants.ERR_CODE_10002,
|
||||
Constants.ERR_TTL_10002,
|
||||
String.format(Constants.ERR_MSG_10002, "Sub Bab", input.getSubBab()));
|
||||
}
|
||||
rksIsi.setParent(input.getParent());
|
||||
rksIsi.setKelompok(input.getSubBab());
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
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.RksIsiRequest;
|
||||
import com.iconplus.smartproc.model.response.RksIsiResponse;
|
||||
import com.iconplus.smartproc.repository.RksIsiRepository;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PutEditRksIsiService implements BaseService<RksIsiRequest, RksIsiResponse> {
|
||||
|
||||
private final RksIsiRepository rksIsiRepository;
|
||||
public PutEditRksIsiService(RksIsiRepository rksIsiRepository) {
|
||||
this.rksIsiRepository = rksIsiRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RksIsiResponse execute(RksIsiRequest input) {
|
||||
|
||||
var rksIsi = rksIsiRepository.findByIdAndIsDeleteFalse(input.getId())
|
||||
.orElseThrow(() -> new BusinessException(
|
||||
Constants.ERR_CODE_10001,
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, "RKS Isi", input.getId())
|
||||
));
|
||||
|
||||
if (StringUtils.isNotBlank(input.getNama())) {
|
||||
rksIsi.setNama(input.getNama());
|
||||
} else if (StringUtils.isNotBlank(input.getBab())) {
|
||||
rksIsi.setBab(input.getBab());
|
||||
} else if (StringUtils.isNotBlank(input.getSubBab())) {
|
||||
rksIsi.setSubBab(input.getSubBab());
|
||||
} else {
|
||||
rksIsi.setKelompok(input.getKelompok());
|
||||
}
|
||||
|
||||
rksIsi.setUrutan(input.getUrutan());
|
||||
rksIsi.setIsKontrak(input.getIsKontrak());
|
||||
rksIsiRepository.save(rksIsi);
|
||||
|
||||
return RksIsiResponse.builder()
|
||||
.id(rksIsi.getId())
|
||||
.build();
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user