From e2c19ccafb99bee72f6977fbbd82e2dbb0855664 Mon Sep 17 00:00:00 2001 From: Piyush Date: Fri, 11 Apr 2025 12:21:25 +0530 Subject: [PATCH 1/2] Done Ticket GEPAFINBE-204 --- .../constants/GepafinConstant.java | 5 + .../dao/AssignedApplicationsDao.java | 110 +++++++++++++----- .../entities/AssignedApplicationsView.java | 61 ++++++++++ .../entities/AssignedApplicationsViewId.java | 17 +++ .../AssignedApplicationsViewRepository.java | 9 ++ .../db/changelog/db.changelog-1.0.0.xml | 6 + .../dump/create_assigned_application_view.sql | 52 +++++++++ 7 files changed, 230 insertions(+), 30 deletions(-) create mode 100644 src/main/java/net/gepafin/tendermanagement/entities/AssignedApplicationsView.java create mode 100644 src/main/java/net/gepafin/tendermanagement/entities/AssignedApplicationsViewId.java create mode 100644 src/main/java/net/gepafin/tendermanagement/repositories/AssignedApplicationsViewRepository.java create mode 100644 src/main/resources/db/dump/create_assigned_application_view.sql diff --git a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java index 9ccfe7e5..4371d92f 100644 --- a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java +++ b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java @@ -510,6 +510,11 @@ public class GepafinConstant { public static final String INVALID_USER_ID="invalid.user"; public static final String COMPANY_NAME="companyName"; + public static final String APPOINTMENT_ID="appointmentId"; + public static final String APPLICATION_STATUS="applicationStatus"; + + + } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/AssignedApplicationsDao.java b/src/main/java/net/gepafin/tendermanagement/dao/AssignedApplicationsDao.java index 95e808a8..65035e47 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/AssignedApplicationsDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/AssignedApplicationsDao.java @@ -20,6 +20,7 @@ import net.gepafin.tendermanagement.model.util.SortBy; import net.gepafin.tendermanagement.repositories.ApplicationEvaluationRepository; import net.gepafin.tendermanagement.repositories.ApplicationRepository; import net.gepafin.tendermanagement.repositories.AssignedApplicationsRepository; +import net.gepafin.tendermanagement.repositories.AssignedApplicationsViewRepository; import net.gepafin.tendermanagement.service.ApplicationService; import net.gepafin.tendermanagement.service.CompanyService; import net.gepafin.tendermanagement.service.UserService; @@ -77,6 +78,9 @@ public class AssignedApplicationsDao { @Autowired private ApplicationEvaluationRepository applicationEvaluationRepository; + @Autowired + private AssignedApplicationsViewRepository assignedApplicationsViewRepository; + public AssignedApplicationsResponse createAssignedApplications(Long applicationId, Long userId, UserEntity assignedByUser, AssignedApplicationsRequest assignedApplicationsRequest) { log.info("Assigning application to pre-Instructor with details: {}", applicationId, userId); @@ -310,14 +314,13 @@ public class AssignedApplicationsDao { if (pageNo == null || pageNo <= 0) { pageNo = GepafinConstant.DEFAULT_PAGE; } - Specification spec = searchByPagination( assignedApplicationPageableRequestBean, user,userId); - Page entityPage = assignedApplicationsRepository.findAll(spec, PageRequest.of(pageNo - 1, pageLimit)); + Specification spec = searchByPagination( assignedApplicationPageableRequestBean, user,userId); + Page entityPage = assignedApplicationsViewRepository.findAll(spec, PageRequest.of(pageNo - 1, pageLimit)); // Prepare the response - List assignedApplicationsResponses = entityPage.getContent().stream() .map(application -> { - AssignedApplicationsResponse response = convertEntityToResponse(application); + AssignedApplicationsResponse response = getAssignedApplicationResponseByView(application); return response; }) .collect(Collectors.toList()); @@ -334,7 +337,7 @@ public class AssignedApplicationsDao { return pageableResponseBean; } - public Specification searchByPagination(AssignedApplicationPageableRequestBean assignedApplicationPageableRequestBean, UserEntity userEntity,Long userId) { + public Specification searchByPagination(AssignedApplicationPageableRequestBean assignedApplicationPageableRequestBean, UserEntity userEntity,Long userId) { return (root, query, criteriaBuilder) -> { List predicates = getPredicates(assignedApplicationPageableRequestBean, criteriaBuilder, root, userEntity,userId); @@ -350,30 +353,35 @@ public class AssignedApplicationsDao { sortBy.setSortDesc(assignedApplicationPageableRequestBean.getGlobalFilters().getSortBy().getSortDesc()); } } - Path sortPath; - Join applicationJoin = root.join(GepafinConstant.APPLICATION, JoinType.LEFT); +// Path sortPath; +// Join applicationJoin = root.join(GepafinConstant.APPLICATION, JoinType.LEFT); +// +// if (GepafinConstant.APPLICATION_ID.equals(sortBy.getColumnName())) { +// sortPath = root.join(GepafinConstant.APPLICATION, JoinType.LEFT).get(GepafinConstant.ID); // Join ApplicationEntity and sort by application.id +// } +// else if (GepafinConstant.PROTOCOL_NUMBER.equals(sortBy.getColumnName())) { +// Join protocolJoin = applicationJoin.join(GepafinConstant.PROTOCOL, JoinType.LEFT); +// sortPath = protocolJoin.get(GepafinConstant.PROTOCOL_NUMBER); +// } +// else { +// sortPath = root.get(sortBy.getColumnName()); // Sorting by a field in AmendmentEntity +// } +// query.orderBy(criteriaBuilder.desc(sortPath)); +// if (Boolean.FALSE.equals(sortBy.getSortDesc())) { +// query.orderBy(criteriaBuilder.asc(sortPath)); +// } +// return query.where(criteriaBuilder.and(predicates.toArray(new Predicate[0]))).getRestriction(); + + Path sortPath = root.get(sortBy.getColumnName()); // All fields are accessible directly in the view + query.orderBy(sortBy.getSortDesc() ? criteriaBuilder.desc(sortPath) : criteriaBuilder.asc(sortPath)); - if (GepafinConstant.APPLICATION_ID.equals(sortBy.getColumnName())) { - sortPath = root.join(GepafinConstant.APPLICATION, JoinType.LEFT).get(GepafinConstant.ID); // Join ApplicationEntity and sort by application.id - } - else if (GepafinConstant.PROTOCOL_NUMBER.equals(sortBy.getColumnName())) { - Join protocolJoin = applicationJoin.join(GepafinConstant.PROTOCOL, JoinType.LEFT); - sortPath = protocolJoin.get(GepafinConstant.PROTOCOL_NUMBER); - } - else { - sortPath = root.get(sortBy.getColumnName()); // Sorting by a field in AmendmentEntity - } - query.orderBy(criteriaBuilder.desc(sortPath)); - if (Boolean.FALSE.equals(sortBy.getSortDesc())) { - query.orderBy(criteriaBuilder.asc(sortPath)); - } return query.where(criteriaBuilder.and(predicates.toArray(new Predicate[0]))).getRestriction(); }; } private List getPredicates(AssignedApplicationPageableRequestBean assignedApplicationPageableRequestBean, - CriteriaBuilder criteriaBuilder, Root root, UserEntity userEntity,Long userId) { + CriteriaBuilder criteriaBuilder, Root root, UserEntity userEntity,Long userId) { Integer year = null; String search = null; @@ -404,12 +412,35 @@ public class AssignedApplicationsDao { } // Search in `title` and `message` (if search term is provided) - if (search != null && !search.isEmpty()) { - Predicate titlePredicate = criteriaBuilder.like( - criteriaBuilder.upper(root.get(GepafinConstant.NOTE)), - "%" + search.toUpperCase() + "%" - ); - predicates.add(criteriaBuilder.or(titlePredicate)); +// if (search != null && !search.isEmpty()) { +// Predicate titlePredicate = criteriaBuilder.like( +// criteriaBuilder.upper(root.get(GepafinConstant.NOTE)), +// "%" + search.toUpperCase() + "%" +// ); +// predicates.add(criteriaBuilder.or(titlePredicate)); +// } + + if (search != null && !search.trim().isEmpty()) { + String pattern = "%" + search.toUpperCase() + "%"; + List searchPredicates = new ArrayList<>(); + + searchPredicates.add(criteriaBuilder.like(criteriaBuilder.upper(root.get(GepafinConstant.CALL_NAME)), pattern)); + searchPredicates.add(criteriaBuilder.like(criteriaBuilder.upper(root.get(GepafinConstant.COMPANY_NAME)), pattern)); + searchPredicates.add(criteriaBuilder.like(criteriaBuilder.upper(root.get(GepafinConstant.STATUS)), pattern)); + searchPredicates.add(criteriaBuilder.like(criteriaBuilder.upper(root.get(GepafinConstant.NDG_STRING)), pattern)); + searchPredicates.add(criteriaBuilder.like(criteriaBuilder.upper(root.get(GepafinConstant.APPOINTMENT_ID)), pattern)); + searchPredicates.add(criteriaBuilder.like(criteriaBuilder.upper(root.get(GepafinConstant.APPLICATION_STATUS)), pattern)); + + // Convert numeric fields to string for search (optional and DB-specific; otherwise exact match) + try { + Long searchLong = Long.parseLong(search); + searchPredicates.add(criteriaBuilder.equal(root.get(GepafinConstant.APPLICATION_ID), searchLong)); + searchPredicates.add(criteriaBuilder.equal(root.get(GepafinConstant.PROTOCOL_NUMBER), searchLong)); + } catch (NumberFormatException ignored) { + // Ignore if search is not a number + } + + predicates.add(criteriaBuilder.or(searchPredicates.toArray(new Predicate[0]))); } // Filter by `status` (if status list is provided) @@ -421,12 +452,31 @@ public class AssignedApplicationsDao { } predicates.add(criteriaBuilder.isFalse(root.get(GepafinConstant.IS_DELETED))); - applyFilters(root, criteriaBuilder, predicates, filters); - + Utils.applyFiltersByPagination(root, criteriaBuilder, predicates, filters); return predicates; } + + private AssignedApplicationsResponse getAssignedApplicationResponseByView(AssignedApplicationsView view) { + AssignedApplicationsResponse response = new AssignedApplicationsResponse(); + response.setId(view.getId()); + response.setUserId(view.getUserId()); + response.setStatus(AssignedApplicationEnum.valueOf(view.getStatus())); + response.setApplicationId(view.getApplicationId()); + response.setApplicationStatus(ApplicationStatusTypeEnum.valueOf(view.getApplicationStatus())); + response.setSubmissionDate(view.getSubmissionDate()); + response.setEvaluationEndDate(view.getEvaluationEndDate()); + response.setNdg(view.getNdg()); + response.setAppointmentId(view.getAppointmentId()); + response.setProtocolNumber(view.getProtocolNumber()); + response.setCallName(view.getCallName()); + response.setCompanyName(view.getCompanyName()); + response.setCreatedDate(view.getCreatedDate()); + response.setUpdatedDate(view.getUpdatedDate()); + return response; + } + public AssignedApplicationsResponse updateAssignedApplicationStatus(HttpServletRequest request, Long assignedApplicationId, AssignedApplicationEnum status) { AssignedApplicationsEntity assignedApplication = validateAssignedApplication(assignedApplicationId); diff --git a/src/main/java/net/gepafin/tendermanagement/entities/AssignedApplicationsView.java b/src/main/java/net/gepafin/tendermanagement/entities/AssignedApplicationsView.java new file mode 100644 index 00000000..a446daff --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/entities/AssignedApplicationsView.java @@ -0,0 +1,61 @@ +package net.gepafin.tendermanagement.entities; + +import jakarta.persistence.*; +import lombok.Data; +import org.hibernate.annotations.Immutable; + +import java.time.LocalDateTime; + +@Entity +@Immutable +@Data +@Table(name = "assigned_applications_view") +@IdClass(AssignedApplicationsViewId.class) +public class AssignedApplicationsView{ + + @Id + @Column(name = "ID") + private Long id; + + @Column(name = "APPLICATION_ID") + private Long applicationId; + + @Column(name = "USER_ID") + private Long userId; + + @Column(name = "PROTOCOL_NUMBER") + private Long protocolNumber; + + @Column(name = "CALL_NAME") + private String callName; + + @Column(name = "COMPANY_NAME") + private String companyName; + + @Column(name = "STATUS") + private String status; + + @Column(name = "NDG") + private String ndg; + + @Column(name = "APPOINTMENT_ID") + private String appointmentId; + + @Column(name = "APPLICATION_STATUS") + private String applicationStatus; + + @Column(name = "SUBMISSION_DATE") + private LocalDateTime submissionDate; + + @Column(name = "EVALUATION_END_DATE") + private LocalDateTime evaluationEndDate; + + @Column(name = "CREATED_DATE") + private LocalDateTime createdDate; + + @Column(name = "UPDATED_DATE") + private LocalDateTime updatedDate; + + @Column(name = "IS_DELETED") + private Boolean isDeleted; +} diff --git a/src/main/java/net/gepafin/tendermanagement/entities/AssignedApplicationsViewId.java b/src/main/java/net/gepafin/tendermanagement/entities/AssignedApplicationsViewId.java new file mode 100644 index 00000000..99c9609c --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/entities/AssignedApplicationsViewId.java @@ -0,0 +1,17 @@ +package net.gepafin.tendermanagement.entities; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AssignedApplicationsViewId implements Serializable{ + private static final long serialVersionUID = 1L; + private Long id; + + public AssignedApplicationsViewId() {} + + public AssignedApplicationsViewId(Long id) { + this.id = id; + } +} diff --git a/src/main/java/net/gepafin/tendermanagement/repositories/AssignedApplicationsViewRepository.java b/src/main/java/net/gepafin/tendermanagement/repositories/AssignedApplicationsViewRepository.java new file mode 100644 index 00000000..231c7d88 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/repositories/AssignedApplicationsViewRepository.java @@ -0,0 +1,9 @@ +package net.gepafin.tendermanagement.repositories; + +import net.gepafin.tendermanagement.entities.AssignedApplicationsView; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; + +public interface AssignedApplicationsViewRepository extends JpaRepository , JpaSpecificationExecutor { + +} diff --git a/src/main/resources/db/changelog/db.changelog-1.0.0.xml b/src/main/resources/db/changelog/db.changelog-1.0.0.xml index f4e71555..648d76e8 100644 --- a/src/main/resources/db/changelog/db.changelog-1.0.0.xml +++ b/src/main/resources/db/changelog/db.changelog-1.0.0.xml @@ -2722,4 +2722,10 @@ + + + + + diff --git a/src/main/resources/db/dump/create_assigned_application_view.sql b/src/main/resources/db/dump/create_assigned_application_view.sql new file mode 100644 index 00000000..f1900b37 --- /dev/null +++ b/src/main/resources/db/dump/create_assigned_application_view.sql @@ -0,0 +1,52 @@ +CREATE OR REPLACE VIEW assigned_applications_view AS +SELECT + -- From assigned_applications + aa.id AS id, + aa.user_id AS user_id, + aa.status AS status, + aa.created_date AS created_date, + aa.updated_date AS updated_date, + aa.is_deleted AS is_deleted, + + -- From application + a.id AS application_id, + a.status AS application_status, + a.submission_date AS submission_date, + ae.end_date AS evaluation_end_date, + a.ndg AS ndg, + a.appointment_id AS appointment_id, + + -- From protocol (OneToOne) + p.protocol_number AS protocol_number, + + -- From call (ManyToOne) + cl.name AS call_name, + + -- From company (ManyToOne) + c.company_name AS company_name + +FROM gepafin_schema.assigned_applications aa + +-- Join application (ManyToOne from assigned_applications) +LEFT JOIN gepafin_schema.application a + ON aa.application_id = a.id + AND (a.is_deleted IS FALSE OR a.is_deleted IS NULL) + +-- Join application_evaluation (application_id matches + not deleted) +LEFT JOIN gepafin_schema.application_evaluation ae + ON ae.application_id = a.id + AND (ae.is_deleted IS FALSE OR ae.is_deleted IS NULL) + +-- Join protocol (OneToOne from application) +LEFT JOIN gepafin_schema.protocol p + ON a.protocol_number = p.id + +-- Join call (ManyToOne from application) +LEFT JOIN gepafin_schema.call cl + ON a.call_id = cl.id + +-- Join company (ManyToOne from application) +LEFT JOIN gepafin_schema.company c + ON a.company_id = c.id + +WHERE aa.is_deleted IS FALSE OR aa.is_deleted IS NULL; From 31cc5ae1ac83fbe31635516ded5060c615e6599a Mon Sep 17 00:00:00 2001 From: Piyush Date: Fri, 11 Apr 2025 12:57:14 +0530 Subject: [PATCH 2/2] updated code --- .../dao/AssignedApplicationsDao.java | 18 ++++++-------- .../AssignedApplicationViewResponse.java | 24 +++++++++++++++++++ .../service/AssignedApplicationsService.java | 3 ++- .../impl/AssignedApplicationsServiceImpl.java | 3 ++- .../web/rest/api/AssignedApplicationsApi.java | 5 ++-- .../impl/AssignedApplicationsController.java | 9 +++---- 6 files changed, 41 insertions(+), 21 deletions(-) create mode 100644 src/main/java/net/gepafin/tendermanagement/model/response/AssignedApplicationViewResponse.java diff --git a/src/main/java/net/gepafin/tendermanagement/dao/AssignedApplicationsDao.java b/src/main/java/net/gepafin/tendermanagement/dao/AssignedApplicationsDao.java index 65035e47..17f18c9c 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/AssignedApplicationsDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/AssignedApplicationsDao.java @@ -14,6 +14,7 @@ import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest; import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest; import net.gepafin.tendermanagement.model.request.UpdateAssignedApplicationRequest; import net.gepafin.tendermanagement.model.request.VersionHistoryRequest; +import net.gepafin.tendermanagement.model.response.AssignedApplicationViewResponse; import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse; import net.gepafin.tendermanagement.model.response.PageableResponseBean; import net.gepafin.tendermanagement.model.util.SortBy; @@ -301,7 +302,7 @@ public class AssignedApplicationsDao { log.info("Assigned application fetched successfully: {}", response); return response; } - public PageableResponseBean> getAllAssignedApplicationsByPagination(UserEntity user, AssignedApplicationPageableRequestBean assignedApplicationPageableRequestBean,Long userId) { + public PageableResponseBean> getAllAssignedApplicationsByPagination(UserEntity user, AssignedApplicationPageableRequestBean assignedApplicationPageableRequestBean,Long userId) { Integer pageNo = null; Integer pageLimit = null; if (assignedApplicationPageableRequestBean.getGlobalFilters() != null) { @@ -318,16 +319,11 @@ public class AssignedApplicationsDao { Page entityPage = assignedApplicationsViewRepository.findAll(spec, PageRequest.of(pageNo - 1, pageLimit)); // Prepare the response - List assignedApplicationsResponses = entityPage.getContent().stream() - .map(application -> { - AssignedApplicationsResponse response = getAssignedApplicationResponseByView(application); - return response; - }) + List assignedApplicationsResponses = entityPage.getContent().stream() + .map(this::getAssignedApplicationResponseByView) .collect(Collectors.toList()); - - - PageableResponseBean> pageableResponseBean = new PageableResponseBean<>(); + PageableResponseBean> pageableResponseBean = new PageableResponseBean<>(); pageableResponseBean.setBody(assignedApplicationsResponses); pageableResponseBean.setCurrentPage(entityPage.getNumber() + 1); pageableResponseBean.setTotalPages(entityPage.getTotalPages()); @@ -458,8 +454,8 @@ public class AssignedApplicationsDao { } - private AssignedApplicationsResponse getAssignedApplicationResponseByView(AssignedApplicationsView view) { - AssignedApplicationsResponse response = new AssignedApplicationsResponse(); + private AssignedApplicationViewResponse getAssignedApplicationResponseByView(AssignedApplicationsView view) { + AssignedApplicationViewResponse response = new AssignedApplicationViewResponse(); response.setId(view.getId()); response.setUserId(view.getUserId()); response.setStatus(AssignedApplicationEnum.valueOf(view.getStatus())); diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/AssignedApplicationViewResponse.java b/src/main/java/net/gepafin/tendermanagement/model/response/AssignedApplicationViewResponse.java new file mode 100644 index 00000000..94c2335a --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/model/response/AssignedApplicationViewResponse.java @@ -0,0 +1,24 @@ +package net.gepafin.tendermanagement.model.response; + +import lombok.Data; +import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum; +import net.gepafin.tendermanagement.enums.AssignedApplicationEnum; +import net.gepafin.tendermanagement.model.BaseBean; + +import java.time.LocalDateTime; + +@Data +public class AssignedApplicationViewResponse extends BaseBean { + private Long userId; + private Long applicationId; + private AssignedApplicationEnum status; + private LocalDateTime submissionDate; + private ApplicationStatusTypeEnum applicationStatus; + private LocalDateTime evaluationEndDate; + private String ndg; + private String appointmentId; + private Long protocolNumber; + private String callName; + private String companyName; + +} diff --git a/src/main/java/net/gepafin/tendermanagement/service/AssignedApplicationsService.java b/src/main/java/net/gepafin/tendermanagement/service/AssignedApplicationsService.java index 6c03d8f4..85a4ec82 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/AssignedApplicationsService.java +++ b/src/main/java/net/gepafin/tendermanagement/service/AssignedApplicationsService.java @@ -7,6 +7,7 @@ import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum; import net.gepafin.tendermanagement.enums.AssignedApplicationEnum; import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest; import net.gepafin.tendermanagement.model.request.UpdateAssignedApplicationRequest; +import net.gepafin.tendermanagement.model.response.AssignedApplicationViewResponse; import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse; import net.gepafin.tendermanagement.model.response.PageableResponseBean; @@ -23,6 +24,6 @@ public interface AssignedApplicationsService { AssignedApplicationsResponse updateAssignedApplication(HttpServletRequest request, Long id, UpdateAssignedApplicationRequest assignedApplicationsRequest); AssignedApplicationsResponse getAssignedApplicationById(HttpServletRequest request, Long id); AssignedApplicationsEntity validateAssignedApplication(Long assignedApplicationId); - PageableResponseBean> getAllAssignedApplicationsByPagination(HttpServletRequest request, Long userId, AssignedApplicationPageableRequestBean assignedApplicationPageableRequestBean); + PageableResponseBean> getAllAssignedApplicationsByPagination(HttpServletRequest request, Long userId, AssignedApplicationPageableRequestBean assignedApplicationPageableRequestBean); AssignedApplicationsResponse updateAssignedApplicationStatus(HttpServletRequest request, Long assignedApplicationId, AssignedApplicationEnum status); } diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/AssignedApplicationsServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/AssignedApplicationsServiceImpl.java index 48017b57..b6d67ed2 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/AssignedApplicationsServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/AssignedApplicationsServiceImpl.java @@ -9,6 +9,7 @@ import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum; import net.gepafin.tendermanagement.enums.AssignedApplicationEnum; import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest; import net.gepafin.tendermanagement.model.request.UpdateAssignedApplicationRequest; +import net.gepafin.tendermanagement.model.response.AssignedApplicationViewResponse; import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse; import net.gepafin.tendermanagement.model.response.PageableResponseBean; import net.gepafin.tendermanagement.service.AssignedApplicationsService; @@ -66,7 +67,7 @@ public class AssignedApplicationsServiceImpl implements AssignedApplicationsServ } @Override - public PageableResponseBean> getAllAssignedApplicationsByPagination(HttpServletRequest request, Long userId, AssignedApplicationPageableRequestBean assignedApplicationPageableRequestBean) { + public PageableResponseBean> getAllAssignedApplicationsByPagination(HttpServletRequest request, Long userId, AssignedApplicationPageableRequestBean assignedApplicationPageableRequestBean) { UserEntity user=validator.validateUser(request); return assignedApplicationsDao.getAllAssignedApplicationsByPagination(user,assignedApplicationPageableRequestBean,userId); } diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/AssignedApplicationsApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/AssignedApplicationsApi.java index caa2fa32..b3724765 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/AssignedApplicationsApi.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/AssignedApplicationsApi.java @@ -12,6 +12,7 @@ import net.gepafin.tendermanagement.enums.AssignedApplicationEnum; import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest; import net.gepafin.tendermanagement.model.request.UpdateAssignedApplicationRequest; import net.gepafin.tendermanagement.model.response.ApplicationResponse; +import net.gepafin.tendermanagement.model.response.AssignedApplicationViewResponse; import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse; import net.gepafin.tendermanagement.model.response.PageableResponseBean; import net.gepafin.tendermanagement.model.util.Response; @@ -128,8 +129,8 @@ public interface AssignedApplicationsApi { @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @PostMapping(value = "/pagination", produces = "application/json") - ResponseEntity>>> getAllAssignedApplicationsByPagination(HttpServletRequest request, - @Parameter(description = "The User ID", required = false) @RequestParam(value = "userId",required = false) Long userId, @RequestBody AssignedApplicationPageableRequestBean assignedApplicationPageableRequestBean); + ResponseEntity>>> getAllAssignedApplicationsByPagination(HttpServletRequest request, + @Parameter(description = "The User ID", required = false) @RequestParam(value = "userId",required = false) Long userId, @RequestBody AssignedApplicationPageableRequestBean assignedApplicationPageableRequestBean); } diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/AssignedApplicationsController.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/AssignedApplicationsController.java index f6487d12..ec5becc7 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/AssignedApplicationsController.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/AssignedApplicationsController.java @@ -12,10 +12,7 @@ import net.gepafin.tendermanagement.model.request.AssignedApplicationPageableReq import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest; import net.gepafin.tendermanagement.model.request.UpdateAssignedApplicationRequest; 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.NotificationResponse; -import net.gepafin.tendermanagement.model.response.PageableResponseBean; +import net.gepafin.tendermanagement.model.response.*; import net.gepafin.tendermanagement.model.util.Response; import net.gepafin.tendermanagement.service.AssignedApplicationsService; import net.gepafin.tendermanagement.util.LoggingUtil; @@ -96,11 +93,11 @@ public class AssignedApplicationsController implements AssignedApplicationsApi { } @Override - public ResponseEntity>>> getAllAssignedApplicationsByPagination(HttpServletRequest request, Long userId, AssignedApplicationPageableRequestBean assignedApplicationPageableRequestBean) { + public ResponseEntity>>> getAllAssignedApplicationsByPagination(HttpServletRequest request, Long userId, AssignedApplicationPageableRequestBean assignedApplicationPageableRequestBean) { loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW) .actionContext(UserActionContextEnum.GET_ALL_ASSIGNED_APPLICATION_BY_PAGINATION).build()); - PageableResponseBean> assigenedApplicationResponses=assignedApplicationsService.getAllAssignedApplicationsByPagination(request, userId,assignedApplicationPageableRequestBean); + PageableResponseBean> assigenedApplicationResponses=assignedApplicationsService.getAllAssignedApplicationsByPagination(request, userId,assignedApplicationPageableRequestBean); return ResponseEntity.status(HttpStatus.OK).body(new Response<>(assigenedApplicationResponses, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_ASSIGNED_APPLICATION_SUCCESS_MSG))); }