Skip to content

Commit

Permalink
Merge branch 'main' into ddl_migrations
Browse files Browse the repository at this point in the history
  • Loading branch information
deandreJones authored Feb 21, 2025
2 parents 54e7f7b + b668ce3 commit 54ee04c
Show file tree
Hide file tree
Showing 6 changed files with 130 additions and 29 deletions.
8 changes: 4 additions & 4 deletions migrations/app/schema/20250106202424_update_duty_locs.up.sql
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ BEGIN
SELECT '8d613f71-b80e-4ad4-95e7-00781b084c7c'::uuid, 'n/a', NULL, 'NAS NORTH ISLAND', 'CA', '39125', now(), now(), NULL, 'SAN DIEGO', false, '791899e6-cd77-46f2-981b-176ecb8d7098'::uuid, '191165db-d30a-414d-862b-54afdfc7aeb9'::uuid
WHERE NOT EXISTS (select * from addresses where id = '8d613f71-b80e-4ad4-95e7-00781b084c7c');

INSERT INTO duty_locations (id,"name",affiliation,address_id,created_at,updated_at,transportation_office_id,provides_services_counseling)
INSERT INTO duty_locations (id,"name",affiliation,address_id,created_at,updated_at,transportation_office_id,provides_services_counseling)
SELECT '56255626-bbbe-4834-8324-1c08f011f2f6'::uuid,'NAS N Island, CA 92135',NULL,'3d617fab-bf6f-4f07-8ab5-f7652b8e7f3e'::uuid,now(),now(),null,true
WHERE NOT EXISTS (select * from duty_locations where id = '56255626-bbbe-4834-8324-1c08f011f2f6');
INSERT INTO duty_locations (id,"name",affiliation,address_id,created_at,updated_at,transportation_office_id,provides_services_counseling)

INSERT INTO duty_locations (id,"name",affiliation,address_id,created_at,updated_at,transportation_office_id,provides_services_counseling)
SELECT '7156098f-13cf-4455-bcd5-eb829d57c714'::uuid,'NAS North Island, CA 92135',NULL,'8d613f71-b80e-4ad4-95e7-00781b084c7c'::uuid,now(),now(),null,true
WHERE NOT EXISTS (select * from duty_locations where id = '7156098f-13cf-4455-bcd5-eb829d57c714');
END $$;
Expand All @@ -42,7 +42,7 @@ BEGIN
SELECT 'fb90a7df-6494-4974-a0ce-4bdbcaff80c0'::uuid, 'n/a', NULL, 'CANNON AFB', 'NM', '88101', now(), now(), NULL, 'CURRY', false, '791899e6-cd77-46f2-981b-176ecb8d7098'::uuid, '68393e10-1aed-4a51-85a0-559a0a5b0e3f'::uuid
WHERE NOT EXISTS (select * from addresses where id = 'fb90a7df-6494-4974-a0ce-4bdbcaff80c0');

INSERT INTO duty_locations (id,"name",affiliation,address_id,created_at,updated_at,transportation_office_id,provides_services_counseling)
INSERT INTO duty_locations (id,"name",affiliation,address_id,created_at,updated_at,transportation_office_id,provides_services_counseling)
SELECT '98beab3c-f8ce-4e3c-b78e-8db614721621'::uuid, 'Cannon AFB, NM 88101',null, 'fb90a7df-6494-4974-a0ce-4bdbcaff80c0'::uuid,now(),now(),'80796bc4-e494-4b19-bb16-cdcdba187829',true
WHERE NOT EXISTS (select * from duty_locations where id = '98beab3c-f8ce-4e3c-b78e-8db614721621');
END $$;
Expand Down
46 changes: 23 additions & 23 deletions migrations/app/schema/20250121184450_upd_duty_loc_B-22242.up.sql
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
DO $$
BEGIN

--remove duty loc Johnston City, TN 37602
IF EXISTS (SELECT 1 FROM duty_locations WHERE id = 'd3a1be10-dcd7-4720-bcbe-7ba76d243687') THEN


