Done Ticket GEPAFINBE-171
This commit is contained in:
@@ -87,8 +87,10 @@ public class AssignedApplicationsDao {
|
||||
|
||||
AssignedApplicationsEntity assignedApplications = assignedApplicationsRepository.findByApplicationIdAndIsDeletedFalse(applicationId).orElse(null);
|
||||
if (assignedApplications != null && assignedApplications.getUserId().equals(userId)) {
|
||||
log.warn("Application ID={} is already assigned to User ID={}", applicationId, userId);
|
||||
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.APPLICATION_ALREADY_ASSIGNED));
|
||||
} else if(assignedApplications != null) {
|
||||
log.info("Reassigning Application ID={} from User ID={} to User ID={}", applicationId, assignedApplications.getUserId(), userId);
|
||||
assignedApplications = reassignApplication(userId, assignedByUser, assignedApplications);
|
||||
AssignedApplicationsResponse assignApplicationToInstructorResponse = convertEntityToResponse(assignedApplications);
|
||||
log.info("Application re-assigned succesfully {}", assignApplicationToInstructorResponse);
|
||||
@@ -98,6 +100,7 @@ public class AssignedApplicationsDao {
|
||||
|
||||
|
||||
if (Boolean.FALSE.equals(ApplicationStatusTypeEnum.SUBMIT.getValue().equals(application.getStatus()))) {
|
||||
log.warn("Invalid application status for assignment. Application ID={}, Current Status={}", applicationId, application.getStatus());
|
||||
throw new CustomValidationException(
|
||||
Status.BAD_REQUEST,
|
||||
Translator.toLocale(GepafinConstant.INVALID_APPLICATION_STATUS)
|
||||
@@ -106,6 +109,7 @@ public class AssignedApplicationsDao {
|
||||
ApplicationEntity oldApplicationEntity = Utils.getClonedEntityForData(application);
|
||||
application.setStatus(ApplicationStatusTypeEnum.EVALUATION.getValue());
|
||||
applicationRepository.save(application);
|
||||
log.info("Application status updated to EVALUATION for Application ID={}", applicationId);
|
||||
|
||||
/** This code is responsible for adding a version history log for the "Update Application" operation. **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldApplicationEntity).newData(application).build());
|
||||
@@ -120,7 +124,10 @@ public class AssignedApplicationsDao {
|
||||
|
||||
private AssignedApplicationsEntity reassignApplication(Long userId, UserEntity assignedByUser,
|
||||
AssignedApplicationsEntity assignedApplication) {
|
||||
|
||||
|
||||
log.info("Starting reassignment for AssignedApplication ID={}, from User ID={} to User ID={}, Assigned By User ID={}",
|
||||
assignedApplication.getId(), assignedApplication.getUserId(), userId, assignedByUser.getId());
|
||||
|
||||
AssignedApplicationsEntity oldAssignedApplicationEntity = Utils.getClonedEntityForData(assignedApplication);
|
||||
|
||||
setIfUpdated(assignedApplication::getAssignedBy, assignedApplication::setAssignedBy, assignedByUser.getId());
|
||||
@@ -135,11 +142,13 @@ public class AssignedApplicationsDao {
|
||||
/** 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());
|
||||
|
||||
log.info("Updated ApplicationEvaluationEntity for AssignedApplication ID={}", assignedApplication.getId());
|
||||
};
|
||||
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());
|
||||
|
||||
log.info("Reassignment completed for AssignedApplication ID={}, new User ID={}", assignedApplication.getId(), userId);
|
||||
return assignedApplication;
|
||||
}
|
||||
|
||||
@@ -220,8 +229,13 @@ public class AssignedApplicationsDao {
|
||||
}
|
||||
|
||||
public AssignedApplicationsEntity validateAssignedApplication(Long id) {
|
||||
AssignedApplicationsEntity assignedApplication = assignedApplicationsRepository.findByIdAndIsDeletedFalse(id).orElseThrow(() ->
|
||||
new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.ASSIGNED_APPLICATION_NOT_FOUND_MSG)));
|
||||
AssignedApplicationsEntity assignedApplication = assignedApplicationsRepository.findByIdAndIsDeletedFalse(id) .orElseThrow(() -> {
|
||||
log.warn("AssignedApplication not found or deleted for ID: {}", id);
|
||||
return new ResourceNotFoundException(
|
||||
Status.NOT_FOUND,
|
||||
Translator.toLocale(GepafinConstant.ASSIGNED_APPLICATION_NOT_FOUND_MSG)
|
||||
);
|
||||
});
|
||||
return assignedApplication;
|
||||
}
|
||||
|
||||
@@ -232,11 +246,12 @@ public class AssignedApplicationsDao {
|
||||
AssignedApplicationsEntity oldAssignedApplicationEntity = Utils.getClonedEntityForData(assignedApplicationsEntity);
|
||||
assignedApplicationsEntity.setIsDeleted(true);
|
||||
assignedApplicationsEntity = saveAssignedApplication(assignedApplicationsEntity, oldAssignedApplicationEntity, VersionActionTypeEnum.SOFT_DELETE);
|
||||
log.info("Assigned Application deleted with ID: {}", id);
|
||||
log.info("Soft-delete completed for AssignedApplication ID: {} by User ID: {}", id, assignedApplicationsEntity.getUserId());
|
||||
}
|
||||
|
||||
public List<AssignedApplicationsResponse> getAllAssignedApplications(HttpServletRequest request, Long userId,List<AssignedApplicationEnum> statusList) {
|
||||
UserEntity user = validator.validateUser(request);
|
||||
log.info("Fetching all assigned applications. Filtered target userId: {}", userId);
|
||||
UserEntity user = validator.validateUser(request);
|
||||
if(validator.checkIsPreInstructor() && userId == null) {
|
||||
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.USER_ID_NOT_NULL_MSG));
|
||||
}
|
||||
@@ -303,6 +318,8 @@ public class AssignedApplicationsDao {
|
||||
return response;
|
||||
}
|
||||
public PageableResponseBean<List<AssignedApplicationViewResponse>> getAllAssignedApplicationsByPagination(UserEntity user, AssignedApplicationPageableRequestBean assignedApplicationPageableRequestBean,Long userId) {
|
||||
log.info("Fetching assigned applications. Requestor: {}, Target User: {}", user.getId(), userId);
|
||||
|
||||
Integer pageNo = null;
|
||||
Integer pageLimit = null;
|
||||
if (assignedApplicationPageableRequestBean.getGlobalFilters() != null) {
|
||||
@@ -474,13 +491,16 @@ public class AssignedApplicationsDao {
|
||||
}
|
||||
|
||||
public AssignedApplicationsResponse updateAssignedApplicationStatus(HttpServletRequest request, Long assignedApplicationId, AssignedApplicationEnum status) {
|
||||
|
||||
log.info("Request received to update status of assigned application. AssignedApplicationId: {}, NewStatus: {}", assignedApplicationId, status);
|
||||
AssignedApplicationsEntity assignedApplication = validateAssignedApplication(assignedApplicationId);
|
||||
validator.validatePreInstructor(request, assignedApplication.getUserId());
|
||||
|
||||
AssignedApplicationsEntity oldAssignedApplicationEntity = Utils.getClonedEntityForData(assignedApplication);
|
||||
assignedApplication.setStatus(status.getValue());
|
||||
AssignedApplicationsEntity updatedAssignment = saveAssignedApplication(assignedApplication, oldAssignedApplicationEntity, VersionActionTypeEnum.UPDATE);
|
||||
log.info("Assigned application status updated successfully. AssignedApplicationId: {}, OldStatus: {}, NewStatus: {}",
|
||||
assignedApplicationId, oldAssignedApplicationEntity.getStatus(), status.getValue());
|
||||
|
||||
return convertEntityToResponse(updatedAssignment);
|
||||
}
|
||||
private void applyFilters(Root<?> root, CriteriaBuilder criteriaBuilder, List<Predicate> predicates, Map<String, FilterCriteria> filters) {
|
||||
|
||||
Reference in New Issue
Block a user