Resolved conflicts
This commit is contained in:
@@ -401,5 +401,7 @@ public class GepafinConstant {
|
|||||||
public static final String EVALUATION_FORM_NOT_FOUND = "evaluation.form.not.found";
|
public static final String EVALUATION_FORM_NOT_FOUND = "evaluation.form.not.found";
|
||||||
|
|
||||||
public static final String EVALUATION_V2_STEP_2 = "EVALUATION_V2_STEP_2";
|
public static final String EVALUATION_V2_STEP_2 = "EVALUATION_V2_STEP_2";
|
||||||
|
|
||||||
|
public static final String ASSIGNED_APPLICATION_STATUS_UPDATED_SUCCESSFULLY = "assigned.application.status.updated.successfully";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,19 +4,13 @@ import jakarta.persistence.criteria.Predicate;
|
|||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import net.gepafin.tendermanagement.config.Translator;
|
import net.gepafin.tendermanagement.config.Translator;
|
||||||
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
||||||
import net.gepafin.tendermanagement.entities.ApplicationEntity;
|
import net.gepafin.tendermanagement.entities.*;
|
||||||
import net.gepafin.tendermanagement.entities.ApplicationEvaluationEntity;
|
import net.gepafin.tendermanagement.enums.*;
|
||||||
import net.gepafin.tendermanagement.entities.AssignedApplicationsEntity;
|
|
||||||
import net.gepafin.tendermanagement.entities.CompanyEntity;
|
|
||||||
import net.gepafin.tendermanagement.entities.UserEntity;
|
|
||||||
import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum;
|
|
||||||
import net.gepafin.tendermanagement.enums.AssignedApplicationEnum;
|
|
||||||
import net.gepafin.tendermanagement.enums.EvaluationVersionEnum;
|
|
||||||
import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest;
|
import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest;
|
||||||
import net.gepafin.tendermanagement.enums.VersionActionTypeEnum;
|
|
||||||
import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest;
|
import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest;
|
||||||
import net.gepafin.tendermanagement.model.request.UpdateAssignedApplicationRequest;
|
import net.gepafin.tendermanagement.model.request.UpdateAssignedApplicationRequest;
|
||||||
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
|
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
|
||||||
|
import net.gepafin.tendermanagement.model.response.ApplicationResponse;
|
||||||
import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse;
|
import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse;
|
||||||
import net.gepafin.tendermanagement.repositories.ApplicationEvaluationRepository;
|
import net.gepafin.tendermanagement.repositories.ApplicationEvaluationRepository;
|
||||||
import net.gepafin.tendermanagement.repositories.ApplicationRepository;
|
import net.gepafin.tendermanagement.repositories.ApplicationRepository;
|
||||||
@@ -37,6 +31,7 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -120,6 +115,7 @@ public class AssignedApplicationsDao {
|
|||||||
setIfUpdated(assignedApplication::getAssignedBy, assignedApplication::setAssignedBy, assignedByUser.getId());
|
setIfUpdated(assignedApplication::getAssignedBy, assignedApplication::setAssignedBy, assignedByUser.getId());
|
||||||
setIfUpdated(assignedApplication::getUserId, assignedApplication::setUserId, userId);
|
setIfUpdated(assignedApplication::getUserId, assignedApplication::setUserId, userId);
|
||||||
assignedApplication.setAssignedAt(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
assignedApplication.setAssignedAt(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
||||||
|
assignedApplication.setStatus(AssignedApplicationEnum.AWAITING.getValue());
|
||||||
Optional<ApplicationEvaluationEntity> entityOptional = applicationEvaluationRepository.findByAssignedApplicationsEntity_IdAndIsDeletedFalse(assignedApplication.getId());
|
Optional<ApplicationEvaluationEntity> entityOptional = applicationEvaluationRepository.findByAssignedApplicationsEntity_IdAndIsDeletedFalse(assignedApplication.getId());
|
||||||
if(entityOptional.isPresent()) {
|
if(entityOptional.isPresent()) {
|
||||||
ApplicationEvaluationEntity oldApplicationEvaluationEntity = Utils.getClonedEntityForData(entityOptional.get());
|
ApplicationEvaluationEntity oldApplicationEvaluationEntity = Utils.getClonedEntityForData(entityOptional.get());
|
||||||
@@ -141,10 +137,7 @@ public class AssignedApplicationsDao {
|
|||||||
assignApplication.setApplication(application);
|
assignApplication.setApplication(application);
|
||||||
assignApplication.setAssignedBy(assignedByUser.getId());
|
assignApplication.setAssignedBy(assignedByUser.getId());
|
||||||
assignApplication.setUserId(userId);
|
assignApplication.setUserId(userId);
|
||||||
assignApplication.setStatus(AssignedApplicationEnum.OPEN.getValue());
|
assignApplication.setStatus(AssignedApplicationEnum.AWAITING.getValue());
|
||||||
if (assignedApplicationsRequest.getStatus() != null) {
|
|
||||||
assignApplication.setStatus(assignedApplicationsRequest.getStatus().getValue());
|
|
||||||
}
|
|
||||||
assignApplication.setNote(assignedApplicationsRequest.getNote());
|
assignApplication.setNote(assignedApplicationsRequest.getNote());
|
||||||
assignApplication.setIsDeleted(false);
|
assignApplication.setIsDeleted(false);
|
||||||
assignApplication.setAssignedAt(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
assignApplication.setAssignedAt(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
||||||
@@ -293,5 +286,14 @@ public class AssignedApplicationsDao {
|
|||||||
log.info("Assigned application fetched successfully: {}", response);
|
log.info("Assigned application fetched successfully: {}", response);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
public AssignedApplicationsResponse updateAssignedApplicationStatus(HttpServletRequest request, Long assignedApplicationId, AssignedApplicationEnum 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);
|
||||||
|
return convertEntityToResponse(updatedAssignment);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,9 @@ import com.fasterxml.jackson.annotation.JsonValue;
|
|||||||
public enum AssignedApplicationEnum {
|
public enum AssignedApplicationEnum {
|
||||||
OPEN ("OPEN"),
|
OPEN ("OPEN"),
|
||||||
SOCCORSO("SOCCORSO"),
|
SOCCORSO("SOCCORSO"),
|
||||||
|
|
||||||
|
AWAITING("AWAITING"),
|
||||||
|
|
||||||
CLOSE("CLOSE");
|
CLOSE("CLOSE");
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -109,6 +109,7 @@ public enum UserActionContextEnum {
|
|||||||
DELETE_ASSIGNED_APPLICATION("DELETE_ASSIGNED_APPLICATION"),
|
DELETE_ASSIGNED_APPLICATION("DELETE_ASSIGNED_APPLICATION"),
|
||||||
GET_ASSIGNED_APPLICATION("GET_ASSIGNED_APPLICATION"),
|
GET_ASSIGNED_APPLICATION("GET_ASSIGNED_APPLICATION"),
|
||||||
UPDATE_ASSIGNED_APPLICATION_DETAILS("UPDATE_ASSIGNED_APPLICATION_DETAILS"),
|
UPDATE_ASSIGNED_APPLICATION_DETAILS("UPDATE_ASSIGNED_APPLICATION_DETAILS"),
|
||||||
|
UPDATE_ASSIGNED_APPLICATION_STATUS("UPDATE_ASSIGNED_APPLICATION_STATUS"),
|
||||||
|
|
||||||
/** Assigned form field context **/
|
/** Assigned form field context **/
|
||||||
CREATE_FORM_FIELD("CREATE_FORM_FIELD"),
|
CREATE_FORM_FIELD("CREATE_FORM_FIELD"),
|
||||||
|
|||||||
@@ -6,5 +6,4 @@ import net.gepafin.tendermanagement.enums.AssignedApplicationEnum;
|
|||||||
@Data
|
@Data
|
||||||
public class AssignedApplicationsRequest {
|
public class AssignedApplicationsRequest {
|
||||||
private String note;
|
private String note;
|
||||||
private AssignedApplicationEnum status;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,4 +21,5 @@ public interface AssignedApplicationsService {
|
|||||||
AssignedApplicationsResponse updateAssignedApplication(HttpServletRequest request, Long id, UpdateAssignedApplicationRequest assignedApplicationsRequest);
|
AssignedApplicationsResponse updateAssignedApplication(HttpServletRequest request, Long id, UpdateAssignedApplicationRequest assignedApplicationsRequest);
|
||||||
AssignedApplicationsResponse getAssignedApplicationById(HttpServletRequest request, Long id);
|
AssignedApplicationsResponse getAssignedApplicationById(HttpServletRequest request, Long id);
|
||||||
AssignedApplicationsEntity validateAssignedApplication(Long assignedApplicationId);
|
AssignedApplicationsEntity validateAssignedApplication(Long assignedApplicationId);
|
||||||
|
AssignedApplicationsResponse updateAssignedApplicationStatus(HttpServletRequest request, Long assignedApplicationId, AssignedApplicationEnum status);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,5 +62,8 @@ public class AssignedApplicationsServiceImpl implements AssignedApplicationsServ
|
|||||||
public AssignedApplicationsEntity validateAssignedApplication(Long assignedApplicationId) {
|
public AssignedApplicationsEntity validateAssignedApplication(Long assignedApplicationId) {
|
||||||
return assignedApplicationsDao.validateAssignedApplication(assignedApplicationId);
|
return assignedApplicationsDao.validateAssignedApplication(assignedApplicationId);
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public AssignedApplicationsResponse updateAssignedApplicationStatus(HttpServletRequest request, Long assignedApplicationId, AssignedApplicationEnum status) {
|
||||||
|
return assignedApplicationsDao.updateAssignedApplicationStatus(request, assignedApplicationId, status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum;
|
|||||||
import net.gepafin.tendermanagement.enums.AssignedApplicationEnum;
|
import net.gepafin.tendermanagement.enums.AssignedApplicationEnum;
|
||||||
import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest;
|
import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest;
|
||||||
import net.gepafin.tendermanagement.model.request.UpdateAssignedApplicationRequest;
|
import net.gepafin.tendermanagement.model.request.UpdateAssignedApplicationRequest;
|
||||||
|
import net.gepafin.tendermanagement.model.response.ApplicationResponse;
|
||||||
import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse;
|
import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse;
|
||||||
import net.gepafin.tendermanagement.model.util.Response;
|
import net.gepafin.tendermanagement.model.util.Response;
|
||||||
import net.gepafin.tendermanagement.web.rest.api.errors.ErrorConstants;
|
import net.gepafin.tendermanagement.web.rest.api.errors.ErrorConstants;
|
||||||
@@ -100,6 +101,19 @@ public interface AssignedApplicationsApi {
|
|||||||
ResponseEntity<Response<AssignedApplicationsResponse>> getAssignedApplicationById(HttpServletRequest request,
|
ResponseEntity<Response<AssignedApplicationsResponse>> getAssignedApplicationById(HttpServletRequest request,
|
||||||
@Parameter(description = "The assigned application id", required = true) @PathVariable(value = "id", required = true) Long id);
|
@Parameter(description = "The assigned application id", required = true) @PathVariable(value = "id", required = true) Long id);
|
||||||
|
|
||||||
|
@Operation(summary = "Api to update assigned application status",
|
||||||
|
responses = {
|
||||||
|
@ApiResponse(responseCode = "200", description = "OK"),
|
||||||
|
@ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
|
||||||
|
@ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })),
|
||||||
|
@ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
|
||||||
|
@ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })),
|
||||||
|
@ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
|
||||||
|
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) })
|
||||||
|
@PutMapping(value = "/{id}/status", produces = { "application/json" })
|
||||||
|
ResponseEntity<Response<AssignedApplicationsResponse>> updateAssignedApplicationStatus(HttpServletRequest request,
|
||||||
|
@Parameter(description = "The assigned application id", required = true) @PathVariable("id") Long id,
|
||||||
|
@Parameter(description = "status", required = true)@RequestParam(value = "status", required = true) AssignedApplicationEnum status);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import net.gepafin.tendermanagement.enums.UserActionLogsEnum;
|
|||||||
import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest;
|
import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest;
|
||||||
import net.gepafin.tendermanagement.model.request.UpdateAssignedApplicationRequest;
|
import net.gepafin.tendermanagement.model.request.UpdateAssignedApplicationRequest;
|
||||||
import net.gepafin.tendermanagement.model.request.UserActionRequest;
|
import net.gepafin.tendermanagement.model.request.UserActionRequest;
|
||||||
|
import net.gepafin.tendermanagement.model.response.ApplicationResponse;
|
||||||
import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse;
|
import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse;
|
||||||
import net.gepafin.tendermanagement.model.util.Response;
|
import net.gepafin.tendermanagement.model.util.Response;
|
||||||
import net.gepafin.tendermanagement.service.AssignedApplicationsService;
|
import net.gepafin.tendermanagement.service.AssignedApplicationsService;
|
||||||
@@ -91,6 +92,18 @@ public class AssignedApplicationsController implements AssignedApplicationsApi {
|
|||||||
.body(new Response<>(application, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_ASSIGNED_APPLICATION_SUCCESS_MSG)));
|
.body(new Response<>(application, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_ASSIGNED_APPLICATION_SUCCESS_MSG)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResponseEntity<Response<AssignedApplicationsResponse>> updateAssignedApplicationStatus(HttpServletRequest request, Long assignedApplicationId, AssignedApplicationEnum status) {
|
||||||
|
|
||||||
|
/** This code is responsible for creating user action logs for the "update assigned application status" operation. **/
|
||||||
|
loggingUtil.logUserAction(
|
||||||
|
UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPDATE).actionContext(UserActionContextEnum.UPDATE_ASSIGNED_APPLICATION_STATUS).build());
|
||||||
|
|
||||||
|
AssignedApplicationsResponse applicationResponse = assignedApplicationsService.updateAssignedApplicationStatus(request, assignedApplicationId, status);
|
||||||
|
|
||||||
|
return ResponseEntity.status(HttpStatus.OK)
|
||||||
|
.body(new Response<>(applicationResponse, Status.SUCCESS, Translator.toLocale(GepafinConstant.ASSIGNED_APPLICATION_STATUS_UPDATED_SUCCESSFULLY)));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -362,3 +362,4 @@ evaluation.form.deleted.successfully=Evaluation form deleted successfully.
|
|||||||
evaluation.form.fetched.successfully=Evaluation form fetched successfully.
|
evaluation.form.fetched.successfully=Evaluation form fetched successfully.
|
||||||
evaluation.form.not.found=Evaluation form not found.
|
evaluation.form.not.found=Evaluation form not found.
|
||||||
|
|
||||||
|
assigned.application.status.updated.successfully=Assigned application status updated successfully.
|
||||||
|
|||||||
@@ -352,3 +352,6 @@ evaluation.form.deleted.successfully=Modulo di valutazione eliminato con success
|
|||||||
evaluation.form.fetched.successfully=Modulo di valutazione recuperato con successo.
|
evaluation.form.fetched.successfully=Modulo di valutazione recuperato con successo.
|
||||||
evaluation.form.not.found=Modulo di valutazione non trovato.
|
evaluation.form.not.found=Modulo di valutazione non trovato.
|
||||||
|
|
||||||
|
|
||||||
|
assigned.application.status.updated.successfully=Stato dell'applicazione assegnata aggiornato con successo.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user