update orders set origin_duty_location_id = 'cd0c7325-15bb-45c7-a690-26c56c903ed7' where origin_duty_location_id = 'd3a1be10-dcd7-4720-bcbe-7ba76d243687';
update orders set new_duty_location_id = 'cd0c7325-15bb-45c7-a690-26c56c903ed7' where new_duty_location_id = 'd3a1be10-dcd7-4720-bcbe-7ba76d243687';

delete from duty_locations where id = 'd3a1be10-dcd7-4720-bcbe-7ba76d243687';

END IF;

END $$;

DO $$
BEGIN

--remove duty loc Oceanside, CA 92052
IF EXISTS (SELECT 1 FROM duty_locations WHERE id = '54ca99b7-3c2a-42b0-aa1a-ad071ac580de') THEN

update orders set origin_duty_location_id = 'a6993e7b-4600-44b9-b288-04ca011143f0' where origin_duty_location_id = '54ca99b7-3c2a-42b0-aa1a-ad071ac580de';
update orders set new_duty_location_id = 'a6993e7b-4600-44b9-b288-04ca011143f0' where new_duty_location_id = '54ca99b7-3c2a-42b0-aa1a-ad071ac580de';

delete from duty_locations where id = '54ca99b7-3c2a-42b0-aa1a-ad071ac580de';

END IF;

END $$;
Expand All @@ -34,9 +34,9 @@ BEGIN

--remove duty loc Albuquerque, NM 87103
IF EXISTS (SELECT 1 FROM duty_locations WHERE id = '2cc57072-19fa-438b-a44b-e349dff11763') THEN

update orders set new_duty_location_id = '54acfb0e-222b-49eb-b94b-ccb00c6f529c' where new_duty_location_id = '2cc57072-19fa-438b-a44b-e349dff11763';

delete from duty_locations where id = '2cc57072-19fa-438b-a44b-e349dff11763';

END IF;
Expand All @@ -45,45 +45,45 @@ END $$;

DO $$
BEGIN

--remove duty loc August, GA 30917
IF EXISTS (SELECT 1 FROM duty_locations WHERE id = '109ac405-47fb-4e1e-9efb-58290453ac09') THEN

update orders set origin_duty_location_id = '595363c2-14ee-48e0-b318-e76ab0016453' where origin_duty_location_id = '109ac405-47fb-4e1e-9efb-58290453ac09';
update orders set new_duty_location_id = '595363c2-14ee-48e0-b318-e76ab0016453' where new_duty_location_id = '109ac405-47fb-4e1e-9efb-58290453ac09';

delete from duty_locations where id = '109ac405-47fb-4e1e-9efb-58290453ac09';

END IF;

END $$;

DO $$
BEGIN

--remove duty loc Frankfort, KY 40602
IF EXISTS (SELECT 1 FROM duty_locations WHERE id = 'c7fadaa2-902f-4302-a7cd-108c525b96d4') THEN

update orders set origin_duty_location_id = '1a973257-cd15-42a9-86be-a14796c014bc' where origin_duty_location_id = 'c7fadaa2-902f-4302-a7cd-108c525b96d4';
update orders set new_duty_location_id = '1a973257-cd15-42a9-86be-a14796c014bc' where new_duty_location_id = 'c7fadaa2-902f-4302-a7cd-108c525b96d4';

delete from duty_locations where id = 'c7fadaa2-902f-4302-a7cd-108c525b96d4';

END IF;

END $$;

DO $$
BEGIN

--remove duty loc Seattle, WA 98111
IF EXISTS (SELECT 1 FROM duty_locations WHERE id = '2fb3e898-d6de-4be7-8576-7c7b10c2a706') THEN

update orders set origin_duty_location_id = 'e7fdae4f-6be7-4264-99f8-03ee8541499c' where origin_duty_location_id = '2fb3e898-d6de-4be7-8576-7c7b10c2a706';
update orders set new_duty_location_id = 'e7fdae4f-6be7-4264-99f8-03ee8541499c' where new_duty_location_id = '2fb3e898-d6de-4be7-8576-7c7b10c2a706';

delete from duty_locations where id = '2fb3e898-d6de-4be7-8576-7c7b10c2a706';

