init drp
This commit is contained in:
@ -2,19 +2,28 @@ package com.iconplus.smartproc.service.drp;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.entity.DrpDokumen;
|
||||
import com.iconplus.smartproc.model.request.DrpRequest;
|
||||
import com.iconplus.smartproc.model.response.DrpDokumenResponse;
|
||||
import com.iconplus.smartproc.model.response.DrpResponse;
|
||||
import com.iconplus.smartproc.repository.DrpDokumenRepository;
|
||||
import com.iconplus.smartproc.repository.DrpRepository;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class GetDrpService implements BaseService<DrpRequest, DrpResponse> {
|
||||
|
||||
private final DrpRepository drpRepository;
|
||||
private final DrpDokumenRepository drpDokumenRepository;
|
||||
|
||||
public GetDrpService(DrpRepository drpRepository) {
|
||||
public GetDrpService(DrpRepository drpRepository,
|
||||
DrpDokumenRepository drpDokumenRepository) {
|
||||
this.drpRepository = drpRepository;
|
||||
this.drpDokumenRepository = drpDokumenRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -24,6 +33,19 @@ public class GetDrpService implements BaseService<DrpRequest, DrpResponse> {
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, "DRP", input.getId())));
|
||||
|
||||
var drpDokumenList = drpDokumenRepository.findByDrpIdAndIsDeleteFalse(input.getId());
|
||||
List<DrpDokumenResponse> drpDokumenResponseList = new ArrayList<>();
|
||||
|
||||
for (DrpDokumen drpDokumen : drpDokumenList) {
|
||||
DrpDokumenResponse drpDokumenResponse = DrpDokumenResponse.builder()
|
||||
.id(drpDokumen.getId())
|
||||
.drpId(drpDokumen.getDrpId())
|
||||
.jenisDokumenId(drpDokumen.getJenisDokumenId())
|
||||
.filename(drpDokumen.getFilename())
|
||||
.build();
|
||||
drpDokumenResponseList.add(drpDokumenResponse);
|
||||
}
|
||||
|
||||
return DrpResponse.builder()
|
||||
.id(drp.getId())
|
||||
.tahun(drp.getTahun())
|
||||
@ -31,6 +53,7 @@ public class GetDrpService implements BaseService<DrpRequest, DrpResponse> {
|
||||
.approveDate(drp.getApproveDate())
|
||||
.isActive(drp.getIsActive())
|
||||
.isDelete(drp.getIsDelete())
|
||||
.data(drpDokumenResponseList)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,72 @@
|
||||
package com.iconplus.smartproc.service.drp;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.entity.Drp;
|
||||
import com.iconplus.smartproc.model.entity.DrpDokumen;
|
||||
import com.iconplus.smartproc.model.request.DrpDokumenRequest;
|
||||
import com.iconplus.smartproc.model.request.DrpRequest;
|
||||
import com.iconplus.smartproc.model.response.DrpResponse;
|
||||
import com.iconplus.smartproc.repository.DrpDokumenRepository;
|
||||
import com.iconplus.smartproc.repository.DrpRepository;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@Service
|
||||
public class PostCreateDrpService implements BaseService<DrpRequest, DrpResponse> {
|
||||
|
||||
private final DrpRepository drpRepository;
|
||||
private final DrpDokumenRepository drpDokumenRepository;
|
||||
|
||||
public PostCreateDrpService (DrpRepository drpRepository,
|
||||
DrpDokumenRepository drpDokumenRepository) {
|
||||
this.drpRepository = drpRepository;
|
||||
this.drpDokumenRepository = drpDokumenRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DrpResponse execute(DrpRequest input) {
|
||||
|
||||
Optional<Drp> drpOptional = drpRepository.findByTahunAndIsDeleteFalse(input.getTahun());
|
||||
if (drpOptional.isPresent()) {
|
||||
throw new BusinessException(Constants.ERR_CODE_10010,
|
||||
Constants.ERR_TTL_10010,
|
||||
Constants.ERR_MSG_10010);
|
||||
}
|
||||
|
||||
Drp drp = Drp.builder()
|
||||
.tahun(input.getTahun())
|
||||
.isApprove(false)
|
||||
.isActive(input.getIsActive())
|
||||
.isDelete(false)
|
||||
.build();
|
||||
|
||||
var drpSaved = drpRepository.save(drp);
|
||||
|
||||
List<DrpDokumen> drpDokumenList = new ArrayList<>();
|
||||
if (ObjectUtils.isNotEmpty(input.getData())) {
|
||||
for (DrpDokumenRequest drpDokumenRequest : input.getData()) {
|
||||
DrpDokumen drpDokumen = DrpDokumen.builder()
|
||||
.drpId(drpSaved.getId())
|
||||
.jenisDokumenId(drpDokumenRequest.getJenisDokumenId())
|
||||
.filename(drpDokumenRequest.getFilename())
|
||||
.file(drpDokumenRequest.getFile())
|
||||
.keterangan(drpDokumenRequest.getKeterangan())
|
||||
.isDelete(false)
|
||||
.build();
|
||||
drpDokumenList.add(drpDokumen);
|
||||
}
|
||||
|
||||
}
|
||||
drpDokumenRepository.saveAll(drpDokumenList);
|
||||
|
||||
return DrpResponse.builder()
|
||||
.id(drpSaved.getId())
|
||||
.build();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user