61 lines
2.3 KiB
Java
61 lines
2.3 KiB
Java
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.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;
|
|
|
|
@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) {
|
|
|
|
var drp = drpRepository.findByIdAndIsDeleteFalse(input.getId())
|
|
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
|
|
Constants.ERR_TTL_10001,
|
|
String.format(Constants.ERR_MSG_10001, "DRP", input.getId())));
|
|
|
|
|
|
List<DrpDokumen> drpDokumenList = new ArrayList<>();
|
|
if (ObjectUtils.isNotEmpty(input.getDataDrpDokumen())) {
|
|
for (DrpDokumenRequest drpDokumenRequest : input.getDataDrpDokumen()) {
|
|
DrpDokumen drpDokumen = DrpDokumen.builder()
|
|
.drpId(drp.getId())
|
|
.jenisDokumenId(drpDokumenRequest.getJenisDokumenId())
|
|
.filename(drpDokumenRequest.getFilename())
|
|
.keterangan(drpDokumenRequest.getKeterangan())
|
|
.isDelete(false)
|
|
.build();
|
|
drpDokumenList.add(drpDokumen);
|
|
}
|
|
|
|
}
|
|
|
|
drpDokumenRepository.saveAll(drpDokumenList);
|
|
|
|
return DrpResponse.builder()
|
|
.id(drp.getId())
|
|
.build();
|
|
}
|
|
}
|