END IF;

END $$;
Expand Down
42 changes: 42 additions & 0 deletions pkg/testdatagen/testharness/make_move.go
Original file line number Diff line number Diff line change
Expand Up @@ -9107,6 +9107,7 @@ func MakeBasicInternationalHHGMoveWithServiceItemsandPaymentRequestsForTIO(appCt
ihpkCost := unit.Cents(298800)
ihupkCost := unit.Cents(33280)
poefscCost := unit.Cents(25000)
idshutCost := unit.Cents(623)

// Create Customer
userInfo := newUserInfo("customer")
Expand Down Expand Up @@ -9441,6 +9442,47 @@ func MakeBasicInternationalHHGMoveWithServiceItemsandPaymentRequestsForTIO(appCt
},
}, nil)

// Shuttling service item
approvedAtTime := time.Now()
idshut := factory.BuildMTOServiceItem(appCtx.DB(), []factory.Customization{
{
Model: models.MTOServiceItem{
Status: models.MTOServiceItemStatusApproved,
ApprovedAt: &approvedAtTime,
EstimatedWeight: &estimatedWeight,
ActualWeight: &actualWeight,
},
},
{
Model: mto,
LinkOnly: true,
},
{
Model: mtoShipmentHHG,
LinkOnly: true,
},
{
Model: models.ReService{
ID: uuid.FromStringOrNil("22fc07ed-be15-4f50-b941-cbd38153b378"), // IDSHUT - International Destination Shuttle
},
},
}, nil)

factory.BuildPaymentServiceItemWithParams(appCtx.DB(), models.ReServiceCodeIDSHUT,
basicPaymentServiceItemParams, []factory.Customization{
{
Model: models.PaymentServiceItem{
PriceCents: &idshutCost,
},
}, {
Model: paymentRequestHHG,
LinkOnly: true,
}, {
Model: idshut,
LinkOnly: true,
},
}, nil)

