Files
smartproc-be/src/main/java/com/iconplus/smartproc/service/drp/PostCreateDrpService.java
dirgantarasiahaan 6203b9d8bf add constant status
2023-06-01 15:11:48 +07:00

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