This commit is contained in:
dirgantarasiahaan
2023-05-31 14:00:28 +07:00
parent 2c82319b16
commit 6deddb3f15
17 changed files with 479 additions and 110 deletions

View File

@@ -0,0 +1,51 @@
package com.iconplus.smartproc.service.approval;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.DrpApproval;
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
import com.iconplus.smartproc.model.response.DrpApprovalResponse;
import com.iconplus.smartproc.repository.DrpApprovalRepository;
import com.iconplus.smartproc.repository.DrpRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
import java.io.IOException;
@Service
public class PostCreateDrpApprovalService implements BaseService<DrpApprovalRequest, DrpApprovalResponse> {
private final DrpApprovalRepository drpApprovalRepository;
private final DrpRepository drpRepository;
public PostCreateDrpApprovalService(DrpApprovalRepository drpApprovalRepository,
DrpRepository drpRepository) {
this.drpApprovalRepository = drpApprovalRepository;
this.drpRepository = drpRepository;
}
@Override
public DrpApprovalResponse execute(DrpApprovalRequest input) {
var drpOptional = drpRepository.findByIdAndIsDeleteFalse(input.getDrpId());
if (drpOptional.isEmpty()) {
throw new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "DRP", input.getDrpId()));
}
DrpApproval drpApproval = DrpApproval.builder()
.drpId(input.getDrpId())
.approverKomite1Id(input.getApproverKomite1Id())
.approverKomite2Id(input.getApproverKomite2Id())
.approverKomite3Id(input.getApproverKomite3Id())
.approverKomite4Id(input.getApproverKomite4Id())
.approverDirekturId(input.getApproverDirekturId())
.build();
var result = drpApprovalRepository.save(drpApproval);
return DrpApprovalResponse.builder()
.id(result.getId())
.build();
}
}