Merge branch 'develop' of https://github.com/Kitzanos/GEPAFIN-BE into feature/GEPAFINBE-143
This commit is contained in:
@@ -8,7 +8,6 @@ import net.gepafin.tendermanagement.entities.ApplicationEntity;
|
|||||||
import net.gepafin.tendermanagement.entities.ApplicationEvaluationEntity;
|
import net.gepafin.tendermanagement.entities.ApplicationEvaluationEntity;
|
||||||
import net.gepafin.tendermanagement.entities.AssignedApplicationsEntity;
|
import net.gepafin.tendermanagement.entities.AssignedApplicationsEntity;
|
||||||
import net.gepafin.tendermanagement.entities.CompanyEntity;
|
import net.gepafin.tendermanagement.entities.CompanyEntity;
|
||||||
import net.gepafin.tendermanagement.entities.FaqEntity;
|
|
||||||
import net.gepafin.tendermanagement.entities.UserEntity;
|
import net.gepafin.tendermanagement.entities.UserEntity;
|
||||||
import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum;
|
import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum;
|
||||||
import net.gepafin.tendermanagement.enums.AssignedApplicationEnum;
|
import net.gepafin.tendermanagement.enums.AssignedApplicationEnum;
|
||||||
@@ -80,8 +79,13 @@ public class AssignedApplicationsDao {
|
|||||||
log.info("Assigning application to pre-Instructor with details: {}", applicationId, userId);
|
log.info("Assigning application to pre-Instructor with details: {}", applicationId, userId);
|
||||||
|
|
||||||
AssignedApplicationsEntity assignedApplications = assignedApplicationsRepository.findByApplicationIdAndIsDeletedFalse(applicationId).orElse(null);
|
AssignedApplicationsEntity assignedApplications = assignedApplicationsRepository.findByApplicationIdAndIsDeletedFalse(applicationId).orElse(null);
|
||||||
if (assignedApplications != null) {
|
if (assignedApplications != null && assignedApplications.getUserId().equals(userId)) {
|
||||||
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.APPLICATION_ALREADY_ASSIGNED));
|
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.APPLICATION_ALREADY_ASSIGNED));
|
||||||
|
} else if(assignedApplications != null) {
|
||||||
|
assignedApplications = reassignApplication(userId, assignedByUser, assignedApplications);
|
||||||
|
AssignedApplicationsResponse assignApplicationToInstructorResponse = convertEntityToResponse(assignedApplications);
|
||||||
|
log.info("Application re-assigned succesfully {}", assignApplicationToInstructorResponse);
|
||||||
|
return assignApplicationToInstructorResponse;
|
||||||
}
|
}
|
||||||
ApplicationEntity application = applicationService.validateApplication(applicationId);
|
ApplicationEntity application = applicationService.validateApplication(applicationId);
|
||||||
|
|
||||||
@@ -107,6 +111,30 @@ public class AssignedApplicationsDao {
|
|||||||
return assignApplicationToInstructorResponse;
|
return assignApplicationToInstructorResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private AssignedApplicationsEntity reassignApplication(Long userId, UserEntity assignedByUser,
|
||||||
|
AssignedApplicationsEntity assignedApplication) {
|
||||||
|
|
||||||
|
AssignedApplicationsEntity oldAssignedApplicationEntity = Utils.getClonedEntityForData(assignedApplication);
|
||||||
|
|
||||||
|
setIfUpdated(assignedApplication::getAssignedBy, assignedApplication::setAssignedBy, assignedByUser.getId());
|
||||||
|
setIfUpdated(assignedApplication::getUserId, assignedApplication::setUserId, userId);
|
||||||
|
assignedApplication.setAssignedAt(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
||||||
|
Optional<ApplicationEvaluationEntity> entityOptional = applicationEvaluationRepository.findByAssignedApplicationsEntity_IdAndIsDeletedFalse(assignedApplication.getId());
|
||||||
|
if(entityOptional.isPresent()) {
|
||||||
|
ApplicationEvaluationEntity oldApplicationEvaluationEntity = Utils.getClonedEntityForData(entityOptional.get());
|
||||||
|
setIfUpdated(entityOptional.get()::getUserId, entityOptional.get()::setUserId, userId);
|
||||||
|
applicationEvaluationRepository.save(entityOptional.get());
|
||||||
|
/** This code is responsible for adding a version history log for the "Create Application" operation. **/
|
||||||
|
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldApplicationEvaluationEntity).newData(entityOptional.get()).build());
|
||||||
|
|
||||||
|
};
|
||||||
|
assignedApplication = assignedApplicationsRepository.save(assignedApplication);
|
||||||
|
/** This code is responsible for adding a version history log for the "Create Application" operation. **/
|
||||||
|
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldAssignedApplicationEntity).newData(assignedApplication).build());
|
||||||
|
|
||||||
|
return assignedApplication;
|
||||||
|
}
|
||||||
|
|
||||||
public AssignedApplicationsEntity createAssignmentEntity(ApplicationEntity application, Long userId, UserEntity assignedByUser, AssignedApplicationsRequest assignedApplicationsRequest) {
|
public AssignedApplicationsEntity createAssignmentEntity(ApplicationEntity application, Long userId, UserEntity assignedByUser, AssignedApplicationsRequest assignedApplicationsRequest) {
|
||||||
AssignedApplicationsEntity assignApplication = new AssignedApplicationsEntity();
|
AssignedApplicationsEntity assignApplication = new AssignedApplicationsEntity();
|
||||||
assignApplication.setApplication(application);
|
assignApplication.setApplication(application);
|
||||||
|
|||||||
@@ -465,17 +465,27 @@ public class FormDao {
|
|||||||
String value = (String) formFieldMap.get(fieldId);
|
String value = (String) formFieldMap.get(fieldId);
|
||||||
|
|
||||||
FieldValidatorBean fieldValidatorBean = Utils.convertSourceObjectToDestinationObject(contentResponseBean.getValidators(), FieldValidatorBean.class);
|
FieldValidatorBean fieldValidatorBean = Utils.convertSourceObjectToDestinationObject(contentResponseBean.getValidators(), FieldValidatorBean.class);
|
||||||
validator
|
String fieldValue = getFieldValue(contentResponseBean);
|
||||||
.isRequired(value,fieldValidatorBean.getIsRequired(),contentResponseBean.getLabel());
|
validator.isRequired(value, fieldValidatorBean.getIsRequired(), fieldValue);
|
||||||
});
|
});
|
||||||
if (Boolean.TRUE.equals(isSendValidationError)) {
|
if (Boolean.TRUE.equals(isSendValidationError)) {
|
||||||
validator.validate();
|
validator.validate();
|
||||||
}
|
}
|
||||||
if (validator.hasErrors()) {
|
return !validator.hasErrors();
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getFieldValue(ContentResponseBean contentResponseBean) {
|
||||||
|
// Use Optional with pattern matching for type checks
|
||||||
|
return contentResponseBean.getSettings().stream().filter(setting -> "label".equals(setting.getName()) && setting.getValue() != null)
|
||||||
|
.map(setting -> {
|
||||||
|
if (setting.getValue() instanceof String value) {
|
||||||
|
return value.trim();
|
||||||
|
} else {
|
||||||
|
return String.valueOf(setting.getValue()).trim();
|
||||||
|
}
|
||||||
|
}).filter(value -> !value.isEmpty()).findFirst().orElse(contentResponseBean.getId());
|
||||||
|
}
|
||||||
|
|
||||||
public String validateVatNumber(String value,String customRule,String fieldId){
|
public String validateVatNumber(String value,String customRule,String fieldId){
|
||||||
String error=null;
|
String error=null;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user