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.FlowDataEntity;
|
||||||
import net.gepafin.tendermanagement.entities.FlowEdgesEntity;
|
import net.gepafin.tendermanagement.entities.FlowEdgesEntity;
|
||||||
import net.gepafin.tendermanagement.enums.CallStatusEnum;
|
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.FlowDataRequestBean;
|
||||||
import net.gepafin.tendermanagement.model.request.FlowEdgesRequestBean;
|
import net.gepafin.tendermanagement.model.request.FlowEdgesRequestBean;
|
||||||
import net.gepafin.tendermanagement.model.request.FlowRequestBean;
|
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.FlowDataResponseBean;
|
||||||
import net.gepafin.tendermanagement.model.response.FlowEdgesResponseBean;
|
import net.gepafin.tendermanagement.model.response.FlowEdgesResponseBean;
|
||||||
import net.gepafin.tendermanagement.model.response.FlowResponseBean;
|
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.service.FormService;
|
||||||
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
||||||
import net.gepafin.tendermanagement.util.FieldValidator;
|
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.CustomValidationException;
|
||||||
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import com.itextpdf.text.pdf.PdfStructTreeController.returnType;
|
||||||
|
|
||||||
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -47,7 +55,10 @@ public class FlowDao {
|
|||||||
private FormService formService;
|
private FormService formService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private CallDao callDao;
|
private LoggingUtil loggingUtil;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private HttpServletRequest request;
|
||||||
|
|
||||||
public FlowResponseBean createOrUpdateFlow(FlowRequestBean flowRequestBean, Long callId) {
|
public FlowResponseBean createOrUpdateFlow(FlowRequestBean flowRequestBean, Long callId) {
|
||||||
validateFlowRequestBean(flowRequestBean);
|
validateFlowRequestBean(flowRequestBean);
|
||||||
@@ -76,11 +87,43 @@ public class FlowDao {
|
|||||||
List<FlowDataEntity> flowDataEntities = flowDataRepository.findByCallId(call.getId());
|
List<FlowDataEntity> flowDataEntities = flowDataRepository.findByCallId(call.getId());
|
||||||
List<FlowEdgesEntity> flowEdgesEntities = flowEdgesRepository.findByCallId(call.getId());
|
List<FlowEdgesEntity> flowEdgesEntities = flowEdgesRepository.findByCallId(call.getId());
|
||||||
if (Boolean.FALSE.equals(flowDataEntities.isEmpty()) || Boolean.FALSE.equals(flowEdgesEntities.isEmpty())) {
|
if (Boolean.FALSE.equals(flowDataEntities.isEmpty()) || Boolean.FALSE.equals(flowEdgesEntities.isEmpty())) {
|
||||||
|
if (call.getInitialForm() != null || call.getInitialForm() != null) {
|
||||||
|
CallEntity oldCallEntity = Utils.getClonedEntityForData(call);
|
||||||
call.setInitialForm(null);
|
call.setInitialForm(null);
|
||||||
call.setFinalForm(null);
|
call.setFinalForm(null);
|
||||||
call = callRepository.save(call);
|
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);
|
flowDataRepository.deleteAll(flowDataEntities);
|
||||||
flowEdgesRepository.deleteAll(flowEdgesEntities);
|
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());
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,10 +154,19 @@ public class FlowDao {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private CallEntity setInitialAndFinalFormInCall(FlowRequestBean flowRequestBean, CallEntity call) {
|
private CallEntity setInitialAndFinalFormInCall(FlowRequestBean flowRequestBean, CallEntity call) {
|
||||||
|
|
||||||
|
CallEntity oldCallEntity = Utils.getClonedEntityForData(call);
|
||||||
call.setInitialForm(flowRequestBean.getInitialForm());
|
call.setInitialForm(flowRequestBean.getInitialForm());
|
||||||
call.setFinalForm(flowRequestBean.getFinalForm());
|
call.setFinalForm(flowRequestBean.getFinalForm());
|
||||||
call.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
call.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
||||||
call = callRepository.save(call);
|
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;
|
return call;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -123,7 +175,16 @@ public class FlowDao {
|
|||||||
List<FlowDataEntity> flowDataEntities = flowRequestBean.getFlowData().stream()
|
List<FlowDataEntity> flowDataEntities = flowRequestBean.getFlowData().stream()
|
||||||
.map(flowDataRequestBean -> createFlowDataEntity(flowDataRequestBean, call))
|
.map(flowDataRequestBean -> createFlowDataEntity(flowDataRequestBean, call))
|
||||||
.collect(Collectors.toList());
|
.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;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -145,7 +206,16 @@ public class FlowDao {
|
|||||||
List<FlowEdgesEntity> flowEdgesEntities = flowRequestBean.getFlowEdges().stream()
|
List<FlowEdgesEntity> flowEdgesEntities = flowRequestBean.getFlowEdges().stream()
|
||||||
.map(flowEdgesRequestBean -> createFlowEdgesEntity(flowEdgesRequestBean, call))
|
.map(flowEdgesRequestBean -> createFlowEdgesEntity(flowEdgesRequestBean, call))
|
||||||
.collect(Collectors.toList());
|
.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) {
|
public FlowEdgesEntity createFlowEdgesEntity(FlowEdgesRequestBean flowEdgesRequestBean,CallEntity call) {
|
||||||
|
|||||||
Reference in New Issue
Block a user