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.AssignedApplicationsEntity;
|
||||
import net.gepafin.tendermanagement.entities.CompanyEntity;
|
||||
import net.gepafin.tendermanagement.entities.FaqEntity;
|
||||
import net.gepafin.tendermanagement.entities.UserEntity;
|
||||
import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum;
|
||||
import net.gepafin.tendermanagement.enums.AssignedApplicationEnum;
|
||||
@@ -80,8 +79,13 @@ public class AssignedApplicationsDao {
|
||||
log.info("Assigning application to pre-Instructor with details: {}", applicationId, userId);
|
||||
|
||||
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));
|
||||
} 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);
|
||||
|
||||
@@ -107,6 +111,30 @@ public class AssignedApplicationsDao {
|
||||
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) {
|
||||
AssignedApplicationsEntity assignApplication = new AssignedApplicationsEntity();
|
||||
assignApplication.setApplication(application);
|
||||
|
||||
@@ -465,17 +465,27 @@ public class FormDao {
|
||||
String value = (String) formFieldMap.get(fieldId);
|
||||
|
||||
FieldValidatorBean fieldValidatorBean = Utils.convertSourceObjectToDestinationObject(contentResponseBean.getValidators(), FieldValidatorBean.class);
|
||||
validator
|
||||
.isRequired(value,fieldValidatorBean.getIsRequired(),contentResponseBean.getLabel());
|
||||
String fieldValue = getFieldValue(contentResponseBean);
|
||||
validator.isRequired(value, fieldValidatorBean.getIsRequired(), fieldValue);
|
||||
});
|
||||
if (Boolean.TRUE.equals(isSendValidationError)) {
|
||||
validator.validate();
|
||||
}
|
||||
if (validator.hasErrors()) {
|
||||
return false;
|
||||
return !validator.hasErrors();
|
||||
}
|
||||
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){
|
||||
String error=null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user