basicPortFuelSurchargePaymentServiceItemParams := []factory.CreatePaymentServiceItemParams{
{
Key: models.ServiceItemParamNameContractCode,
Expand Down
15 changes: 13 additions & 2 deletions playwright/tests/office/txo/tioFlowsInternational.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,17 @@ test.describe('TIO user', () => {
await page.getByText('Next').click();
await tioFlowPage.slowDown();

await expect(page.getByText('International destination shuttle service')).toBeVisible();
await page.getByText('Show calculations').click();
await expect(page.locator('[data-testid="ServiceItemCalculations"]')).toContainText('Calculations');
await expect(page.locator('[data-testid="ServiceItemCalculations"]')).toContainText('Billable weight (cwt)');
await expect(page.locator('[data-testid="ServiceItemCalculations"]')).toContainText('Destination price');
await expect(page.locator('[data-testid="ServiceItemCalculations"]')).toContainText('Price escalation factor');
// approve
await tioFlowPage.approveServiceItem();
await page.getByText('Next').click();
await tioFlowPage.slowDown();

await expect(page.getByText('International POE Fuel Surcharge')).toBeVisible();
await page.getByText('Show calculations').click();
await expect(page.locator('[data-testid="ServiceItemCalculations"]')).toContainText('Calculations');
Expand All @@ -159,8 +170,8 @@ test.describe('TIO user', () => {
await expect(page.getByText('needs your review')).toHaveCount(0, { timeout: 10000 });
await page.getByText('Complete request').click();

await expect(page.locator('[data-testid="requested"]')).toContainText('$4,281.48');
await expect(page.locator('[data-testid="accepted"]')).toContainText('$4,281.48');
await expect(page.locator('[data-testid="requested"]')).toContainText('$4,287.71');
await expect(page.locator('[data-testid="accepted"]')).toContainText('$4,287.71');
await expect(page.locator('[data-testid="rejected"]')).toContainText('$0.00');

await page.getByText('Authorize payment').click();
Expand Down
46 changes: 46 additions & 0 deletions src/components/Office/ServiceItemCalculations/helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,20 @@ const shuttleOriginPriceDomestic = (params) => {
);
};

const shuttleOriginPriceInternational = (params) => {
const value = getPriceRateOrFactor(params);
const label = SERVICE_ITEM_CALCULATION_LABELS.OriginPrice;

const pickupDate = `${SERVICE_ITEM_CALCULATION_LABELS.PickupDate}: ${formatDateWithUTC(
getParamValue(SERVICE_ITEM_PARAM_KEYS.ReferenceDate, params),
'DD MMM YYYY',
)}`;

const market = getParamValue(SERVICE_ITEM_PARAM_KEYS.MarketDest, params) === 'O' ? 'Oconus' : 'Conus';

return calculation(value, label, formatDetail(pickupDate), formatDetail(market));
};

// There is no param representing the destination price as available in the re_domestic_service_area_prices table
// A param to return the service schedule is also not being created
const destinationPrice = (params, shipmentType) => {
Expand Down Expand Up @@ -418,6 +432,20 @@ const shuttleDestinationPriceDomestic = (params) => {
);
};

const shuttleDestinationPriceInternational = (params) => {
const value = getPriceRateOrFactor(params);
const label = SERVICE_ITEM_CALCULATION_LABELS.DestinationPrice;

const deliveryDate = `${SERVICE_ITEM_CALCULATION_LABELS.DeliveryDate}: ${formatDateWithUTC(
getParamValue(SERVICE_ITEM_PARAM_KEYS.ReferenceDate, params),
'DD MMM YYYY',
)}`;

const market = getParamValue(SERVICE_ITEM_PARAM_KEYS.MarketDest, params) === 'O' ? 'OCONUS' : 'CONUS';

return calculation(value, label, formatDetail(deliveryDate), formatDetail(market));
};

const priceEscalationFactor = (params) => {
const value = getParamValue(SERVICE_ITEM_PARAM_KEYS.EscalationCompounded, params)
? getParamValue(SERVICE_ITEM_PARAM_KEYS.EscalationCompounded, params)
Expand Down Expand Up @@ -922,6 +950,15 @@ export default function makeCalculations(itemCode, totalAmount, params, mtoParam
totalAmountRequested(totalAmount),
];
break;
// International origin shuttle service
case SERVICE_ITEM_CODES.IOSHUT:
result = [
shuttleBillableWeight(params),
shuttleOriginPriceInternational(params),
priceEscalationFactorWithoutContractYear(params),
totalAmountRequested(totalAmount),
];
break;
// Domestic Destination Additional Days SIT
case SERVICE_ITEM_CODES.DDASIT:
result = [
Expand Down Expand Up @@ -950,6 +987,15 @@ export default function makeCalculations(itemCode, totalAmount, params, mtoParam
totalAmountRequested(totalAmount),
];
break;
// International destination shuttle service
case SERVICE_ITEM_CODES.IDSHUT:
result = [
shuttleBillableWeight(params),
shuttleDestinationPriceInternational(params),
priceEscalationFactorWithoutContractYear(params),
totalAmountRequested(totalAmount),
];
break;
// Domestic crating
case SERVICE_ITEM_CODES.DCRT:
result = [
Expand Down
2 changes: 2 additions & 0 deletions src/constants/serviceItems.js
Original file line number Diff line number Diff line change
Expand Up @@ -228,12 +228,14 @@ const allowedServiceItemCalculations = [
SERVICE_ITEM_CODES.DOP,
SERVICE_ITEM_CODES.DOPSIT,
SERVICE_ITEM_CODES.DOSHUT,
SERVICE_ITEM_CODES.IOSHUT,
SERVICE_ITEM_CODES.DPK,
SERVICE_ITEM_CODES.DNPK,
SERVICE_ITEM_CODES.DSH,
SERVICE_ITEM_CODES.DUPK,
SERVICE_ITEM_CODES.FSC,
SERVICE_ITEM_CODES.DDSHUT,
SERVICE_ITEM_CODES.IDSHUT,
SERVICE_ITEM_CODES.DCRT,
SERVICE_ITEM_CODES.DUCRT,
SERVICE_ITEM_CODES.DOSFSC,
Expand Down

0 comments on commit 54ee04c

Please sign in to comment.