approval
This commit is contained in:
@ -1,16 +1,22 @@
|
||||
package com.iconplus.smartproc.service.approval;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.model.Pagination;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.entity.DrpApproval;
|
||||
import com.iconplus.smartproc.model.projection.DrpApprovalView;
|
||||
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
|
||||
import com.iconplus.smartproc.model.response.DrpApprovalResponse;
|
||||
import com.iconplus.smartproc.model.response.GetListDrpApprovalResponse;
|
||||
import com.iconplus.smartproc.repository.DrpApprovalRepository;
|
||||
import com.iconplus.smartproc.repository.DrpRekomendasiRepository;
|
||||
import com.iconplus.smartproc.repository.DrpRepository;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@ -39,12 +45,9 @@ public class GetListApprovalDrpServie implements BaseService<DrpApprovalRequest,
|
||||
.drpId(drpApprovalView.getDrpId())
|
||||
.tahun(drpApprovalView.getTahun())
|
||||
.approveStatus(drpApprovalView.getApproveStatus())
|
||||
.approverVpDate(drpApprovalView.getApproverVpDate())
|
||||
.approverKomite1Date(drpApprovalView.getApproverKomite1Date())
|
||||
.approverKomite2Date(drpApprovalView.getApproverKomite2Date())
|
||||
.approverKomite3Date(drpApprovalView.getApproverKomite3Date())
|
||||
.approverKomite4Date(drpApprovalView.getApproverKomite4Date())
|
||||
.approverDirekturDate(drpApprovalView.getApproverDirekturDate())
|
||||
.approverVpDate(drpApprovalView.getVpApproveDate())
|
||||
.approverDirekturDate(drpApprovalView.getDirekturApproveDate())
|
||||
.approverKomiteDate(drpApprovalView.getKomiteApproveDate())
|
||||
.build();
|
||||
drpApprovalResponseList.add(drpApprovalResponse);
|
||||
}
|
||||
|
@ -0,0 +1,24 @@
|
||||
package com.iconplus.smartproc.service.approval;
|
||||
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.request.DrpRekomendasiRequest;
|
||||
import com.iconplus.smartproc.model.response.GetListDrpRekomendasiResponse;
|
||||
import com.iconplus.smartproc.repository.DrpRekomendasiRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@Service
|
||||
public class GetListRekomendasiService implements BaseService<DrpRekomendasiRequest, GetListDrpRekomendasiResponse> {
|
||||
|
||||
private final DrpRekomendasiRepository drpRekomendasiRepository;
|
||||
|
||||
public GetListRekomendasiService(DrpRekomendasiRepository drpRekomendasiRepository) {
|
||||
this.drpRekomendasiRepository = drpRekomendasiRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GetListDrpRekomendasiResponse execute(DrpRekomendasiRequest input) {
|
||||
return null;
|
||||
}
|
||||
}
|
@ -1,30 +1,32 @@
|
||||
package com.iconplus.smartproc.service.approval;
|
||||
|
||||
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.entity.DrpApproval;
|
||||
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
|
||||
import com.iconplus.smartproc.model.response.DrpApprovalResponse;
|
||||
import com.iconplus.smartproc.model.request.ListDrpApprovalRequest;
|
||||
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;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class PostCreateDrpApprovalService implements BaseService<DrpApprovalRequest, DrpApprovalResponse> {
|
||||
public class PostCreateDrpApprovalService implements BaseService<ListDrpApprovalRequest, EmptyResponse> {
|
||||
|
||||
private final DrpApprovalRepository drpApprovalRepository;
|
||||
private final DrpRepository drpRepository;
|
||||
public PostCreateDrpApprovalService(DrpApprovalRepository drpApprovalRepository,
|
||||
DrpRepository drpRepository) {
|
||||
this.drpApprovalRepository = drpApprovalRepository;
|
||||
private final DrpApprovalRepository drpApprovalRepository;
|
||||
public PostCreateDrpApprovalService(DrpRepository drpRepository,
|
||||
DrpApprovalRepository drpApprovalRepository) {
|
||||
this.drpRepository = drpRepository;
|
||||
this.drpApprovalRepository = drpApprovalRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DrpApprovalResponse execute(DrpApprovalRequest input) {
|
||||
public EmptyResponse execute(ListDrpApprovalRequest input) {
|
||||
|
||||
var drpOptional = drpRepository.findByIdAndIsDeleteFalse(input.getDrpId());
|
||||
if (drpOptional.isEmpty()) {
|
||||
@ -33,19 +35,19 @@ public class PostCreateDrpApprovalService implements BaseService<DrpApprovalRequ
|
||||
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();
|
||||
List<DrpApproval> drpApprovalList = new ArrayList<>();
|
||||
for (DrpApprovalRequest drpApprovalRequest : input.getData()) {
|
||||
DrpApproval drpApproval = DrpApproval.builder()
|
||||
.drpId(input.getDrpId())
|
||||
.approverUserId(drpApprovalRequest.getApproverUserId())
|
||||
.level(drpApprovalRequest.getLevel())
|
||||
.isDelete(false)
|
||||
.build();
|
||||
drpApprovalList.add(drpApproval);
|
||||
}
|
||||
|
||||
var result = drpApprovalRepository.save(drpApproval);
|
||||
drpApprovalRepository.saveAll(drpApprovalList);
|
||||
|
||||
return DrpApprovalResponse.builder()
|
||||
.id(result.getId())
|
||||
.build();
|
||||
return new EmptyResponse();
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,69 @@
|
||||
package com.iconplus.smartproc.service.approval;
|
||||
|
||||
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.DrpApprovalRequest;
|
||||
import com.iconplus.smartproc.repository.DrpApprovalRepository;
|
||||
import com.iconplus.smartproc.repository.DrpRepository;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Service
|
||||
public class PostDrpApprovalExecutionService implements BaseService<DrpApprovalRequest, EmptyResponse> {
|
||||
|
||||
private final DrpApprovalRepository drpApprovalRepository;
|
||||
private final DrpRepository drpRepository;
|
||||
|
||||
public PostDrpApprovalExecutionService(DrpApprovalRepository drpApprovalRepository,
|
||||
DrpRepository drpRepository) {
|
||||
this.drpApprovalRepository = drpApprovalRepository;
|
||||
this.drpRepository = drpRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EmptyResponse execute(DrpApprovalRequest input) {
|
||||
|
||||
var drpApproval = drpApprovalRepository.findByDrpIdAndApproverUserIdAndIsDeleteFalse(input.getDrpId(), input.getUserId())
|
||||
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, "DRP", input.getDrpId())));
|
||||
|
||||
var drp = drpRepository.findByIdAndIsDeleteFalse(input.getDrpId())
|
||||
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, "DRP", input.getDrpId())));
|
||||
|
||||
|
||||
|
||||
Date dateNow = Date.valueOf(LocalDate.now());
|
||||
|
||||
if (StringUtils.equalsIgnoreCase(drpApproval.getLevel(), "VP")) {
|
||||
drpApproval.setIsApprove(input.getIsApprove());
|
||||
drp.setVpApproveDate(dateNow);
|
||||
drp.setApproveStatus(Constants.STATUS_APPROVAL_VP);
|
||||
|
||||
} else if (StringUtils.equalsIgnoreCase(drpApproval.getLevel(), "DIREKTUR")) {
|
||||
drpApproval.setIsApprove(input.getIsApprove());
|
||||
drp.setDirekturApproveDate(dateNow);
|
||||
drp.setApproveStatus(Constants.STATUS_APPROVAL_DIRUT);
|
||||
|
||||
} else {
|
||||
var listKomiteApproval = drpApprovalRepository.getListKomiteApproval(input.getDrpId());
|
||||
if (listKomiteApproval.size() == 1) {
|
||||
drp.setApproveStatus(Constants.STATUS_REKOMENDASI_KOMITE);
|
||||
}
|
||||
drpApproval.setIsApprove(input.getIsApprove());
|
||||
drp.setKomiteApproveDate(dateNow);
|
||||
}
|
||||
|
||||
drpApprovalRepository.save(drpApproval);
|
||||
drpRepository.save(drp);
|
||||
|
||||
return new EmptyResponse();
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package com.iconplus.smartproc.service.approval;
|
||||
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.entity.DrpRekomendasi;
|
||||
import com.iconplus.smartproc.model.request.DrpRekomendasiRequest;
|
||||
import com.iconplus.smartproc.model.response.DrpRekomendasiResponse;
|
||||
import com.iconplus.smartproc.repository.DrpRekomendasiRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PostDrpRekomendasiService implements BaseService<DrpRekomendasiRequest, DrpRekomendasiResponse> {
|
||||
|
||||
private DrpRekomendasiRepository drpRekomendasiRepository;
|
||||
|
||||
private PostDrpRekomendasiService(DrpRekomendasiRepository drpRekomendasiRepository) {
|
||||
this.drpRekomendasiRepository = drpRekomendasiRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DrpRekomendasiResponse execute(DrpRekomendasiRequest input) {
|
||||
|
||||
DrpRekomendasi drpRekomendasi = DrpRekomendasi.builder()
|
||||
.jenisPengadaanId(input.getJenisPengadaanId())
|
||||
.drpApprovalId(input.getDrpApprovalId())
|
||||
.rekomendasi(input.getRekomendasi())
|
||||
.rekomendasiDate(input.getRekomendasiDate())
|
||||
.isDelete(false)
|
||||
.build();
|
||||
|
||||
var result = drpRekomendasiRepository.save(drpRekomendasi);
|
||||
|
||||
return DrpRekomendasiResponse.builder()
|
||||
.id(result.getId())
|
||||
.build();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user