@@ -338,6 +338,7 @@ describe('MoveQueue', () => {
expect(screen.getByTestId('closeout-tab-link')).toBeInTheDocument();
expect(screen.getByTestId('search-tab-link')).toBeInTheDocument();
expect(screen.getByText('Task Order Queue', { selector: 'span' })).toBeInTheDocument();
+ expect(screen.getByText('Destination Requests Queue', { selector: 'span' })).toBeInTheDocument();
expect(screen.getByText('Search', { selector: 'span' })).toBeInTheDocument();
});
it('renders TableQueue when Search tab is selected', () => {
diff --git a/src/pages/Office/ServicesCounselingQueue/ServicesCounselingQueue.jsx b/src/pages/Office/ServicesCounselingQueue/ServicesCounselingQueue.jsx
index 44b11a5567d..6518eda8080 100644
--- a/src/pages/Office/ServicesCounselingQueue/ServicesCounselingQueue.jsx
+++ b/src/pages/Office/ServicesCounselingQueue/ServicesCounselingQueue.jsx
@@ -609,7 +609,7 @@ const ServicesCounselingQueue = ({
return ;
};
- if (queueType === 'Search') {
+ if (queueType === generalRoutes.QUEUE_SEARCH_PATH) {
return (
{renderNavBar()}
diff --git a/src/services/ghcApi.js b/src/services/ghcApi.js
index 1b787b7b8ad..d405122099f 100644
--- a/src/services/ghcApi.js
+++ b/src/services/ghcApi.js
@@ -632,6 +632,22 @@ export async function getMovesQueue(
);
}
+export async function getDestinationRequestsQueue(
+ key,
+ { sort, order, filters = [], currentPage = 1, currentPageSize = 20, viewAsGBLOC },
+) {
+ const operationPath = 'queues.getDestinationRequestsQueue';
+ const paramFilters = {};
+ filters.forEach((filter) => {
+ paramFilters[`${filter.id}`] = filter.value;
+ });
+ return makeGHCRequest(
+ operationPath,
+ { sort, order, page: currentPage, perPage: currentPageSize, viewAsGBLOC, ...paramFilters },
+ { schemaKey: 'queueMovesResult', normalize: false },
+ );
+}
+
export async function getServicesCounselingQueue(
key,
{ sort, order, filters = [], currentPage = 1, currentPageSize = 20, needsPPMCloseout = false, viewAsGBLOC },
diff --git a/swagger-def/ghc.yaml b/swagger-def/ghc.yaml
index 836dc696e8c..4437679cf39 100644
--- a/swagger-def/ghc.yaml
+++ b/swagger-def/ghc.yaml
@@ -3735,6 +3735,111 @@ paths:
$ref: '#/responses/PermissionDenied'
'500':
$ref: '#/responses/ServerError'
+ /queues/destination-requests:
+ get:
+ produces:
+ - application/json
+ summary: Gets queued list of all customer moves by GBLOC that have both CONUS & OCONUS destination requests (destination SIT, destination shuttle, address requests)
+ description: >
+ A TOO will view this queue when they have destination requests tied to their GBLOC. This includes unapproved destination SIT service items, destination shuttle service items and destination address requests that are not yet approved by the TOO.
+ operationId: getDestinationRequestsQueue
+ tags:
+ - queues
+ parameters:
+ - in: query
+ name: page
+ type: integer
+ description: requested page of results
+ - in: query
+ name: perPage
+ type: integer
+ description: results per page
+ - in: query
+ name: sort
+ type: string
+ enum:
+ [
+ customerName,
+ edipi,
+ emplid,
+ branch,
+ locator,
+ status,
+ originDutyLocation,
+ destinationDutyLocation,
+ requestedMoveDate,
+ appearedInTooAt,
+ assignedTo,
+ counselingOffice,
+ ]
+ description: field that results should be sorted by
+ - in: query
+ name: order
+ type: string
+ enum: [asc, desc]
+ description: direction of sort order if applied
+ - in: query
+ name: branch
+ type: string
+ - in: query
+ name: locator
+ type: string
+ - in: query
+ name: customerName
+ type: string
+ - in: query
+ name: edipi
+ type: string
+ - in: query
+ name: emplid
+ type: string
+ - in: query
+ name: originDutyLocation
+ type: array
+ uniqueItems: true
+ collectionFormat: multi
+ items:
+ type: string
+ - in: query
+ name: destinationDutyLocation
+ type: string
+ - in: query
+ name: appearedInTooAt
+ type: string
+ format: date-time
+ - in: query
+ name: requestedMoveDate
+ type: string
+ description: filters the requested pickup date of a shipment on the move
+ - in: query
+ name: status
+ type: array
+ description: Filtering for the status.
+ uniqueItems: true
+ items:
+ type: string
+ enum:
+ - SUBMITTED
+ - SERVICE COUNSELING COMPLETED
+ - APPROVALS REQUESTED
+ - in: query
+ name: assignedTo
+ type: string
+ description: |
+ Used to illustrate which user is assigned to this move.
+ - in: query
+ name: counselingOffice
+ type: string
+ description: filters using a counselingOffice name of the move
+ responses:
+ '200':
+ description: Successfully returned all moves matching the criteria
+ schema:
+ $ref: '#/definitions/QueueMovesResult'
+ '403':
+ $ref: '#/responses/PermissionDenied'
+ '500':
+ $ref: '#/responses/ServerError'
/queues/payment-requests:
get:
produces:
diff --git a/swagger/ghc.yaml b/swagger/ghc.yaml
index 54131042af0..7b507636923 100644
--- a/swagger/ghc.yaml
+++ b/swagger/ghc.yaml
@@ -3901,6 +3901,117 @@ paths:
$ref: '#/responses/PermissionDenied'
'500':
$ref: '#/responses/ServerError'
+ /queues/destination-requests:
+ get:
+ produces:
+ - application/json
+ summary: >-
+ Gets queued list of all customer moves by GBLOC that have both CONUS &
+ OCONUS destination requests (destination SIT, destination shuttle,
+ address requests)
+ description: >
+ A TOO will view this queue when they have destination requests tied to
+ their GBLOC. This includes unapproved destination SIT service items,
+ destination shuttle service items and destination address requests that
+ are not yet approved by the TOO.
+ operationId: getDestinationRequestsQueue
+ tags:
+ - queues
+ parameters:
+ - in: query
+ name: page
+ type: integer
+ description: requested page of results
+ - in: query
+ name: perPage
+ type: integer
+ description: results per page
+ - in: query
+ name: sort
+ type: string
+ enum:
+ - customerName
+ - edipi
+ - emplid
+ - branch
+ - locator
+ - status
+ - originDutyLocation
+ - destinationDutyLocation
+ - requestedMoveDate
+ - appearedInTooAt
+ - assignedTo
+ - counselingOffice
+ description: field that results should be sorted by
+ - in: query
+ name: order
+ type: string
+ enum:
+ - asc
+ - desc
+ description: direction of sort order if applied
+ - in: query
+ name: branch
+ type: string
+ - in: query
+ name: locator
+ type: string
+ - in: query
+ name: customerName
+ type: string
+ - in: query
+ name: edipi
+ type: string
+ - in: query
+ name: emplid
+ type: string
+ - in: query
+ name: originDutyLocation
+ type: array
+ uniqueItems: true
+ collectionFormat: multi
+ items:
+ type: string
+ - in: query
+ name: destinationDutyLocation
+ type: string
+ - in: query
+ name: appearedInTooAt
+ type: string
+ format: date-time
+ - in: query
+ name: requestedMoveDate
+ type: string
+ description: filters the requested pickup date of a shipment on the move
+ - in: query
+ name: status
+ type: array
+ description: Filtering for the status.
+ uniqueItems: true
+ items:
+ type: string
+ enum:
+ - SUBMITTED
+ - SERVICE COUNSELING COMPLETED
+ - APPROVALS REQUESTED
+ - in: query
+ name: assignedTo
+ type: string
+ description: |
+ Used to illustrate which user is assigned to this move.
+ - in: query
+ name: counselingOffice
+ type: string
+ description: filters using a counselingOffice name of the move
+ responses:
+ '200':
+ description: Successfully returned all moves matching the criteria
+ schema:
+ $ref: '#/definitions/QueueMovesResult'
+ '403':
+ $ref: '#/responses/PermissionDenied'
+ '500':
+ $ref: '#/responses/ServerError'
/queues/payment-requests:
get:
produces: