Merge branch 'feature/GEPAFINBE-31' of https://github.com/Kitzanos/GEPAFIN-BE into feature/GEPAFINBE-31
This commit is contained in:
@@ -6,9 +6,11 @@ import net.gepafin.tendermanagement.entities.CallEntity;
|
||||
import net.gepafin.tendermanagement.entities.FlowDataEntity;
|
||||
import net.gepafin.tendermanagement.entities.FlowEdgesEntity;
|
||||
import net.gepafin.tendermanagement.enums.CallStatusEnum;
|
||||
import net.gepafin.tendermanagement.enums.VersionActionTypeEnum;
|
||||
import net.gepafin.tendermanagement.model.request.FlowDataRequestBean;
|
||||
import net.gepafin.tendermanagement.model.request.FlowEdgesRequestBean;
|
||||
import net.gepafin.tendermanagement.model.request.FlowRequestBean;
|
||||
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
|
||||
import net.gepafin.tendermanagement.model.response.FlowDataResponseBean;
|
||||
import net.gepafin.tendermanagement.model.response.FlowEdgesResponseBean;
|
||||
import net.gepafin.tendermanagement.model.response.FlowResponseBean;
|
||||
@@ -19,11 +21,17 @@ import net.gepafin.tendermanagement.service.CallService;
|
||||
import net.gepafin.tendermanagement.service.FormService;
|
||||
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
||||
import net.gepafin.tendermanagement.util.FieldValidator;
|
||||
import net.gepafin.tendermanagement.util.LoggingUtil;
|
||||
import net.gepafin.tendermanagement.util.Utils;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.itextpdf.text.pdf.PdfStructTreeController.returnType;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -47,7 +55,10 @@ public class FlowDao {
|
||||
private FormService formService;
|
||||
|
||||
@Autowired
|
||||
private CallDao callDao;
|
||||
private LoggingUtil loggingUtil;
|
||||
|
||||
@Autowired
|
||||
private HttpServletRequest request;
|
||||
|
||||
public FlowResponseBean createOrUpdateFlow(FlowRequestBean flowRequestBean, Long callId) {
|
||||
validateFlowRequestBean(flowRequestBean);
|
||||
@@ -76,11 +87,43 @@ public class FlowDao {
|
||||
List<FlowDataEntity> flowDataEntities = flowDataRepository.findByCallId(call.getId());
|
||||
List<FlowEdgesEntity> flowEdgesEntities = flowEdgesRepository.findByCallId(call.getId());
|
||||
if (Boolean.FALSE.equals(flowDataEntities.isEmpty()) || Boolean.FALSE.equals(flowEdgesEntities.isEmpty())) {
|
||||
call.setInitialForm(null);
|
||||
call.setFinalForm(null);
|
||||
call=callRepository.save(call);
|
||||
if (call.getInitialForm() != null || call.getInitialForm() != null) {
|
||||
CallEntity oldCallEntity = Utils.getClonedEntityForData(call);
|
||||
call.setInitialForm(null);
|
||||
call.setFinalForm(null);
|
||||
call = callRepository.save(call);
|
||||
|
||||
/**
|
||||
* This code is responsible for adding a version history log for the "update
|
||||
* call for flow" operation.
|
||||
**/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request)
|
||||
.actionType(VersionActionTypeEnum.UPDATE).oldData(oldCallEntity).newData(call).build());
|
||||
|
||||
}
|
||||
flowDataRepository.deleteAll(flowDataEntities);
|
||||
flowEdgesRepository.deleteAll(flowEdgesEntities);
|
||||
|
||||
flowDataEntities.forEach(data->{
|
||||
/**
|
||||
* This code is responsible for adding a version history log for the "update
|
||||
* call for flow" operation.
|
||||
**/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request)
|
||||
.actionType(VersionActionTypeEnum.DELETE).oldData(data).newData(null).build());
|
||||
});
|
||||
|
||||
flowEdgesEntities.forEach(data->{
|
||||
/**
|
||||
* This code is responsible for adding a version history log for the "update
|
||||
* call for flow" operation.
|
||||
**/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request)
|
||||
.actionType(VersionActionTypeEnum.DELETE).oldData(data).newData(null).build());
|
||||
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -110,20 +153,38 @@ public class FlowDao {
|
||||
return flowResponseBean;
|
||||
}
|
||||
|
||||
private CallEntity setInitialAndFinalFormInCall(FlowRequestBean flowRequestBean, CallEntity call) {
|
||||
call.setInitialForm(flowRequestBean.getInitialForm());
|
||||
call.setFinalForm(flowRequestBean.getFinalForm());
|
||||
call.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
||||
call = callRepository.save(call);
|
||||
return call;
|
||||
}
|
||||
private CallEntity setInitialAndFinalFormInCall(FlowRequestBean flowRequestBean, CallEntity call) {
|
||||
|
||||
CallEntity oldCallEntity = Utils.getClonedEntityForData(call);
|
||||
call.setInitialForm(flowRequestBean.getInitialForm());
|
||||
call.setFinalForm(flowRequestBean.getFinalForm());
|
||||
call.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
||||
call = callRepository.save(call);
|
||||
|
||||
/**
|
||||
* This code is responsible for adding a version history log for the "update
|
||||
* call for flow" operation.
|
||||
**/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request)
|
||||
.actionType(VersionActionTypeEnum.UPDATE).oldData(oldCallEntity).newData(call).build());
|
||||
return call;
|
||||
}
|
||||
|
||||
public List<FlowDataEntity> createFlowData(FlowRequestBean flowRequestBean, CallEntity call) {
|
||||
if (flowRequestBean.getFlowData() != null || !flowRequestBean.getFlowEdges().isEmpty()) {
|
||||
List<FlowDataEntity> flowDataEntities = flowRequestBean.getFlowData().stream()
|
||||
.map(flowDataRequestBean -> createFlowDataEntity(flowDataRequestBean, call))
|
||||
.collect(Collectors.toList());
|
||||
return flowDataRepository.saveAll(flowDataEntities);
|
||||
flowDataEntities = flowDataRepository.saveAll(flowDataEntities);
|
||||
flowDataEntities.forEach(data->{
|
||||
|
||||
/**
|
||||
* This code is responsible for adding a version history log for the "delete flow data" operation.
|
||||
**/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request)
|
||||
.actionType(VersionActionTypeEnum.INSERT).oldData(null).newData(data).build());
|
||||
});
|
||||
return flowDataEntities;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -145,7 +206,16 @@ public class FlowDao {
|
||||
List<FlowEdgesEntity> flowEdgesEntities = flowRequestBean.getFlowEdges().stream()
|
||||
.map(flowEdgesRequestBean -> createFlowEdgesEntity(flowEdgesRequestBean, call))
|
||||
.collect(Collectors.toList());
|
||||
return flowEdgesRepository.saveAll(flowEdgesEntities);
|
||||
flowEdgesEntities = flowEdgesRepository.saveAll(flowEdgesEntities);
|
||||
flowEdgesEntities.forEach(data->{
|
||||
/**
|
||||
* This code is responsible for adding a version history log for the "update
|
||||
* call for flow" operation.
|
||||
**/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request)
|
||||
.actionType(VersionActionTypeEnum.INSERT).oldData(null).newData(data).build());
|
||||
});
|
||||
return flowEdgesEntities;
|
||||
}
|
||||
|
||||
public FlowEdgesEntity createFlowEdgesEntity(FlowEdgesRequestBean flowEdgesRequestBean,CallEntity call) {
|
||||
|
||||
Reference in New Issue
Block a user