add
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
package com.iconplus.smartproc.service.approval;
|
||||
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.entity.DrpApproval;
|
||||
import com.iconplus.smartproc.model.projection.DrpApprovalHistoryView;
|
||||
import com.iconplus.smartproc.model.projection.DrpApprovalView;
|
||||
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
|
||||
import com.iconplus.smartproc.model.response.DrpApprovalHistoryResponse;
|
||||
import com.iconplus.smartproc.model.response.DrpApprovalResponse;
|
||||
import com.iconplus.smartproc.model.response.GetListDrpApprovalHistoryResponse;
|
||||
import com.iconplus.smartproc.model.response.GetListDrpApprovalResponse;
|
||||
import com.iconplus.smartproc.repository.DrpApprovalHistoryRepository;
|
||||
import com.iconplus.smartproc.repository.DrpApprovalRepository;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class GetHistoryApprovalService implements BaseService<DrpApprovalRequest, GetListDrpApprovalHistoryResponse> {
|
||||
|
||||
private final DrpApprovalRepository drpApprovalRepository;
|
||||
private final DrpApprovalHistoryRepository drpApprovalHistoryRepository;
|
||||
public GetHistoryApprovalService(DrpApprovalRepository drpApprovalRepository,
|
||||
DrpApprovalHistoryRepository drpApprovalHistoryRepository) {
|
||||
this.drpApprovalRepository = drpApprovalRepository;
|
||||
this.drpApprovalHistoryRepository = drpApprovalHistoryRepository;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public GetListDrpApprovalHistoryResponse execute(DrpApprovalRequest input) {
|
||||
|
||||
List<DrpApprovalHistoryResponse> drpApprovalHistoryResponses = new ArrayList<>();
|
||||
var drpApprovalHistoryViewList = drpApprovalHistoryRepository.getRiwayatApprovalByDrpId(input.getDrpId());
|
||||
for (DrpApprovalHistoryView drpApprovalHistoryView : drpApprovalHistoryViewList) {
|
||||
DrpApprovalHistoryResponse drpApprovalHistoryResponse = DrpApprovalHistoryResponse.builder()
|
||||
.nama(drpApprovalHistoryView.getNama())
|
||||
.jabatan(drpApprovalHistoryView.getJabatan())
|
||||
.status(drpApprovalHistoryView.getStatus())
|
||||
.date(drpApprovalHistoryView.getDate())
|
||||
.catatan(drpApprovalHistoryView.getCatatan())
|
||||
.build();
|
||||
drpApprovalHistoryResponses.add(drpApprovalHistoryResponse);
|
||||
}
|
||||
|
||||
|
||||
return GetListDrpApprovalHistoryResponse.builder()
|
||||
.data(drpApprovalHistoryResponses)
|
||||
.build();
|
||||
}
|
||||
}
|
@@ -4,13 +4,18 @@ 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.entity.DrpApprovalHistory;
|
||||
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
|
||||
import com.iconplus.smartproc.model.request.ListDrpApprovalRequest;
|
||||
import com.iconplus.smartproc.repository.DrpApprovalHistoryRepository;
|
||||
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;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -19,10 +24,13 @@ public class PostCreateDrpApprovalService implements BaseService<ListDrpApproval
|
||||
|
||||
private final DrpRepository drpRepository;
|
||||
private final DrpApprovalRepository drpApprovalRepository;
|
||||
private final DrpApprovalHistoryRepository drpApprovalHistoryRepository;
|
||||
public PostCreateDrpApprovalService(DrpRepository drpRepository,
|
||||
DrpApprovalRepository drpApprovalRepository) {
|
||||
DrpApprovalRepository drpApprovalRepository,
|
||||
DrpApprovalHistoryRepository drpApprovalHistoryRepository) {
|
||||
this.drpRepository = drpRepository;
|
||||
this.drpApprovalRepository = drpApprovalRepository;
|
||||
this.drpApprovalHistoryRepository = drpApprovalHistoryRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -44,9 +52,22 @@ public class PostCreateDrpApprovalService implements BaseService<ListDrpApproval
|
||||
.isDelete(false)
|
||||
.build();
|
||||
drpApprovalList.add(drpApproval);
|
||||
|
||||
}
|
||||
|
||||
drpApprovalRepository.saveAll(drpApprovalList);
|
||||
var approvalList = drpApprovalRepository.saveAll(drpApprovalList);
|
||||
Date dateNow = Date.valueOf(LocalDate.now());
|
||||
approvalList.forEach(c -> {
|
||||
if (StringUtils.equalsIgnoreCase(c.getLevel(), "VP")) {
|
||||
DrpApprovalHistory drpApprovalHistory = DrpApprovalHistory.builder()
|
||||
.date(dateNow)
|
||||
.drpApprovalId(c.getId())
|
||||
.status("Dikirim")
|
||||
.isDelete(false)
|
||||
.build();
|
||||
drpApprovalHistoryRepository.save(drpApprovalHistory);
|
||||
}
|
||||
});
|
||||
|
||||
return new EmptyResponse();
|
||||
}
|
||||
|
@@ -3,28 +3,40 @@ 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.entity.DrpApprovalHistory;
|
||||
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
|
||||
import com.iconplus.smartproc.repository.DrpApprovalHistoryRepository;
|
||||
import com.iconplus.smartproc.repository.DrpApprovalRepository;
|
||||
import com.iconplus.smartproc.repository.DrpRepository;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.sql.Date;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class PostDrpApprovalExecutionService implements BaseService<DrpApprovalRequest, EmptyResponse> {
|
||||
|
||||
private final DrpApprovalRepository drpApprovalRepository;
|
||||
private final DrpRepository drpRepository;
|
||||
private final DrpApprovalHistoryRepository drpApprovalHistoryRepository;
|
||||
|
||||
public PostDrpApprovalExecutionService(DrpApprovalRepository drpApprovalRepository,
|
||||
DrpRepository drpRepository) {
|
||||
DrpRepository drpRepository,
|
||||
DrpApprovalHistoryRepository drpApprovalHistoryRepository) {
|
||||
this.drpApprovalRepository = drpApprovalRepository;
|
||||
this.drpRepository = drpRepository;
|
||||
this.drpApprovalHistoryRepository = drpApprovalHistoryRepository;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public EmptyResponse execute(DrpApprovalRequest input) {
|
||||
|
||||
@@ -40,27 +52,82 @@ public class PostDrpApprovalExecutionService implements BaseService<DrpApprovalR
|
||||
|
||||
Date dateNow = Date.valueOf(LocalDate.now());
|
||||
|
||||
List<DrpApprovalHistory> drpApprovalHistoryList = new ArrayList<>();
|
||||
var listDrpApproval = drpApprovalRepository.findByDrpIdAndIsDeleteFalse(input.getDrpId());
|
||||
|
||||
DrpApprovalHistory drpApprovalHistoryExecutor = DrpApprovalHistory.builder()
|
||||
.drpApprovalId(drpApproval.getId())
|
||||
.date(dateNow)
|
||||
.status(BooleanUtils.isTrue(input.getIsApprove()) ? "Disetujui" : "Ditolak")
|
||||
.isDelete(false)
|
||||
.build();
|
||||
drpApprovalHistoryList.add(drpApprovalHistoryExecutor);
|
||||
|
||||
if (StringUtils.equalsIgnoreCase(drpApproval.getLevel(), "VP")) {
|
||||
drpApproval.setIsApprove(input.getIsApprove());
|
||||
drp.setVpApproveDate(dateNow);
|
||||
drp.setApproveStatus(Constants.STATUS_APPROVAL_VP);
|
||||
drpApproval.setCatatan(input.getCatatan());
|
||||
|
||||
for (DrpApproval drpAppr : listDrpApproval) {
|
||||
if (StringUtils.equalsIgnoreCase(drpAppr.getLevel(), "KOMITE")) {
|
||||
DrpApprovalHistory drpApprovalHistory = DrpApprovalHistory.builder()
|
||||
.drpApprovalId(drpApproval.getId())
|
||||
.date(dateNow)
|
||||
.status("Terkirim")
|
||||
.isDelete(false)
|
||||
.build();
|
||||
drpApprovalHistoryList.add(drpApprovalHistory);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} else if (StringUtils.equalsIgnoreCase(drpApproval.getLevel(), "DIREKTUR")) {
|
||||
|
||||
if (ObjectUtils.isEmpty(drp.getKomiteApproveDate())) {
|
||||
throw new BusinessException(Constants.ERR_CODE_10013,
|
||||
Constants.ERR_TTL_10013,
|
||||
String.format(Constants.ERR_MSG_10013, "KOMITE"));
|
||||
}
|
||||
|
||||
drpApproval.setIsApprove(input.getIsApprove());
|
||||
drp.setDirekturApproveDate(dateNow);
|
||||
drp.setApproveStatus(Constants.STATUS_APPROVAL_DIRUT);
|
||||
drpApproval.setCatatan(input.getCatatan());
|
||||
|
||||
} else {
|
||||
|
||||
if (ObjectUtils.isEmpty(drp.getVpApproveDate())) {
|
||||
throw new BusinessException(Constants.ERR_CODE_10013,
|
||||
Constants.ERR_TTL_10013,
|
||||
String.format(Constants.ERR_MSG_10013, "VP"));
|
||||
}
|
||||
|
||||
var listKomiteApproval = drpApprovalRepository.getListKomiteApproval(input.getDrpId());
|
||||
if (listKomiteApproval.size() == 1) {
|
||||
drp.setApproveStatus(Constants.STATUS_REKOMENDASI_KOMITE);
|
||||
}
|
||||
drpApproval.setIsApprove(input.getIsApprove());
|
||||
drpApproval.setCatatan(input.getCatatan());
|
||||
drp.setKomiteApproveDate(dateNow);
|
||||
|
||||
for (DrpApproval drpAppr : listDrpApproval) {
|
||||
if (StringUtils.equalsIgnoreCase(drpAppr.getLevel(), "DIREKTUR")) {
|
||||
DrpApprovalHistory drpApprovalHistory = DrpApprovalHistory.builder()
|
||||
.drpApprovalId(drpApproval.getId())
|
||||
.date(dateNow)
|
||||
.status("Terkirim")
|
||||
.isDelete(false)
|
||||
.build();
|
||||
drpApprovalHistoryList.add(drpApprovalHistory);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
drpApprovalRepository.save(drpApproval);
|
||||
drpRepository.save(drp);
|
||||
drpApprovalHistoryRepository.saveAll(drpApprovalHistoryList);
|
||||
|
||||
return new EmptyResponse();
|
||||
}
|
||||
|
@@ -1,12 +1,15 @@
|
||||
package com.iconplus.smartproc.service.print;
|
||||
|
||||
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.projection.DrpView;
|
||||
import com.iconplus.smartproc.model.request.PrintDrpRequest;
|
||||
import com.iconplus.smartproc.model.response.GetListPrintDrpResponse;
|
||||
import com.iconplus.smartproc.model.response.PrintDrpResponse;
|
||||
import com.iconplus.smartproc.repository.DrpApprovalRepository;
|
||||
import com.iconplus.smartproc.repository.DrpRepository;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -17,9 +20,11 @@ import java.util.List;
|
||||
public class GetListPrintDrpService implements BaseService<PrintDrpRequest, GetListPrintDrpResponse> {
|
||||
|
||||
private DrpRepository drpRepository;
|
||||
|
||||
public GetListPrintDrpService(DrpRepository drpRepository) {
|
||||
private DrpApprovalRepository drpApprovalRepository;
|
||||
public GetListPrintDrpService(DrpRepository drpRepository,
|
||||
DrpApprovalRepository drpApprovalRepository) {
|
||||
this.drpRepository = drpRepository;
|
||||
this.drpApprovalRepository = drpApprovalRepository;
|
||||
}
|
||||
|
||||
|
||||
@@ -35,8 +40,16 @@ public class GetListPrintDrpService implements BaseService<PrintDrpRequest, GetL
|
||||
.tahun(drpView.getTahun())
|
||||
.printDate(drpView.getPrintDate())
|
||||
.build();
|
||||
|
||||
var drpApprovalOptional = drpApprovalRepository.findByDrpIdAndLevelAndIsDeleteFalse(drpView.getId(), "DIREKTUR")
|
||||
.orElseThrow(()-> new BusinessException(Constants.ERR_CODE_10001,
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, "DRP Approvel", drpView.getId())));
|
||||
|
||||
if (BooleanUtils.isTrue(drpView.getIsPrint())) {
|
||||
printDrpResponse.setStatus("Tercetak");
|
||||
} else if (drpApprovalOptional.getIsApprove() == null) {
|
||||
printDrpResponse.setStatus("Belum Dicetak");
|
||||
} else {
|
||||
printDrpResponse.setStatus("Belum Bisa Dicetak");
|
||||
}
|
||||
|
Reference in New Issue
Block a user