Resolved conflicts

This commit is contained in:
Piyush
2025-05-28 11:56:17 +05:30
committed by rajesh
parent 4cba5f8e44
commit eafd47ba5f
10 changed files with 351 additions and 61 deletions

View File

@@ -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) {
@@ -478,13 +495,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) {