add rks isi

This commit is contained in:
dirgantarasiahaan
2023-06-06 09:31:11 +07:00
parent f0f7a76f7c
commit 4877b84de0
11 changed files with 297 additions and 14 deletions

View File

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

View File

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

View File

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

View File

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

View File

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