Updated code for Assigned Application

This commit is contained in:
harish
2024-10-24 18:30:58 +05:30
parent 3c40470dfc
commit 620f5c7c7a
3 changed files with 45 additions and 14 deletions

View File

@@ -9,6 +9,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.response.AssignedApplicationsResponse; import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse;
import net.gepafin.tendermanagement.repositories.ApplicationRepository;
import net.gepafin.tendermanagement.repositories.AssignedApplicationsRepository; import net.gepafin.tendermanagement.repositories.AssignedApplicationsRepository;
import net.gepafin.tendermanagement.service.ApplicationService; import net.gepafin.tendermanagement.service.ApplicationService;
import net.gepafin.tendermanagement.service.UserService; import net.gepafin.tendermanagement.service.UserService;
@@ -31,13 +32,16 @@ import static net.gepafin.tendermanagement.util.Utils.setIfUpdated;
public class AssignedApplicationsDao { public class AssignedApplicationsDao {
@Autowired @Autowired
ApplicationService applicationService; private ApplicationService applicationService;
@Autowired @Autowired
AssignedApplicationsRepository assignedApplicationsRepository; private ApplicationRepository applicationRepository;
@Autowired @Autowired
UserService userService; private AssignedApplicationsRepository assignedApplicationsRepository;
@Autowired
private UserService userService;
public AssignedApplicationsResponse createAssignedApplications(Long applicationId, Long userId, UserEntity assignedByUser, AssignedApplicationsRequest assignedApplicationsRequest){ public AssignedApplicationsResponse createAssignedApplications(Long applicationId, Long userId, UserEntity assignedByUser, AssignedApplicationsRequest assignedApplicationsRequest){
log.info("Assigning application to pre-Instructor with details: {}", applicationId,userId); log.info("Assigning application to pre-Instructor with details: {}", applicationId,userId);
@@ -47,12 +51,16 @@ public class AssignedApplicationsDao {
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.APPLICATION_ALREADY_ASSIGNED)); throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.APPLICATION_ALREADY_ASSIGNED));
} }
ApplicationEntity application = applicationService.validateApplication(applicationId); ApplicationEntity application = applicationService.validateApplication(applicationId);
if (Boolean.FALSE.equals(ApplicationStatusTypeEnum.SUBMIT.getValue().equals(application.getStatus()))) { if (Boolean.FALSE.equals(ApplicationStatusTypeEnum.SUBMIT.getValue().equals(application.getStatus()))) {
throw new CustomValidationException( throw new CustomValidationException(
Status.BAD_REQUEST, Status.BAD_REQUEST,
Translator.toLocale(GepafinConstant.INVALID_APPLICATION_STATUS) Translator.toLocale(GepafinConstant.INVALID_APPLICATION_STATUS)
); );
} }
application.setStatus(ApplicationStatusTypeEnum.EVALUATION.getValue());
applicationRepository.save(application);
UserEntity user = userService.validateUser(userId); UserEntity user = userService.validateUser(userId);
AssignedApplicationsEntity assignment = createAssignmentEntity(application, user.getId(), assignedByUser, assignedApplicationsRequest); AssignedApplicationsEntity assignment = createAssignmentEntity(application, user.getId(), assignedByUser, assignedApplicationsRequest);
AssignedApplicationsResponse assignApplicationToInstructorResponse = convertEntityToResponse(assignment); AssignedApplicationsResponse assignApplicationToInstructorResponse = convertEntityToResponse(assignment);
@@ -82,17 +90,34 @@ public class AssignedApplicationsDao {
return assignedApplication; return assignedApplication;
} }
public AssignedApplicationsResponse convertEntityToResponse(AssignedApplicationsEntity application){ public AssignedApplicationsResponse convertEntityToResponse(AssignedApplicationsEntity assignedApplications){
AssignedApplicationsResponse assignedApplicationsResponse = new AssignedApplicationsResponse(); AssignedApplicationsResponse assignedApplicationsResponse = new AssignedApplicationsResponse();
assignedApplicationsResponse.setId(application.getId()); assignedApplicationsResponse.setId(assignedApplications.getId());
assignedApplicationsResponse.setApplicationId(application.getApplication().getId()); assignedApplicationsResponse.setApplicationId(assignedApplications.getApplication().getId());
assignedApplicationsResponse.setAssignedBy(application.getAssignedBy());
assignedApplicationsResponse.setUserId(application.getUserId()); ApplicationEntity application = applicationService.validateApplication(assignedApplications.getApplication().getId());
assignedApplicationsResponse.setCreatedDate(application.getCreatedDate()); String callName = application.getCall().getName();
assignedApplicationsResponse.setUpdatedDate(application.getUpdatedDate()); Long protocolNumber = application.getProtocol().getProtocolNumber();
assignedApplicationsResponse.setNote(application.getNote()); LocalDateTime submissionDate = application.getSubmissionDate();
assignedApplicationsResponse.setStatus(AssignedApplicationEnum.valueOf(application.getStatus())); UserEntity userEntity = userService.validateUser(assignedApplications.getUserId());
assignedApplicationsResponse.setAssignedAt(application.getAssignedAt()); String firstName = userEntity.getBeneficiary().getFirstName();
String lastName = userEntity.getBeneficiary().getLastName();
String beneficiaryName =
(firstName != null ? firstName : "") +
(lastName != null ? " " + lastName : "");
assignedApplicationsResponse.setAssignedBy(assignedApplications.getAssignedBy());
assignedApplicationsResponse.setUserId(assignedApplications.getUserId());
assignedApplicationsResponse.setCreatedDate(assignedApplications.getCreatedDate());
assignedApplicationsResponse.setUpdatedDate(assignedApplications.getUpdatedDate());
assignedApplicationsResponse.setNote(assignedApplications.getNote());
assignedApplicationsResponse.setStatus(AssignedApplicationEnum.valueOf(assignedApplications.getStatus()));
assignedApplicationsResponse.setAssignedAt(assignedApplications.getAssignedAt());
assignedApplicationsResponse.setProtocolNumber(protocolNumber);
assignedApplicationsResponse.setCallName(callName);
assignedApplicationsResponse.setBeneficiaryName(beneficiaryName);
assignedApplicationsResponse.setSubmissionDate(submissionDate);
return assignedApplicationsResponse; return assignedApplicationsResponse;
} }

View File

@@ -8,7 +8,8 @@ public enum ApplicationStatusTypeEnum {
SUBMIT("SUBMIT"), SUBMIT("SUBMIT"),
AWAIT("AWAIT"), AWAIT("AWAIT"),
READY("READY"), READY("READY"),
DISCARD("DISCARD"); DISCARD("DISCARD"),
EVALUATION("EVALUATION");
private String value; private String value;

View File

@@ -14,6 +14,11 @@ public class AssignedApplicationsResponse extends BaseBean {
private AssignedApplicationEnum status; private AssignedApplicationEnum status;
private String note; private String note;
private LocalDateTime assignedAt; private LocalDateTime assignedAt;
private Long protocolNumber;
private String callName;
private String beneficiaryName;
private LocalDateTime submissionDate;
} }