Skip to content

Commit

Permalink
Merge branch 'main' into MAIN-B-21038
Browse files Browse the repository at this point in the history
  • Loading branch information
cameroncaci authored Sep 19, 2024
2 parents 17b11d3 + c446c4f commit 68c0e95
Show file tree
Hide file tree
Showing 44 changed files with 355 additions and 177 deletions.
3 changes: 3 additions & 0 deletions migrations/app/migrations_manifest.txt
Original file line number Diff line number Diff line change
Expand Up @@ -994,3 +994,6 @@
20240819164156_update_pws_violations_pt3.up.sql
20240820125856_allow_pptas_migration.up.sql
20240820151043_add_gsr_role.up.sql
20240822180409_adding_locked_price_cents_service_param.up.sql
20240909194514_pricing_unpriced_ms_cs_service_items.up.sql
20240910021542_populating_locked_price_cents_from_pricing_estimate_for_ms_and_cs_service_items.up.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
INSERT INTO service_item_param_keys
(id,key,description,type,origin,created_at,updated_at)
SELECT '7ec5cf87-a446-4dd6-89d3-50bbc0d2c206','LockedPriceCents', 'Locked price when move was made available to prime', 'INTEGER', 'SYSTEM', now(), now()
WHERE NOT EXISTS
(SELECT 1
FROM service_item_param_keys s
WHERE s.id = '7ec5cf87-a446-4dd6-89d3-50bbc0d2c206'
);

INSERT INTO service_params
(id,service_id,service_item_param_key_id,created_at,updated_at,is_optional)
SELECT '22056106-bbde-4ae7-b5bd-e7d2f103ab7d',(SELECT id FROM re_services WHERE code='MS'),(SELECT id FROM service_item_param_keys where key='LockedPriceCents'), now(), now(), 'false'
WHERE NOT EXISTS
( SELECT 1
FROM service_params s
WHERE s.id = '22056106-bbde-4ae7-b5bd-e7d2f103ab7d'
);

INSERT INTO service_params
(id,service_id,service_item_param_key_id,created_at,updated_at,is_optional)
SELECT '86f8c20c-071e-4715-b0c1-608f540b3be3',(SELECT id FROM re_services WHERE code='CS'),(SELECT id FROM service_item_param_keys where key='LockedPriceCents'), now(), now(), 'false'
WHERE NOT EXISTS
( SELECT 1
FROM service_params s
WHERE s.id = '86f8c20c-071e-4715-b0c1-608f540b3be3'
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
-- Filling in pricing_estimates for unprices services code MS and CS service items. Service items should not be able to reach this state
-- but some older data exists where unpriced MS and CS items exist
SET statement_timeout = 300000;
SET lock_timeout = 300000;
SET idle_in_transaction_session_timeout = 300000;

UPDATE mto_service_items AS ms
SET locked_price_cents =
CASE
when price_cents > 0 AND (s.code = 'MS' OR s.code = 'CS') AND ms.re_service_id = s.id then price_cents
when price_cents = 0 AND (s.code = 'MS' OR s.code = 'CS') AND ms.re_service_id = s.id then 0
END,
pricing_estimate =
CASE
when price_cents > 0 AND (s.code = 'MS' OR s.code = 'CS') AND ms.re_service_id = s.id then price_cents
when price_cents = 0 AND (s.code = 'MS' OR s.code = 'CS') AND ms.re_service_id = s.id then 0
END
FROM re_task_order_fees AS tf
JOIN re_services AS s
ON tf.service_id = s.id
JOIN re_contract_years AS cy
ON tf.contract_year_id = cy.id
JOIN re_contracts AS ct
ON cy.contract_id = ct.id
JOIN mto_service_items AS msi
ON s.id = msi.re_service_id
JOIN moves AS mo
ON mo.id = msi.move_id
WHERE (s.code = 'MS' OR s.code = 'CS') AND (mo.available_to_prime_at BETWEEN cy.start_date AND cy.end_date) AND ms.re_service_id = s.id AND ms.locked_price_cents is null AND ms.pricing_estimate is null;
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
-- Customer directed that the current pricing_estimate should be saved as the locked_price for MS and CS
SET statement_timeout = 300000;
SET lock_timeout = 300000;
SET idle_in_transaction_session_timeout = 300000;

UPDATE mto_service_items AS ms
SET locked_price_cents = pricing_estimate
FROM re_services AS r
WHERE ms.re_service_id = r.id AND (r.code = 'MS' OR r.code = 'CS')
16 changes: 14 additions & 2 deletions pkg/factory/mto_service_item_factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (

"github.com/transcom/mymove/pkg/models"
"github.com/transcom/mymove/pkg/testdatagen"
"github.com/transcom/mymove/pkg/unit"
)

type mtoServiceItemBuildType byte
Expand Down Expand Up @@ -56,6 +57,8 @@ func buildMTOServiceItemWithBuildType(db *pop.Connection, customs []Customizatio

requestedApprovalsRequestedStatus := false

var lockedPriceCents = unit.Cents(12303)

// Create default MTOServiceItem
mtoServiceItem := models.MTOServiceItem{
MoveTaskOrder: move,
Expand All @@ -67,6 +70,7 @@ func buildMTOServiceItemWithBuildType(db *pop.Connection, customs []Customizatio
Status: models.MTOServiceItemStatusSubmitted,
RequestedApprovalsRequestedStatus: &requestedApprovalsRequestedStatus,
CustomerExpense: isCustomerExpense,
LockedPriceCents: &lockedPriceCents,
}

// only set SITOriginHHGOriginalAddress if a customization is provided
Expand Down Expand Up @@ -341,15 +345,23 @@ var (
Type: models.ServiceItemParamTypeString,
Origin: models.ServiceItemParamOriginPrime,
}
paramLockedPriceCents = models.ServiceItemParamKey{
Key: models.ServiceItemParamNameLockedPriceCents,
Description: "locked price cents",
Type: models.ServiceItemParamTypeInteger,
Origin: models.ServiceItemParamOriginSystem,
}
fixtureServiceItemParamsMap = map[models.ReServiceCode]models.ServiceItemParamKeys{
models.ReServiceCodeCS: {
paramContractCode,
paramMTOAvailableAToPrimeAt,
paramContractCode,
paramLockedPriceCents,
paramPriceRateOrFactor,
},
models.ReServiceCodeMS: {
paramContractCode,
paramMTOAvailableAToPrimeAt,
paramContractCode,
paramLockedPriceCents,
paramPriceRateOrFactor,
},
models.ReServiceCodeDLH: {
Expand Down
6 changes: 4 additions & 2 deletions pkg/gen/ghcapi/embedded_spec.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion pkg/gen/ghcmessages/service_item_param_name.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions pkg/gen/internalapi/embedded_spec.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pkg/gen/internalmessages/create_service_member_payload.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pkg/gen/internalmessages/patch_service_member_payload.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pkg/gen/internalmessages/service_member_payload.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions pkg/gen/primeapi/embedded_spec.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion pkg/gen/primemessages/service_item_param_name.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions pkg/gen/primev2api/embedded_spec.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 68c0e95

Please sign in to comment.